实验五连续时间信号的频谱分析实验目的掌握傅立叶级数(FS),学会分析连续时间周期信号的频谱分析及MATLAB实现;掌握傅立叶变换(FT),了解傅立叶变换的性质以及MATLAB实现。利用符号运算求傅立叶级数的系数复习一下本次实验即将用到的几个符号函数F1=int(f,v,a,b)—对f表达式的v变量在(a,b)区间求定积分F2=subs(s,OLD,NEW)-用新变量NEW代替S中的指定变量OLD。F3=vpa(x,n):显示可变精度计算;x为符号变量,n表示要精确计算的位数。利用符号运算求傅立叶级数的系数周期函数的傅立叶级数的形式0111()cos()sin()nnnftaantbnt01100100100011111111()()2()cos()2()sin()1,2,...tTTttTnttTntaftdtftdtTTaftntdtTbftntdtTn直流分量:余弦分量幅度:正弦幅度其分量:中利用符号运算求傅立叶级数的系数--参见P197函数CTFS_RP例1:求周期矩形信号的傅立叶级数clearall;symstxnt0;T=5;tao_2=0.5;Nf=7;Nn=6;x=sym('Heaviside(t+t0)-Heaviside(t-t0)')x=subs(x,t0,tao_2)A0=int(x,t,-tao_2,T-tao_2)/T%直流分量系数As=int(x*2*cos(2*pi*n*t/T)/T,t,-tao_2,T-tao_2)%余弦分量系数Bs=int(x*2*sin(2*pi*n*t/T)/T,t,-tao_2,T-tao_2)%正弦分量系数Fn=(As-j*Bs)/2%指数系数A(1)=double(vpa(A0,Nn));fork=1:NfA(k+1)=double(vpa(subs(As,n,k),Nn));B(k+1)=double(vpa(subs(Bs,n,k),Nn));end0/2/2E1/2T1/2T1Tt()ft参见程序ex_1利用符号运算求傅立叶级数的系数--参见P197函数CTFS_RPx=Heaviside(t+1/2)-Heaviside(t-1/2)A0=1/5As=2/pi/n*sin(1/5*pi*n)Bs=0Fn=1/pi/n*sin(1/5*pi*n)A=0.200000000000000.374196000000000.302731000000000.201820000000000.093548900000000.00000000000000-0.06236600000000-0.08649450000000B=00000000通过傅立叶级数求各次谐波分量(补充)接上例,求出各次谐波并画出波形%求各次谐波t1=-T/2:0.01:T/2;w1=2*pi/T;f1=A(1)+A(2).*cos(w1*1*t1)+B(2)*sin(w1*1*t1);;%基波f2=A(3).*cos(w1i*2*t1)+B(3)*sin(w1i*2*t1);;%2次谐波f3=A(4).*cos(w1i*3*t1)+B(4).*sin(w1*3*t1);%3次谐波f4=A(5).*cos(w1*4*t1)+B(5).*sin(w1*4*t1);;%4次谐波f5=A(6).*cos(w1*5*t1)+B(6).*sin(w1*5*t1);%5次谐波f6=A(7).*cos(w1*6*t1)+B(7).*sin(w1*6*t1);%6次谐波f7=f1+f2;%基波+2次谐波f8=f7+f3;%基波+2次谐波+3次谐波f9=f8+f4+f6;%基波+2次谐波+3次谐波+4次谐波+6次谐波%画出图形y=subs(x,t,t1);%调用连续时间函数-周期矩形脉冲subplot(2,2,1),plot(t1,f1),holdon;plot(t1,y,'r:');title('周期矩形波的形成—基波'),subplot(2,2,2),plot(t1,f7),holdon;plot(t1,y,'r:');title('周期矩形波的形成—基波+2次谐波')subplot(2,2,3),plot(t1,f8),holdon;plot(t1,y,'r:');title('基波+2次谐波+3次谐波')subplot(2,2,4),plot(t1,f9),holdon;plot(t1,y,'r:');title('基波+2次谐波+3次谐波+4次谐波+6次谐波')01111212111()cos()sin()cos(2)sin(2)cos()sin()nnftaawtbwtawtbwtanwtbnwt参见程序ex_1通过傅立叶级数求各次谐波分量(补充)书上P192例9-1求周期脉冲的傅立叶系数,及各次谐波的合成波形。参见程序ex_2周期信号的频谱分析(补充)周期信号的频谱分析11()()jntnftFne0110110001()()~tTjntntFnFftdtTnFcae记复函数:其中直流分量:221n021122(nnnjnnnnnnnnFFajbFabce当时,其中幅度谱三角函数形式)1()2njnnnnFFeajb周期信号的频谱分析(补充)例2:接例1,求出其频谱并画出其波形clearall;symstxnt0;T=5;tao=0.5;Nf=60;Nn=6;x=sym('Heaviside(t+t0)-Heaviside(t-t0)')x=subs(x,t0,tao)A0=int(x,t,-tao,T-tao)/TAs=int(x*2*cos(2*pi*n*t/T)/T,t,-tao,T-tao)Bs=int(x*2*sin(2*pi*n*t/T)/T,t,-tao,T-tao)Fn=(As-j*Bs)/2A(1)=double(vpa(A0,Nn));fork=1:NfA(k+1)=double(vpa(subs(As,n,k),Nn));B(k+1)=double(vpa(subs(Bs,n,k),Nn));endt1=-2.5:0.01:2.5;y=subs(x,t,t1);subplot(3,1,1),plot(t1,y),title('矩形脉冲')%单边谱Fs(1)=A(1);Fs(2:Nf+1)=abs(A(2:Nf+1)-j.*B(2:Nf+1));Ns=0:Nf;subplot(3,1,2),stem(Ns,Fs),title('连续时间函数的单边谱')%双边谱N=Nf*2*pi/T;K=-N:2*pi/T:N;Fs(2:Nf+1)=abs(A(2:Nf+1)-j.*B(2:Nf+1))/2;Fd=[fliplr(Fs),Fs(2:Nf+1)];subplot(3,1,3),stem(K,Fd),title('连续时间函数的双边谱')参见程序ex_3周期信号的频谱分析(补充)利用MATLAB实现典型周期信号的频谱(P202)周期方波脉冲频谱的Matlab实现周期锯齿波脉冲频谱的Matlab实现周期三角波脉冲频谱的Matlab实现参见程序CTFS_SQ参见程序CTFS_JC参见程序CTFS_SJ非周期函数的傅立叶变换(P211)非周期函数的傅立叶变换:利用符号函数求傅立叶变换傅立叶变换:F=fourier(f);F,f应为符号表达式反傅立叶变换:f=ifourier(F);()()()jtFftftdte定义傅里叶正变换:F非周期函数的傅立叶变换(P212)例3:画出的时域图形及幅频图clearall;symstvwx;x=1/2*exp(-2*t)*sym('Heaviside(t)');F=fourier(x);subplot(2,1,1);ezplot(x);subplot(2,1,2);ezplot(abs(F));21()()2tfteut参见程序ex_4连续时间信号傅立叶变换的数值计算(P224)连续信号傅立叶变换的数值计算方法的理论依据:00()()lim()()(),02kjwtjwnnNjwnnkFjwftedtfneFkfnekNwkN当取足够小时:0001112221112222(0)(0)1(1)()1(2)(2)1(1)()1NNNjwjwjMwjwjwjMwjwjwjMwjwjwjMwFfeeeFfeeeFfeeeFNFMeee上式可表示矩阵形式:连续时间信号傅立叶变换的数值计算(P225)例4:已知clearall;R=0.02;t=-2:R:2;f=Heaviside(t+1)-Heaviside(t-1);W1=2*pi*5;N=500;k=-N:N;W=k*W1/N;F=f*exp(-j*t'*W)*R;F_r=real(F);subplot(2,1,1);plot(t,f);title('f(t)=u(t+1)-u(t-1)');subplot(2,1,2);plot(W,F_r);title('f(t)的付氏变换F(w)');F_A=abs(F);F_P=angle(Ffigure(2)subplot(2,1,1),plot(W,F_A);title(‘abs(F(W))’);subplot(2,1,2),plot(W,F_P),title(‘angle(F(W)))');()(1)(1),ftutut求其傅立叶变换F(jw)参见程序ex_5傅立叶变换性质的验证(P226-P227)尺度变换特性时移特性频移特性时域卷积特性对称性时域微分特性实验内容P208,1(b)、3(T=5,tao=1)P252,1、2(提示:符号变量可利用plot画图)P252,3