文档库 最新最全的文档下载
当前位置:文档库 › 实验三傅里叶变换及其性质

实验三傅里叶变换及其性质

实验三傅里叶变换及其性质
实验三傅里叶变换及其性质

实验三傅里叶变换及其性

The Standardization Office was revised on the afternoon of December 13, 2020

信息工程学院实验报告

课程名称:信号与系统

实验项目名称:实验3 傅里叶变换及其性质实验时间:2013-11-29 班级: 姓名: 学号:

一、实验目的:

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

2、学会运用MATLAB 求连续时间信号的频谱图;

3、学会运用MATLAB 分析连续时间信号的傅里叶变换的性质。

二、实验环境:

1、硬件:在windows 7 操作环境下;

2、软件:Matlab 版本

三、实验原理:

傅里叶变换的实现

信号()f t 的傅里叶变换定义为: ()[()]()j t F F f t f t e dt ωω∞

--∞

==

?

傅里叶反变换定义为:1

1

()[()]()2j t f t F F f e d ωωωωπ

--∞

==

?

信号的傅里叶变换主要包括MATLAB 符号运算和MATLAB 数值分析两种方法,下面分别加以探讨。同时,学习连续时间信号的频谱图。 MATLAB 符号运算求解法

MATLAB 符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函数fourier( )和ifourier( )。Fourier 变换的语句格式分为三种。

(1)F=fourier(f):它是符号函数f 的Fourier 变换,默认返回是关于ω的函数。 (2)F=fourier(f,v):它返回函数F 是关于符号对象v 的函数,而不是默认的ω,即

()()jvt F v f t e dt ∞

--∞

=?

(3)F=fourier(f,u,v):是对关于u 的函数f 进行变换,返回函数F 是关于v 的函数,即

()()jvu F v f t e du ∞

--∞

=?

傅里叶反变换的语句格式也分为三种。

(1)f=ifourier(F):它是符号函数F

的Fourier 反变换,独立变量默认为ω,默认返回是关于x 的函数。

(2)f=ifourier(F,u):它返回函数f 是u 的函数,而不是默认的x 。

(3)f=ifourier(F,u,v):是对关于v 的函数F 进行反变换,返回关于u 的函数f 。

值得注意的是,函数fourier( )和ifourier( )都是接受由sym 函数所定义的符号变量或者符号表达式。

连续时间信号的频谱图

信号()f t 的傅里叶变换()F ω表达了信号在ω处的频谱密度分布情况,这就是信号的傅里叶变换的物理含义。()F ω一般是复函数,可以表示成()

()()j F F e

?ωωω=。()~F ωω与()~?ωω

曲线分别称为非周期信号的幅度频谱与相位频谱,它们都是频率ω的连续函数,在形状上与相应的周期信号频谱包络线相同。非周期信号的频谱有两个特点,密度谱和连续谱。要注意到,采用fourier()和ifourier() 得到的返回函数,仍然是符号表达式。若需对返回函数作图,则需应用ezplot()绘图命令。 MATLAB 数值计算求解法

fourier( )和ifourier( )函数的一个局限性是,如果返回函数中有诸如单位冲激函数()t δ等项,则用ezplot()函数无法作图。对某些信号求变换时,其返回函数可能包含一些不能直接用符号表达的式子,因此不能对返回函数作图。此外,在很多实际情况中,尽管信号()f t 是连续的,但经过抽样所获得的信号则是多组离散的数值量()f n ,因此无法表示成符号表达式,此时不能应用fourier()函数对f(n)进行处理,而只能用数值计算方法来近似求解。

从傅里叶变换定义出发有0

()()lim ()j t

j n F f t e

dt f n e ωωω∞

-∞

?→-∞

--?=

=??∑?

当?足够小时,上式的近似情况可以满足实际需要。对于时限信号()f t ,或者在所研究的时间范围内让

()f t 衰减到足够小,从而近似地看成时限信号,则对于上式可以考虑有限n 的取值。假设是因果信号,

则有

1

()(),

01M n j n F f n e n M ωω-=-?=??≤≤-∑

傅里叶变换后在ω域用MATLAB 进行求解,对上式的角频率ω进行离散化。假设离散化后得到N 个样值,即 2,0k k k N N πω=

≤≤?

-1,

因此有 1

()(),01M n k j n F k f n e

k N ω-=-?

=?

?≤≤-∑

。采用行向量,用矩阵表示为

1*1**[()][()][]k j n T T

T N M M N F k f n e ω-?=??。其要点是要正确生成()f t 的M 个样本向量[()]f n ?与向量[]j n k e ω-?

。当?足够小时,上式的内积运算(即相乘求和运算)结果即为所求的连续时间信号傅里叶变

换的数值解。 傅里叶变换的性质

傅里叶变换的性质包含了丰富的物理意义,并且揭示了信号的时域和频域的关系。熟悉这些性质成为信号分析研究工作中最重要的内容之一。 尺度变换特性

傅里叶变换的尺度变换特性为:若()()f t F ω?,则有1()()f at F a a

ω

?,其中,a 为非零实常数。

频移特性

傅里叶变换的频移特性为:若()()f t F ω?,则有00()()j t

f t e

F ωωω?-。频移技术在通信系统

中得到广泛应用,诸如调幅变频等过程都是在频谱搬移的基础上完成的。频移的实现原理是将信号

()f t 乘以载波信号0cos t ω或0sin t ω,从而完成频谱的搬移,即

0000001

()cos [()()]

2

()sin [()()]

2

f t t F F j

f t t F F ωωωωωωωωωω?++-?+--

四、实验内容及结果分析:

试用MATLAB 命令求下列信号的傅里叶变换,并绘出其幅度谱和相位谱。

(1)1sin 2(1)()(1)t f t t ππ-=- (2)2

2sin()()t f t t ππ??

=????

第一题的实验程序代码: clc;clear;

Ft= sym('sin(2*pi*(t-1))/(pi*(t-1))'); Fw = fourier(ft); subplot(211)

ezplot(abs(Fw));grid on

title('幅度谱');

phase = atan(imag(Fw)/real(Fw)); subplot(212)

ezplot(phase);grid on title('相位谱'); 第二题的实验程序代码:

clc;clear; ft =

sym('(sin(pi*t)/(pi*t))^2'); Fw = fourier(ft);

subplot(211)

ezplot(abs(Fw));grid on

title('幅度谱');

phase = atan(imag(Fw)/real(Fw)); subplot(212)

ezplot(phase);grid on title('相位谱');

第一题实验结果如图1所示,第二题实验结果如图2所示。 图1 图2

试用MATLAB 命令求下列信号的傅里叶反变换,并绘出其时域信号图。

(1)1104(

)35F j j ωωω

=-++ (2)2

24()F e ωω-= 第一题的实验程序代码: clc;clear; t=sym('t');

Fw = sym('10/(3+i*w)-4/(5+i*w)');

ft = ifourier(Fw); ezplot(ft),grid on

第二题的实验程序代码:

clc;clear; t=sym('t');

Fw = sym('exp(-4*(w^2))'); ft = ifourier(Fw); ezplot(ft),grid on

第一题实验结果如图3所示,第二题实验结果如图4所示。

图3 图4 试用MATLAB数值计算方法求门信号的傅里叶变换,并画出其频谱图。

门信号即

1,/2 ()

0,/2

t

g t

t

τ

τ

τ

?≤

?

=?

>

??

,其中1

τ=。

实验程序代码:

clc;clear;

ft1 = sym('Heaviside(t+1/2)-

Heaviside(t-1/2)');

subplot(121);

ezplot(ft1,[ ]),grid on

Fw1 = simplify(fourier(ft1));

subplot(122);

ezplot(abs(Fw1),[-10*pi 10*pi]),

grid on

axis([-10*pi 10*pi ]);

实验结果如图5所示:

图5

已知两个门信号的卷积为三角波信号,试用MATLAB命令验证傅里叶变换的时域卷积定理。两个门信号卷积成为三角波信号的实验程序代码:

clc;

clear;

dt = ; t = -1:dt:;

f1 = uCT(t+1/2)- uCT(t-1/2); f2 = uCT(t+1/2)- uCT(t-1/2);

f = conv(f1,f2)*dt;

n =length(f);

tt = (0:n-1)*dt-2; subplot(211), plot(t,f1),grid on;

axis([-1, 1, ,]);

title('f1(t)'); xlabel('t'); subplot(212), plot(tt,f),grid on;

axis([-2, 2, ,]);

title('f(t)=f1(t)*f2(t)'); xlabel('t');

两个门信号卷积成为三角波信号的实验结果如图6所示:

图6

三角波信号傅里叶变换的实验程序代码:

clc;clear;

dt = ;

t = -4:dt:4;

ft = (t+1).*uCT(t+1)-

2*t.*uCT(t)+(t-1).*uCT(t-1);

N = 2000;

k = -N:N;

W = 2*pi*k/((2*N+1)*dt);

F = dt * ft*exp(-j*t'*W);

plot(W,F), grid on

axis([-10*pi 10*pi ]);

xlabel('W'), ylabel('F(W)') title('f1(t)*f2(t)的频谱图');ft1和ft2分别傅里叶变换然后再相乘的代码:

clc;clear;

ft1 = sym('Heaviside(t+1/2)-Heaviside(t-1/2)');

Fw1 = fourier(ft1);

ft2 = sym('Heaviside(t+1/2)-Heaviside(t-1/2)');

Fw2 = fourier(ft2);

Fw=Fw1.*Fw2;

ezplot(Fw,[-10*pi 10*pi]);grid on

axis([-10*pi 10*pi ]);

三角波信号傅里叶变换的实验结果如图7所示,ft1和ft2分别傅里叶变换然后再相乘的实验结果如图8所示。

图7 图8

图7和图8几乎是一样的,所以傅里叶变换的时域卷积定理是正确的。

相关文档