跳转到内容

File:Delta PWM.svg

页面内容不支持其他语言。
这个文件来自维基共享资源
维基百科,自由的百科全书

原始文件 (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:知识共享
署名 相同方式共享
本文件采用知识共享署名-相同方式共享2.5 通用2.0 通用1.0 通用许可协议授权。
您可以自由地:
  • 共享 – 复制、发行并传播本作品
  • 修改 – 改编作品
惟须遵守下列条件:
  • 署名 – 您必须对作品进行署名,提供授权条款的链接,并说明是否对原始内容进行了更改。您可以用任何合理的方式来署名,但不得以任何方式表明许可人认可您或您的使用。
  • 相同方式共享 – 如果您再混合、转换或者基于本作品进行创作,您必须以与原先许可协议相同或相兼容的许可协议分发您贡献的作品。
w:zh:知识共享
署名 相同方式共享
本文件采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议授权。
您可以自由地:
  • 共享 – 复制、发行并传播本作品
  • 修改 – 改编作品
惟须遵守下列条件:
  • 署名 – 您必须对作品进行署名,提供授权条款的链接,并说明是否对原始内容进行了更改。您可以用任何合理的方式来署名,但不得以任何方式表明许可人认可您或您的使用。
  • 相同方式共享 – 如果您再混合、转换或者基于本作品进行创作,您必须以与原先许可协议相同或相兼容的许可协议分发您贡献的作品。
本许可协议标签作为GFDL许可协议更新的组成部分被添加至本文件。
GNU head 已授权您依据自由软件基金会发行的无固定段落及封面封底文字(Invariant Sections, Front-Cover Texts, and Back-Cover Texts)的GNU自由文件许可协议1.2版或任意后续版本的条款,复制、传播和/或修改本文件。该协议的副本请见“GNU Free Documentation License”。
您可以选择您需要的许可协议。

原始上传日志

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:052022年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:242011年5月29日 (日) 04:24版本的缩略图500 × 300(391 KB)Krishnavedalaimage dimensions
2011年5月29日 (日) 03:532011年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使用此文件:

元数据