一、实验目的
1、学会用MATLAB实现连续时间信号傅里叶变换;
2、学会用MATLAB分析信号频域特性。
二、实验原理及实例分析
傅里叶变换的MATLAB求解:MATLAB的symbolic Math Toolbox 提供了直接求解傅里叶变换及逆变换的函数 fourier()及 ifourier()两者的调用格式如下:
1、Fourier 变换的调用格式:
F=fourier(f):它是符号函数f的fourier变换,默认返回是关于w的函数。
F=fourier(f, v):它返回函数F是关于符号对象v的函数,而不是默认的w,即
2、Fourier 逆变换的调用格式:
f=ifourier(F):它是符号函数F的fourier逆变换,默认的独立变量为w,默认返回是关于x 的函数。
f=ifourier(f,u):它的返回函数f是u的函数,而不是默认的 x。注意:在调用函数fourier()及ifourier()之前,要用syms命令对所用到的变量(如t,u,v,w)进行说明,即将这些变量说明成符号变量
三、实验内容
1、完成以下例题
例1:用MATLAB符号运算求解法求单边指数信号的FT。
实验代码:
syms t w;
ft = exp(-2*t) * heaviside(t);
Fw = fourier(ft, w);
实验结果:
>> Fw
Fw = 1/(2 + w*1i)
例2:用MATLAB符号运算求解法求的IFT。
实验代码:
syms t w
Fw = 1/(1 + w^2);
ft = ifourier(Fw, t);
实验结果:
>> ft
ft = exp(-abs(t))/2
例3:用MATLAB命令绘出例1中单边指数信号的频谱图。
实验代码:
syms t w;
ft = exp(-2*t) * heaviside(t);
Fw = fourier(ft, w);
subplot(211);
fplot(abs(Fw)); grid on; title('幅度谱');
phase = atan(imag(Fw)/real(Fw));
subplot(212); fplot(phase); grid on; title('相位谱');
实验图像:
2、完成以下练习
(1)求信号的傅里叶变换,并画出其频谱图。
实验代码:
syms t w;
ft = sin(2*pi*(t-1))/(pi*(t-1));
Fw = fourier(ft, w);
subplot(211);
fplot(abs(Fw), [-20, 20]); grid on;
title('幅度谱');
phase = atan(imag(Fw)/real(Fw));
subplot(212);
fplot(phase, [-8, 8]); grid on;
title('相位谱');
实验图像:
(2)求的傅里叶逆变换,并画出其原函数的时间信号波形图。
实验代码:
syms t w;
Fw = (8+w*6i)/((3+w*1i)*(5+w*1i));
ft = ifourier(Fw, t);
fplot(ft, [-2, 4]); grid on;
axis([-2,4,-0.5,6.5]);title('f(t)');
实验图像:
四、实验总结
此次实验将计算与绘制频谱图交给计算机的同时,也是对傅里叶变换掌握程度的又一次检测,实验让我意识到只有打好理论基础才能以不变应万变,同时MATLAB所呈现的图像也在一定程度激发了我对信号与系统学习的热情。