matlab自修课程设计报告(matlab实现傅立叶变换)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 增大时,谱线的间隔Ω=2πT ⁄变小,若周期T 趋于无穷小,这时离散频谱就变成了连续频谱,而各分量的振幅将趋于无穷小,故引入“频谱密度函数”来表示非周期信号即通过傅里叶变换来分析非周期信号的频谱]
。
信号f(t)的傅里叶变换定义为F (jω)=∫f(t)e −jωt dt ∞
−∞ 如果连续时间信号可用符号f(t)表达式表示,则可利用MATLB 的four ier 函数直接求出其博里叶变换。该函数常用的调用格式有三种。
①F =fourier(f) ②F =fourier(f,v) ③F =fourier(f,,u,v)
非周期信号f(t)的傅里叶变换F(jω)的定义公式如下式所示,F(jω)通常是一个复数,可以表示为
F (jω)=|F(jω)|e jφ(ω)
(2-1)
相应的博里叶逆变换可表示为
F(jω)=1
2π∫|F(jω)|e j[ωt+φ(ω)]
∞
−∞
dω
(2-2)
上式表明:
①非周期信号可以看作是由无穷多个不同频率的虚指数信号组成,且频率是连续的,即包括了从负无穷到正无穷的一切频率分量。
②傅里叶变换F(jω)的模 |F(jω)|反映了信号各颇率分量的幅度随频率ω的变化情况.称为信号幅度频谱。
③傅里叶变换F(jω)的辐角φ(ω)反映了信号各频率分量的相位随频率ω的变化情况,称为信号相位领谱。
因此,通过博里叶变换,就可以得到非周期信号的幅度频语和相位频谱,从而分析出信号的频率特性。
四、设计过程
1.典型非周期信号的傅立叶变换
1).单边指数信号
程序:
symstv w x ;
x=0.5*exp(-t)*sym('heaviside(t)');
F=fourier(x);
subplot(211);
ezplot(x);
subplot(212);
ezplot(abs(F));
axis([-6 60 0.7]);
结果:
图1-1:单边指数信号的时域与频域波形2).双边指数函数:
程序:
symstvwx ;
x=exp(-t)*sym('heavisi
de(t)')+exp(t)*sym('heaviside(-t)');
F=fourier(x);subplot(211);
ezplot(x);
subplot(212);
ezplot(abs(F)); axis([-66 0 2]);
结果:
图1-2:双边指数函数的时域与频域波形3).符号函数
程序:
t=-1:0.01:1;%时域波形x=heaviside(t)-heaviside(-t);subplot(211);
plot(t,x);
xlabel('t');
axis([-1 1 -1.5 1.5]);
ﻩsyms t;%频域波形x=sym('heaviside(t)')-sym('heaviside(-t)');
F=fourier(x);
subplot(212);
ezplot(abs(F));
axis([-4 4 0 30]);