File:Delta PWM.svg

Summary

Description
English: 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);
Date
Source Own work based on: Delta PWM.png by Cyril BUTTAY
Author Krishnavedala
Other versions
SVG development
InfoField
 The source code of this SVG is invalid due to an error.
 This W3C-invalid diagram was created with gnuplot.
Category:Invalid SVG created with Gnuplot:Diagrams#1000Delta%20PWM.svg
 Category:Translation possible - SVG (switch)This diagram is translated using SVG switch elements: all translations are stored in the same file.
This diagram is a retouched picture, which means that it has been digitally altered from its original version. Modifications: recreated as vector graphic. The original can be viewed here: Delta PWM.png: . Modifications made by Krishnavedala.

Category:SVG retouched pictures from raster#Delta%20PWM.svg

Licensing

I, the copyright holder of this work, hereby publish it under the following licenses:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
Category:CC-BY-SA-2.5,2.0,1.0#Delta%20PWM.svg
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
This licensing tag was added to this file as part of the GFDL licensing update.
Category:CC-BY-SA-3.0-migrated#Delta%20PWM.svg
GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
Category:License migration redundant#Delta%20PWM.svgCategory:GFDL#Delta%20PWM.svg
You may select the license of your choice.
Category:Self-published work

Original upload log

This image is a derivative work of the following images:

  • 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 Category:Uploaded with derivativeFX

Category:English-language SVG diagrams Category:Gnuplot graphics Category:Images with Maxima CAS source code Category:Power electronic diagrams Category:Pulse width modulation
Category:CC-BY-SA-2.5,2.0,1.0 Category:CC-BY-SA-3.0-migrated Category:English-language SVG diagrams Category:GFDL Category:Gnuplot graphics Category:Images with Maxima CAS source code Category:Invalid SVG created with Gnuplot:Diagrams Category:License migration redundant Category:Power electronic diagrams Category:Pulse width modulation Category:SVG retouched pictures from raster Category:Self-published work Category:Translation possible - SVG (switch) Category:Uploaded with derivativeFX