使用Matlab的FFT分析六脉动整流的谐波39233.pdf
《使用Matlab的FFT分析六脉动整流的谐波39233.pdf》由会员分享,可在线阅读,更多相关《使用Matlab的FFT分析六脉动整流的谐波39233.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-.z.matlab 谐波分析总结 一 根本思路 为直观分析显示整流装置的谐波特性,使用 matlab 的 simulink 搭建整流电路,利用 matlab 的 fft 函数分析其电压与电流波形的谐波特性,并利用 matlab的绘图工具,直观的显示谐波的相关参数。输出详细参数到文件。包括以下想法:1:用 simulink 搭建一个由多个不同幅值及相位的正弦波,输出到 workspace 的simout 参数,主要是为了验证算法的正确性。:算出 THD%二 算法及验证 1:Sine 叠加输出 sine.mdl 文件 其中含 4 个 Sine Wave,其参数如下表所示。Sinewave Amp
2、litude bias Frequency(rad/sec)Phase(rad)Sample Time 1 2 0.7 2*pi*50 0-1 2 0.5 0 2*pi*50*5 Pi/180*90-1 3 1 0 2*pi*50*9 pi/180*45-1 4 0.3 0 2*pi*50*26 Pi/180/(-135)-1 表达的波形为 f(t)=2*sin(2*pi*50*t)+0.5*sin(2*pi*50*5*t+pi/2)+1*sin(2*pi*50*9*t+pi/4)+0.3*sin(2*pi*50*26*t-pi*3/4)为不同幅值与相位的 50Hz 的基波,5 次、9 次、2
3、6 谐波的叠加。含基波、奇次、偶次、高次谐波。在基波上加了 0.7 的偏置,模拟直流分量。-.z.示波器输出到 workspace 的参数名 仿真参数 10 个周波,每周波采样点 2048 个 使用 1/50/2048 的采样频率,是为了每个周波采 2048 个点,便于准确的 FFT 分析。理论上可以分析 1024 次以内的谐波。simulink 的 scope 的输出 simulink的workspace的输出 ScopeData.signals.values共10*2048个点。之所以采10个周波,是为了保证可以避开初始的过渡状态,虽然当前的仿真没有过渡状态,但六脉动整流如果负载有电容的话
4、会有。实际进展FFT分析时,只抽取一个稳定状态周期的2048个点。2:代码 程序名分 fen*i_FFT.m%基波频率为50Hz N=2048*4;%每周波采2048个点 fp=30;%拟显示的倍频次数,需小于N/2 用于使前面的参数显示清晰 wq=5;%稳定周期个数,为保证下行程序数组不出错,workspce的数据周期必须大于wq值 kh=0.01;%幅值比例系数,输出到文本时太小的谐波参数不输出 fid=fopen(output.t*t,wt);%准备写入文件,文件在当前目录下 fprintf(fid,每周波采样点数=%dn,N);y=ScopeData.signals.values;%读
5、取workspce数据,第一个点前面为示波器输出到workspce参数名 t=0:0.02/N:0.02/N*(size(y)-1);%每个周期为0.02秒,每周期采个点,共size(y)-1个点 subplot(2,1,1);plot(t,y);*label(时间/s);ylabel(幅值);title(原始信号);grid on;subplot(2,1,2);pn=wq*N;%取数据的基准点,主要目的是等系统稳定 plot(t(pn:pn+N-1),y(pn:pn+N-1);%数据周期必须小于wq,将出错*label(时间/s);ylabel(幅值);title(抽取信号);grid on
6、;figure(2);subplot(2,1,1);z=fft(y(pn:pn+N-1),N);mag=abs(z)/N*2;%/N*2复原为真实的幅值 mag(1)=mag(1)/2;%直流幅值要再除以2 f=0:N/2;%可分析N/2倍频率,N=128点时,可解析64倍频相关参数 bar(f(1:fp),mag(1:fp);%频谱 直方图bar 火柴杆stem%bar(f(2:fp),mag(2:fp);%除去直流分量显示-.z.%bar(f(3:fp),mag(3:fp);%除去基波分量显示 grid on;*label(频率/倍);ylabel(幅值);title(FFT分析结果);f
7、printf(fid,直流分量=%8.4gn,mag(1);fprintf(fid,基波峰值=%8.4gn,mag(2);%求THDu Uhf=0;for i=3:(size(mag)-1)/2%去除直流与基波 各次谐波平方加 奈奎斯特频率为采样频率的一半 if(mag(i)/mag(2)kh)%输出各次谐波电流 fprintf(fid,%d次谐波峰值%8.3g t%2.3g%n,i-1,mag(i),mag(i)/mag(2)*100);end Uhf =Uhf+(mag(i)2;end Uhf=sqrt(Uhf);THDu=Uhf*100/mag(2);%比上基波 乘以100%fprint
8、f(fid,总谐波畸变率THD=%6.3fn,THDu);subplot(2,1,2);theta=angle(z)/pi*180+90;%不知为何要+90才对%考虑matlab计算误差,幅值接近0的地方需将相位强制赋0,因为 实部误差小/虚部误差小 求出的角度不为0,但无意义 for i=1:size(mag)-1 if(mag(i)/mag(2)kh)%小于值的设定与最大值必须相关 与mag(1)相关最正确,但怕mag(i)=0 theta(i)=0;end end bar(f(1:fp),theta(1:fp);%频谱 直方图bar 火柴杆stem grid on;*label(频率/倍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 Matlab FFT 分析 脉动 整流 谐波 39233
限制150内