实验四 连续时间信号的傅里叶变换
对应程序如下: syms t
fourier(exp(-2*abs(t)))
ans=
4/(4+w^2)
若傅里叶变换的结果希望是v,可执行如下命令: syms t v
fourier(exp(-2*abs(t)),t,v)
ans=
4/(v^2 + 4)
2. 用Matlab符号函数运算法求F?j???1的傅里叶逆变换f(t)。
1??2解:利用如下Matlb命令实现:
syms t w
ifourier(1/(1+w^2),t)
ans=
(pi*exp(-t)*heaviside(t) + pi*heaviside(-t)*exp(t))/(2*pi) 其中,heaviside(t)即为单位阶跃函数u(t)。
3. 设f?t??1?2t(符号函数法) eu?t?,试画出f(t)及其幅频图。
2解:MATLAB命令如下:
syms t v w x ;
x=1/2*exp(-2*t)*sym('heaviside(t)'); F=fourier(x); subplot(211); ezplot(x); subplot(212); ezplot(abs(F));
程序运行结果如图4.1所示。
程序中的heaviside(t)是调用了Symbolic Math Toolbox的heaviside.m文件,内容为: function f=heaviside(t) f=(t>0);
32
实验四 连续时间信号的傅里叶变换
4. 请绘制矩形脉冲f?t????1?0t?1/2其他的波形?t???1,1??和频谱F?j??
?????8?,8???,并利用你计算得到的频谱恢复时域信号fs?t?,比较和原信号f?t?的
差别。 对应程序: clc
clear all
T=2; %定义时域抽样区间长 N=200; %定义时域抽样点数
t=linspace(-T/2,T/2-T/N,N)'; %定义时域抽样点 f=0*t; %初始化时域信号 f(t>-1/2&t<1/2)=1;
OMG=16*pi; %定义频域抽样时间长度 K=100; %定义频域抽样点数 k=1:K;
omg=linspace(-OMG/2,OMG/2-OMG/K,K)'; %定义频域抽样点 F=0*omg; %初始化频谱 F=T/N*exp(-j*kron(omg,t.'))*f;
fs=0*f; %初始化合成信号 fs=OMG/2/pi/K*exp(j*kron(t,omg.'))*F; subplot(2,1,1) plot(t,f,t,fs,'--') subplot(2,1,2) plot(k',F)
5. 设f?t??G2?t??u?t?1??u?t?1?,用Matlab求y?t??G1?t??u?2t?1??u?2t?1?的
频谱Y?j??,并与f(t)的频谱F?j??进行比较。 对应程序:
clc
clear all syms t
f1=heaviside(t+1)- heaviside(t-1); f=heaviside(2*t+1)- heaviside(2*t-1); F=fourier(f1,t); Y=fourier(f,t); subplot(211);
33
实验四 连续时间信号的傅里叶变换
ezplot(F); subplot(212); ezplot(Y);
图4.2 尺度变换例子
通过上图比较可见,Y?j??将F?j??展宽了一倍,而幅度将为F?j??的一半。 解:求解f(t)程序命令如下: r=0.02;%抽样间隔T/N t=-5:r:5; N=200; W=2*pi*1; K=-N:N; w=k*W/N;
fl=1/2*exp(-2*t).*heaviside(t); F=r*fl*exp(-j*t'*w); F1=abs(F); P1=angle(F); subplot(311); plot(t,fl); grid;
34
实验四 连续时间信号的傅里叶变换
xlabel('t'); ylabel('f(t)'); title('f(t)'); subplot(312); plot(w,F1); xlabel('w'); grid;
ylabel('F(jw)'); subplot(313);
plot(w,P1*180/pi); grid;
xlabel('w') ; ylabel('P(度)') ;
6. 设f?t??1?2t1y(t)及其频谱(幅eu?t?,y?t??e?2?t?0.3?u?t?0.3?试用Matlab绘出f(t),
22度谱和相位谱),并对二者频谱进行比较。
解:用Matlab实现的程序如下: R=0.02; t=-2:R:2;
f=heaviside(t+1)-heaviside(t-1); fl=f.*exp(-j*20*t); f2=f.*exp(j*20*t); W1=2*pi*5; N=500; K=-N:N; W=k*W1/N;
F1=fl*exp(-j*t'*W)*R; F2=f2*exp(-j*t'*W)*R; F1=real(F1); F2=real(F2); subplot(121); plot(W,F1); xlabel('w');
ylabel('F1(jw)');
title('F(w)左移到w=20处的频谱F1(jw)'); subplot(122); plot(W,F2); xlabel('w');
35
实验四 连续时间信号的傅里叶变换
ylabel('F2(jw)');
title('F(w) 右移到w=20处的频谱F2(jw)'); 运行结果如下图所示:
图4.5 傅里叶变换的频移特性
7. 设f(t)=u(t+1)-u(t-1),试用Matlab绘出f1?t??f?t?e?j20t及f2?t??f?t?ej20t的频谱
F1?j??和F2?j??,并与f(t)的频谱F?j??进行比较。
解:用Matlab实现的程序如下: R=0.02; t=-2:R:2;
f=heaviside(t+1)-heaviside(t-1); fl=f.*exp(-j*20*t); f2=f.*exp(j*20*t); W1=2*pi*5; N=500; K=-N:N; W=k*W1/N;
F1=fl*exp(-j*t'*W)*R; F2=f2*exp(-j*t'*W)*R; F1=real(F1); F2=real(F2); subplot(121);
36