MATLAB实验二 傅里叶分析应用
matlab在傅里叶函数中的应用
下面题目例4-1:求的傅立叶变换。
例4-2:求的傅立叶逆变换。
例4-3:设,、试画出及其幅频图。
例4-4:已知门信号,求其傅立叶变换。
例4-5:设,用MATLAB求的频谱,并与的频谱进行比较。
例4-6:设,试用MATLAB绘出,及其频谱(幅度谱和相位谱),并对二者频谱进行比较。
例4-7:设,试用MATLAB绘出及的频谱和,并与的频谱进行比较。
例4-8:设,,试用MATLAB绘出,,,及,验证式(4-10)。
例4-9:设,已知信号的傅立叶变换为,利用MATLAB求的傅立叶变换,验证对称性。
例4-1:求的傅立叶变换。
解:利用如下MATLAB命令实现:yms tfourier(exp(-2*abs(t)))ans =4/(4+w^2)若傅立叶变换的结果变量希望是,则可执行如下命令:syms t vfourier(exp(-2*abs(t)),t,v)ans =4/(4+v^2)例4-2:求的傅立叶逆变换。
解:利用如下MATLAB命令实现:syms t wifourier(1/(1+w^2),t)ans =1/2*exp(-t)*Heaviside(t)+1/2*exp(t)*Heaviside(-t) 其中,Heaviside(t)即为单位阶跃函数。
例4-3:设,、试画出及其幅频图。
解:MATLAB命令如下:syms t v w x;x=1/2*exp(-2*t)*sym('Heaviside(t)');F=fourier(x);subplot(211);ezplot(x);subplot(212);ezplot(abs(F));程序运行结果如图4-1所示。
程序中的Heaviside(t)是调用了Symbolic Math Toolbox的Heaviside.m文件,内容为:function f= Heaviside(t)f=(t>0);例4-4:已知门信号,求其傅立叶变换。
解:由信号分析可知,该信号的频谱为,其第一个过零点频率为,一般将此频率认为信号的带宽。
实验二 用matlab实现傅立叶变换
实验二用matlab实现傅立叶变换Step 1: 生成信号我们首先来生成一个信号,作为傅立叶变换的输入。
```matlab% 生成信号t = 0:0.001:1; % 时间范围f1 = 10; % 第一个频率f2 = 50; % 第二个频率y = sin(2*pi*f1*t) + sin(2*pi*f2*t); % 两个频率的正弦信号相加plot(t,y)title('信号')xlabel('时间 (秒)')```这段代码生成了一个时间范围为0到1秒的信号。
信号由两个频率分别为10Hz和50Hz的正弦波相加组成。
Step 2: 进行傅立叶变换接下来,我们可以使用Matlab中的fft函数来对信号进行傅立叶变换。
fft函数将信号从时域(时间)上转换到频域上。
```matlab% 进行傅立叶变换Y = fft(y);L = length(y); % 信号长度P2 = abs(Y/L); % 双边频谱P1 = P2(1:L/2+1); % 单边频谱P1(2:end-1) = 2*P1(2:end-1);% 绘制频域图figure()f = 1000*(0:(L/2))/L;plot(f,P1)title('单边频谱')xlabel('频率 (Hz)')```这段代码计算了信号的傅立叶变换,并绘制了信号的单边频谱。
Step 3: 解释结果在绘图结果中,我们可以看到两个明显的峰值。
这两个峰值对应着信号中两个正弦波的频率,也就是10Hz和50Hz。
傅立叶变换将信号从时域上转换到了频域上,这就使我们能够分析信号中不同频率的组成。
这在信号处理和分析中极为常见,傅立叶变换可以将信号转换到更加恰当的域中,使得我们能够更好地对信号进行分析和处理。
实验用MATLAB计算傅里叶变换
实验二 用MATLAB 计算傅立叶变换(2课时)一、实验目的1、掌握用MA TLAB 计算DTFT 及系统频率响应的方法。
2、掌握用MA TLAB 计算DFT 和IDFT 的方法。
3、掌握用DFT 计算圆周卷积和线性卷积的方法。
二、实验设备计算机一台,装有MATLAB 软件。
三、实验原理和基本操作1.用MA TLAB 计算DTFT对于序列x (n ),其离散时间傅立叶变换(DTFT )定义为:∑∞-∞=-=n n j e n x j X ωω)()( (1)序列的傅立叶变换(DTFT )在频域是连续的,并且以ω=2π为周期。
因此只需要知道jw X(e )的一个周期,即ω=[0,2π],或[-π,π]。
就可以分析序列的频谱。
用MA TLAB 计算DTFT ,必须在-π≤ω≤π范围内,把ω用很密的、长度很长的向量来近似,该向量中各个值可用下式表示: w=k*dw=k*K π2 (2) 其中:d ω=Kπ2 称为频率分辨率。
它表示把数字频率的范围2π均分成K 份后,每一份的大小,k 是表示频率序数的整数向量,简称为频序向量,它的取值可以有几种方法:通常在DTFT 中,频率取-π≤ω<л的范围,当K 为偶数时,取 k 12,,1,0,1,,12,2--+--=K K K 如果K 为奇数,则取 k 5.02,,1,0,1,,5.02--+-=K K 可以为奇偶两种情况综合出一个共同的确定频序向量k 的公式; k=12K -⎢⎥-⎢⎥⎣⎦ :12K -⎢⎥⎢⎥⎣⎦(3) 上式中⎢⎥⎣⎦表示向下取整。
在MA TLAB 中的向下取整函数为floor ,floor (x )的作用是把x 向下(向-∞方向)取整,所以与(3)式等价的MATLAB 语句为 k ))5.02(:)5.02((-+-=K K floor (4) 给定了输入序列(包括序列x 及其位置向量n ),又设定了频率分辨率d ω及频序向量k ,则DTFT 的计算式(1)可以用一个向量与矩阵相乘的运算来实现。
matlab傅里叶谱方法
Matlab傅里叶谱方法一、引言傅里叶分析作为一种重要的信号处理方法,自19世纪中叶以来,已经在各个领域取得了广泛的应用。
傅里叶谱方法通过对信号进行频域分析,可以揭示信号的内在结构和平衡关系。
随着科技的发展,计算机仿真技术在信号处理领域得到了广泛应用,Matlab作为一种功能强大的数学软件,为傅里叶谱方法的研究和应用提供了方便的平台。
本文将简要介绍Matlab傅里叶谱方法的原理,并结合实际应用实例进行阐述。
二、Matlab傅里叶谱方法原理1. 傅里叶变换傅里叶变换是将时域信号转换为频域信号的一种方法。
其基本原理是将信号分解为一系列正弦和余弦函数的叠加,从而在频域中显示信号的成分。
在Matlab中,傅里叶变换可以通过使用fft函数实现。
2. 傅里叶谱分析傅里叶谱分析是基于傅里叶变换的一种谱分析方法,可以获得信号的频谱特性。
在Matlab中,可以通过计算频谱幅度和相位来实现傅里叶谱分析。
3. 窗函数在进行傅里叶变换时,为了避免频谱泄漏和混叠,需要在信号周围加窗。
窗函数可以改善频谱的分辨率,常用的窗函数有汉宁窗(Hanning Window)、汉明窗(Hamming Window)等。
在Matlab 中,可以使用window函数来实现窗函数的加权。
三、Matlab傅里叶谱方法应用实例1. 信号处理傅里叶谱方法在信号处理领域具有广泛的应用,如音频信号的处理、图像滤波等。
以音频信号处理为例,可以通过Matlab计算音频信号的频谱特性,进一步分析信号的频率成分和谐波关系。
2. 系统辨识傅里叶谱方法在系统辨识领域也有广泛的应用。
通过分析系统的输入输出信号的频谱特性,可以揭示系统的基本参数和动态特性。
在Matlab中,可以使用傅里叶谱方法对系统进行建模和辨识。
3. 故障诊断傅里叶谱方法在机械故障诊断等领域具有重要应用。
通过对故障信号进行傅里叶谱分析,可以识别出信号中的异常频率成分,从而判断故障的类型和位置。
在Matlab中,可以实现对故障信号的傅里叶谱分析,为故障诊断提供依据。
傅里叶变换在matlab中应用123
傅里叶变换在matlab 中应用一、实验目的(1)了解并会熟练计算傅里叶变换; (2)学会在matlab 中运行傅里叶变换;(3)能熟练地绘出频谱图,与matlab 中的频谱图进行比较;二、实验原理1、傅里叶变换的定义非周期信号的频谱(即傅里叶变换)是周期信号的频谱(傅里叶级数)当∞→1T 时的极限。
设周期信号)(t f 展开成复指数形式的傅里叶级数为 tjnw n enw F t f 1)()(1∑∞-∞==⎰-=2211111)(1)(T T t jnw dt e t f T nw F (两边同时乘以1T )得⎰-==221111111)()(2)(T T tjnw dt et f w nw f T nw F π当∞→1T 时,对上式两边求极限得⎰-∞→∞→=221111111)(lim )(2lim T T tjnw T T dt et f w nw f π(2-38)上式左边,当∞→1T 时,如前所述,→11/)(w nw F 有限值,并且成为一个连续得频率函数,即频谱密度函数,用)(w F 表示为11)(2lim )(1w nw f w F T π∞→=而式(2-38)右边,当∞→1T 时,01→w ,w nw →1,即原来离散频率1nw 趋于连续频率w ,故上式右边亦为w 得连续函数,故得⎰∞∞--=dt e t f w F jwt )()( (2-40)式(2-40)为信号f (t )的傅里叶正变换,它的物理意义是单位频带上的频谱值,即频谱密度,简称为非周期信号频谱。
F (w )一般为复数,故又可写成复指数形式为)()()(w j e w F w F ϕ=式中:)(w F ---------幅度频谱,代表信号中各频率分量的相对大小; )(w ϕ---------相位频谱,代表信号各频率分量之间的相位关系。
2、傅里叶反变换由已知的非周期信号的傅里叶正变换F (w )求原信号f (t )的运算,称为傅里叶反变换。
(最新整理)MATLAB实验傅里叶分析
MATLAB实验傅里叶分析编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(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)式)做离散化处理,使之符合电脑计算的特征。
另外,当把傅里叶变换应用于实验数据的分析和处理时,由于处理的对象具有离散性,因此也需要对傅里叶变换进行离散化处理。
信号与系统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');w+4 sin(w) w sin(lZ2 conj(f2 sin(1/2 cos(w)-nsin(1Z2 v^2-sin(w) w+4 sin(w) w sin(lZ2 w)2)/w*))/(2 (2 sin(1/2 w)2cos(w)+sin(l^0---------------------------------------------------------------4-6 ・2 0 2 4 6w3、试用Matlab命令求Fj ■)二103 j ■的傅里叶反变换,并绘出其时域信号图4 abs((2 sm(1/2 w)2c o s(w)+s i n(1 fi. w)2-sin(w) w+4 w sm(W 戒时3210[注意:⑴写代码时j i]abs((2 hBavisidB(l)-1) (5 exp(-3 i exp[-5 i t]))syms tFw = sym('10/(3+iw)-/(5+iw)'); ft = ifourier(Fw,t);F = abs(ft);ezplot(F,[-3,3]),grid on;4、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。
MATLAB实验二 傅里叶分析及应用复习课程
M A T L A B实验二傅里叶分析及应用实验二傅里叶分析及应用一、实验目的(一)掌握使用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)-heaviside(t+1))+(heaviside(t+1)-heaviside(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;符号运算法Code:dt = 0.01;t = -2: dt: 2;ft = (t+2).*(uCT(t+2)-uCT(t+1))+(uCT(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]);t(20 π ex p(-3 t) heaviside(t) - 8 π ex p(-5 t) heaviside(t))/(2 π)数值运算法2、试用Matlab 命令求ωωωj 54-j 310)F(j ++=的傅里叶反变换,并绘出其时域信号图。
matlab二阶傅里叶趋势面
matlab二阶傅里叶趋势面标题:MATLAB二阶傅里叶趋势面介绍:MATLAB作为一种强大的数学软件工具,可以应用于多个学科领域的数据分析与处理。
其中,傅里叶分析是MATLAB中重要的一部分,它可以帮助我们理解信号的频域特性及其分析方法。
本文将着重介绍MATLAB中的二阶傅里叶趋势面分析方法,以及如何使用MATLAB进行相应的计算和可视化。
一、二阶傅里叶趋势面的概念与原理二阶傅里叶趋势面是一种将傅里叶分析与趋势分析相结合的方法,用于描述信号在频域上的变化趋势。
它能够更准确地刻画信号的周期性变化特征,并获取信号的频率、振幅、相位等信息。
其原理主要基于傅里叶级数展开和傅里叶变换的理论基础。
二、MATLAB中的二阶傅里叶趋势面计算步骤1. 导入数据:首先,我们需要将需要分析的信号数据导入MATLAB环境中,可以通过导入文件或手动输入的方式获取数据。
2. 数据预处理:根据需要进行数据预处理的步骤,例如去除噪声、平滑处理、滤波处理等。
这些步骤可以根据具体情况来选择是否需要进行。
3. 傅里叶变换:利用MATLAB中的fft函数对信号进行傅里叶变换,得到信号在频域上的表示。
可以选择使用快速傅里叶变换(FFT)或离散傅里叶变换(DFT)。
4. 求取频率与振幅:通过对傅里叶变换结果进行处理,可以得到信号在频域上的频率与振幅信息,这些信息可以用于绘制二阶傅里叶趋势面。
5. 绘制趋势面:利用MATLAB中的surf或mesh函数可以将计算得到的频率与振幅信息以三维图形的形式进行可视化展示。
通过调整相应参数,可以改变图像的外观以及显示效果。
三、实例演示以某电子产品的销售数据为例,介绍如何使用MATLAB进行二阶傅里叶趋势面的计算和可视化。
1. 导入数据:从Excel表格中导入电子产品销售数据,包括日期和销量。
2. 数据预处理:对销量数据进行平滑处理,以消除噪声对分析结果的影响。
3. 傅里叶变换:利用fft函数对销量数据进行傅里叶变换,得到频域上的表示。
大学matlab课程设计图像的傅里叶变换及其应用
课程名称: MATLAB及在电子信息课程中的应用实验名称:图像的傅里叶变换及其应用设计四图像的傅里叶变换及其应用一、设计目的通过该设计,掌握傅里叶变换的定义及含义。
二、设计内容及主要的MATLAB 函数1、图像的离散傅里叶变换假设),(n m f 是一个离散空间中的二维函数,则该函数的二维傅里叶变换定义为nj m j e e n m f f 21),()2,1(ωωωω--∞∞-∞∞-∑∑=其中21ωω和是频域变量,单位是弧度/采样单元。
函数),(21ωωf 为函数),(n m f 的频谱。
二维傅里叶反变换的定义为21212121),(),(ωωωωωωππωππωd d e e f n m f n j m j ⎰⎰-=-==因此,函数),(n m f 可以用无数个不同频率的复指数信号的和表示,在频率),(21ωω处复指数信号的幅度和相位为),(21ωωfMATLAB 提供的快速傅里叶变换函数1)fft2:用于计算二维快速傅里叶变换,其语法格式为b=fft2(I),返回图像I 的二维傅里叶变换矩阵,输入图像I 和输出图像B 大小相同;b=fft2(I,m,n),通过对图像I 剪切或补零,按用户指定的点数计算二维傅里叶变换,返回矩阵B 的大小为m ⨯n 。
很多MATLAB 图像显示函数无法显示复数图像,为了观察图像傅里叶变换后的结果,应对变换后的结果求模,方法是对变换结果使用abs 函数。
2)fftn :用于计算n 维快速傅里叶变换,其语法格式为b=fftn(I),计算图像的n 维傅里叶变换,输出图像B 和输入图像I 大小相同; b=fftn(I, size),通过对图像I 剪切或补零,按size 指定的点数计算n 维傅里叶变换,返回矩阵B 的大小为size 。
3) fftshift :用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为b=fftshift(I),将变换后的图像频谱中心从矩阵的原点移到矩阵的中心。
信号与系统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 ++=的傅里叶反变换,并绘出其时域信号图。
[注意:(1)写代码时j i]syms tFw = sym('10/(3+iw)-4/(5+iw)');ft = ifourier(Fw,t);F = abs(ft);ezplot(F,[-3,3]),grid on;4、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。
熟悉MATLAB环境,快速傅里叶变换(FFT)及其应用,IIR数字滤波器的设计,FIR数字滤波器的设计实验报告
南京邮电大学实验报告实验名称实验一熟悉MATLAB环境实验二快速傅里叶变换(FFT)及其应用实验三IIR数字滤波器的设计实验四FIR数字滤波器的设计课程名称数字信号处理A班级学号__________________姓名______ _______________开课时间 2010 /2011 学年,第 2学期实验一熟悉MATLAB环境一、实验目的(1)熟悉MA TLAB的主要操作命令。
(2)学会简单的矩阵输入和数据读写。
(3)掌握简单的绘图命令。
(4)用MATLAB编程并学会创建函数。
(5)观察离散系统的频率响应。
二、实验内容注:每个实验内容包括题目、实验过程与结果(含实验程序、运行的数据结果和图形);(1) 数组的加、减、乘、除和乘方运算。
输入A=[1 2 3 4],B=[3,4,5,6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B 。
并用stem语句画出A、B、C、D、E、F、G。
输入代码如下:A=[1 2 3 4];B=[3,4,5,6];C=A+B;stem(C)C运行图片:输入代码如下:A=[1 2 3 4];B=[3,4,5,6];D=A-Bstem(D)D运行图片:输入代码如下:A=[1 2 3 4]; B=[3,4,5,6]; E=A.*Bstem(E)E运行图片:输入代码如下:A=[1 2 3 4]; B=[3,4,5,6]; F=A./Bstem(F)F运行图片:输入代码如下: A=[1 2 3 4]; B=[3,4,5,6]; G=A.^B stem(G) G 运行图片:(2) 用MATLAB 实现下列序列: a) 08(). 0n 15nx n =≤≤ 输入代码如下: n=0:1:15; x1=0.8.^n stem(x1) 运行图片:b) 023(.)() 0n 15j nx n e+=≤≤输入代码如下: a=(0.2+3*i)*n; x2=exp(a) stem(x2) 运行图片:c) 3012502202501()cos(..)sin(..)x n n n ππππ=+++ 0n 15≤≤ 输入代码如下:x3=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi) stem(x3) 运行图片:d) 将c)中的x(n)扩展为以16为周期的函数)16()(16+=n x n x ,绘出四个周期。
使用matlab进行傅里叶分析和滤波
使⽤matlab进⾏傅⾥叶分析和滤波傅⾥叶分析公式法下例是将振幅为1的5Hz正弦波和振幅为0.5的10Hz正弦波相加之后进⾏傅⾥叶分析。
clear allN=512;dt=0.02;n=0:N-1;t=n*dt;x=sin(2*pi*5*t)+0.5*sin(2*pi*10*t);%⽣成和信号%傅⾥叶变换m = floor(N/2)+1;a=zeros(1,m);b=zeros(1,m);for k=0:m-1for ii=0:N-1a(k+1) = a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N);b(k+1) = b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N);endc(k+1)=sqrt(a(k+1).^2+b(k+1).^2);end%傅⾥叶逆变换if(mod(N,2) ~=1)a(m)=a(m)/2;endfor ii=0:N-1xx(ii+1)=a(1)/2;for k=1:m-1xx(ii+1)=xx(ii+1)+a(k+1)*cos(2*pi*k*ii/N)+b(k+1)*sin(2*pi*k*ii/N);endend%绘图subplot(3,1,1),plot(t,x,'LineWidth',2);title('原始信号'),xlabel('时间/s');subplot(3,1,2),plot((0:m-1)/(N*dt),c,'LineWidth',2);title('傅⾥叶变换'),xlabel('频率/Hz');subplot(3,1,3),plot((0:N-1)*dt,xx,'LineWidth',2);title('合成信号'),xlabel('时间/s');运⾏结果如下所⽰:快速傅⾥叶matlab中的快速傅⾥叶有两种调⽤形式:y=fft(x)。
实验二 用matlab实现傅立叶变换
实验报告实验课程:信号与系统——MATLAB综合实验学生姓名:赖硕秋学号:6100208060专业班级:电子0812010年 4月 15日实验二用matlab实现傅立叶变换实验目的: 1.掌握傅立叶数值实现方法(矩阵算法)2.生成连续周期信号,掌握程序优化技巧3.对于自定义函数参数有效性的检查4.复习并巩固“信号与系统”相关知识内容,学习用matlab实现问题实验环境:运行于Matlab7.6环境实验内容:本次实验参照《信号与系统》——“Matlab综合实验”55页课后练习习题:1.如图4.4所示锯齿波信号,分别去一个周期的抽样数据X1(t),0<=t<=1和五个周期的数据X(t),0<=t<5,计算其傅立叶变换X1(w)和X(w),比较有和不同并解释原因。
编程如下:方法1:%计算单位锯齿波和五个周期波形的傅立叶变换%解法1:基本用循环实现数值的计算;对于5个周期锯齿波用内外循环来生成实现T1=1; %一个周期锯齿波N1=10000;t1=linspace(0,T1-T1/N1,N1)';f1=0*t1;f1=1-2*t1;OMG=32*pi; %频率抽样区间K1=100; %频率抽样点数omg=linspace(-OMG/2,OMG/2-OMG/K1,K1)';X1=0*omg;for k=1:K1 %求解五个周期函数的傅里叶变换系数for n=1:N1X1(k)=X1(k)+T1/N1*f1(n)*exp(-j*omg(k)*t1(n));endendfs1=0*t1;for n=1:N1 %通过傅里叶逆变换还原原函数for k=1:K1fs1(n)=fs1(n)+OMG/2/pi/K1*X1(k)*exp(j*omg(k)*t1(n));endendT2=5; %五个周期锯齿波N2=10000;t2=linspace(0,T2-T2/N2,N2)';f2=0*t2;t3=linspace(0,T2/5-T2/N2,N2/5)'; %先定义一个周期内的锯齿波变量抽样值f3=0*t3; %初始化一个周期的函数抽样值f3=1-2*t3; %表示出一个周期内函数抽样值for s=0:4 %将一个周期锯齿波平移到五个周期,通过循环控制for a=1:N2/5f2(2000*s+a)=f3(a);endend %将函数拓展表示为五个周期X2=0*omg;for k=1:K1 %求解五个周期函数的傅里叶变换系数for n=1:N2X2(k)=X2(k)+T2/N2*f2(n)*exp(-j*omg(k)*t2(n));endendfs2=0*t2;for n=1:N1 %通过傅里叶逆变换还原原函数for k=1:K1fs2(n)=fs2(n)+OMG/2/pi/K1*X2(k)*exp(j*omg(k)*t2(n));endendfigure;subplot(2,2,1);plot(omg,abs(X1),'r'); %以幅度频谱画图xlabel('Frequency'),ylabel('Amplitude');title('单个锯齿波的幅频曲线');subplot(2,2,2);plot(t1,fs1,'r');xlabel('Second(s)'),ylabel('Amplitude');title('由频域还原时域函数');subplot(2,2,3);plot(omg,abs(X2),'r');xlabel('Frequency'),ylabel('Amplitude');title('五个周期锯齿波的幅频曲线');subplot(2,2,4);plot(t2,fs2,'r');xlabel('Second(s)'),ylabel('Amplitude');title('由频域还原时域函数');相关曲线:方法2:%计算单位锯齿波和五个周期波形的傅立叶变换%解法2:数值算法用矩阵实现,大大加快了运行速度;并且直接调用“sawtooth”生成5个周期的锯齿波T1=1; %单个周期时域范围N1=10000; %时域抽样点数t1=linspace(0,T1-T1/N1,N1)'; %生成抽样时间点f1=1-2*t1; %生成抽样函数值OMG=32*pi; %频域范围K1=100; %频域抽样点数omg=linspace(-OMG/2,OMG/2-OMG/K1,K1)'; %生成抽样频率点X1=T1/N1*exp(-j*kron(omg,t1.'))*f1; %傅里叶正变换求解傅里叶系数fs1=OMG/2/pi/K1*exp(j*kron(t1,omg.'))*X1; %傅里叶逆变换还原时域函数T2=5; %五个周期时域范围N2=10000; %时域抽样点数t2=linspace(0,T2-T2/N2,N2)'; %生成抽样时间点fs2=0*t2;f2=sawtooth(t2*2*pi,0); %生成五个周期的锯齿波X2=T2/N2*exp(-j*kron(omg,t2.'))*f2; %傅里叶正变换求解傅里叶系数fs2=fs2+OMG/2/pi/K1*exp(j*kron(t2,omg.'))*X2; %傅里叶逆变换还原时域函数figure; %生成一个2*2矩阵子图subplot(2,2,1);plot(omg,abs(X1),'r'); %一个周期时的频谱图xlabel('Frequency'),ylabel('Amplitude')title('单个锯齿周期幅频特性曲线');subplot(2,2,2);plot(t1,fs1,'r'); %还原的时域函数xlabel('Time'),ylabel('Amplitude')title('Function after recovered');subplot(2,2,3);plot(omg,abs(X2),'r'); %五个周期时的频谱图xlabel('Frequency'),ylabel('Amplitude')title('五个锯齿周期幅频特性曲线');subplot(2,2,4);plot(t2,fs2,'r'); %还原的时域函数xlabel('Time'),ylabel('Function after recovered')title('Function after recovered');相关曲线:2.请编写函数F=fsana(t,f,,N),计算周期信号f的前N个指数形式的傅立叶级数系数,t表示f对应的抽样时间(均为一个周期);再编写函数f=fssyn(F,t),由傅立叶级数系数F合成抽样时间t对应的函数。
MAtlab-傅里叶变换-实验报告(最新-编写)
MAtlab-傅里叶变换-实验报告(最新-编写)一、实验目的1. 了解傅里叶变换的基本概念及其在信号处理中的应用;2. 掌握使用Matlab软件进行傅里叶变换的方法;3. 通过实验掌握傅里叶变换的计算与图像分析方法。
二、实验原理1. 傅里叶级数傅里叶级数是一类振幅、频率和相位相同的正弦(余弦)函数构成某一周期函数的和。
若函数f(t)可以表示为周期2π的函数,则有:f(t) = a0 + ∑[an*cos(nwt) + bn*sin(nwt)] (1)其中,a0、an、bn为常数,w=2π/T为角频率,T为周期。
傅里叶级数引入相位角,使得函数形态可以更加丰富,而且描述更加直观。
假设n=0时,a0是函数f(t)的常数项,且an、bn分别表示f(t)的奇、偶对称部分的振幅,即:a0 = (1/2π)∫[f(t)]dt,an = (1/π)∫[f(t)*cos(nwt)]dt,bn =(1/π)∫[f(t)*s in(nwt)]dt式中,*为乘积,∫为积分。
在时域中,傅里叶分析用来分析周期性信号的性质。
但是,在实际应用中,很少有真正的周期性信号,因此需要将傅里叶分析推广到非周期性信号上,即傅里叶变换。
原信号可以表示为一个函数f(t),其傅里叶变换可以表示为:F(w) = ∫[f(t)*e^(-jwt)]dt其中,j为虚数单位,w为角频率。
傅里叶变换将信号从时域变换到频域,通常使用复数表示幅值与相位。
同时,傅里叶变换也具有很高的线性性质。
即,若有两个函数f1(t)和f2(t),其傅里叶变换分别是F1(w)和F2(w),则下列变换同样成立:a1*f1(t) + a2*f2(t)的傅里叶变换为a1*F1(w) + a2*F2(w)其中,a1、a2为常数。
最后,傅里叶变换的性质包括线性、平移、频移、反褶和自相关性等,这些性质都对信号处理和分析具有实际意义。
三、实验内容本实验主要分为两个部分: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,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。
..Code:'ft =sym((t+2)*(heaviside(t+2)-heaviside(t+1))+(heaviside(t+1)-heaiside(t-1))+(2-t)*(heaviside)t-1)-heaviside(t-2))fw = simplify(fourier(ft));subplot(2, 1, 1)ezplot(abs(fw)); grid on);'amp spectrum'title(real(fw));phi / = atan(imag(fw)subplot(2, 1, 2);;on ezplot(phi); grid);title('phase spectrum'符号运算法Code:dt = 0.01;t = -2: dt: 2;=ft(t+2).*(uCT(t+2)-uCT(t+1))+(uCT(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]);数值运算法..104?的傅里叶反变换,并绘出其时域信号图。
傅里叶变换在matlab中的应用123
傅里叶变换在matlab 中应用一、实验目的(1)了解并会熟练计算傅里叶变换; (2)学会在matlab 中运行傅里叶变换;(3)能熟练地绘出频谱图,与matlab 中的频谱图进行比较;二、实验原理1、傅里叶变换的定义非周期信号的频谱(即傅里叶变换)是周期信号的频谱(傅里叶级数)当∞→1T 时的极限。
设周期信号)(t f 展开成复指数形式的傅里叶级数为 tjnw n enw F t f 1)()(1∑∞-∞==⎰-=2211111)(1)(T T tjnw dt et f T nw F (两边同时乘以1T )得⎰-==221111111)()(2)(T T tjnw dt et f w nw f T nw F π当∞→1T 时,对上式两边求极限得⎰-∞→∞→=221111111)(lim )(2lim T T t jnw T T dt e t f w nw f π(2-38)上式左边,当∞→1T 时,如前所述,→11/)(w nw F 有限值,并且成为一个连续得频率函数,即频谱密度函数,用)(w F 表示为11)(2lim )(1w nw f w F T π∞→= 而式(2-38)右边,当∞→1T 时,01→w ,w nw →1,即原来离散频率1nw 趋于连续频率w ,故上式右边亦为w 得连续函数,故得⎰∞∞--=dt et f w F jwt)()( (2-40)式(2-40)为信号f (t )的傅里叶正变换,它的物理意义是单位频带上的频谱值,即频谱密度,简称为非周期信号频谱。
F (w )一般为复数,故又可写成复指数形式为)()()(w j e w F w F ϕ=式中:)(w F ---------幅度频谱,代表信号中各频率分量的相对大小; )(w ϕ---------相位频谱,代表信号各频率分量之间的相位关系。
2、傅里叶反变换由已知的非周期信号的傅里叶正变换F (w )求原信号f (t )的运算,称为傅里叶反变换。
实验二 傅里叶分析及应用
fw = dt*ft*exp(-i*t'*w);
fw = abs(fw);
plot(w, fw), grid on;
axis([-2*pi 2*pi -1 3.5]);
数值运算法
2 / 11'.
.
2、试用 Matlab 命令求 F(j) 10 - 4 的傅里叶反变换,并绘出其时域信号图。 3 j 5 j
3 / 11'.
.
4、设有两个不同频率的余弦信号,频率分别为 f1 100 Hz , f2 3800 Hz ;现在使用 抽样频率 fs 4000 Hz 对这三个信号进行抽样,使用 MATLAB 命令画出各抽样信号的波形
和频谱,并分析其频率混叠现象
Code: f1 = 100; % f1 = 100 hz ts = 1/4000;% sample = 4000hz dt = 0.0001; t1 = -0.007:dt:0.007; ft = cos(2*f1*pi*t1); subplot(221); plot(t1, ft), grid on; axis([-0.006 0.006 -1.5 1.5]) xlabel('Time/s'),ylabel('f(t)') title('Cosine curve');
5
4
3
2
1
0
0
0.5
1
1.5
2
2.5
t
两个单边指数脉冲的叠加 3、已知门函数自身卷积为三角波信号,试用 Matlab 命令验证 FT 的时域卷积定理。
Code:
f = sym('heaviside(t+1) - heaviside(t-1)'); fw = simplify(fourier(f)); F = fw.*fw; subplot(211); ezplot(abs(F), [-9, 9]), grid on title('FW^2')
实验2 傅里叶变换的MATLAB 实现
实验2 傅里叶变换的MATLAB 实现一. 实验目的1. 傅里叶变换的matlab 实现。
2. 连续时间信号傅里叶变换的数值计算。
二. 实验原理1. Matlab 的Symbolic Math Toolbox 提供了能直接求解傅里叶变换和逆变换的函数fourier(_)和ifourier()。
使用上述函数有一个局限性。
尽管信号f(t)是连续的,但却不可能表示成符号表达式,而更多的实际测量现场获得的信号是多组离散的数值量f(n),此时也不可能应用fourier( )对f(n)进行处理,而只能应用傅里叶变换的数值计算方法。
2. 傅里叶变换的数值计算方法的理论依据如下:()()ττωτωτωn j n t i e n f dt e t f j F -∞-∞=→-∞∞-∑⎰==)(lim 0 (1)对于一大类信号,当取τ足够小时,上式的近似情况可以满足实际需要。
若信号f(t)是时限的,则(1)式的n 取值就是有限的,设为N ,有:()N k en f k F n j N n k ≤≤=--=∑0,)(10τωττ (2)上式是对(1)中的频率ω进行取样,通常:k N k τπω2= 采用matlab 实现(2)式时,其要点是要正确生成()t f 的N 个样本()τn f 的向量f 及向量 τωn j k e -,两向量的内积(即两矩阵的乘积)结果即完成式(2)的计算。
下面举例说明:例1.已知门信号()()⎪⎩⎪⎨⎧><==10112t t t g t f ,求其傅里叶变换()ωj F 。
解:实现该过程的matlab 命令程序如下:tau=0.02;t=-2:tau:2;f= [(t>-1 &t<1)];W1=2*pi*5; % the bandlimitN=500;k=0:N;W=k*W1/N;F=f*exp(-j*t'*W)*tau;F=real(F);W=[-fliplr(W),W(2:501)];F=[fliplr(F),F(2:501)];subplot(2,1,1);plot(t,f);xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');subplot(2,1,2);plot(W,F);xlabel('w');ylabel('F(w)');title('f(t)的付氏变换F(w)');程序执行出现图Fig3-1所示的曲线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、实验条件
Win7 系统,MATLAB R2015a
符号运算法
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);
tri = sym('(t+2)*heaviside(t+2)-2*t*heaviside(t)+(t-2)*heaviside(t-2)'); Ftri = fourier(tri); F = simplify(Ftri); subplot(212); ezplot(abs(F), [-9, 9]), grid on; title('tri FT')
title('Sample signal'); hold off
>
fsw=ts*fst*exp(-1i*t2'*w);
> subplot(224); plot(w, abs(fsw)),
grid on
> axis([-20000 20000 0 0.006])
1
0
0
0.5
1
1.5
2
2.5
t
两个单边指数脉冲的叠加 3、已知门函数自身卷积为三角波信号,试用 Matlab 命令验证 FT 的时域卷积定理。
Code:
f = sym('heaviside(t+1) - heaviside(t-1)'); fw = simplify(fourier(f)); F = fw.*fw; subplot(211); ezplot(abs(F), [-9, 9]), grid on title('FW^2')
4、设有两个不同频率的余弦信号,频率分别为 f1 100 Hz , f2 3800 Hz ;现在使用 抽样频率 fs 4000 Hz 对这三个信号进行抽样,使用 MATLAB 命令画出各抽样信号的波形
和频谱,并分析其频率混叠现象
Code: f1 = 100; % f1 = 100 hz ts = 1/4000;% sample = 4000hz dt = 0.0001; t1 = -0.007:dt:0.007; ft = cos(2*f1*pi*t1); subplot(221); plot(t1, ft), grid on; axis([-0.006 0.006 -1.5 1.5]) xlabel('Time/s'),ylabel('f(t)') title('Cosine curve');
三、实验内容
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));
> t2 = -0.007:ts:0.007;
fst = cos(2*f1*pi*t2);
> subplot(223);plot(t1, ft, ':'),
hold on
> stem(t2, fst), grid on;
axis([-0.006 0.006 -1.5 1.5])
> xlabel('Time/s'),ylabel('fs(t)')
实验二 傅里叶分析及应用
一、实验目的
(一)掌握使用 Matlab 进行周期信号傅里叶级数展开和频谱分析 1、学会使用 Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用 Matlab 分析周期信号的频谱特性
(二)掌握使用 Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用 Matlab 求连续时间信号的傅里叶变换 2、学会运用 Matlab 求连续时间信号的频谱图 3、学会运用 Matlab 分析连续时间信号的傅里叶变换的性质
syms t; fw = sym('10/(3+i*w)-4/(5+i* w)'); ft = ifourier(fw, t); ezplot(ft), grid on;
(20 exp(-3 t) heaviside(t) - 8 exp(-5 t) heaviside(t))/(2 )
Байду номын сангаас
5
4
3
2
fw = dt*ft*exp(-i*t'*w);
fw = abs(fw);
plot(w, fw), grid on;
axis([-2*pi 2*pi -1 3.5]);
数值运算法
2、试用 Matlab 命令求 F(j) 10 - 4 的傅里叶反变换,并绘出其时域信号图。 3 j 5 j
Code:
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');
N = 5000; k = -N:N; w = 2*pi*k/((2*N+1)*dt); fw = ft*dt*exp(-1i*t1'*w); subplot(222); plot(w, abs(fw)); grid on; axis([-20000 20000 0 0.005]); xlabel('\omega'), ylabel('f(w)') title('Cos freq spectrum');