matlab自修课程设计报告matlab实现傅立叶变换.docx
- 文档编号:26879561
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:23
- 大小:294.24KB
matlab自修课程设计报告matlab实现傅立叶变换.docx
《matlab自修课程设计报告matlab实现傅立叶变换.docx》由会员分享,可在线阅读,更多相关《matlab自修课程设计报告matlab实现傅立叶变换.docx(23页珍藏版)》请在冰豆网上搜索。
matlab自修课程设计报告matlab实现傅立叶变换
matlab实现信号的傅立叶变换
一、设计目的
1.熟悉和掌握matlab的基本使用方法,能够熟练运用matlab。
2。
巩固信号与系统中的傅立叶变换内容,加深对这部分内容的理解。
二、设计任务
1.掌握matlab的基本操作。
2.利用matlab实现典型非周期信号的傅立叶变换,画出信号的时域图和频域图。
3.利用matlab实现傅立叶变换的基本性质。
三、设计原理
1.matlab简介
MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,经过多年大量的、坚持不懈的改进,现在MATLAB已经更新至7.x版。
MATLAB集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以人们十分熟悉的数值或图形方式显示出来。
MATLAB可用来解决实际的工程和数学问题,其典型应用有:
通用的数值计算,算法设计,各种学科(如自动控制、数字信号处理、统计信号处理)等领域的专门问题求解。
MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。
MATLAB既是一种编程环境,又是一种程序设计语言。
这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示.使用更为简便,可使用户大大节约设计时间,提高设计质量。
2.matlab2013b基本界面介绍
matlab2013b主界面窗口基本分为五个部分:
1)主菜单界面
在此界面我们只需要用到新建命令文件
和对程序进行间断调试的功能
2)文件查看窗口,双击可快速打开文件
3)写命令窗口及提示窗口
在这个窗口可写入参数、写入公式、显示错误、显示帮助等功能,例如对a赋值、写入公式f=a*a、显示帮助:
公式fft的使用方法
4)历史命令查看窗口
在该窗口可查看历史输入命令,双击历史命令可再次输入到命令窗口
5)数值查看窗口
在该窗口可查看所有参数详细数值
3。
理论原理:
傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。
傅里叶变换(FT):
连续时间,连续频率的傅里叶变换。
非周期连续时间信号通过连续付里叶变换(FT)得到非周期连续频谱密度函数。
在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。
对于连续时间信号,任何周期信号只要满足狄里赫利条件就可以分解成许多指数分量之和或直流分量与正弦、余弦分量之和,而非周期信号不能直接用傅立叶级数表示,但可以利用傅立叶分析方法导出非周期信号的傅立叶变换.
以周期矩形信号为例,当周期T无限增大时,则周期信号就转化为非周期性的单脉冲信号。
所以可以把非周期信号的周期T看成是周期T趋于无限大的周期信号。
当周期信号的T增大时,谱线的间隔
变小,若周期T趋于无穷小,这时离散频谱就变成了连续频谱,而各分量的振幅将趋于无穷小,故引入“频谱密度函数"来表示非周期信号即通过傅里叶变换来分析非周期信号的频谱]。
信号
的傅里叶变换定义为
如果连续时间信号可用符号
表达式表示,则可利用MATLB的fourier函数直接求出其博里叶变换。
该函数常用的调用格式有三种。
①
②
③
非周期信号
的傅里叶变换
的定义公式如下式所示,
通常是一个复数,可以表示为
(2—1)
相应的博里叶逆变换可表示为
(2—2)
上式表明:
①非周期信号可以看作是由无穷多个不同频率的虚指数信号组成,且频率是连续的,即包括了从负无穷到正无穷的一切频率分量。
②傅里叶变换
的模
反映了信号各颇率分量的幅度随频率
的变化情况.称为信号幅度频谱。
③傅里叶变换
的辐角
反映了信号各频率分量的相位随频率
的变化情况,称为信号相位领谱。
因此,通过博里叶变换,就可以得到非周期信号的幅度频语和相位频谱,从而分析出信号的频率特性。
四、设计过程
1。
典型非周期信号的傅立叶变换
1)。
单边指数信号
程序:
symstvwx;
x=0。
5*exp(—t)*sym(’heaviside(t)’);
F=fourier(x);
subplot(211);
ezplot(x);
subplot(212);
ezplot(abs(F));
axis([-6600。
7]);
结果:
图1—1:
单边指数信号的时域与频域波形
2)。
双边指数函数:
程序:
symstvwx;
x=exp(-t)*sym(’heaviside(t)’)+exp(t)*sym('heaviside(—t)’);
F=fourier(x);
subplot(211);
ezplot(x);
subplot(212);
ezplot(abs(F));
axis([-6602]);
结果:
图1-2:
双边指数函数的时域与频域波形
3)。
符号函数
程序:
t=—1:
0。
01:
1;%时域波形x=heaviside(t)—heaviside(-t);
subplot(211);
plot(t,x);
xlabel('t');
axis([—11-1。
51。
5]);
symst;%频域波形x=sym('heaviside(t)')-sym('heaviside(—t)’);
F=fourier(x);
subplot(212);
ezplot(abs(F));
axis([-44030]);
结果:
图1-3:
符号函数的时域与频域波形
4)。
矩形脉冲函数
程序:
t=—2:
0.01:
2;
x=heaviside(t+1)—heaviside(t—1);
subplot(211);
plot(t,x);
xlabel('t');
axis([-22—0。
51.5]);
symst;
x=sym('heaviside(t+1)')—sym('heaviside(t-1)’);
F=fourier(x);
subplot(212);
ezplot(F);
axis([—88-13]);
结果:
图1-4:
矩形脉冲的时域和频域波形
5).钟形脉冲信号(高斯脉冲)
程序:
symstvwx;
x=exp(—t^2);
F=fourier(x);
subplot(211);
ezplot(x);
subplot(212);
ezplot(abs(F));
axis([-6602]);
结果:
图1-5:
钟形函数(高斯脉冲)的时域和频域波形
6)。
抽样函数:
程序:
symst;
r=0.01;
j=sqrt(—1);
t=-15:
r:
15;
f=sin(t)。
/t;
f=sin(2*t)。
/(2*t);
N=500;
W=5*pi*1;
k=—N:
N;
w=k*W/N;
F=r*sinc(t/pi)*exp(—j*t’*w);
F1=r*sinc(2*t/pi)*exp(-j*t’*w);
subplot(211);
plot(t,f,'b—’);
xlabel(’t’);ylabel(’f(t)’);
subplot(212);plot(w,F,'b—');
axis([—44-14]);
xlabel('w');ylabel(’F(w)');
结果:
图1-6:
抽样函数的时域和频域波形
2。
傅立叶变换的基本性质
1)。
对称性
博里叶变换的对称性可以表示为:
若
,则
(3-1)
上式表明,如果函数
的频谱函数为
,那么时间函数
的频谱函数是
这称为傅里叶变换的对称性。
例:
设
已信号
的傅立叶变换为
用MATLAB求
的傅立叶变换
,并验证对称性.
程序:
symst
r=0。
02;
j=sqrt(—1);
t=—20:
r:
20;
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,f1);
axis([-22-14]);
xlabel(’t’);ylabel(’f1(t)’);
subplot(224);plot(w,F1);
axis([-2525-37]);
xlabel(’w’);ylabel(’F1(w)’);
结果:
图2—1:
傅立叶变换的对称性
2)。
尺度变换性质
傅里叶变换的尺度变换性质可以表示为:
若
则对于实常数
有
(3-2)
上式表明,信号时域宽度与频率带宽成反比。
信号在时域中压缩
等效于带宽在频域中的扩展,而时域的展宽等效于在频域中带宽的压缩。
例2—5:
设
用MATLAB求
的频谱
,并与
的频谱
进行比较。
由信号分析可知,f(t)信号的频谱为
,其第一个过零点频率为
,一般将此频率认为信号
的带宽。
考虑到
的形状,将精度提高到该值的50倍,即
,据此确定取样间隔:
程序:
R=0.02;t=-2:
R:
2;
f=heaviside(t+1)—heaviside(t—1);
W1=2*pi*5;
N=500;k=0:
N;W=k*W1/N;
F=f*exp(-j*t'*W)*R;
F=real(F);
W=[-fliplr(W),W(2:
501)];
F=[fliplr(F),F(2:
501)];
subplot(2,2,1);plot(t,f);
axis([-22—0.51。
5]);
xlabel('t');ylabel(’f(t)’);
title(’f(t)=u(t+1)—u(t-1)’);
subplot(2,2,2);plot(W,F);
axis([—4040-0.52]);
xlabel(’w’);ylabel(’F(w)’);
title(’f(t)的傅立叶变换F(w)');
R=0。
02;t=-2:
R:
2;
f=heaviside(2*t+1)—heaviside(2*t-1);
W1=2*pi*5;
N=500;k=0:
N;
W=k*W1/N;
F=f*exp(—j*t'*W)*R;
F=real(F);
W=[—fliplr(W),W(2:
501)];
F=[fliplr(F),F(2:
501)];
subplot(2,2,3);plot(t,f);
axis([—22-0.51.5]);
xlabel('t’);ylabel(’y(t)’);
title(’y(t)=u(2t+1)-u(2t—1)');
subplot(2,2,4);plot(W,F);
axis([-4040-0。
52]);
xlabel('w');ylabel('Y(w)’);
title('y(t)的傅立叶变换Y(w)’);
结果:
图2—2:
傅立叶变换的尺度变换性质
3).时移性质
傅里叶变换的时移特性可以表示为:
设
,则
(3-3)
上式表明,信号
在时域中沿时间轴右移或左移
等效于在频域中其频谱乘因子
,即信号时移后,幅度频谱不变,只是相位频谱发生了线性变换,产生了附加变化
.
程序:
r=0。
03;
t=-7:
r:
7;
N=200;
W=2*pi*1;
k=—N:
N;
w=k*W/N;
f1=0.5*exp(-3*t)。
*heaviside(t);
F=r*f1*exp(—j*t’*w);
F1=abs(F);
P1=angle(F);
subplot(321);
plot(t,f1);
grid;
xlabel('t’);
ylabel(’f(t)’);
title('f(t)’);
subplot(323);
plot(w,F1);
xlabel(’w’);
grid;
ylabel('F(jw)’);
subplot(325);
plot(w,P1*180/pi);
grid;
xlabel('w');
ylabel('P(°)');
r=0。
03;
t=-3:
r:
3;
N=200;
W=2*pi*1;
k=—N:
N;
w=k*W/N;
f1=0。
5*exp(-3*(t-0。
4))。
*heaviside(t-0。
4);
F=r*f1*exp(-j*t'*w);
F1=abs(F);
P1=angle(F);
subplot(322);
plot(t,f1);
grid;
xlabel('t’);
ylabel(’y(t)');
title('y(t)');
subplot(324);
plot(w,F1);
xlabel(’w');
grid;
ylabel(’F(jw)');
subplot(326);
plot(w,P1*180/pi);
grid;
xlabel('w’);
ylabel(’P(°)');
结果:
图2—3:
傅立叶变换的时移性质
4).频移性质
傅里叶变换的频移特性可以表示为:
设
则
(3—4)
上式表明,若时间信号
乘以
,等效于
的频谱
沿频率轴右移
;若时间信号
乘以
,等效于
的频谱
沿频率袖左移
。
这条性质在通信系统中得到广泛应用,用于对信号进行调制,实现频谱搬移,其原理如图3.6所示.
图3.6幅度调制原理图
它是将信号f(t)(常称为调制信号)乘以载频信号
或
,得到高频已调信号。
该过程可以表示为:
,则
(3-5)
上式表明,调幅信号的频谱等于将原信号的频谱一分为二,各向左、右移载频
幅度则变为原来的一半.
程序:
R=0。
01;t=—2:
R:
2;
f=heaviside(t+1)-heaviside(t-1);
f0=f.*exp(-j*t);
f1=f。
*exp(-j*20*t);
f2=f。
*exp(j*20*t);
W1=2*pi*5;
N=400;k=—N:
N;W=k*W1/N;
F0=f0*exp(—j*t'*W)*R;
F1=f1*exp(-j*t'*W)*R;
F2=f2*exp(—j*t’*W)*R;
F0=real(F0);
F1=real(F1);
F2=real(F2);
subplot(311);
plot(W,F0);
xlabel(’w’);
ylabel(’F0(jw)’);
title(’F(w)的频谱F0(jw)’);
subplot(312);
plot(W,F1);
xlabel(’w’);
ylabel(’F1(jw)');
title(’F(w)左移到w=20的频谱F1(jw)’);
subplot(313);
plot(W,F2);
xlabel('w’);
ylabel(’F2(jw)');
title('F(w)右移到w=20的频谱F2(jw)’);
结果:
图2-4:
傅立叶变换的频移性质
五、结论
通过这次课程设计,实现了书本上各个基本非周期脉冲函数的傅立叶变换,并且实现了傅立叶变换的基本性质,对这种频域分析方法游乐更深入的了解与体会。
同时,我学会了如何使用matlab,对matlab也有了更深刻的了解与体会。
六、收获与体会
在这次课程设计之前,我对matlab只了解一点点,只会用它来仿真一些比较简单的程序,但是在那时我认为我已经了解了matlab,并且认为我能够熟练的运用这个软件来进行数值模拟与仿真。
开始进行课程设计之后我才意识到,原来我对这个软件了解的程度不过是冰山一角,九牛一毛,我之前接触到的函数不过是一些最基本的,最简单的函数.开始课程设计后我才意识到自己的无知,在学习的这个软件的这几天时间里,我发现这个软件是一个非常棒的软件,熟练运用这个软件,对我们的学习将会有极大的帮助.我们学到了理论知识相对比较枯燥,比较乏味,但是将这些学到的知识运用到这个软件里时,我们能直观的感受到各个参数变化,各个变换的神器之处。
经过两天的课程设计,我对信号与系统傅立叶变换的内容理解层次上升到了一个新的层次,对之前不是很理解的内容有了深刻的理解,所以,乏味的书本知识满足不了我们的好奇心时,我们更应该运用工具来激发我们的兴趣!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 自修 课程设计 报告 实现 傅立叶 变换