1、实验二 连续时间信号的频谱分析,实验目的,掌握傅立叶级数(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表示要精确计算的位数。,利用符号运算求傅立叶级数的系数,周期函数的傅立叶级数的形式,周期信号的频谱分析,周期信号的频谱分析
2、,利用符号运算求傅立叶级数的系数 参见P197函数CTFS_RP,例1:求周期矩形信号的傅立叶级数clear all;syms t x n t0;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
3、-j*Bs)/2 指数系数A(1)=double(vpa(A0,Nn);for k=1:NfA(k+1)=double(vpa(subs(As,n,k),Nn);B(k+1)=double(vpa(subs(Bs,n,k),Nn);end,参见程序ex_1,利用符号运算求傅立叶级数的系数 参见P197函数CTFS_RP,x =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.20000000000000 0.37419600000000 0.
4、30273100000000 0.20182000000000 0.09354890000000 0.00000000000000 -0.06236600000000 -0.08649450000000B =0 0 0 0 0 0 0 0,通过傅立叶级数求各次谐波分量,接上例,求出各次谐波并画出波形%求各次谐波t1=-T/2:0.01:T/2;f1=A(1)+A(2).*cos(2*pi*1*t1/T)+B(2)*sin(2*pi*1*t1/T); ; % 基波f2=A(3).*cos(2*pi*2*t1/T)+B(3)*sin(2*pi*2*t1/T); ; % 2次谐波f3=A(4).*c
5、os(2*pi*3*t1/T)+B(4).*sin(2*pi*3*t1/T); % 3次谐波f4=A(5).*cos(2*pi*4*t1/T)+B(5).*sin(2*pi*4*t1/T); ; % 4次谐波f5=A(6).*cos(2*pi*5*t1/T)+B(6).*sin(2*pi*5*t1/T); % 5次谐波f6=A(7).*cos(2*pi*6*t1/T)+B(7).*sin(2*pi*6*t1/T); % 6次谐波 f7=f1+f2; % 基波+2次谐波f8=f7+f3; % 基波+2次谐波+3次谐波f9=f8+f4+f6; % 基波+2次谐波+3次谐波+4次谐波+6次谐波 %画
6、出图形y=subs(x,t,t1); %调用连续时间函数-周期矩形脉冲subplot(2,2,1),plot(t1,f1),hold on;plot(t1,y,r:);title(周期矩形波的形成基波),subplot(2,2,2),plot(t1,f7),hold on;plot(t1,y,r:);title(周期矩形波的形成基波+2次谐波)subplot(2,2,3),plot(t1,f8),hold on;plot(t1,y,r:);title(基波+2次谐波+3次谐波)subplot(2,2,4),plot(t1,f9),hold on;plot(t1,y,r:);title(基波+2
7、次谐波+3次谐波+4次谐波+6次谐波),参见程序ex_1,通过傅立叶级数求各次谐波分量,书上P192例9-1,求周期脉冲的傅立叶系数,及各次谐波的合成波形。,参见程序ex_2,周期信号的频谱分析,例2:接例1 ,求出其频谱并画出其波形clear all; syms t x n t0;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
8、(2*pi*n*t/T)/T,t,-tao,T-tao)Fn=(As-j*Bs)/2 A(1)=double(vpa(A0,Nn);for k=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
9、(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
10、,非周期函数的傅立叶变换(P211),非周期函数的傅立叶变换:利用符号函数求傅立叶变换 傅立叶变换:F=fourier(f); F,f应为符号表达式 反傅立叶变换:f=ifourier(F);,非周期函数的傅立叶变换(P212),例3:画出 的时域图形及幅频图clear all;syms t v w x;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);,参见程序ex_3,连续时间信号傅立叶变换的数值计算(P224),连续信号傅立叶变换的数值计算
11、方法的理论依据:,上式可表示矩阵形式:,连续时间信号傅立叶变换的数值计算(P225),例4:已知clear all; R=0.01;t=-2:R:2; f=Heaviside(t+1)-Heaviside(t-1); W1=2*pi*5; N=10000;k=-N:N;W=k*W1/N; F=f*exp(-j*t*W)*R; F_r=real(F); figure(1) subplot(2,1,1);plot(t,f); xlabel(t);ylabel(f(t);title(f(t)=u(t+1)-u(t-1); subplot(2,1,2);plot(W,F_r); xlabel(w);ylabel(F(w);title(f(t)F(w); F_A=abs(F);% F_P=angle(F);% figure(2) subplot(2,1,1),plot(W,F_A),xlabel(w);ylabel(abs(F(w);title(f(t); subplot(2,1,2),plot(W,F_P),xlabel(w);ylabel(angle(F(w);title(f(t);,实验内容,P208,1(b)、3(T=5,tao=1) P252,1 、2(提示:符号变量可利用plot画图) P252,3,