subplot(2,1,1),plot(t,h);grid;
y=conv(u,h)*dt;
subplot(2,1,2);
plot(t,y(1:length(t)));grid
运行该程序,取a=[1,2,8],b=1,t=[0:0.1:5]及u=3*t+cos(0.1*t),所得结果如图
实验四 典型周期信号的频谱表示
实验目的:用 MATLAB 分析周期矩形脉冲、三角波脉冲的频谱 题目一:周期信号的频谱
设计要求:周期电流、电压(统称其为信号)f(t)可展开为直流与各次谐波之和,
即
式中?=2?/T是基波角频率,T为周期。
11
周期信号的有效值定义为
4.2
若用各谐波有效值
则表示为
全波整流电压Us(t)的波形如图13所示,用傅立叶级数可求得
12
4.1
可写出其展开式为(它只含直流和偶次谐波,令k=2n)
若Um=100V,频率f=50Hz,(相应的T=0.02S,?1=100? rad/s),分别用式(6.1)和式(6.2)计算其有效值Us1和Us2(取至六次谐波),并求Us2的误差。
参考程序:clear,format compact
Um=100;T=0.02;w=2*pi*5
方法一:按傅立叶分析定义计算
N=input('取的谐波次数 N= ');
t=linspace(-T/2,T/2);dt=T/99;
u=Um*abs(sin(w*t));
for k=0:N
a(k+1)=trapz(u.*cos(k*w*t))*dt/T*2;
b(k+1)=trapz(u.*sin(k*w*t))*dt/T*2;
13
A(k+1)=sqrt(a(k+1)^2+b(k+1)^2);
end
[[0:N]',[A(1)/2,A(2:end)]']
stem(0:N,[a(1)/2,A(2:end)])
Usll=sqrt(trapz(u.^2)*dt/T)
Us12=sqrt(A(1)^2/4+sum(A(2:end).^2/2))
方法二:按推导出的全波傅立叶分量公式计算
Us21=Um*sqrt(trapz(sin(w*t).^2)*dt/T)
Us22=4*Um/pi*sqrt(0.5^2+0.5*sum((1./(4*[1:3].^2-1)).^2))
e=(Us21-Us22)/Us21
运行程序,按提示输入。取得谐波次数N=10
半波信号的波形图如图4-1所示,半波信号的各谐波分量如图4-2所示
14
图4-1 半波信号的波形图 图4-2 半波信号的各谐波分量
题目二:非周期信号(方波)的频谱分析
设计要求:如图4-3a的矩形脉冲信号,求其在?=-40rad/s~40rad/s区间的频谱。
参考程序:clear tf=10;
N=input('N= ');
dt=10/N; t=[1:N]*dt;
f=[ones(1, N/2), zeros(1, N/2)];
wf=input('wf= ');
Nf=input('Nf= ');
w1=linspace(0, wf, Nf);dw=wf/(Nf-1);
F1=f*exp(-j*t'*w1) *dt;
15