资源描述
matlab谐波分析总结
一 基本思路
为直观分析显示整流装置的谐波特性,使用matlab的simulink搭建整流电路,利用matlab的fft函数分析其电压与电流波形的谐波特性,并利用matlab的绘图工具,直观的显示谐波的相关参数。输出详细参数到文件。
包括以下想法:
1:用simulink搭建一个由多个不同幅值及相位的正弦波,输出到workspace的simout参数,主要是为了验证算法的正确性。
2:算出THD%
二 算法及验证
1:Sine叠加输出
sine.mdl文件
其中含4个Sine Wave,其参数如下表所示。
Sinewave
Amplitude
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次、26谐波的叠加。含基波、奇次、偶次、高次谐波。在基波上加了0.7的偏置,模拟直流分量。
示波器输出到workspace的参数名
仿真参数10个周波,每周波采样点2048个
使用1/50/2048的采样频率,是为了每个周波采2048个点,便于准确的FFT分析。理论上可以分析1024次以内的谐波。
simulink的scope的输出
simulink的workspace的输出
ScopeData.signals.values共10*2048个点。之所以采10个周波,是为了保证可以避开初始的过渡状态,虽然当前的仿真没有过渡状态,但六脉动整流如果负载有电容的话会有。实际进行FFT分析时,只抽取一个稳定状态周期的2048个点。
2:代码
程序名分fenxi_FFT.m
%基波频率为50Hz
N=2048*4;%每周波采2048个点
fp=30;%拟显示的倍频次数,需小于N/2 用于使前面的参数显示清晰
wq=5;%稳定周期个数,为保证下行程序数组不出错,workspce的数据周期必须大于wq值
kh=0.01;%幅值比例系数,输出到文本时太小的谐波参数不输出
fid=fopen('output.txt','wt');%准备写入文件,文件在当前目录下
fprintf(fid,'每周波采样点数=%d\n',N);
y =ScopeData.signals.values ; %读取workspce数据,第一个点前面为示波器输出到workspce参数名
t=0:0.02/N:0.02/N*(size(y)-1);%每个周期为0.02秒,每周期采N个点,共size(y)-1个点
subplot(2,1,1);
plot(t,y);
xlabel('时间/s');
ylabel('幅值');
title('原始信号');
grid on;
subplot(2,1,2);
pn=wq*N;%取数据的基准点,主要目的是等系统稳定
plot(t(pn:pn+N-1),y(pn:pn+N-1));%数据周期必须小于wq,将出错
xlabel('时间/s');
ylabel('幅值');
title('抽取信号');
grid on;
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));%除去直流分量显示
%bar(f(3:fp),mag(3:fp));%除去基波分量显示
grid on;
xlabel('频率/倍');
ylabel('幅值');
title('FFT分析结果');
fprintf(fid,'直流分量=%8.4g\n',mag(1));
fprintf(fid,'基波峰值=%8.4g\n',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%
fprintf(fid,'总谐波畸变率THD=%6.3f\n',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;
xlabel('频率/倍');
ylabel('相位/度');
title('FFT分析结果');
YT=0:45:460;
set(gca,'YTickMode','manual','YTick',YT)
set(gca,'YMinorTick','on');
fclose(fid);%关闭文件
3:说明
(1) 程序显示4幅图,原始波形、抽取的一个周波、FFT后的幅值、FFT后的相位。
(2) t为每个采样点对应的时间,从0开始,步长为1/50//N秒
(3) 参数wq=7。从第7个周期开始去N个点。该参数是为了保证取一个稳定的周期,避开过渡周期。该参数可根据观测波形后设定。为保证下行程序数组不出越线错误,workspce的数据周期必须大于wn值。
(4) fp=30为拟显示的倍频次数。理论上每周期采N点fp可设为N/2。为清晰显示,故设为30。该参数可更改为≦N/2的值。
(5) 程序运行过程中发现,当某次谐波的幅值很小时,发现其相位变化很大,分析其原因认为是FFT结果实部虚部都很小,误差大,故加了一判断,当幅值很小时相位强制置0。考虑阅读习惯,相位以角度显示。
3:运行结果
Output.txt
4:运行结果验证
5:结论
程序正确,输出灵活
三 6脉动整流电路谐波分析
1搭建
该电路可分析负载电流、负载电压、电源电流、电源电压。当前输出的是相电流。仿真采用Fixed-step,fundamental sample time 为1/50/2048,3个电源的sample time为-1,
保证每周期输出2048个点。
整流管参数
2 改变负载电阻
电源电压有效值220
1欧
10欧
30欧
直流分量
7.503e-005
3.912e-006
1.257e-006
基波峰值
565.6
56.67
18.9
THD
30.748
30.748
30.746
5次
128
22.6%
12.8
22.6%
4.27
22.6%
7次
64.1
11.3%
6.42
11.3%
2.14
11.3%
11次
51
9.02%
5.11
9.02%
1.7
9.02%
13次
36.7
6.49%
3.68
6.49%
1.23
6.49%
17次
31.8
5.63%
3.19
5.63%
1.06
5.63%
19次
25.7
4.55%
2.58
4.55%
0.86
4.55%
23次
23.1
4.09%
2.32
4.09%
0.772
4.09%
25次
19.8
3.51%
1.99
3.51%
0.663
3.51%
结论
THD值不变,各次谐波与基波的比值不变,基波幅值决定了各次谐波的幅值。6脉动整流的谐波为,各次谐波幅值比已定。
理论上网侧电流傅立叶级数展开为
1.103*Id ?
3 增加滤波电容负载
R=1欧 c=1000uF,仿真出现不正常尖峰波,将采样频率提高有改善,故采样频率改为8192,
c=20000uF,电流波形增加了过零点。
电源电压有效值220,电阻1欧
1000uF
5000uF
20000uF
直流分量
2.552e-006
1.252e-006
0.002012
基波峰值
565.7
571.7
592.5
THD
32.195
56.366
117.512
5次
134
23.7%
239
41.8%
473
79.8%
7次
67
11.8%
119
20.9%
374
63.1%
11次
53.7
9.49%
95.6
16.7%
185
31.2%
13次
38.3
6.77%
68
11.9%
135
22.8%
17次
33.6
5.94%
59.7
10.4%
123
20.8%
19次
26.8
4.73%
47.5
8.31%
115
19.4%
23次
24.4
4.32%
43.4
7.6%
80.8
13.6%
25次
20.6
3.64%
36.5
6.38%
71.5
12.1%
负载脉动电压峰峰 1000uF70V、5000uF70V、20000uF45V 50000uF30V 150000 uF 10V。当150000 uF时由于暂态过程长,取第一个波作分析时谐波会明显不一样,必须取后面比较稳定的波。在暂态过程中,会有直流及偶次谐波。
取第6个波
取第1个波
结论
电容越大,负载上的波动越小,但谐波越大。
四 半波整流电路谐波分析
1 搭建
电源峰值100,电阻1
2 改变负载电阻
0.2
1
直流分量
156.4
31.4
基波峰值
246.2
49.44
THD
43.968
43.968
2次
106
42.9%
21.2
42.9%
4次
21.1
8.57%
4.24
8.57%
6次
9.04
3.67%
1.81
3.67%
8次
5.02
2.04%
1.01
2.04%
10次
3.19
1.3%
0.64
1.3%
结论
半波整流的谐波为2k,THD及各次谐波幅值比已定。
3 增加滤波电容负载(并联)
C=10000e-6波形图
C=10000e-6频谱图
R=1欧
0
1
10000e-6
直流分量
31.4
32.16
56.5
基波峰值
49.44
51.55
104.4
THD
43.968
48.200
106.763
2次
21.2
42.9%
23.6
45.8%
81.5
78.1%
3次
1.6
3.11%
52
49.8%
4次
4.24
8.57%
5.53
10.7%
26.6
25.5%
5次
1.52
2.96%
17.7
17%
6次
1.81
3.67%
2.67
5.18%
19.4
18.6%
7次
1.42
2.75%
17.1
16.4%
8次
1.01
2.04%
1.56
3.03%
12.3
11.8%
9次
1.29
2.5%
10.8
10.3%
10次
0.64
1.3%
0.99
1.92%
11.3
10.8%
11次
1.14
2.22%
10.1
9.71%
结论:电容越大,谐波越大
五 全波整流电路谐波分析
直流分量= 61.95
2次谐波峰值 42.3
4次谐波峰值 8.45
6次谐波峰值 3.61
8次谐波峰值 2
10次谐波峰值 1.27
12次谐波峰值 0.872
14次谐波峰值 0.635
结论
无基波频率分量,对系统的影响待分析。
展开阅读全文