File:3 phase rectification 2.svg

原始檔案 (SVG 檔案,表面大小:624 × 943 像素,檔案大小:120 KB)


摘要

描述
English: Waveforms for a typical 3-phase half-wave and full-wave rectifiers. The top plot shows the individual three phase signals, the middle plot shows the half-wave rectifier output in solid curve and the bottom plot shows the full-wave rectifier output in solid curve. The 'T' in time is the time period of individual signals and is the amplitude of each of the three input signals. The diagram was created using python, matplotlib and numpy.
Русский: Формы сигналов трёхфазного одно- и двухполупериодного выпрямителей. Сверху - отдельные трехфазные сигналы, средний график - выход однополупериодного выпрямителя сплошной линией, нижний график - выходной сигнал двухполупериодного выпрямителя сплошной линией. T - период, U - напряжения.
日期
來源 自己的作品
作者 Krishnavedala
其他版本

3 phase rectification 2.png [編輯]

.svg:

.png:

.jpg:

SVG開發
InfoField
 
SVG檔案的原始碼通過W3C驗證
 
vector image使用Matplotlib創作。
原始碼
InfoField

Python code

Source code
from matplotlib.pyplot import *
from numpy import *

f, Vpeak, cycles = 50., 1., 1.5
fs, Tlim = 2.*f, cycles/f
Vavg, Vrms = Vpeak*2./pi, Vpeak/sqrt(2.)
t = linspace(0,Tlim,fs*cycles)
w = 2.*pi*f # 50Hz AC
signal = lambda x,p: sin(w*x+p*2.*pi/3.)
def halfWave(time):
        s1, s2, s3 = signal(time,0.), signal(time,1.), signal(time,2.)
        if s1 > s2 and s1 > s3:
                if s2 > s3:
                        return s1, s2
                else:
                        return s1, s3
        elif s2 > s1 and s2 > s3:
                if s1 > s3:
                        return s2, s1
                else:
                        return s2, s3
        else:
                if s1 > s2:
                        return s3, s1
                else:
                        return s3, s2
 
def fullWave(time):
        s1, s2, s3 = abs(signal(time,0.)), abs(signal(time,1.)), \
                abs(signal(time,2.))
        if s1 > s2 and s1 > s3:
                if s2 > s3:
                        return s1, s2
                else:
                        return s1, s3
        elif s2 > s1 and s2 > s3:
                if s1 > s3:
                        return s2, s1
                else:
                        return s2, s3
        else:
                if s1 > s2:
                        return s3, s1
                else:
                        return s3, s2

xTickPts = []
for time in t:
        s1, s2, s3 = abs(signal(time,0.)), abs(signal(time,1.)), \
                abs(signal(time,2.))
        if s1 == s2:
                xTickPts = append(xTickPts, time)
                print time
        elif s2 == s3:
                xTickPts = append(xTickPts, time)
                print time
        elif s3 == s1:
                xTickPts = append(xTickPts, time)
                print time
 
def myAxes(this):
        this.grid(True)
        this.set_xlim(0,Tlim)
        this.set_xticks(arange(0,cycles+.25,.25)/f)
        this.set_xticklabels([])
        this.set_ylabel(r"Voltage (V)",fontsize=12)
	this.set_ylim(-2.*Vpeak-.1,2.*Vpeak+.1)
	this.set_yticks([-1.73*Vpeak,-Vpeak,0,Vpeak,1.73*Vpeak])
	this.set_yticklabels([r"$-\sqrt{3}V_{\mathrm{peak} }$",r"$-V_{\mathrm{peak} }$",\
        	r"0",r"$V_{\mathrm{peak} }$",r"$\sqrt{3}V_{\mathrm{peak} }$"])

fig = figure(figsize=(7,12))
ax = fig.add_subplot(311)
ax.plot(t,signal(t,0),'b',linewidth=2,label=r"$\phi=0^\circ$")
ax.plot(t,signal(t,1),'r',linewidth=2,label=r"$\phi=120^\circ$")
ax.plot(t,signal(t,2),'g',linewidth=2,label=r"$\phi=240^\circ$")
myAxes(ax)
ax.set_title(r'3-Phase signals',fontsize=12)
ax.legend(loc=1, \
        bbox_to_anchor=(.8,.35),\
        frameon=False,handletextpad=.05)

ax = fig.add_subplot(312)
S, H = [], []
for time in t:
        s, h = halfWave(time)
        S = append(S,s)
        H = append(H,h)
ax.plot(t,S,'k',linewidth=2.)
ax.plot(t,signal(t,0),'b--',linewidth=1.)
ax.plot(t,signal(t,1),'r--',linewidth=1.)
ax.plot(t,signal(t,2),'g--',linewidth=1.)
myAxes(ax)
ax.set_title(r"Half-wave rectification", fontsize=12) 
 
ax = fig.add_subplot(313)
S, H = [], []
for time in t:
        s, h = fullWave(time)
        S = append(S,s)
        H = append(H,h)
ax.plot(t,S+H,'k',linewidth=2.)
ax.plot(t,(signal(t,0)),'b--',linewidth=1.)
ax.plot(t,(signal(t,1)),'r--',linewidth=1.)
ax.plot(t,(signal(t,2)),'g--',linewidth=1.)
myAxes(ax)
ax.set_title(r"Full-wave rectification", fontsize=12) 
 
myLabel = []
for i in arange(0,cycles+.25,.25):
   myLabel = append(myLabel,r"%.2fT"%i)
#    myLabel = append(myLabel,r"${}^{%.1fT}_{\pi/%.1f}$"%(i,(i*2)))
 
ax.set_xticklabels(myLabel,fontsize=10)
ax.set_xlabel(r"Time",fontsize=14)
 
#fig.suptitle("3-phase AC rectification",fontsize=16)
 
fig.savefig("3_phase_rectification_2.svg",bbox_inches="tight",\
        pad_inches=.15)

授權條款

我,本作品的著作權持有者,決定用以下授權條款發佈本作品:
w:zh:創用CC
姓名標示 相同方式分享
您可以自由:
  • 分享 – 複製、發佈和傳播本作品
  • 重新修改 – 創作演繹作品
惟需遵照下列條件:
  • 姓名標示 – 您必須指名出正確的製作者,和提供授權條款的連結,以及表示是否有對內容上做出變更。您可以用任何合理的方式來行動,但不得以任何方式表明授權條款是對您許可或是由您所使用。
  • 相同方式分享 – 如果您利用本素材進行再混合、轉換或創作,您必須基於如同原先的相同或兼容的條款,來分布您的貢獻成品。
GNU head 已授權您依據自由軟體基金會發行的無固定段落、封面文字和封底文字GNU自由文件授權條款1.2版或任意後續版本,對本檔進行複製、傳播和/或修改。該協議的副本列在GNU自由文件授權條款中。
您可以選擇您需要的授權條款。

說明

添加單行說明來描述出檔案所代表的內容

在此檔案描寫的項目

描繪內容

image/svg+xml

81710e35a0295fce57872446b59671e4654e7476

斷定方法:​SHA-1 中文 (已轉換拼寫)

122,572 位元組

943 像素

624 像素

檔案歷史

點選日期/時間以檢視該時間的檔案版本。

最新 | 最早) 檢視(較新 10 筆 | )(10 | 20 | 50 | 100 | 250 | 500
日期/時間縮⁠圖尺寸使用者備⁠註
目前2011年9月23日 (五) 15:52於 2011年9月23日 (五) 15:52 版本的縮圖624 × 943(120 KB)Krishnavedalaindividual plots are now consistent with each other
2011年9月22日 (四) 17:24於 2011年9月22日 (四) 17:24 版本的縮圖624 × 943(114 KB)Krishnavedalafinal correction, hopefully!!
2011年9月22日 (四) 17:20於 2011年9月22日 (四) 17:20 版本的縮圖640 × 943(116 KB)Krishnavedalacorrected Time coordinates
2011年9月22日 (四) 17:04於 2011年9月22日 (四) 17:04 版本的縮圖623 × 943(115 KB)KrishnavedalaCorrected the waveforms for the full wave rectification.
2011年6月30日 (四) 22:06於 2011年6月30日 (四) 22:06 版本的縮圖599 × 944(175 KB)SpinningsparkFixed correct use of italics. Fixed annotation outside boundary of image. Output waveform on top of input waveforms.
2011年6月30日 (四) 19:29於 2011年6月30日 (四) 19:29 版本的縮圖599 × 944(111 KB)Krishnavedalaremoved "(sec)" from the x-axis label
2011年6月30日 (四) 19:27於 2011年6月30日 (四) 19:27 版本的縮圖599 × 946(111 KB)Krishnavedalaedits from suggestions in here
2011年6月17日 (五) 19:51於 2011年6月17日 (五) 19:51 版本的縮圖524 × 874(142 KB)Krishnavedalathinner dashed lines
2011年6月17日 (五) 19:48於 2011年6月17日 (五) 19:48 版本的縮圖524 × 874(142 KB)Krishnavedalaall plots on the same scale to avoid confusion
2011年6月8日 (三) 17:18於 2011年6月8日 (三) 17:18 版本的縮圖594 × 946(223 KB)Krishnavedalacorrection in the labels
最新 | 最早) 檢視(較新 10 筆 | )(10 | 20 | 50 | 100 | 250 | 500

下列頁面有用到此檔案:

全域檔案使用狀況

以下其他 wiki 使用了這個檔案: