实验六傅里叶变换及其反变换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六 傅里叶变换及其反变换

6.1实验目的

1.学会运用MATLAB 求连续时间信号的傅里叶变换;

2.学会运用MATLAB 求连续时间信号的傅里叶反变换;

3.学会运用MATLAB 求连续时间信号的频谱图。

6.2实验原理及实例分析

1.连续时间信号傅里叶变换----CTFT

傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。傅里叶变换和其逆变换定义如下:

⎰∞

∞--=

dt e t x j X t j ωω)()( 6.1

⎰∞∞-=ωωπωd e j X t x t j )(21)( 6.2

连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。按照教材中的说法,任意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号e j ωt 的线性组合构成的,每个频率所对应的周期复指数信号e j ωt 称为频率分量(frequency component ),其相对幅度为对应频率的|X(j ω)|之值,其相位为对应频率的X(j ω)的相位。

X(j ω)通常为关于的复函数,可以按照复数的极坐标表示方法表示为:

X(j ω)=| X(j ω)|e j ∠ X(j ω)

其中,| X(j ω)|称为x(t)的幅度谱,而∠X(j ω)则称为x(t)的相位谱。

给定一个连续时间非周期信号x(t),它的频谱也是连续且非周期的。对于连续时间周期信号,也可以用傅里变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换时有冲激序列构成的,是离散的——这是连续时间周期信号的傅里叶变换的基本特征。 2.用MATLAB 实现CTFT 的计算

MATLAB 进行傅里叶变换有两种方法,一种利用符号运算的方法计算,另一种是数值计算。

1) MATLAB 符号运算求解法

MATLAB 符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函数fourier( )及ifourier( )。常用的是:F=fourier(f) 默认返回值是关于ω的函数。

f=fourier(F,t) 返回值是关于t 的函数

例:利用MATLAB 求单边指数信号f(t) = e -2t u(t)的傅里叶变换,画出f(t)及其幅度谱和相位谱图。

syms t v w x phase im re ; %定义符号变量

f = exp(-2*t)*sym('Heaviside(t)'); %f(t)=exp(-2*t)*u(t)

Fw = fourier(f); %求傅里叶变换

subplot(311);

ezplot(f); %绘制f(t)的时域波形

axis([-1 2.5 0 1.1]);

subplot(312);

ezplot(abs(Fw)); %绘制幅度谱

im = imag(Fw); %计算F(w)的虚部

re = real(Fw); %计算F(w)的实部

phase = atan(im/re); %计算相位谱

subplot(313);

ezplot(phase); %绘制相位谱

%End

2) MATLAB 数值计算求解法

符号运算求解法的局限性在于,如果返回函数中有诸如δ(t )等项,则用ezplot( )函数无法作图。对某些信号求变换时,其返回函数可能包含一些不能直接用符号表达的式子,因而也不返回函数作图。故有必要给出连续信号傅里叶变换的数值计算法。

采用数值计算算法的理论依据是:

⎰∞

∞-Ω-=

dt e t x j X t j )()(ω∑∞-∞=-→=k T jk T T e kT x ω)(lim 0

若信号为时限信号,当时间间隔T 取得足够小时,上式可演变为:

∑-=-=N N k T jk e kT x T

j X ωω)()(

T

e e e t x t x t x N t j t j t j N ],,,[)](,),(),([12211221+---+⋅=ωωω 上式用MA TLAB 表示为:

X=x*exp(-j*t ’*w)*T

其中X 为信号x(t)的傅里叶变换,w 为频率Ω,T 为时间步长。

相应的MA TLAB 程序:

T = 0.01; dw = 0.1; %时间和频率变化的步长

t = -10:T:10;

w = -4*pi:dw:4*pi;

%X(jω)可以按照下面的矩阵运算来进行:

X=x *exp(-j*t'*ω)*T %傅里叶变换

X1=abs(X); %计算幅度谱

phai=angle(X); %计算相位谱

为了使计算结果能够直观地表现出来,还需要用绘图函数将时间信号x(t),信号的幅度谱|X(jω)|和相位谱∠ X(jω)分别以图形的方式表现出来,并对图形加以适当的标注。

6.3 编程练习

1. 设双边指数信号f(t) = e-a|t| (a>0),用MA TLAB编程求其傅里叶变换,绘出频谱图。要求

由键盘交互式地设置a的值,观察当a逐渐趋于0时,其频谱函数的变化趋势。

>> syms t v w x phase im re; %定义符号变量

a=input('请输入a=');

f = exp(-a*abs(t)) ; %f(t)= exp(-a*abs(t))

Fw = fourier(f); %求傅里叶变换

subplot(311);

ezplot(f); %绘制f(t)的时域波形

axis([-1 2.5 0 1.1]);

subplot(312);

ezplot(abs(Fw)); %绘制幅度谱

im = imag(Fw); %计算F(w)的虚部

re = real(Fw); %计算F(w)的实部

phase = atan(im/re); %计算相位谱

subplot(313);

ezplot(phase); %绘制相位谱

请输入a=6

相关文档
最新文档