MATLAB实验二 傅里叶分析及应用.docx
实验二傅里叶分析及应用一、实验目得(一)掌握使用Matl a b进行周期信号傅里叶级数展开与频谱分析1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数得物理含义2、学会使用Matlab分析周期信号得频谱特性(二)掌握使用Matl ab求解信号得傅里叶变换并分析傅里叶变换得性质1、学会运用Ma t lab求连续时间信号得傅里叶变换2、学会运用Mat lab求连续时间信号得频谱图3、学会运用Ma t lab分析连续时间信号得傅里叶变换得性质(三)掌握使用Mat l ab完成信号抽样并验证抽样定理1、学会运用MATLAB完成信号抽样以及对抽样信号得频谱进行分析2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号得频谱变化3、学会运用MATLAB对抽样后得信号进行重建二、实验条件Win7 系统,MATLAB R2 0 15a三、实验内容1、分别利用Matlab符号运算求解法与数值计算法求下图所示信号得FT,并画出其频谱 图(包括幅度谱与相位谱)注:图中时间单位为:毫秒(ms)。w符号运算法Code:ft = sym('(t+2)*(heaviside(t+2)-heavisi de(t+1)+(heaviside(t+1)-heav iside(t-1)+(2-t)*(heaviside( t-1)-heaviside(t-2)');fw = simplify(fourier(ft);subplot(2, 1, 1);ezplot(abs(fw); grid on; title('amp spectrum');phi = atan(imag(fw) / real(fw); subplot(2, 1, 2);ezplot(phi); grid on;title('phase spectrum');Code:dt = 0、 01;t = -2: dt: 2;ft=(t+2)、*(uCT(t+2)-uCT(t + 1) + (uCT(t+1 )-uCT(t-1) + (2-t)、*(uCT(t-1)-uCT(t-2);N = 2000;k = -N: N;w = pi 火 k / (N*dt);fw = dt*ft*exp(-i*t'*w);fw = abs(fw);plot(w, fw), grid on;axis(-2火pi 2*pi -1 3、 5);数值运算法2、试用Matlab命令求得傅里叶反变换,并绘出其时域信号图、Code:syms t;fw =sym('10/(3+i*w)-4/(5+i* w)');ft = ifourier(fw, t); ezplot(ft), grid on;(20 兀 exp(-3 t) heaviside(t) -8 兀 exp(-5 t) heaviside(t)/2 兀)5两个单边指数脉冲得叠加3、已知门函数自身卷积为三角波信号,试用Mat 1 ab命令验证FT得时域卷积定理、Code:f = sym('heaviside(t+1) - heaviside(t-1)');fw = simplify(fourier(f);F = fw、*fw;subplot(211);ezplot(abs(F), -9, 9), grid ontitle('FW八2')tri =sym('(t+2)*heaviside(t+2)-2*t*heaviside(t)+(t-2)*heaviside(t-2)');Ftri = fourier(tri);F = simplify(Ftri);subplot(212);ezplot(abs(F), -9, 9), grid on;-3-6-4-2 Q 2title('tri FT')4、设有两个不同频率得余弦信号,频率分别为,;现在使用抽样频率对这三个信号进行抽样,使用MATLAB命令画出各抽样信号得波形与频谱,并分析其频率混叠现象>>>Code:fl = 100; % fl = 100 hzts = 1/4000;% sample = 4000hzdt = 0、 0001;tl = -0、 007:dt:0、 007;ft = cos(2*f1*pi*t1);subplot(221); plot(t1, ft), grid on;axis(-0、 006 0、 006 -1、 5 1、 5) xlabel('Time/s'),ylabel('f(t)') title('Cosine curve');N = 5000; k = -N:N;w = 2火pi*k/(2火N+1)*dt);fw = ft*dt*exp(-1i*t1'*w);subplot(222);plot(w, abs(fw); grid on;axis(-20000 20000 0 0、 005);xlabel('omega'), ylabel('f(w)') title( 'Cos freq spectrum');t2 = -0、 007:ts:0、 007;fst = cos(2*f1*pi*t2);subplot(223);plot(t1, ft, ':'), hold onstem(t2, fst), grid on;axis(-0、 006 0、 006 -1、 5 1、 5) xlabel('Time/s'),ylabel('fs(t)') title('Sample signal'); hold offfsw=ts*fst*exp(-1i*t2'*w);subplot(224); plot(w, abs(fsw), grid onaxis(-20000 20000 0 0、 006) xlabel('omega'),ylabel('fsw') title( ' Sample freq spectrum');Cosine curve0-3 Cos freqTime/sx10-1Sample signalxf 1 = 10 0 Hz将代码中fl设为3800即可I5、结合利用M ATLA信号经过冲激脉Time/sx 104x 10-3Sample freq spectrum其频谱建议:xw s0-2Wltltflll 0imtHw42-11期分别取4pi s、2大p情况对比,代码即可)x 104动第一行t2 = -5: Ts: 5;Ts = 4/3; % impulse period = 4*pi/31、 2),N;0.501);0axis(-6 6 -0、 5 title('Sa(t)')N = 500; k = -N:Sat1 = -5:0、 01:5;ft = sinc(t1);subplot(2, 2, 1)plot(t1, ft), grid onW = pi*k / (N*0、Fw = 0、 01*ft*exp(-1i*t1'*W);subplot(2, 2, 2)-05.-5 plot(W, abs(Fw), grid onfst = sinc(t2);subplot(2, 2, 3)(t)plot(t1,ft,':* 咯%击 f®q spectrum stem(t2, fst),1.5jrid onaxis(-6 6 -0、 5 1、 2) title( 'Sampling】 signal') Fsw = Ts*fst*exp(-1i*t2'*W); subplot(2, 2, 045plot(W, abs(Fsw), grid on axis(-5 0 5 0 - 00. 05 1、5)title('5pectrum of Sampling0signal20axis(-30 30 -0、 05 1、 5)title('Sa(t) freq spectrum;)Sampling signal1.5冲激脉冲得周期=4*pi/ 0-0.5I11 f T WIL%1l 1 | 7技,0.5-5050 -5010.5spectrum of Sampling signa1Sa(t)1.5Sa(t) freq spectrum10.50-20020Sampling signalspectrum of Sampling signal冲激脉冲得周期=pi sSa(t)Sampling signal冲激脉冲得周期=2*pi/3 s6、已知周期三角信号如下图所示注:图中时间单位为:毫秒(ms):试求出该信号得傅里叶级数自己求或参见课本P112或P 3 94,利用Matlab编程实现其各次谐波如1、3、5、13、49得叠加,并验证其收敛性;14 2 严1-(厂), ca0= '; an - ; bn = 0谐波幅度收敛速度:n原始波形:该周第k阶谐波前K次谐波C od e :三可。1.510.80.61(0j40.80.20.61class H-waveOriginawave0)-4108The Itimes superpose-2013 class H-wave0.4-0.50.2 10、0%01: 2火pi;8#雨(0、_2-3pi*tj2 °、5)1);figure(1);:2t用财嘉:期三角游号toplot(t, f), grid on;Mli善取承 4, °i, The )13times superpose 当周期三角igin 02 wave'); nuF 0.8 0 -4-2013, 49;0、40周期 nCM = 10.63, s或曰2m耳弓4m;。.43 cass H-waveThe 3times superpos0.411ftAA;IJ 1;0.2.3f J 1( 1J-l- .Jii946-1j i-1J 1i .-2: 0 - 24f.1I0.6:igur49 界乎 H-wav5.24;1/-2;30祀k = 1: N0.8a0“0.6 -4for0.40.2 10.8-40.60.4波形得叠加a b分析4得频谱N = 4;度(如萄S力御时,试fr分析其:n = nclass(k);0.20N -4-20.2nT=e 4:times nu眼sosek);数形式均 an = 4 /(n*pi)、八2);信号得 f-2 = an*cos2(pi*i4'*t);ft = ft + a0;ms> msubplot(2, 2, k); plot(t) Jft宽 axis(-4, 4, 0, 1)title('The分别变化化、an = 4 /(n*pi)、八2);ft = an*cos(pi*n'*t);ft = ft + a0;subplot(2, 2, k); plot(t, ft);axis(-4, 4, 0, 1)title(num2str(nclass(k)' class H-wave ');end0',-num2s-2r(ncQass(k2), 't4meS谱得变 superpose');end周期为2msdt=0、 01;t=-4:dt:4;ft=(t>=-1&t<0)、*(t+1) + (t>0&t<=1) 、 *(1-t);%subplot(2,1,1)%plot(t,ft);grid onn=2000;k=-n:n;w=pi*k/(n*dt);f=dt*ft*exp(-i*t'*w);f=abs(f);%subplot(2,1,2)plot(w,f);axis(-20 20 01、 1),grid on;dt=0、 01;t=-4:dt:4;ft=(t>=-0、5&t<0)、*(t+1)+(t>0&t<=0、 5)、 *(1-t);%subplot(2,1,1)%plot(t,ft);grid onn=2000;k=-n:n;w=pi*k/(n*dt);f=dt*ft*exp(-i*t'*w);f=abs(f);%subplot(2,1,2)plot(w,f);axis(-20 20 01、 1),grid on;66 周期为1ms四、实验结论与讨论1、凡就是等步长离散采样一定会产生频率混叠现象、根据采样定理,当采 样频率fso max大于信号中最高频率fmax得2倍时(fs。max2fmax),采样 之后得数字信号才能完整保留原始信号中得信息、第四题中,f= 3 800hz时,采 样频率4000hz明显小于f,故发生了混叠。2、谐波叠加实验:可以瞧出随着波次得叠加,波形越来越趋近于原始波形, 正体现了傅里叶级数对原函数得还原。五、实验思考1、MATLAB原意就是矩阵实验室,里面各种运算都就是矩阵化得。所以 在进行一些变量相乘得时候,要进行转置,比如单引号与点乘、2、第二题傅里叶逆变换,我对照了 wolf ram alpha得结果,不太一样后 发现MATLA B得逆变换就是没有归一化处理得,而wol fram alpha针对得就 是离散傅里叶变换,默认加了 1/ s qrt(2pi)归一化因子、3、第四题抽样那,频率变为380 0 hz后,图形应该也跟着放大才好瞧,但就 是放大有点失真,故还就是选择了原来得比例、