完整word版连续时间信号的傅利叶变换及MATLAB实现.docx
- 文档编号:27770720
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:31
- 大小:612.11KB
完整word版连续时间信号的傅利叶变换及MATLAB实现.docx
《完整word版连续时间信号的傅利叶变换及MATLAB实现.docx》由会员分享,可在线阅读,更多相关《完整word版连续时间信号的傅利叶变换及MATLAB实现.docx(31页珍藏版)》请在冰豆网上搜索。
完整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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 连续 时间 信号 傅利叶 变换 MATLAB 实现