文档库 最新最全的文档下载
当前位置:文档库 › 连续时间信号傅里叶级数分析MATLAB课程设计

连续时间信号傅里叶级数分析MATLAB课程设计

连续时间信号傅里叶级数分析MATLAB课程设计
连续时间信号傅里叶级数分析MATLAB课程设计

绪论

本次课程是通过MATLAB软件来实现数字信号系统里的相关图像和相关仿真的软件。近年来,MATLAB以其强大的矩阵计算和图像视化功能逐渐为国人所知。MATLAB是mathworks 公司的软件产品,MATLAB已经成为一个系列产品:MATLAB主包各种工具(toolbox)。功能丰富的工具箱大致分为两类:功能型工具箱和领域型工具箱。功能型工具箱主要用来扩充MATLAB的符号计算功能﹑图形建模仿真功能﹑文字处理功能以及与硬件实时交互功能,能用于多种学科。而领域型工具箱是专业性很强的,如控制工具(control toolbox)﹑信号处理工具箱(signal processing toolbox)等。MATLAB (MATrix LABoratory)具有用法简易、可灵活运用、程式结构强又兼具延展性[3]。

以下为其几个特色:功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。

先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。

高阶但简单的程式环境 - 做为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译(compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。

开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。

丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析[4]。

1 MATLAB简介

1.1 MATLAB语言功能

MATLAB功能丰富,可扩展性强。MATLAB软件包括基本部分和专业扩展两大部分的功能。基本部分包括:矩阵的运算和各种变换;代数和超越方程的求解;数据处理和傅立叶变换;数值部分等等,可以充分满足大学理工科本科的计算需要。扩展部分称为工具箱。它实际上是用MATLAB的基本语句辩称的各种子程序集,用于解决某一方面的专门问题,或实现某一类的新算法。

MATLAB 具有以下基本功能

(1)数值计算功能;

(2)符号计算功能;

(3)图形处理及可视化功能;

(3)可视化建模及动态仿真功能[6]。

1.2 MATLAB语言特点

MATLAB 给用户带来的是最直观,最简洁的程序开发环境。它具有以下特点:

(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB 程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。

(2)运算符丰富。由于MATLAB 是用C 语言编写的,MATLAB 提供了和C语言几乎一样多的运算符,灵活使用MATLAB 的运算符将使程序变得极为简短。(3)MATLAB 既具有结构化的控制语句(如for 循环,while 循环,break 语句和if 语句),又有面向对象编程的特性。

(4)程序限制不严格,程序设计自由度大。例如,在MATLAB 里,用户无需对矩阵预定义就可使用。

(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

(6)MATLAB 的图形功能强大。在FORTRAN 和C 语言里,绘图都很不容易,但在MATLAB 里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。

(7)功能强大的工具箱是MATLAB 的另一特色。MATLAB 包含两个部分:

核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又

分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计

算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能,而学科性工具箱是专业性比较强的,如control, toolbox, signl ,proceessing ,

toolbox,commumnication toolbox 等[4]。

2 傅里叶级数基本原理概要

2.1 周期信号的傅里叶分解

设有连续时间周期信号,它的周期为T,角频率,且满足狄里赫

利条件,则该周期信号可以展开成傅里叶级数,即可表示为一系列不同频率的正弦或复指数信号之和。傅里叶级数有三角形式和指数形式两种。

1. 三角形式的傅里叶级数[2]:

式中系数,称为傅里叶系数,可由下式求得:

[

2. 指数形式的傅里叶级数[2]:

式中系数称为傅里叶复系数,可由下式求得:

周期信号频谱具有三个特点[1]:

(1)离散性,即谱线是离散的;

(2)谐波性,即谱线只出现在基波频率的整数倍上;

(3)收敛性,即谐波的幅度随谐波次数的增高而减小。

周期信号的傅里叶分解用Matlab进行计算时,本质上是对信号进行数值积分运算。在Matlab中有多种进行数值积分运算的方法,我们采用quadl函数,它有两种其调用形式。

(1) y=quadl(‘func’, a, b)。其中func是一个字符串,表示被积函数的.m文件名(函数名);a、b分别表示定积分的下限和上限。

(2) y=quadl(@myfun, a, b)。其中“@”符号表示取函数的句柄,myfun表示所定义函数的文件名。[6]

2.3 三角形式和指数形式傅里叶级数及各系数间的关系

傅里叶级数的指数形式和三角形式是等价的,其系数可互相转换。表2-1综合了三角形式和指数形式傅里叶级数及其系数,以及各系数间的关系。

表2-1 周期函数展开为傅里叶级数

指数形式三角函数形式

2.2周期信号的频谱

周期信号经过傅里叶分解可表示为一系列正弦或复指数信号之和。为了直观地表示出信号所含各分量的振幅,以频率(或角频率)为横坐标,以各谐波的振幅或虚指数函数的幅度为纵坐标,可画出幅度-频率关系图,称为幅度频谱或幅度谱。类似地,可画出各谐波初相角与频率的关系图,称为相位频谱或相位谱[2]。

3 用MATLAB实现周期信号的傅立叶级数分解与综合

下面以矩形信号为例介绍用MATLAB来实现周期信号的傅立叶技术的分解与综合。3.1 合成波形与原波形之间的关系

本文使用的连续周期矩形信号是一个周期为4,占空比为50%,幅值为1的矩形波信号,从上面的分析可以得知,这个矩形波信号可以分解成傅立叶级数也是就无数个不同频率的三角波的叠加,用MATLAB软件可以很容易的画出不同个数谐波叠加形成的合成波的形状(源代码见附录),以便将它们与原信号做比较,给理论分析以正确的实验基础。

下图为分别用1到10次谐波叠加形成的合成波与原信号的比较,可以很快地看出,当叠加的谐波数越多是,与原信号的差别就越小,这样就直接证明了傅立叶级数理论的正确性。

图3-1 不同次数的谐波的合成波与原信号的比较

3.2 吉布斯现象

分析傅立叶级数的公式

满足狄里赫利条件的周期函数表示成的傅立叶级数都收敛。狄里赫利条件如下:

1.在任何周期内,x(t)必须绝对可积;

2.在任一有限区间中,x(t)只能取有限个最大值或最小值;

3.在任何有限区间上,x(t)只能有有限个第一类间断点。

所谓的吉布斯现象就是:在x(t)的不可导点上,如果我们只取x(t)等式右边的无穷级数中的有限项作和X(t),那么X(t)在这些点上会有起伏[1]。

具体现象如下图所示,以下分别为谐波次数为N=50,N=100,N=500合成波的情况。

图3.2 谐波次数为N=50合成波

图3.3 谐波次数为N=100合成波

图3.4 谐波次数为N=500合成波

从上面的图像中可以看出,当N=500的时候,合成波与原来的方波拟合得非常好,但是在不可导的点上,即为x=-1.5,x=-0.5,x=0.5,x=1.5这样的点的时候,合成波会有较大的

波动,这就是非常明显的吉布斯现象。

4 用MATLAB 实现周期信号的单边频谱及双边频谱。

用周期矩形波信号为例其中周期T=5,脉冲宽度 τ=1。在下图中,τ为一个脉冲的宽度,T 为脉冲的周期,它们是方波信号的两个非常重要的参数,它们的大小关系将直接影响方波信号的形状和性质。

以下皆以方波为例来介绍方波各种参数对其频谱的影响以及单边频谱和双边频谱的关系,方波示意图如下:

图4.1 周期矩形脉冲信号

4.1 单边,双边(幅度,相位)频谱及其关系

4.1.1单边,双边(幅度,相位)

如前所述,周期信号可以分解成一系列正弦(余弦)信号或虚指数信号之和,即

()N

jn t

n n N

f t F e

Ω=-=

=

()()01

1

cos sin 2

N

N

n

n

n n a a

n t b

n t ==+

Ω+

Ω∑∑

其中,()112

2

n

j n n n n F A e a jb ?=

=

-

2211||2

2arctan

n n n n n n n

F A a b b a ??=

=

+?

???=-??

幅度和相位

为了直观地表示出信号所含各分量的振幅n A 或||n F ,随频率的变化情况,通常以角频率为横坐标,以各次谐波的振幅n A 或虚指数函数||n F 的幅度为纵坐标,画出如图4.2和4.3所示的各谐波的振幅A 或||F 与角频率的关系图,称为周期信号的幅度(振幅)频谱,简称

幅度谱。图中每条竖线代表该频率分量的幅度,称为谱线。各谱线顶点连线的曲线(如图中原点所示)称为频谱包络线,它反映了各谐波分量幅度随频率变化的情况。图4.2中幅度谱为单边幅度谱(用n A 绘制的频谱)。图4.3中幅度谱为双边幅度谱(用||n F 绘制的频谱)。

类似地,也可画出各谐波初相角n ?与角频率的关系图,如图4.1和4.2中各谐波初相角n ?与角频率的关系图,称为相位频谱,简称相位谱。图4.2中相位谱为单边相位谱。图4.3中相位谱为双边相位谱。如果n F 为实数,那么可用n F 的正负来表示n ?为0或π也可把幅度谱和相位谱画在一张图上。

由图可见,周期信号的谱线只出现在频率为0,,2,...ΩΩ等原周期信号频率的整数倍的离散频率上,即周期信号的频谱是离散谱。下面的分析中用的方波的参数为:T=10τ。

图4.2 周期信号的幅度谱和相位谱(单边)

图4.3周期T=5,脉宽tao=1 的矩形脉冲及单边频谱图

4.1.2 单边,双边频谱关系

单边频谱和双边频谱的区别就是求值的范围不同,单边频谱求的是频率大于0的情况,而双边频谱求的是所有频率的情况,即包括频率小于0的情况,这个区别在上面的两张图中可以非常明显地看出来。

4.2以单边幅度频谱为例,研究脉冲宽度与频谱的关系

首先令方波首期T=10。改变脉冲宽度,就是在图4-1中T值不变的情况下,改变的τ值的大小,同时τ必须小于T。在MATLAB软件里可以比较方便地改变这个值。xsqual=@(x)1/2.*(x==-1/2)+1.*(x>-1/2&x<1/2)+1/2.*(x==-1/2);这个语句是控制τ值的,现在的参数是1/2,所的到的是T=10τ的情况,下面是比较三种不同τ值的情况,分

别改变1/2为:1/1、1/4,可以得到T=5τ和T=20τ的频谱图像。

图4-4 T=5τ的情况

图4-5 T=10τ的情况

图4-6 T=20τ的情况

容易看出,在T不变的情况下,减小τ值,可以使频谱变得更密集,增大τ值则可以使频谱变得稀疏,因此,需要在不同的情况下选择不同的τ值,才能是系统变得更加符合实际需要。由于周期T相同,因而相邻谱线的间隔相同;脉冲宽度窄,其频谱包络线第一个零点的频率愈高,即信号带宽愈宽,频带内所含的分量愈多。可见,信号的频带宽度与脉冲宽度τ成反比[2]。

4.3以单边幅度频谱为例,研究脉冲周期与频谱的关系

上面是改变τ值来观察频谱的变化情况,现在来改变T值以达到改变频谱的目的。在MATLAB代码中a=-5;b=5;T0=b-a;这几句代码是用来控制方波的T值的,b-a就是方波的周期T,在上面的讨论中使用的参数是a=-5,b=5,现在将τ的参数,即这句xsqual=@(x)1/2.*(x==-1/2)+1.*(x>-1/2&x<1/2)+1/2.*(x==-1/2)固定为1/2,然后分别将a,b值变为:a=-4,b=4和a=-6,b=6,来研究方波周期对其频谱的影响。

图4-7 a=-4,b=4即T=8时的情况

图4-8 a=-5,b=5即T=10时的情况

图4-9 a=-6,b=6即T=12时的情况

通过观察以上三个图像中第一个零点的位置,不难看出:当方波的周期越大,频谱就越密集,周期越小,频谱就越稀疏,其实这点也不难理解。因为τ值不变,改变T值就等

线的零点所在位置不变,而当周期增长时,相邻谱线的间隔减少,频谱变密。如果周期无限增长(这时就成为非周期信号),那么,相邻谱线的间隔将趋近于零,周期信号的离散频谱就过渡到非周期信号的连续频谱。随着周期的增长,各谐波分量的幅度也相应减少。脉冲周期T 愈长,谱线间隔愈小,频谱越稠密;反之,则越稀疏。

5用MATLAB实现典型周期信号的频谱

5.1 周期方波脉冲频谱的MATLAB实现

周期方波脉冲信号如图5.1所示,其幅度为1,脉冲宽度‘占空比’:duty=1/2,周期T=5。

图5.1 周期方波脉冲

编写CTFSdbfb.m函数文件,源程序文件见附录程序。调用函数CTFSdbfb.m,即可绘出方波脉冲的双边频谱如5.2,5.3,图所示,其中周期T和占空比duty可变,修改程序即可得到单边频谱如图5.4,5.5所示。

图5.2 周期为T=5,占空比duty=50的方波脉冲双边频谱

图5.3 周期为T=10,占空比duty=80的方波脉冲双边频谱

图5.4 周期为T=5,占空比duty=50的方波脉冲单边频谱

图5.5 周期为T=10,占空比duty=80的方波脉冲单边频谱

由图可以看出,周期方波信号频谱与周期矩形脉冲信号具有相同的规律,由于方波的周期与脉宽比2

T

τ

=,因此频谱的第一个过零点内只有两根谱线。

5.2 周期三角波脉冲频谱的MATLAB 实现

周期三角波脉冲如图5.6所示,周期T=5,其幅度为1。

图5.6 周期三角波脉冲

MATLAB:

内置有产生三角波的函数sawtooth(t),其调用格式为:x= sawtooth(t,width):根据width 值的不同产生不同形状的三角波,参数width 是0—1 之间的标量,指定在一个周期之间最

大值的位置,width是该位置的横坐标和周期的比值.因而,当width=0.5 时产生标准的对称三角波,当width时(可缺省)产生锯齿波。

编写CTFSsjbshbd.m函数文件,源程序文件见附录程序。调用函数CTFSsjbshbd.m,即可绘出方波脉冲的双边频谱如图5.7,5.8所示,其中周期T和width可变,修改程序即可得到单边频谱如图5.9,5.10所示。

图5.7 周期T=5,width=0.5的三角脉冲双边频谱

图5.5 周期三角波双边幅度频谱

图5.9 周期T=5,width=0.5的三角脉冲单边频谱

图5.10 周期T=10,width=1的三角脉冲单边频谱

6 小结即心得体会

通过这次课程设计让我对MATLAB的强大功能有更深的了解和熟悉。大二上下学期和大三下学期我们做过MATLAB的实验。通过以前的一点点基础,我到图书馆里借了六本与MATLAB有关的书。通过在寝室里看书,我对MATLAB有了更近一步的了解和熟悉。

然后对老师给的题目进行分析。连续时间信号傅里叶级数分析及MATLAB实现。课题要求:深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。

课题内容:一、用MATLAB实现周期信号的傅里叶级数分解与综合。以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形波形之间的关系及吉布斯现象。二、用MATLAB实现周期信号的单边频谱及双边频谱。以周期矩形波形信号为例:1、绘出单边(幅度,相位)频谱。2、绘出双边(幅度,相位)频谱。3、比较1和2之间的关系。4、以单边幅度频谱为例,研究脉冲宽度与频谱的关系。5、以单边幅度频谱为例,研究脉冲周期与频谱的关系。三、用MATLAB实现典型周期信号的频谱。1、周期方波脉冲信号的单、双边幅度频谱(T、占空比,二个参数可变)。2、周期三角脉冲信号的单、双边幅度频谱(T、width,二个参数可变)。参考相关的书籍写出相应的公式和相关的程序,并且初步分析其正确性。

接下来我用以前安装的MATLAB7.0,输入相关的程序,并且运行它,检查它的正确性,并且修正。在程序的调试过程中遇到很多的问题。有的程序我根本就不知道它错在哪里,也不知道怎么去改正。只有不断的翻书,不断的修改程序,不断的调试。最终总算勉强的完成了老师给我的任务。

在写相关源程序的时候,我还收索了大量的网站,在网上收索了很多关于MATLAB的资料。在这个过程中我发现网上有很多有用的知识。以后应该多注意,充分合理的利用网络,通过网络来学习东西。

这次课程设计业使我明白了在知识的领域里我还有很多很多的不足,并且再一次的深深的体会到理论和实践之间还有很到的差别。在以后的学习中应该多多的注意实践知识的训练和积累。在以后的学习生活中要不断的开拓自己的动手能力,不断的训练自己的动手能力。这次课程设计让我深深的明白了自己以后该做什么,该怎么去做。

这次课程设计课程设计业让我复习了数字信号系统处理里的相关知识。通过这次试验我复习了连续时间信号傅里叶级数,以及单边频谱,双边频谱,典型周期信号的单边,双边频谱分析。通过这次课程设计我还对mathtype数学公式编辑器有了一定的了解,并且会用它编辑公式。对word也有了进一步的掌握。

快速傅里叶变更fft的Matlab实现 实验报告

一、实验目的 1在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2熟悉并掌握按时间抽取FFT算法的程序; 3了解应用FFT进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT。 二、实验内容 1仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT 进行信号分析的C语言(或MATLAB 语言)程序; 用MATLAB语言编写的FFT源程序如下: %% 输入数据f、N、T及是否补零 clc; clear; f=input('输入信号频率f:'); N=input('输入采样点数N:'); T=input('输入采样间隔T:'); C=input('信号是否补零(补零输入1,不补零输入0):'); %补零则输入1,不补则输入0 if(C==0) t=0:T:(N-1)*T; x=sin(2*pi*f*t); b=0; e lse b=input('输入补零的个数:'); while(log2(N+b)~=fix(log2(N+b))) b=input('输入错误,请重新输入补零的个数:'); end t=0:T:(N+b-1)*T; x=sin(2*pi*f*t).*(t<=(N-1)*T); end %% fft算法的实现 A=bitrevorder(x); % 将序列按二进制倒序 N=N+b; M=log2(N); % M为蝶形算法的层数 W=exp(-j*2*pi/N); for L=1:1:M %第L层蝶形算法 B=2^L/2; % B为每层蝶形算法进行加减运算的两个数的间隔 K=N/(2^L); % K为每层蝶形算法中独立模块的个数 for k=0:1:K-1 for J=0:1:B-1

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

实验一 离散时间信号与系统的傅里叶分析

电子信息工程系实验报告 课程名称: 数字信号处理 实验项目名称:实验1 离散时间信号与系统的傅里叶分析 时间: 2012-3-17 班级:电信092 姓名:XXX 学号:910706201 实 验 目 的: 用傅里叶变换对离散时间信号和系统进行频域分析。 实 验 环 境: 计算机、MATLAB 软件 实 验 原 理: 对信号进行频域分析即对信号进行傅里叶变换。对系统进行频域分析即对其单位脉冲响应进行傅里叶变 换,得到系统的传输函数;也可由差分方程经过傅里叶变换直接求其传输函数,传输函数代表的就是频率响应特性。而传输函数是w 的连续函数,计算机只能计算出有限个离散频率点的传输函数值,故可在0~2∏之间取许多点,计算这些点的传输函数的值,并取它们的包络,所得包络即所需的频率特性。 实 验 内 容 和 步 骤: 1、已知系统用下面差分方程描述:y (n )=x (n )+ay (n -1),试在a =0.95和a =0.5 两种情况下用傅立叶变换分析系统的频率特性。要求写出系统的传输函数,并打印|H (e j ω)|~ω曲线。 解:B=1;A=[1,-0.95]; [H,w]=freqz(B,A,'whole'); subplot(1,3,1);plot(w/pi,abs(H),'linewidth',2);grid on; xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性'); axis([0,2,0,2.5]); B=1;A=[1,-0.5];[H,w]=freqz(B,A,'whole'); subplot(1,3,3);plot(w/pi,abs(H),'linewidth',2);grid on; xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('幅频响应特性'); axis([0,2,0,2.5]); 图形如下图1、2所示: 图1 a=0.95时的幅频响应特性 图2 a=0.5时的幅频响应特性 2、已知两系统分别用下面差分方程描述: y 1(n )=x (n )+x (n -1) y 2(n )=x (n )-x (n -1) 试分别写出它们的传输函数,并分别打印|H (e j ω)| ~ω曲线。 解:B=[1,1];A=1;[H,w]=freqz(B,A,'whole'); subplot(1,2,1);plot(w/pi,abs(H),'linewidth',2);grid on; 成 绩: 指导教师(签名):

MATLAB实验傅里叶分析

MATLAB实验傅里叶分析

实验七 傅里叶变换 一、实验目的 傅里叶变换是通信系统、图像处理、数字信号处理以及物理学等领域内的一种重要的数学分析工具。通过傅里叶变换技术可以将时域上的波形分 布变换为频域上的分布,从而获得信号的频谱特性。MATLAB 提供了专门的函数fft 、ifft 、fft2(即2维快速傅里叶变换)、ifft2以及fftshift 用于实现对信号的傅里叶变换。本次实验的目的就是练习使用fft 、ifft 以及fftshift 函数,对一些简单的信号处理问题能够获取其频谱特性(包括幅频和相频特性)。 二、实验预备知识 1. 离散傅里叶变换(DFT)以及快速傅里叶变换(FFT)简介 设x (t )是给定的时域上的一个波形,则其傅里叶变换为 2()() (1)j ft X f x t e dt π∞--∞=? 显然X ( f )代表频域上的一种分布(波形),一般来说X ( f )是复数。而傅里叶逆变换定义为: 2()() (2)j ft x t X f e df π∞-∞ =?

因此傅里叶变换将时域上的波形变换为频域上的波形,反之,傅里叶逆变换则将频域上的波形变换为时域上的波形。 由于傅里叶变换的广泛应用,人们自然希望能够使用计算机实现傅里叶变换,这就需要对傅里叶变换(即(1)式)做离散化处理,使 之符合电脑计算的特征。另外,当 把傅里叶变换应用于实验数据的分 析和处理时,由于处理的对象具有 离散性,因此也需要对傅里叶变换 进行离散化处理。而要想将傅里叶 变换离散化,首先要对时域上的波 形x (t )进行离散化处理。采用一个 时域上的采样脉冲序列: δ (t -nT ), n = 0, 1, 2, …, N -1; 可以实现上述目的,如图所示。其中N 为采样点数,T 为采样周期;f s = 1/T 是采样频率。注意采样时,采样频率f s 必须大于两倍的信号频率(实际是截止频率),才能避免混迭效应。 接下来对离散后的时域波形()()()(x t x t t n T x n T δ= -=的傅里叶变换()X f 进行离散处理。与上述做法类 似,采用频域上的δ脉冲序列: x (t δ x (t )δ t t t

常用函数傅里叶变换

信号与系统的基本思想:把复杂的信号用简单的信号表示,再进行研究。 怎么样来分解信号?任何信号可以用Delta 函数的移位加权和表示。只有系统是线性时不变系统,才可以用单位冲激函数处理,主要讨论各个单位冲激函数移位加权的响应的叠加能得到总的响应。 线性系统(齐次性,叠加定理) 时不变系统 对一个系统输入单位冲激函数,得到的响应为h(t).表征线性时不变系统的非常重要的东西,只要知道了系统对单位冲击函数的响应,就知道了它对任何信号的响应,因为任何信号都可以表示为单位冲激函数的移位加权和。 例如:d(t)__h(t) 那么a*d(t-t0)__a*h(t-t0) -()= ()(t-)d f t f τδττ∝∝? 的响应为-y()=()(-)t f h t d τττ∝ ∝ ? 记为y(t)=f(t)*h(t),称为f(t)和h(t)的卷积 总结为两点:对于现行时不变系统,任何信号可以用单位冲激信号的移位加权和表示,任何信号的响应可以用输入函数和单位冲激函数响应的卷积来表示 连续时间信号和系统的频域分析 时域分析的重点是把信号分解为单位冲激函数的移位加权和,只讨论系统对单位冲激函数的响应。而频域的分析是把信号分解为各种不同频率的正弦函数的加权和,只讨论系统对sinwt 的响应。都是把信号分解为大量单一信号的组合。

周期函数可以展开为傅里叶级数,将矩形脉冲展开成傅里叶级数,得到傅里叶级数的系数 n A sin F = T x x τ 其中0=2 nw x τ。 取样函数sin ()=x S a x 。产生一种震荡,0点的值最大,然后渐渐衰减直至0 第一:对于傅里叶级数的系数,n 是离散的,所以频谱也是离散状的每条谱线都出现在基波频率的整数倍上,其包络是取样函数。 第二:谱线的间距是0w .。零点是0=2nw x τ,02w =T π是谱的基波频率。如果τ不变,T 增大,那么0w 减小,当T 非常大的时候,0w 非常小,谱线近似连续,越来越密,幅度越来越小。 傅里叶变换:非周期函数 正变换:--F jw)= ()iwt f t e dt ∝ ∝?( 反变换:-1()=()2jnwt f t F jw e dw π ∝∝ ? 常用函数的傅里叶变换(典型非周期信号的频谱)

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

信号与系统matlab实验傅里叶分析及应用报告答案

实验二傅里叶分析及应用 姓名学号班级 一、实验目的 (一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析 1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用Matlab分析周期信号的频谱特性 (二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用Matlab求连续时间信号的傅里叶变换 2、学会运用Matlab求连续时间信号的频谱图 3、学会运用Matlab分析连续时间信号的傅里叶变换的性质 (三)掌握使用Matlab完成信号抽样并验证抽样定理 1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用MATLAB对抽样后的信号进行重建 二、实验条件 需要一台PC机和一定的matlab编程能力 三、实验内容 2、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

符号运算法: Ft= sym('t*(Heaviside(t+2)-Heaviside(t+1))+Heaviside(t+1)-Heaviside(t-1)+(-t)*(Heavi side(t-1)-Heaviside(t-2))'); Fw = fourier(Ft); ezplot(abs(Fw)),grid on; phase = atan(imag(Fw)/real(Fw)); ezplot(phase);grid on; title('|F|'); title('phase'); 3、试用Matlab 命令求ω ωωj 54 -j 310)F(j ++= 的傅里叶反变换,并绘出其时域信号图。

MATLAB实验二傅里叶分析及应用

实验二傅里叶分析及应用 、实验目的 (一)掌握使用Matlab 进行周期信号傅里叶级数展开和频谱分析 1、学会使用Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用Matlab 分析周期信号的频谱特性 二)掌握使用Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用Matlab 求连续时间信号的傅里叶变换 2、学会运用Matlab 求连续时间信号的频谱图 3、学会运用Matlab 分析连续时间信号的傅里叶变换的性质 三)掌握使用Matlab 完成信号抽样并验证抽样定理 1、学会运用MATLAB 完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用MATLAB 改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用MATLAB 对抽样后的信号进行重建 、实验条件 Win7系统,MATLAB R2015a 三、实验内容 1、分别利用Matlab 符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

Code: ft = sym( ' (t+2)*(heaviside(t+2)-heavisi de(t+1))+(heaviside(t+1)-heav iside(t- 1))+(2-t)*(heaviside( t-1)-heaviside(t- 2))' ); fw = simplify(fourier(ft)); subplot(2, 1, 1); ezplot(abs(fw)); grid on; title( 'amp spectrum' ); phi = atan(imag(fw) / real(fw)); subplot(2, 1, 2); ezplot(phi); grid on ; title( 'phase spectrum' ); 符号运算法 Code: dt = 0.01; t = -2: dt: 2; ft (t+2).*(uCT(t+2)- uCT(t+1))+(u CT(t+1)-uCT(t- 1))+(2-t).*(uCT (t-1)- uCT(t-2)); N = 2000; k = -N: N; w = pi * k / (N*dt); fw = dt*ft*exp(-i*t'*w); fw = abs(fw); plot(w, fw), grid on; axis([-2*pi 2*pi -1 3.5]); 数值运算法

【免费下载】matlab实现傅里叶变换

一、傅立叶变化的原理; (1)原理 正交级数的展开是其理论基础!将一个在时域收敛的函数展开成一系列不同频率谐波的叠加,从而达到解决周期函数问题的目的。在此基础上进行推广,从而可以对一个非周期函数进行时频变换。 从分析的角度看,他是用简单的函数去逼近(或代替)复杂函数,从几何的角度看,它是以一族正交函数为基向量,将函数空间进行正交分解,相应的系数即为坐标。从变幻的角度的看,他建立了周期函数与序列之间的对应关系;而从物理意义上看,他将信号分解为一些列的简谐波的复合,从而建立了频谱理论。 当然Fourier积分建立在傅氏积分基础上,一个函数除了要满足狄氏条件外, 一般来说还要在积分域上绝对可积,才有古典意义下的傅氏变换。引入衰减因子e^(-st),从而有了Laplace变换。(好像走远了)。 (2)计算方法 连续傅里叶变换将平方可积的函数f(t)表示成复指数函数的积分或级数形式。 这是将频率域的函数F(ω)表示为时间域的函数f(t)的积分形式。 为 连续傅里叶变换的逆变换 (inverse Fourier transform) 即将时间域的函数f(t)表示为频率域的函数F(ω)的积分。 一般可称函数f(t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅里叶变换对(transform pair)。 二、傅立叶变换的应用; DFT在诸多多领域中有着重要应用,下面仅是颉取的几个例子。需要指出 的是,所有DFT的实际应用都依赖于计算离散傅里叶变换及其逆变换的快速算

法,即快速傅里叶变换(快速傅里叶变换(即FFT )是计算离散傅里叶变换及其逆变换的快速算法。)。(1)、频谱分析DFT 是连续傅里叶变换的近似。因此可以对连续信号x(t)均匀采样并截断以得到有限长的离散序列,对这一序列作离散傅里叶变换,可以分析连续信号x(t)频谱的性质。前面还提到DFT 应用于频谱分析需要注意的两个问题:即采样可能导致信号混叠和截断信号引起的频谱泄漏。可以通过选择适当的采样频率(见奈奎斯特频率)消减混叠。选择适当的序列长度并加窗可以抑制频谱泄漏。(2)、数据压缩由于人类感官的分辨能力存在极限,因此很多有损压缩算法利用这一点将语音、音频、图像、视频等信号的高频部分除去。高频信号对应于信号的细节,滤除高频信号可以在人类感官可以接受的范围内获得很高的压缩比。这一去除高频分量的处理就是通过离散傅里叶变换完成的。将时域或空域的信号转换到频域,仅储存或传输较低频率上的系数,在解压缩端采用逆变换即可重建信号。(3)、OFDM OFDM (正交频分复用)在宽带无线通信中有重要的应用。这种技术将带宽为N 个等间隔的子载波,可以证明这些子载波相互正交。尤其重要的是,OFDM 调制可以由IDFT 实现,而解调可以由DFT 实现。OFDM 还利用DFT 的移位性质,在每个帧头部加上循环前缀(Cyclic Prefix ),使得只要信道延时小于循环前缀的长度,就能消除信道延时对传输的影响。三、傅里叶变换的本质; 傅里叶变换的公式为dt e t f F t j ?+∞∞--=ωω)()(可以把傅里叶变换也成另外一种形式: t j e t f F ωπ ω),(21)(=可以看出,傅里叶变换的本质是内积,三角函数是完备的正交函数集,不同频率的三 角函数的之间的内积为0,只有频率相等的三角函数做内积时,才不为0。)(2,21)(2121Ω-Ω==?Ω-ΩΩΩπδdt e e e t j t j t j

基于matlab的信号分析与处理

基于m a t l a b的信号分 析与处理 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期: 2014年1月

目录4

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信

傅里叶分析实验报告

班级: 姓名: 学号: 实验日期: 一、实验名称脉搏、语音及图像信号的傅里叶分析 二、实验目的 1、了解常用周期信号的傅里叶级数表示。 2、了解周期脉搏信号、语音信号及图像信号的傅里叶分析过程 3、理解体会傅里叶分析的理论及现实意义 三、实验仪器 脉搏语音实验仪器,数字信号发生器,示波器 四、实验原理 1、周期信号傅里叶分析的数学基础 任意一个周期为T 的函数f(t)都可以表示为傅里叶级数: 0001 0000000001()(cos sin )21()()1()cos()() 1()sin()()n n n n n f t a a n t b n t a f t d t a f t n t d t b f t n t d t ππ πππ πωωωωπωωωπωωωπ∞=---=++== =∑??? 其中0ω为角频率,称为基频,0a 为常数,n a 和n b 称为第n 次谐波的幅 值。任何周期性非简谐交变信号均可用上述傅里叶级数进行展开,即分解为一系列不同次谐波的叠加。 对于如图1所示的方波,一个周期内的函数表达式为: (0t<)2() (-t 0)2h f t h ππ?≤??=??-≤

其傅里叶级数展开为: 0100041()()sin(21)21411(sin sin 3 sin 5)35n h f t n t n h t t t ωπωωωπ∞==--=+++∑L 同理:对于如图2所示的三角波,函数表达式为: 4t (-t<)44()232(1) (t )44h T T f t t T T h T π?≤??=??-≤

实验三 周期信号的傅里叶级数分析及MATLAB实现

实验三周期信号的傅里叶级数分析及MATLAB实现 一、实验目的: 1.利用MATLAB实现周期信号的分解与合成,并图示仿真结果; 2.用MATLAB实现周期信号的频谱,画图观察和分析周期信号的频谱; 3.通过MATLAB对周期信号频谱的仿真,进一步加深对周期信号频谱理论知识的理解。 二、实验内容 9.1(a):程序: display('Please input the value of m(傅里叶级数展开项数)'); m=input('m='); t=-3*pi:0.01:3*pi; n=round(length(t)/4); f=cos(t).*(heaviside(t+2.5*pi)-heaviside(t+1.5*pi)+heaviside(t+0.5*pi)-heaviside(t-0.5 *pi)+heaviside(t-1.5*pi)-heaviside(t-2.5*pi)); y=zeros(m+1,max(size(t))); y(m+1,:)=f'; figure(1); plot(t/pi,y(m+1,:)); grid; axis([-3 3 -1 1.5]); title('半波余弦'); xlabel('单位:pi','Fontsize',8); x=zeros(size(t)); kk='1'; syms tx n T=2*pi; fx=sym('cos(tx)'); Nn=30; An=zeros(m+1,1); Bn=zeros(m+1,1); a0=2*int(fx,tx,-T/4,T/4)/T an=2*int(fx*cos(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T bn=2*int(fx*sin(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T An(1)=double(vpa(a0,Nn)); An(2)=0.5; for k=2:m An(k+1)=double(vpa(subs(an,n,k),Nn)); Bn(k+1)=double(vpa(subs(bn,n,k),Nn));

实验三用FFT对信号进行频谱分析和MATLAB程序

实验三 用FFT 对信号进行频谱分析 一 实验目的 1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因; 二 实验原理 1.用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就是序列的傅里叶变换,即 ()()j j z e X e X z ωω== (3-1) ()j X e ω是ω的连续周期函数。对序列()x n 进行N 点DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω的N 点等间隔采样,频谱分辨率就是采样间隔 2N π。因此序列的傅里叶变换可利用DFT (即FFT )来计算。 用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2.用DFT 对周期序列进行谱分析 已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出: DFS : ∑-=-=1 2)(1N n kn N j k e n x N a π , n =0,1,2,…,N -1 (3-2) IDFS : ∑-==1 02)(N k kn N j k e a n x π , n =0,1,2,…,N -1 (3-3) 对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出: DFT : ∑-=-=1 02)()(N n kn N j e n x k X π , n =0,1,2,…,N -1 (3-4) IDFT : ∑-==1 02)(1)(N k kn N j e k X N n x π , n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出:

MATLAB实验傅里叶分析

实验七 傅里叶变换 一、实验目的 傅里叶变换是通信系统、图像处理、数字信号处理以及物理学等领域内的一种重要的数学分析工具。通过傅里叶变换技术可以将时域上的波形分 布变换为频域上的分布,从而获得信号的频谱特性。MA TLAB 提供了专门的函数fft 、ifft 、fft2(即2维快速傅里叶变换)、ifft2以及fftshift 用于实现对信号的傅里叶变换。本次实验的目的就是练习使用fft 、ifft 以及fftshift 函数,对一些简单的信号处理问题能够获取其频谱特性(包括幅频和相频特性)。 二、实验预备知识 1. 离散傅里叶变换(DFT)以及快速傅里叶变换(FFT)简介 设x (t )是给定的时域上的一个波形,则其傅里叶变换为 2()() (1)j ft X f x t e dt π∞ --∞ =? 显然X ( f )代表频域上的一种分布(波形),一般来说X ( f )是复数。而傅里叶逆变换定义为: 2()() (2)j ft x t X f e df π∞ -∞ =? 因此傅里叶变换将时域上的波形变换为频域上的波形,反之,傅里叶逆变换则将频域上的波形变换为时域上的波形。 由于傅里叶变换的广泛应用,人们自然希望能够使用计算机实现傅里叶变换,这就需要对傅里叶变换(即(1)式)做离散化处理,使之符合电脑计算的特征。另外,当把傅里叶变换应用于实验数据的分析和处理时,由于处理的对象具有离散性,因此也需要对傅里叶变换进行离散化处理。而要想将傅里叶变换离散化,首先要对时域上的波形x (t )进行离散化处理。采用一个时域上的采样脉冲序列: δ (t -nT ), n = 0, 1, 2, …, N -1; 可以实现上述目的,如图所示。其中N 为采样点数,T 为采样周期;f s = 1/T 是采样频率。注意采样时,采样频率f s 必须大于两倍的信号频率(实际是截止频率),才能避免混迭效应。 接下来对离散后的时域波形()()()()x t x t t nT x nT δ=-=的傅里叶变换()X f 进行离散处理。与上述做法类似,采用频域上的δ脉冲序列: δ ( f -n/T 0), n = 0, 1, 2, …, N -1;T 0= NT 为总采样时间 可以实现傅里叶变换()X f 的离散化,如下图示。不难看出,离散后的傅里叶变换其频率间隔(频率轴上离散点的间隔,即频域分辨率) x (t ) δ 脉冲序列 x (t )δ (t -nT ) t t t

应用MATLAB对信号进行频谱分析

数字信号处理课程设计报告书 2011年7 月 1日 课题名称 应用MATLAB 对信号进行频谱分析 姓 名 张炜玮 学 号 20086377 院、系、部 电气系 专 业 电子信息工程 指导教师 刘鑫淼 ※※※※※※※※※ ※※ ※※ ※※ ※※ ※※※※※ ※※ 2008级数字信号处理课程设计

应用MATLAB对信号进行频谱分析 20086377 张炜玮 一、设计目的 用MATLAB语言进行编程,绘出所求波形,并且运用FFT求对连续信号进行分析。 二、设计要求 1、用Matlab产生正弦波,矩形波,并显示各自的时域波形图; 2、进行FFT变换,显示各自频谱图,其中采样率、频率、数据长度自选,要求注明; 3、绘制三种信号的均方根图谱; 4、用IFFT回复信号,并显示恢复的正弦信号时域波形图。 三、系统原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行频谱分析的信号是模拟信号和时域离散信号。频谱分辨率直接和FFT的变换区间N 有关,因为FFT能够实现频率分辨率是2π/N。 x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为: X(k)=DFT[x(n)]= kn N W N n n x ∑ - = 1 ) ( ,k=0,1,...,N-1 N j e N Wπ2- = 逆变换:x(n) =IDFT[X(k)]= kn N W k X N n N - ∑ - = 1 ) ( 1 ,k=0,1,...,N-1 但FFT是一种比DFT更加快速的一种算法,提高了DFT的运算速率,为数字信号处理技术应用于各种信号处理创造了条件,大大提高了数字信号处理技术的发展。本实验就是采用FFT,IFFT对信号进行谱分析。 四、程序设计 fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1; f=100;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f*t);

傅里叶变换分析信号的缺点

傅里叶变换分析信号的缺点 基于傅里叶(Fourier)变换的信号频域表示,揭示了时间函数和频谱函数之间的内在联系,在传统的平稳信号分析和处理中发挥了极其重要的作用,很多理论研究和应用研究都把傅里叶变换当作最基本的经典工具来使用.但是傅里叶变换存在着严重的缺点:用傅里叶变换的方法提取信号频谱时,需要利用信号的全部时域信息,这是一种整体变换,缺少时域定位功能,因此必须对其加以改进. 傅里叶变换的特点及其局限性 设函数f(t)在(-,+)内有定义,且使广义积分 都收敛,则称(1)式定义的广义积分为函数f(t)的傅里叶变换,记为F{f(t)},(2)式定义的广义积分为逆傅里叶变换,记为{F()}。傅里叶变换可以完成从时域到频域的转换(正变换),也可以完成从频域到时域的转换(逆变换),但不能同时具有时域和频域信息。其核函数是,由于三角函数具有填满整个空间的特性,其在物理空间中是双向无限延伸的正弦波,在积分变换中体现为积分范围从+到-。因此,傅里叶变换是先天的非局限性,它对信号f(t)中体现任何局部信息处理都是相同的。而事实上,工程技术中的许多信号,如:语音信号、地震信号、心电图和各种电脉冲,他们的信号值只出现在一个短暂的时间间隔t内,以后快速减为零,t以外是未知的,可能为零,也可能是背景噪音,如果

用(1)式从信号中提取谱信号F(),就要取无限的时间量,使用过去的及将来的信号只为计算单个频谱,不能反映出随时间变化的频率,实际上我们需要的是确定的某个时间间隔内的频谱。这就使人们想到改进傅里叶变换使其能用来处理某个确定时间范围内的信号。Gabor提出的窗口傅里叶变换就是一个有效的方法。 另外,傅里叶变换之所得到广泛应用与透镜能实现傅里叶变换是分不开的。由公式 其中物平面为(,),焦平面为(),d0为物距,d1为象平面。要使=F{(,)},即准确实现傅里叶光学变换,只有在==f 时才能实现,否则将出现位相弯曲。并且,只有正透镜才能实现傅里叶变换,这些限制给工程技术中无疑增加了困难。这使得人们不得不寻求新得的方法,分数傅立叶变换不要求严频谱面,可根据需要在既包含空域信息也包括空频域信息的平面上进行处理,这使光学信息处理更具灵活性。 1傅里叶变换缺乏时间和频率的定位功能 傅里叶变换及其逆变换表示如下

MATLAB实验二傅里叶分析应用

实验二傅里叶分析及应用 -、实验目的 (一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析 1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用Matlab分析周期信号的频谱特性 (二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用Matlab求连续时间信号的傅里叶变换 2、学会运用Matlab求连续时间信号的频谱图 3、学会运用Matlab分析连续时间信号的傅里叶变换的性质 (三)掌握使用Matlab完成信号抽样并验证抽样定理 1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用MATLAB对抽样后的信号进行重建 、实验条件 Win7 系统,MATLAB R2015a 三、实验内容 1、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频

谱图(包括幅度谱和相位谱)

Code: ft = sym( ' (t+2)*(heaviside(t+2)-heavisi de(t+1))+(heaviside(t+1)-heav iside(t- 1))+(2-t)*(heaviside( t-1)-heaviside(t-2))' ); fw = simplify(fourier(ft)); subplot(2, 1, 1); ezplot(abs(fw)); gridon ; title( 'amp spectrum' ); phi = atan(imag(fw) / real(fw)); subplot(2, 1,2); ezplot(phi); grid on ; title( 'phase spectrum' ); 符号运算法 Code: dt = 0.01; t = -2: dt: 2; ft (t+2).*(uCT(t+2)-uCT(t+1))+(u CT(t+1)-uCT(t-1))+(2-t).*(uCT (t-1)-uCT(t-2)); N = 2000; k = -N: N; w = pi * k / (N*dt); fw = dt*ft*exp(-i*t'*w); fw = abs(fw); plot(w, fw), grid on; axis([-2*pi 2*pi -1 3.5]); 数值运算法amp spectrum -6-4 -2 0 2 4 6 w x10 phase spectrurri -6 -4 -2 0 2 4 6 w

相关文档
相关文档 最新文档