实验五、信号的傅里叶分析与频谱
一.实验要求
(1)学会运用MATLAB分析傅里叶级数展开,深人理解傅里叶级数的物理意义。
(2)学会运用MATLAB分析周期信号的频谱特性。
(3)学会运用MATLAB求连续非周期信号的傅里叶变换。
(4)学会运用MATLAB绘制连续非周期信号的频谱图。
二.实验设备
计算机,matlab软件
三.实验内容
[success]1. 参考例 5-1,实现教材 p125,例 3-4 中傅里叶级数表达式(p126 第二行)。分别采用前 4、40、40 项,画出周期矩形脉冲信号的近似图;[/success]
实验源代码:
%本题可以先取脉宽为1,幅值为2、周期为2
t=-3:0.001:3;
ft=square(pi*t,50); %产生周期为2,占空比50%的周期矩形脉冲信号
subplot(2,2,1),plot(t-0.5,ft+1),grid on
axis auto
title('周期矩形脉冲信号')
n_max=[4,40,400];
N=length(n_max);%n_max的长度放入N
for k=1:N %k依次取1 2 3
n=1:n_max(k); %规定n的范围
b=4./(pi*n).*sin(pi*n./2); %行矩阵
x=1+b*cos(pi*n'*t); %列矩阵
subplot(2,2,k+1),plot(t,x),grid on
axis auto
title(['最大谐波次数=',num2str(n_max(k))])
end

[success]2.参考例 5-2,画出上题频谱图。[/success]
实验源代码:
n=-40:40;
fn=sinc (n./2) ;%由第一题得出
stem(n*pi,fn),grid on
title('\tau=1,T=2,E=2的频谱图')
axis auto
xlabel('\omege'),ylabel('F_(n)')

[success]3.[/success]
实验源代码: Um=1; T=0.02; w=2*pi/T; num_points=200; t=linspace(-T/2,T/2,num_points); y=Um*abs(sin(2*w*t)).*(t>0); n=randn(38,1); n=[0;n;0]; n = interp1([0:39],n,linspace(0,39,num_points),'linear'); y=y+0.4*n; %得到一个周期函数 c0=1/T*trapz(t,y); for k=1:20; y1=y.*cos(k*100*pi*t); y2=y.*sin(k*100*pi*t); an=2/T*trapz(t,y1); bn=2/T*trapz(t,y2); cn=sqrt(an^2+bn^2); q=atan(-bn/an); c0=c0+cn*cos(k*100*pi*t+q); plot(t,c0); pause(1) end

[success]4.[/success]
实验源代码:
ft=sym('exp(-abs(t))+3*dirac(t)')
Fw=fourier(ft) %求傅里叶变换
subplot(211)
ezplot(abs(Fw));grid on %绘制幅频图
title('幅频图')
phase=atan(imag(Fw)./real(Fw)); %求相位
subplot(212)
ezplot(phase);grid on
title('相频图')

Fw =2/(w^2 + 1) + 3
[success]5.[/success]
实验源代码
fw=sym('3/ (3*i*w+2-w^2) ')
ft=ifourier(fw,t) %求傅里叶反变换
ezplot(ft);grid on
title('f(t)')

ft=-(3*(pi*sign(imag(((9*i^2)/4 + 2)^(1/2)) + (3*imag(i))/2)*exp(t*((3*i)/2 + ((9*i^2)/4 + 2)^(1/2))*1i)*1i – pi*exp(t*((3*i)/2 – ((9*i^2)/4 + 2)^(1/2))*1i)*sign(t)*1i – pi*exp(t*((3*i)/2 – ((9*i^2)/4 + 2)^(1/2))*1i)*sign((3*imag(i))/2 – imag(((9*i^2)/4 + 2)^(1/2)))*1i + pi*exp(t*((3*i)/2 + ((9*i^2)/4 + 2)^(1/2))*1i)*sign(t)*1i))/(4*pi*((9*i^2)/4 + 2)^(1/2))














暂无评论内容