Fourier
认证:优质创作者
所在专题目录 查看专题
换个角度学习逆变器(1)--三个基本问题
换个角度学习逆变器(2)--SPWM方波傅里叶分析
换个角度学习逆变器(3)--滤波环节
作者动态 更多
换个角度学习逆变器(3)--滤波环节
03-17 22:14
换个角度学习逆变器(2)--SPWM方波傅里叶分析
02-12 13:58
换个角度学习逆变器(1)--三个基本问题
02-04 21:46
三电平逆变电路及载波调制方法
2023-10-29 20:15
三电平逆三相逆变器控制方法介绍
2023-10-20 22:14

换个角度学习逆变器(2)--SPWM方波傅里叶分析

接上文学习逆变器就要搞清楚的第三个问题: LC滤波器能滤除什么样的波?

问题3

根据SPWM正弦波的傅里叶变换公式可知,SPWM方波和Sin正弦波之间的的差别就是,SWPM方波内存在其余频率的谐波,因此为了输出标准的正弦波,LC滤波器就必须把谐波滤除。进步分析SPWM的谐波是什么,就可以确定LC滤波器的性能,进而确定滤波器的参数。

SPWM方波谐波的定量分析

现有对SPWM双极性的谐波分析结论如下:

1 基波分量的幅值如下:m*Ud,其中m为调制比,Ud为直流侧电压。

2 高频谐波的幅值公式如下:

谐波对应的频率为

即主要的谐波频率都在载波频率倍数及其附近的频率处。

3 幅值最大的谐波频率为分量为谐波频率,最大幅值为

本文主要通过仿真进行FFT变换分析PWM波的谐波含量,通过matlab程序将谐波与基波重组并对比仿真中输出的双极性SPWM方波。首先利用simulink对SPWM进行仿真,仿真参数如下:输入电压 500V,载波频率5Khz,调制波频率50Hz,仿真步长1e-6,载波比0.8,双极性调制,得到SPWM方波的谐波含量分析。仿真模型如下:

分析结果如下:

设置FFT变换的展示类型为list(relative to specified base),已表格的形式输出结果,且结果为实际的电压值。设置的最大分析频率为100Khz,得到的FFT结果如下:

点击export就可以将数据输出至工作表,进而对数据进行定量分析。

分析步骤如下:

1 FFT数据谐波中的幅值较大的谐波提取出来

2 将提取出来的谐波进行重组。

3 将重组的波形与FFT分析前的波形进行对比。

 

1 程序将幅值大于20V的谐波进行提取得到如下数组:

已知仿真中直流侧输入电压500V,调制比为0.8.因此基波的幅值含量为400V。通过程序采集到的基波分量为398V,其余分量均为谐波分量,谐波分分量主要包含在5KHz左右、10KHz左右、15KHZ左右。上述分析均满足FFT分析的计算公式。将采集到的波形进行合成,合成的波形如下:

该波形已经可以看出来是个方波,下面与PWM波进行对比得到如下对比图。

可以看到合成的方波与实际的方波对比,还存在的一些高频的分量,出现误差的原因就是,FFT分析时最大的频率为100Khz,再高频率的谐波有考虑到,且仅提取了大于20V的谐波。通过上述的程序分析,就可以定量的分析出,SPWM方波内含与载波频率呈倍数的谐波含量,主要通过合理的滤波将高频谐波滤除就可以得到理想的正弦波输出电压。

仿真模型及程序放在附件,需要的自取。

 

程序如下:

 

l=length(FFTDATA.mag);

Data=struct('mag',{},'phase',{},'freq',{});

pmax=length(tout);         %%仿真输出波形的点数

Pout=zeros(pmax,1);        %%正弦波输出波形存储数组

tstep=1e-6;                %%仿真步长

%% 从FFT数据中提取谐波含量较大的谐波

Magmax=20;                  %%对大于Magmax的谐波进行提取

k=1;                        %% 提取谐波的个数+1

for i=1:1:l

    if( FFTDATA.mag(i,1) > Magmax)

        Data(k).mag=FFTDATA.mag(i,1);

        Data(k).phase=FFTDATA.phase(i,1);

        Data(k).freq=FFTDATA.freq(i,1);

        for j=1:1:pmax

            Data(k).sin(j)=Data(k).mag*sind(2*180*Data(k).freq*tout(j,1)+Data(k).phase);

        end

        k=k+1;

    end

end

%% 正弦波的合成

nmax=k-1;                   %%正弦波输出波形迭代的次数k-1,最大值为k-1

for i=1:nmax

    Pout=Pout+(Data(i).sin)';

end

%% 输出波形

tmax=0.02;                 %%输出波形的时间

figure(1)

plot(tout(1:tmax/tstep),Pout(1:tmax/tstep))

hold on

plot(PWM(1:tmax/tstep,1),PWM(1:tmax/tstep,2))

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:SPWM双极性调制谐波定量分析
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 3
关注 196
成为作者 赚取收益
全部留言
0/200
  • 老师,能不能发我一下资料,谢谢! 23****@****.com
    回复 1条回复
  • 无双叶子 04-12 17:00
    老师,能不能发我一下资料,谢谢! 84****@****.com
    回复 1条回复
  • WeiBestSmart 02-27 16:53
    老师,能不能发我一下资料,谢谢! 61****@****.com
    回复 1条回复
  • dy-iGugTBNk 02-27 15:47
    老师,能不能发我一下资料,谢谢! pe****@****.com
    回复 1条回复
  • 孙123 02-27 09:28
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复