双极性正弦脉冲快读调制

  1. 双极性正弦脉冲快读调制

    采用正弦脉冲宽度调制技术SPWM(Sinusoidal Pulse Width Modulation)是减少滤波器尺寸、获得高质量正弦波的有效手段。

    一、      SPWM基本原理

    采样控制理论有一个重要的原理—冲量等效原理:大小、波形不相同的窄脉冲变量作用于惯性系统时,只要它们的冲量(面积),即变量对时间的积分相等,其作用效果相同。换而言之,无论冲量的表现形式如何,只要是冲量等效的脉冲作用在惯性系统上,惯性系统的输出或响应是基本。

    二、      双极性正弦脉冲宽度调制

    注意点:

    1. 高频三角波VC称为载波,正弦波Vr称为调制波。

    2. 桥臂的开关频率和载波频率相等。

    3. 载波是等腰三角形,它形象为开关管导通,电压一直上升,然后开关管关闭,电压一直下降。所以形象成等腰三角形。

    4. 对于SPWM 算法,用对称的PWM模块。

    三、      公式推导

    注意点:

    1. 双极性SPWM算法,占空比的值 = (直流侧电压瞬时采样值+电网电压瞬时采样值)/2*直流侧电压瞬时采样值。D_forward =(Vo/Vin + 1)/2 =(Vo+Vin)*/(Vin*2)。
    2. 并网逆变器用双极性SPWM算法,用电流做pid调节。
    3. 逆变器输出的基波电压和调制波具有相同的频率和相位,所以改变调制波的频率、相位也就同等地改变了输出基波电压的频率、相位。
    4. 调制比M等于调制波幅值/载波幅值,在线性区内也等于输出电压基波峰值与SPWM脉冲波幅值(对于全桥电路是VD,半桥电路是VD/2)的比值。
    5. SPWM输出的基波电压大小和调制比M成正比。
    6. 载波比N等于载波频率Fc和调制波频率Fr之比。
    7. 在调制比小于等于1时,SPWM才具有谐波高频化的特征。如果进入过调制区域,开关频率会急剧下降,导致谐波频率下降,这就失去了SPWM的优点(高次谐波)。
    8. 采用SPWM后,直流电压利用率下降,这是为了获得所希望的谐波特性所必须付出的代价。

    附图:

    参考《电力电子》陈坚

时间: 2024-11-06 15:47:47

双极性正弦脉冲快读调制的相关文章

归零码和不归零码、单极性码和双极性码

关于基带数字信号表示,下面有一些常见的细节: 对于传输数字信号来说,最常用的方法是用不同的电压电平来表示两个二进制数字,即数字信号由矩形脉冲组成. a)单极性不归零码,无电压表示"0",恒定正电压表示"1",每个码元时间的中间点是采样时间,判决门限为半幅电平. b)双极性不归零码,"1"码和"0"码都有电流,"1"为正电流,"0"为负电流,正和负的幅度相等,判决门限为零电平. c)单极性

修改快读使其不提示更新。

一直用快读看小说....好浪费时间的说,最近快读更新版本了.TT 竟然有广告,首页有文章里面还有,太恶心了.果断转老版的,可老版每次更新就提示更新,我就想着能不能修改一下,能让它不提示就好啦. 开始百度,如何反编译apk文件,发现了一个好的工具.apktool,可以反编译,编译apk文件(http://apktool.shoujifans.com/2014/09/20.html)apktool这个挺好用的,在手机上也是可以是用的,棒棒的. 然后,把update文件删了........ 咦,空格变

[模板]快读

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 快读=.= 嗯 是个很重要的东西 快读的模板是@bwx写的 同时也推荐她的博客ovo http://www.cnblogs.com/shingen/ 然后也没好解释的了 每次题目数据较大的时候码上就是 1 inline int read(){ 2 char ch, c; 3 int res = 0; 4 while (ch = getchar(), ch < '0' || ch > '9') c = ch; 5 res =

卡常三连(快读快写+re)

快读: 1 inline int in() 2 { 3 char ch; 4 int a=0; 5 while(!(((ch=getchar())>='0')&&(ch<='9'))); 6 a*=10;a+=ch-'0'; 7 while(((ch=getchar())>='0')&&(ch<='9'))a*=10,a+=ch-'0'; 8 return a; 9 } 快写: inline void out(int a) { if(a>=10

快读knowledge

学长的奇怪快读fread函数好毒瘤 1 #define R register 2 #define getc() (S == T && (T = (S = B) + fread(B, 1, 1 << 15, stdin), S == T) ? EOF : *S++) 3 #define dmax(_a, _b) ((_a) > (_b) ? (_a) : (_b)) 4 #define dmin(_a, _b) ((_a) < (_b) ? (_a) : (_b))

快读(快速读入)有多快(未完结)

在一些题目中,有的程序会被卡常(数),就是说,程序虽然渐进复杂度,(通俗来讲,算法的时间复杂度)可以接受,但因为算法本身的时间常数过大,导致程序在一些算法竞赛中超时.这是,快读就显得尤为重要了. 当然,如果程序算法本身就不高效,快读就更加重要了,可以让一些 快速读入可以让大家的输入更快 #include <cstdio>#include <ctime>#include <iostream>#define LOOP 3#define DATA 10000inline in

拯救蒟蒻的神器——快读

你是否会经常因为TLE而烦恼? 你是否会因为想不出优化而骂自己太蒟? 你是否看到n=10^9就瑟瑟发抖? 拯救你们的神器来了! 它就是…… 读入优化!!!(也叫快读) 上代码! int read() { int f=1,ans=0; char c; c=getchar(); while(c<'0'||c>'9') { if(c=='-') { f=-1; c=getchar(); } else c=getchar(); } while(c>='0'&&c<='9')

c++整数快读模板

inline char get() { static char buf[1024]; static int pos=0,size=0; if(pos==size) { size=fread(buf,1,1024,stdin); pos=0; if(!size) return EOF; else return buf[pos++]; } else return buf[pos++]; } int read() { int sum=0,fh=1; char ch=get(); while(!(ch>

浅谈快读快写

前言 不用快读的卡常都是耍流氓 by do_while_true 众所周知,在一些比较高档次的题中有时候毒瘤出题人会卡时间复杂度,或者出一些比较大的样例,从而激励我们不断地优化程序,但是有些OIer想不出更好的程序 其实就是太菜,可是又想尽可能地多拿分,那应该怎么办呢?这里就需要OIer进行卡常了 而输入输出的优化则是卡常的一个特别好用的方法 正篇 1.cin及cout 众所周知,cin,cout是特别慢的 可是为什么cin,cout会比其它的输入输出慢很多呢 cin,cout之所以效率低,是因