实验六傅里叶变换及其反变换
X ( j) x(t)e jt dt
6.1
x(t)
1 2
X(
j)e jt d
6.2
连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。按照教材中的说法,任
意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些 频率都是非常的接近)的周期复指数信号 ejt 的线性组合构成的,每个频率所对应的周期复 指数信号 ejt 称为频率分量(frequency component),其相对幅度为对应频率的|X(j)|之值, 其相位为对应频率的 X(j)的相位。 X(j)通常为关于的复函数,可以按照复数的极坐标表示方法表示为: X(j)=| X(j)|ej X(j) 其中,| X(j)|称为 x(t)的幅度谱,而X(j)则称为 x(t)的相位谱。
%绘制幅度谱
im = imag(Fw);
%计算 F(w)的虚部
re = real(Fw);
%计算 F(w)的实部
phase = atan(im/re);
%计算相位谱
subplot(313);
ezplot(phase);
%绘制相位谱
请输入 a=6
>> syms t v w x phase im re;
的傅里叶反变换
f(t)。
>> syms t v w x phase im re;
%定义符号变量
Fw =1/(1+w^2);
f=fourier(Fw,t)
subplot(311);
ezplot(f);
%绘制 f(t)的时域波形
axis([-1 2.5 0 1.1]);
subplot(312); ezplot(abs(Fw)); im = imag(Fw); re = real(Fw); phase = atan(im/re); subplot(313); ezplot(phase);
实验六 傅里叶变换及其反变换
6.1 实验目的 1.学会运用 MATLAB 求连续时间信号的傅里叶变换; 2.学会运用 MATLAB 求连续时间信号的傅里叶反变换; 3.学会运用 MATLAB 求连续时间信号的频谱图。
6.2实验原理及实例分析 1.连续时间信号傅里叶变换----CTFT
傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。 傅里叶变换和其逆变换定义如下:
1. 设双边指数信号 f(t) = e-a|t| (a>0),用 MATLAB 编程求其傅里叶变换,绘出频谱图。要求
由键盘交互式地设置 a 的值,观察当 a 逐渐趋于 0 时,其频谱函数的变化趋势。
>> syms t v w x phase im re;
%定义符号变量
a=input('请输入 a=');
ezplot(abs(Fw));
%绘制幅度谱
im = imag(Fw);
%计算 F(w)的虚部
re = real(Fw);
%计算 F(w)的实部
phase = atan(im/re);
%计算相位谱
subplot(313);
ezplot(phase);
%绘制相位谱
请输入 a=2
2.求
F ()
1 12
%绘制幅度谱 %计算 F(w)的虚部
%计算 F(w)的实部 %计算相位谱
%绘制相位谱
f=
(pi*heaviside(t))/exp(t) + pi*heaviside(-t)*exp(t)
X ( j) x(t)e jt dt lim x(kT )e jkT T
T 0 k
若信号为时限信号,当时间间隔 T 取得足够小时,上式可演变为:
N
X ( j) T x(kT )e jkT k N
[x(t1 ), x(t2 ),, x(t2N 1 )] [e jt1 , e jt2 ,, e jt2N 1 ]T
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));
谱图。
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); phase = atan(im/re); subplot(313); ezplot(phase); %End
%计算F(w)的实部 %计算相位谱
%绘制相位谱
给定一个连续时间非周期信号 x(t),它的频谱也是连续且非周期的。对于连续时间周期
信号,也可以用傅里变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换时有冲
激序列构成的,是离散的——这是连续时间周期信号的傅里叶变换的基本特征。
2.用 MATLAB 实现 CTFT 的计算
MATLAB 进行傅里叶变换有两种方法,一种利用符号运算的方法计算,另一种是数值计算。
2) MATLAB 数值计算求解法 符号运算求解法的局限性在于,如果返回函数中有诸如δ(t)等项,则用 ezplot( )函数无法 作图。对某些信号求变换时,其返回函数可能包含一些不能直接用符号表达的式子,因而也 不返回函数作图。故有必要给出连续信号傅里叶变换的数值计算法。
采用数值计算算法的理论依据是:
%定义符号变量
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);
上式用 MATLAB 表示为: X=x*exp(-j*t’*w)*T
其中 X 为信号 x(t)的傅里叶变换,w 为频率Ω,T 为时间步长。 相应的 MATLAB 程序:
T = 0.01; dw = 0.1;
%时间和频率变化的步长
t = -10:T:10;
w = -4*pi:dw:4*pi;
%X(j)可以按照下面的矩阵运算来进行:
1) MATLAB 符号运算求解法
MATLAB 符 号 数 学 工 具 箱 提 供 了 直 接 求 解 傅 里 叶 变 换 与 傅 里 叶 反 变 换 的 函 数
fourier( )及 ifourier( )。常用的是:F=fourier(f) 默认返回值是关于ω的函数。
f=fourier(F,t) 返回值是关于 t 的函数 例:利用 MATLAB 求单边指数信号 f(t) = e-2tu(t)的傅里叶变换,画出 f(t)及其幅度谱和相位
X=x *exp(-j*t'*)*T %傅里叶变换
X1=abs(X);
%计算幅度谱
phai=angle(X);
%计算相位谱
为了使计算结果能够直观地表现出来,还需要用绘图函数将时间信号 x(t),信号的幅度谱 |X(j)|和相位谱 X(j)分别以图形的方式表现出来,并对图形加以适当的标注。
6.3 编程练习