原始檔案 (SVG 檔案,表面大小:500 × 300 像素,檔案大小:391 KB)

顯示此圖片於


摘要

描述

Principle of the delta Pulse Width Modulation (PWM).

Created using maxima code:
freq : 0.05;        /* frequency of the reference signal */
hysteresis : 0.15;  /* hysteresis of the delta pwm */
currentStep : 0.5;  /* rate of increase (or decrease) in the output current */
RefSinSignal(t) := sin(2*%pi*freq*t);
UpSineSignal(t) := RefSinSignal(t) + hysteresis;
LoSineSignal(t) := RefSinSignal(t) - hysteresis;
stepSize : 1e-2;    /* step size for calculations */
stepLim : ceiling(1/(freq*stepSize)); /* final step */
myX : makelist(k*stepSize,k,0,stepLim)$ /* X axis points of evaluation */
increasing : 1;     /* flag to identify if the current is increasing or decreasing */
currentY : [0]$     /* current signal (input to modulate) */
deltaSignal : [0]$  /* the delta-PWM signal (modulated) */
crossing : [0]$     /* rising and falling times of the PWM signal */
for j:1 thru stepLim do /* create the current waveform and its delta-PWM */
    block(
    if(increasing=1)
        then if(currentY[j]<=UpSineSignal(j*stepSize)) /* if current is increasing and below upper limit */
            then block(
                currentY : append(currentY,[currentY[j]+(currentStep*stepSize)]),
                deltaSignal : append(deltaSignal,[1]))
        else block(
            currentY : append(currentY,[currentY[j]-(currentStep*stepSize)]),
            deltaSignal : append(deltaSignal,[0]),
            crossing : append(crossing,[myX[j]]),
            increasing : 0)
    else
        if(currentY[j]>=LoSineSignal(j*stepSize)) /* if current is decreasing and above lower limit */
            then block(
                currentY : append(currentY,[currentY[j]-(currentStep*stepSize)]),
                deltaSignal : append(deltaSignal,[0]))
        else block(
            currentY : append(currentY,[currentY[j]+(currentStep*stepSize)]),
            deltaSignal : append(deltaSignal,[1]),
            crossing : append(crossing,[myX[j]]),
            increasing : 1)
    );
crossing : setify(crossing)$    /* convert list to set */
  /* Plot them */
load(draw);
topPlot : gr2d(points_joined=true,point_type=dot,
    line_width=2,ytics={-1,0,1},font="Times",
    ylabel="Analog signals",font_size=15,
    color=red,key="Reference",explicit(RefSinSignal(x),x,0,20),
    color=green,key="Limits",explicit(UpSineSignal(x),x,0,20),
    key="",explicit(LoSineSignal(x),x,0,20),
    color=blue,key="Output",points(myX,currentY),
    xtics=crossing,grid=true,
    user_preamble="set format x ""; set tmargin 0; 
        set bmargin 0; set xlabel "" 0,1.5",
    title=""
)$
lowPlot : gr2d(points_joined=true,point_type=dot,
    line_width=2,ytics={0,1},font="Times",title="",
    ylabel="Delta-PWM signal",xlabel="Time",
    color=magenta,points(myX,deltaSignal),
    xtics=crossing,grid=true,yrange=[-.25,1.25],
    user_preamble="set format x ""; set tmargin 0;
        set bmargin 1.5"
)$
draw(terminal=svg,file_name="Delta PWM",
    topPlot,lowPlot);
日期 (UTC)
來源
作者
其他版本


這是一張修飾過的圖片,即本圖片是用軟體修改過後的版本,修改的方式或內容有:recreated as vector graphic。原版圖片來源:Delta PWM.png。修改者:Krishnavedala

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

原始上傳日誌

This image is a derivative work of the following images:

  • File:Delta_PWM.png licensed with Cc-by-sa-2.5,2.0,1.0, Cc-by-sa-3.0-migrated, GFDL
    • 2006-06-25T21:37:13Z CyrilB 1500x1050 (85868 Bytes) {{Information |Description=Principle of the delta Pulse Width Modulation (PWM) |Source=Own work, using gnuplot, python and scipy |Date=25/06/2006 |Author=Cyril BUTTAY |Permission=as licensed |other_versions= }}

Uploaded with derivativeFX

說明

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

在此檔案描寫的項目

描繪內容

image/svg+xml

檔案歷史

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

日期/時間縮⁠圖尺寸使用者備⁠註
目前2022年11月28日 (一) 12:05於 2022年11月28日 (一) 12:05 版本的縮圖500 × 300(391 KB)CepheidenFile uploaded using svgtranslate tool (https://svgtranslate.toolforge.org/). Added translation for de.
2011年5月29日 (日) 04:24於 2011年5月29日 (日) 04:24 版本的縮圖500 × 300(391 KB)Krishnavedalaimage dimensions
2011年5月29日 (日) 03:53於 2011年5月29日 (日) 03:53 版本的縮圖600 × 500(392 KB)Krishnavedala{{Information |Description=Principle of the delta Pulse Width Modulation (PWM). Created using maxima code: <source lang="gnuplot"> freq : 0.05; frequency of the reference signal:​ hysteresis : 0.15; /* hysteresis of t

下列頁面有用到此檔案:

全域檔案使用狀況

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

詮釋資料