完整word版连续时间信号的傅利叶变换及MATLAB实现.docx

上传人:b****8 文档编号:27770720 上传时间:2023-07-04 格式:DOCX 页数:31 大小:612.11KB
下载 相关 举报
完整word版连续时间信号的傅利叶变换及MATLAB实现.docx_第1页
第1页 / 共31页
完整word版连续时间信号的傅利叶变换及MATLAB实现.docx_第2页
第2页 / 共31页
完整word版连续时间信号的傅利叶变换及MATLAB实现.docx_第3页
第3页 / 共31页
完整word版连续时间信号的傅利叶变换及MATLAB实现.docx_第4页
第4页 / 共31页
完整word版连续时间信号的傅利叶变换及MATLAB实现.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

完整word版连续时间信号的傅利叶变换及MATLAB实现.docx

《完整word版连续时间信号的傅利叶变换及MATLAB实现.docx》由会员分享,可在线阅读,更多相关《完整word版连续时间信号的傅利叶变换及MATLAB实现.docx(31页珍藏版)》请在冰豆网上搜索。

完整word版连续时间信号的傅利叶变换及MATLAB实现.docx

完整word版连续时间信号的傅利叶变换及MATLAB实现

课程设计任务书

学生姓名:

潘少俊专业班级:

电子科学与技术0701班

指导教师:

梁小宇工作单位:

信息工程学院

题目:

连续时间信号的傅利叶变换及MATLAB实现

初始条件:

MATLAB软件,微机

要求完成的主要任务:

利用MATLAB强大的图形处理功能,符号运算功能和数值计算功能,实现连续时间非周期信号频域分析的仿真波形;

1、用MATLAB实现典型非周期信号的频域分析;

2、用MATLAB实现信号的幅度调制;

3、用MATLAB实现信号傅立叶变换性质的仿真波形;

4、写出课程设计报告。

时间安排:

学习MATLAB语言的概况第1天

学习MATLAB语言的基本知识第2、3天

学习MATLAB语言的应用环境,调试命令,绘图能力第4、5天

课程设计第6-9天

答辩第10天

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

摘要…………………………………………………………………………………III

ABSTRACT……………………………………………………………………………III

绪论…………………………………………………………………………………IV

1傅里叶变换原理概述………………………………………………………………1

1.1傅里叶变换及逆变换的MATLAB实现………………………………………1

2用MATLAB实现典型非周期信号的频域分析………………………………………2

2.1指数信号时域波形图、频域图…………………………………………………2

2.2直流信号时域波形图、频域图…………………………………………………2

2.3符号函数信号时域波形图、频域图……………………………………………3

2.4单位阶跃信号时域波形图、频谱图……………………………………………3

2.5单位冲激信号时域波形图、频域图……………………………………………4

2.6门函数信号时域波形图、频域图………………………………………………4

3用MATLAB实现信号的幅度调制……………………………………………………6

3.1实例1……………………………………………………………………………6

3.2实例2……………………………………………………………………………8

4实现傅里叶变换性质的波形仿真…………………………………………………10

4.1尺度变换特性………………………………………………………………10

4.2时移特性………………………………………………………………………11

4.3频移特性………………………………………………………………………13

4.4时域卷积定理……………………………………………………………………14

4.5对称性质…………………………………………………………………………16

4.6微分性质……………………………………………………………………………17

心得体会…………………………………………………………………………………20

参考文献…………………………………………………………………………………20

附录………………………………………………………………………………………21

 

摘要

傅立叶变换是一种传统的信号处理方法,同时也是一种非常重要的信号处理方法.作为数字信号处理中的核心内容,在教学中引入MATLB软件,既为教师讲解提供了方便,又可以激发学生的学习兴趣,增强学习效果,提高对傅立叶变换的理解和应用能力.

 

关键词:

MATLAB,傅立叶变换,数字信号处理

 

ABSTRACT

Fouriertransformisatraditionalsignalprocessingmethods,butalsoaveryimportantsignalprocessingmethods.AsdigitalsignalprocessinginthecorecontentoftheintroductionofMATLBsoftwareinteaching,bothforteachersontheprovisionofaconvenient,canalsomotivatestudentsinterestinlearning,enhancelearning,increasetheunderstandingandapplicationofFouriertransformcapability.

 

Keywords:

MATLAB,Fouriertransform,digitalsignalprocessing

绪论

在科学技术飞速发展的今天,计算机正扮演着愈来愈重要的角色。

在进行科学研究与工程应用的过程中,科技人员往往会遇到大量繁重的数学运算和数值分析,传统的高级语言Basic、Fortran及C语言等虽然能在一定程度上减轻计算量,但它们均用人员具有较强的编程能力和对算法有深入的研究。

MATLAB正是在这一应用要求背景下产生的数学类科技应用软件。

MATLAB是matrix和laboratory前三个字母的缩写,意思是“矩阵实验室”,是MathWorks公司推出的数学类科技应用软件。

MATLAB具有以下基本功能:

(1)数值计算功能;

(2)符号计算功能;(3)图形处理及可视化功能;(3)可视化建模及动态仿真功能。

本文介绍了如何利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间系统频域分析。

本次课程设计介绍了用MATLAB实现典型非周期信号的频谱分析,用MATLAB实现信号的幅度调制以及用MATLAB实现信号傅里叶变换性质的仿真波形。

1傅里叶变换原理概述

信号f(t)的傅里叶变换定义为:

 

值得注意的是,f(t)的傅里叶变换存在的充分条件是f(t)在无限区间内绝对值可积,即f(t)满足下式:

但上式并非f(t)存在的必要条件。

当引入f(t)的广义函数概念后,使一些不满足绝对可积的f(t)也能进行傅里叶变换。

傅里叶逆变换的定义是:

1.1傅里叶变换及逆变换的MATLAB实现

MATLAB的SymbolicMathToolbox提供了能直接求解傅里叶变换及逆变换的函数Fourier()及Fourier()。

1.1Fourier变换

1.

(1)F=Fourier(f)

(2)F=Fourier(five)

(3)F=Fourier(f,u,v)

说明:

(1)F=fourier(f)是符号函数f的Fourier变换,缺省返回是关于ω的函数。

如果f=f(ω),则fourier函数返回关于t的函数。

(2)F=fourier(f,v)返回函数F是关于符号对象v的函数,而不是缺省的ω

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

1.2Fourier逆变换

(1)f=ifourier(F)

(2)f=ifourier(F,u)

(3)f=ifourier(F,v,u)

2用MATLAB实现典型非周期信号的频域分析

2.1指数信号时域波形图、频域图

的时域波形图和频谱图如图1、图2所示

图1指数信号波形图图

2.2直流信号时域波形图、频域图

直流信号f(t)=A

1根据指标要求,画出频率采样序列的图形

2根据

的对称特点,可以使问题得以简化

2.3符号函数信号时域波形图、频域图

2.4单位阶跃信号时域波形图、频域图

2.5单位冲激信号时域波形图、频域图

2.6门函数信号时域波形图、频域图

3用MATLAB实现信号的幅度调制

设信号f(t)的频谱为F(jw),现将f(t)乘以载波信号cos(w0t),得到高频的已调信号

y(t),即:

y(t)=f(t)cos(w0t)

f(t)称为调制信号。

实现信号调制的原理图如图

(幅度调制原理图)

从频域上看,已调制信号y(t)的频谱为原调制信号f(t)的频谱搬移到0±w处,幅度

降为原F(jw)的1/2,即

上式即为调制定理,也是傅里叶变换性质中“频移特性”的一种特别情形。

注意:

这里采用的调制方法为抑制载波方式,即y(t)的频谱中不含有cos()0wt的频率

分量。

MATLAB提供了专门的函数modulate()用于实现信号的调制。

调用格式为:

y=modulate(x,Fc,Fs,'method')

[y,t]=modulate(x,Fc,Fs)

其中,x为被调信号,Fc为载波频率,Fs为信号x的采样频率,method为所采用的调

制方式,若采用幅度调制、双边带调制、抑制载波调制,则'method'为'am'或'amdsd-sc'。

其执行算法为

y=x*cos(2*pi*Fc*t)

其中y为已调制信号,t为函数计算时间间隔向量。

下面举例说明如何调用函数modulate()来实现信号的调制。

例1:

设信号f(t)=sin(100πt),载波y(t)为频率为400Hz的余弦信号。

试用MATLAB实

现调幅信号y(t),并观察f(t)的频谱和y(t)的频谱,以及两者在频域上的关系。

解:

在下面的MATLAB的实现的程序中,为了观察f(t)及y(t)的频谱,在这里介绍一个

MATLAB的“信号处理工具箱函数”中的估计信号的功率谱密度函数psd(),其格式是:

[Px,f]=psd(x,Nfft,Fs,window,noverlap,dflag)

其中,x是被调制信号(即本例中的f(t)),Nfft指定快速付氏变换FFT的长度,Fs

为对信号x的采样频率。

后面三个参数的意义涉及到信号处理的更深的知识,在此暂不介绍。

用MATLAB完成本例的程序如下:

Fs=1000;%被调信号x的采样频率

Fc=400;%载波信号的载波频率

N=1000;%FFT的长度

n=0:

N-2;

t=n/Fs;

x=sin(2*pi*50*t);%被调信号

subplot(221)

plot(t,x);

xlabel('t(s)');

ylabel('x');

title('被调信号');

axis([00.1-11])

Nfft=1024;

window=hamming(512);

noverlap=256;

dflag='none';

[Pxx,f]=psd(x,Nfft,Fs,window,noverlap,dflag);subplot(222)

plot(f,Pxx)

xlabel('f(Hz)');

ylabel('功率谱(X)');

title('被调信号的功率谱')

grid

y=modulate(x,Fc,Fs,'am');%已调信号

subplot(223)

plot(t,y)

xlabel('t(s)');

ylabel('y');

axis([00.1-11])

title('已调信号')

[Pxx,f]=psd(y,1024,Fs,window,noverlap,dflag);

subplot(224)

plot(f,Pxx)

xlabel('f(Hz)');

ylabel('功率谱(Y)');

title('已调信号的功率谱');

grid

上述程序的运行结果如图9.4所示,其中左边上下两图为f(t)及y(t)信号,即时域波

形,右边上下两图分别为对应f(t)及y(t)的功率谱。

由图可见,f(t)的功率频谱处在频域的频率f=400HZ为中心的两侧、偏移值为50HZ

的双边带。

显然,上述结果与信号与系统分析的理论结果完全一致。

(被调信号、已调信号及其谱线)

需要指出的是,一个信号的频谱与功率谱在数值上及定义上是有差别的,但两者的联

系也是很密切的,其关系为:

其中T为信号的周期。

本例中的主要目的是观察被调用信号f(t)及已调用信号y(t)的谱线在频域上的位置

变化及关系,验证调制定理,而在数值上的差别予以忽略。

另外,一般“信号与系统”教

材介绍的信号调制多为幅度、双边带且抑制载波调制方式,所以例9.5也仅涉及这种方式。

但是,函数modulate()中的’method’可设置多种调制方式以适合于具体的调制要求,有

兴趣的读者可查阅相关资料,这里丛略。

此外,也可以直接生成调制信号

,并用MATLAB编程求()1ft的频

谱。

用下例说明。

例2设

试用MATLAB画出f(t)、

()1ft的时域波形及其频谱,并观察傅里叶变换的频移特性。

解:

实现该过程的MATLAB命令程序如下:

R=0.005;t=-1.2:

R:

1.2;

f=Heaviside(t+1)-Heaviside(t-1);

f1=f.*cos(10*pi*t);%已调信号

subplot(221)

plot(t,f)

xlabel('t');

ylabel('f(t)');

subplot(222);

plot(t,f1);

xlabel('t');

ylabel('f1(t)=f(t)*cos(10*pi*t)');

W1=40;

N=1000;

k=-N:

N;

W=k*W1/N;

F=f*exp(-j*t'*W)*R;求F(jw)

F=real(F);

F1=f1*exp(-j*t'*W)*R;求F1(jw)

F1=real(F1);

subplot(223);

plot(W,F);

xlabel('w');

ylabel('F(jw)');

subplot(224);

plot(W,F1);

xlabel('w');

ylabel('F1(jw)');

程序运行结果如图所示。

由图5可见,f1(t)的频谱F1(jw)即是将f(t)的频谱F(jw)搬移到±10π处,且

幅度为F(jw)的幅度的一半。

图原信号f(t)、调制信号f1(t)的波形及其频谱F(jw)、F1(jw)

4用MATLAB实现信号傅立叶变换性质的仿真波形

4.1傅里叶变换的尺度变换特性

若f(t)«F(jw),则傅里叶变换的尺度变换特性为:

下面举例说明傅里叶变换的尺度特性。

例1:

,即门宽为τ=2的门信号,用MATLAB求

的频谱Y(jw),并与f(t)的频谱F(jw)进行比较。

解:

本题中,y(t)信号相当于原信号f(t)在时域上压缩一倍,即y(t)=f(2t),a=2,按式,Y(jw)的频域宽度应是F(jw)的两倍,而幅度下降为F(jw)的一半。

f(t)的频谱F(jw)已在例9.4中给出。

在该例的MATLAB程序中,将信号改为:

f=Heaviside(2*t+1)-Heaviside(2*t-1),其他语句不变。

这样形成的程序即为本例的MATLAB程序。

程序运行的结果如图3.1所示。

为便于观察比较,请读者将3.1与对比起来看,显然,Y(jw)将F(jw)展宽了一倍,而幅度降为F(jw)的幅度的一半。

4.1傅立叶变换的尺度变换的例

4.2傅里叶变换的时移特性

若f(t)«F(jw),则傅里叶变换的时移特性为:

下面举例说明傅里叶变换的时移特性。

例2:

试用MATLAB绘出f(t)及其频谱(幅度谱及相位谱)。

解:

程序为下列命令文件。

r=0.02;

t=-5:

r:

5;

N=200;

W=2*pi*1;

k=-N:

N;

w=k*W/N;

f1=1/2*exp(-2*t).*Heaviside(t);

F=r*f1*exp(-j*t'*w);

F1=abs(F);

P1=angle(F);

subplot(311);

plot(t,f1);

grid;

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(度)');

程序运行结果如图4.2所示。

 

图4.2f(t)及其幅频特性与相频特性

例3:

,求用MATLAB绘出信号f(t)及其频谱,观察信号时移对信号频谱的影响。

解:

MATLAB实现的程序为下列命令文件。

r=0.02;

t=-2:

r:

2;

N=200;

W=2*pi*1;

k=-N:

N;

w=k*W/N;

f1=1/2*exp(-2*(t-0.3)).*Heaviside(t-0.3);

F=r*f1*exp(-j*t'*w);

F1=abs(F);

P1=angle(F);

subplot(311);

plot(t,f1);grid;

xlabel('t');ylabel('f(t)');

title('f(t)');

subplot(312);

plot(w,F1);grid;

xlabel('w');ylabel('幅度');

subplot(313);

plot(w,P1*180/pi);grid;

xlabel('w');ylabel('相位(度)');

程序运行结果如图4.3所示。

由图可见,与例4.3的图4.4相比,可知当时域波形右移后幅

度谱不变,相位增加-0.3w。

图4.3f(t)及其幅频特性与相频特性

4.3傅里叶变换的频移特性

若f(t)↔F(jw),则傅里叶变换的频移特性为:

例4:

设f(t)=e(t+1)-e(t-1),试用MATLAB绘出

的频谱F1(jw)及F2(jw),并与f(t)的频谱

F(jw)进行比较。

解:

用MATLAB实现的程序如下:

R=0.02;t=-2:

R:

2;

f=Heaviside(t+1)-Heaviside(t-1);

f1=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=f1*exp(-j*t'*W)*R;%求f1(t)的傅里叶变换F1(jω)

F2=f2*exp(-j*t'*W)*R;%求f2(t)的傅里叶变换F2(jω)

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');

ylabel('F2(jw)');

title('F(w)右移到w=20处的频谱F2(jw)');

图4.4傅里叶变换的频移特性的例子

由图4.4可见,对比的结果可知F(jw)及)F2(jw)是将F(jw)分别搬移到

w=-20及w=20处的频谱。

4.4傅里叶变换的时域卷积定理

变换的时域卷积定理如下:

若信号f1(t),f2(t)的傅里叶变换分别为,F1(jw)F2(jw),则:

f1(t)*f2(t)↔F1(jw)⋅F2(jw)

例5:

设f(t)=e(t+1)-e(t-1),y(t)=f(t)*f(t)

试用MATLAB给出f(t)、y(t)、F(jω)、F(jω)?

F(jω)及Y(jω)的图形,验证式(9-13)的时域卷积定理。

解:

MATLAB程序如下:

R=0.05;t=-2:

R:

2;

f=Heaviside(t+1)-Heaviside(t-1);subplot(321)

plot(t,f)

xlabel('t');

ylabel('f(t)');

y=R*conv(f,f);n=-4:

R:

4;

subplot(322);

plot(n,y);

xlabel('t');

ylabel('y(t)=f(t)*f(t)');

axis([-33-13]);

W1=2*pi*5;

N=200;

k=-N:

N;

W=k*W1/N;

F=f*exp(-j*t'*W)*R;

F=real(F);

Y=y*exp(-j*n'*W)*R;

Y=real(Y);

F1=F.*F%求F(jω)×F(jω)

subplot(323);

plot(W,F);

xlabel('w');

ylabel('F(jw)');

subplot(324);

plot(W,F1);

xlabel('w');

ylabel('F(jw).F(jw)');

axis([-202004]);

subplot(325);

plot(W,Y);

xlabel('w');

ylabel('Y(jw)');

axis([-202004]);

f(t),y(t),F(jw),F(jω)⨯F(jω)及Y(jω)的图形如图3.5所示。

图4.5时域卷积定理示例

由图3.5可见,Y(jω)与F(jω)⨯F(jω)的图形一致,而y(t)的波形正是我们熟知的

t)*f(t)的波形,Y(jω)也是熟知的y(t)的付氏变换,从而验证时域卷积定理。

4.5傅里叶变换的对称性

傅里叶变换的对称性为:

若:

f(t)«F(jw),则:

F(jt)«2pf(-w)

下面举例说明付里叶变换的对称性。

例6:

设f(t)=Sa(t),已知信号f(t)的傅里叶变换为:

用MATLAB求f2(t)=pg(t)的傅里叶变换F1(jw),并验证对称性。

解:

MATLAB程序为:

r=0.01;

t=-15:

r:

15;

f=sin(t)./t;

f1=pi*(Heaviside(t+1)-Heaviside(t-1));

N=500;

W=5*pi*1;

k=-N:

N;

w=k*W/N;

F=r*sinc(t/pi)*exp(-j*t'*w);

F1=r*f1*exp(-j*t'*w);

subplot(221);plot(t,f);

xlabel('t');ylabel('f(t)');

subplot(222);plot(w,F);

axis([-22-14]);

xlabel('w');ylabel('F(w)');

subplot(223);plot(t,f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1