吴镇杨matlab实验三快速傅里叶变换及其应用

合集下载

matlab中fft快速傅里叶变换

matlab中fft快速傅里叶变换

matlab中fft快速傅⾥叶变换视频来源很好的解释了:1 .傅⾥叶变换过程,经过傅⾥叶变化得到了,频率w,振幅a0,相位⾓φ;2. 傅⾥叶变换主要应⽤领域:声⾳,图像处理;博⽂则很好的解释了:1. 傅⾥叶变换在matlab软件中怎样应⽤2.. 傅⾥叶变换的作⽤效果的展⽰,从时域到频域的变化,时域难以解决的问题到频域中却很清晰。

语法说明= fft()⽤快速傅⾥叶变换 (FFT) 算法计算X的 (DFT)。

如果X是向量,则fft(X)返回该向量的傅⾥叶变换。

如果X是矩阵,则fft(X)将X的各列视为向量,并返回每列的傅⾥叶变换。

如果X是⼀个多维数组,则fft(X)将沿⼤⼩不等于 1 的第⼀个数组维度的值视为向量,并返回每个向量的傅⾥叶变换。

= fft(,)返回n点 DFT。

如果未指定任何值,则Y的⼤⼩与X相同。

如果X是向量且X的长度⼩于n,则为X补上尾零以达到长度n。

如果X是向量且X的长度⼤于n,则对X进⾏截断以达到长度n。

如果X是矩阵,则每列的处理与在向量情况下相同。

如果X为多维数组,则⼤⼩不等于 1 的第⼀个数组维度的处理与在向量情况下相同。

= fft(,,)返回沿维度dim的傅⾥叶变换。

例如,如果X是矩阵,则fft(X,n,2)返回每⾏的 n 点傅⾥叶变换。

⽰例噪声信号使⽤傅⾥叶变换求噪声中隐藏的信号的频率分量。

指定信号的参数,采样频率为 1 kHz,信号持续时间为 1.5 秒。

Fs = 1000; % Sampling frequencyT = 1/Fs; % Sampling periodL = 1500; % Length of signalt = (0:L-1)*T; % Time vector构造⼀个信号,其中包含幅值为 0.7 的 50 Hz 正弦量和幅值为 1 的 120 Hz 正弦量。

S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);⽤均值为零、⽅差为 4 的⽩噪声扰乱该信号。

傅里叶变换在matlab中应用123

傅里叶变换在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实验三快速傅里叶变换及其应用

实验三快速傅里叶变换及其应用一:实验目的(1)加深对FFT的理解,熟悉matlab中的有关函数。

(2)应用FFT对典型信号进行频谱分析。

(3)了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT.(4)应用FFT实现序列的线性卷积和相关。

二:实验原理:在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。

这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:反变换为:有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。

FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。

它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。

常用的FFT是以2为基数的,其长度。

它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。

(一)在运用DFT进行频谱分析的过程中可能的产生三种误差(1) 混叠序列的频谱是被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。

避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。

(2) 泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。

快速傅里叶变换及其应用实验文档及程序

快速傅里叶变换及其应用实验文档及程序

试验二快速傅里叶变换及其应用一、试验目的(1).在理论学习的基础上。

加深对FFT的理解,熟悉matlab中的有关函数。

(2).应用FFT对典型信号进行频谱分析。

(3).了解应用FFT进行信号频谱分析过程中可能出现的问题。

(4).应用FFT实现序列的线性卷积和相关。

二、实验内容1.观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q的值使q分别等于2、4、8,观察他们的时域和幅频特性,了解当q取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p分别等于8、13、14,观察参数p变化对信号序列的时域和幅频特性的影响,注意p等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。

(1)固定p=8,使q=2和4的时域和频域图n=0:15x=exp((16*n-n.^2-64)./2)subplot(2,2,1);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,2);stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');x=exp((16*n-n.^2-64)./4)subplot(2,2,3);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,4);stem(n,y,'-o');xlabel('k');ylabel('y(k)')title('幅频特性');使q=8的时域和频域图n=0:15x=exp((16*n-n.^2-64)./8)plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');(2)固定q=8,使q=8和13的时域和频域图n=0:15x=exp((16*n-n.^2-64)./8)subplot(2,2,1);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,2);stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');x=exp((26*n-n.^2-169)./8) subplot(2,2,3);plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))subplot(2,2,4);stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');使p=14的时域和频域图x=exp((28*n-n.^2-196)./8)plot(n,x,'-o')title('时域特性');xlabel('n');ylabel('y(n)')y=abs(fft(x))stem(n,y,'-o')xlabel('k');ylabel('y(k)')title('幅频特性');实验结果分析:由图形可知,当固定p,q取不同值时,随着q的增大,其相对应的时域幅值会增大,而且容易看出,它们的时域图关于n=8对称。

数字信号处理实验 matlab版 快速傅里叶变换(FFT)

数字信号处理实验 matlab版 快速傅里叶变换(FFT)

实验14 快速傅里叶变换(FFT)(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word 格式会让很多部分格式错误,谢谢)XXXX 学号姓名处XXXX一、实验目的1、加深对双线性变换法设计IIR 数字滤波器基本方法的了解。

2、掌握用双线性变换法设计数字低通、高通、带通、带阻滤波器的方法。

3、了解MA TLAB 有关双线性变换法的子函数。

二、实验内容1、双线性变换法的基本知识2、用双线性变换法设计IIR 数字低通滤波器3、用双线性变换法设计IIR 数字高通滤波器4、用双线性变换法设计IIR 数字带通滤波器三、实验环境MA TLAB7.0四、实验原理1、实验涉及的MATLAB 子函数(1)fft功能:一维快速傅里叶变换(FFT)。

调用格式:)(x fft y =;利用FFT 算法计算矢量x 的离散傅里叶变换,当x 为矩阵时,y 为矩阵x每一列的FFT 。

当x 的长度为2的幂次方时,则fft 函数采用基2的FFT 算法,否则采用稍慢的混合基算法。

),(n x fft y =;采用n 点FFT 。

当x 的长度小于n 时,fft 函数在x 的尾部补零,以构成n点数据;当x 的长度大于n 时,fft 函数会截断序列x 。

当x 为矩阵时,fft 函数按类似的方式处理列长度。

(2)ifft功能:一维快速傅里叶逆变换(IFFT)。

调用格式:)(x ifft y =;用于计算矢量x 的IFFT 。

当x 为矩阵时,计算所得的y 为矩阵x 中每一列的IFFT 。

),(n x ifft y =;采用n 点IFFT 。

当length(x)<n 时,在x 中补零;当length(x)>n 时,将x 截断,使length(x)=n 。

(3)fftshift功能:对fft 的输出进行重新排列,将零频分量移到频谱的中心。

调用格式:)(x fftshift y =;对fft 的输出进行重新排列,将零频分量移到频谱的中心。

matlab做傅里叶变换并输出表达式

matlab做傅里叶变换并输出表达式

matlab做傅里叶变换并输出表达式Matlab是一种非常流行的科学计算和数据分析工具。

它具有强大的数字计算和绘图功能,并提供了很多实用的工具箱和函数库。

其中,傅里叶变换是其中一个非常重要的功能,被广泛应用于信号处理、图像处理、声音处理等领域。

在本文中,我们将介绍如何使用Matlab进行傅里叶变换,并输出变换的表达式。

首先,我们需要了解一下傅里叶变换的基本概念和数学原理。

傅里叶变换是一种将一个函数(比如时域信号)表示为一系列正弦或余弦函数之和的技术。

这些正弦或余弦函数的频率是整数倍的基频率,称为谐波。

傅里叶变换可以将一个复杂的信号分解为多个不同频率的正弦或余弦波,从而提供了更深入的分析和处理手段。

傅里叶变换可以分为离散傅里叶变换(DFT)和连续傅里叶变换(FFT)两种形式,其中DFT适用于离散信号,FFT适用于连续信号。

在Matlab中,我们可以使用fft函数进行傅里叶变换。

该函数的语法如下:Y = fft(X)其中,X表示需要进行傅里叶变换的信号,可以是一个向量或矩阵;Y表示变换后的结果,也是一个向量或矩阵。

如果X是向量,则Y也是向量,如果X是矩阵,则Y 也是矩阵,每一列都是对应列的变换结果。

使用fft函数可以非常方便地进行傅里叶变换,但是它只返回数字解决方案,不提供与实际问题相关的任何物理解释。

因此,我们还需要将变换后的结果转换为频谱,从而方便我们进行进一步的分析和处理。

Matlab中提供了一个函数fftshift,用于将傅里叶变换的结果进行中心化,从而得到正确的频谱。

该函数的语法如下:Y = fftshift(X)其中,X表示需要进行中心化的信号,Y表示中心化后的结果。

使用fftshift函数可以方便地得到正确的频谱,但是我们还需要将频谱转换为表达式,从而方便我们进一步分析和处理。

在Matlab中,我们可以使用symbolic工具箱中的函数fourier进行傅里叶变换表达式的计算。

该函数的语法如下:F = fourier(f)其中,f表示需要进行傅里叶变换的函数,F表示变换得到的表达式。

matlab实现傅里叶变换

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应用于频谱分析需要注意的两个问题:即采样可能导致信号混叠和截断信号引起的频谱泄漏。

可以通过选择适当的采样频率(见奈奎斯特频率)消减混叠。

(完整)快速傅里叶变换fft的Matlab实现 实验报告

(完整)快速傅里叶变换fft的Matlab实现 实验报告

(完整)快速傅里叶变换fft的Matlab实现实验报告编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)快速傅里叶变换fft 的Matlab实现实验报告)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)快速傅里叶变换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,不补则输入0if(C==0)t=0:T:(N—1)*T;x=sin(2*pi*f*t);b=0;e lseb=input(’输入补零的个数:');while(log2(N+b)~=fix(log2(N+b)))b=input(’输入错误,请重新输入补零的个数:’);endt=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-1for J=0:1:B-1p=J*2^(M —L ); % p 是W 的指数q=A (k*2^L+J+1); % 用q 来代替运算前面那个数 A(k*2^L+J+1)=q+W^p *A (k*2^L+J+B+1);A (k *2^L+J+B+1)=q —W^p *A (k *2^L+J+B+1); end end end%% 画模特性的频谱图 z =abs(A ); % 取模z=z 。

快速傅立叶变换FFT及其应用实验报告

快速傅立叶变换FFT及其应用实验报告

实验一 离散时间系统的时域分析一、实验目的1. 运用MA TLAB 仿真一些简单的离散时间系统,并研究它们的时域特性。

2. 运用MA TLAB 中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:∑=∑=-=-M k k N k k k n x p k n y d 00][][当输入信号为冲激信号时,系统的输出记为系统单位冲激响应 ][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][ 当h[n]是有限长度的(n :[0,M])时,称系统为FIR 系统;反之,称系统为IIR 系统。

在MA TLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。

例1clf;n=0:40;a=1;b=2;x1= 0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=[1, 0.5,3];den=[2 -3 0.1];ic=[0 0]; %设置零初始条件y1=filter(num,den,x1,ic); %计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic); %计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic); %计算输入为x (n)时的输出y(n)yt= a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y);ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘加权输出a*y1+b*y2’);(一)、线性和非线性系统对线性离散时间系统,若)(1n y 和)(2n y 分别是输入序列)(1n x 和)(2n x 的响应,则输入)()()(21n bx n ax n x +=的输出响应为)()()(21n by n ay n y +=,即符合叠加性,其中对任意常量a 和b 以及任意输入)(1n x 和)(2n x 都成立,否则为非线性系统。

MATLAB快速傅里叶变换(fft)函数详解

MATLAB快速傅里叶变换(fft)函数详解

MATLAB快速傅⾥叶变换(fft)函数详解定义:M ATLAB帮助⽂件原⽂The 'i' in the 'Nth root of unity' 是虚数单位调⽤:1. Y = fft(y);2. Y = fft(y,N);式中,y是序列,Y是序列的快速傅⾥叶变换。

y可以是⼀向量或矩阵,若y为向量,则Y是y的FFT,并且与y具有相同的长度。

若y为⼀矩阵,则Y是对矩阵的每⼀列向量进⾏FFT。

说明:1. 函数fft返回值的数据结构具有对称性根据采样定理,fft能分辨的最⾼频率为采样频率的⼀半(即Nyquist频率),函数fft返回值是以Nyqusit频率为轴对称的,Y的前⼀半与后⼀半是复数共轭关系。

2. 幅值作FFT分析时,幅值⼤⼩与输⼊点数有关,要得到真实的幅值⼤⼩,只要将变换后的结果乘以2除以N即可(但此时零频—直流分量—的幅值为实际值的2倍)。

对此的解释是:Y除以N得到双边谱,再乘以2得到单边谱(零频在双边谱中本没有被⼀分为⼆,⽽转化为单边谱过程中所有幅值均乘以2,所以零频被放⼤了)。

3. 基频若分析数据时长为T,则分析结果的基频就是f0=1/T,分析结果的频率序列为[0:N-1]*f04. 执⾏N点FFT在调⽤格式2中,函数执⾏N点FFT。

若y为向量且长度⼩于N,则函数将y补零⾄长度N,若向量y的长度⼤于N,则函数截断y使之长度为N。

注意:使⽤N点FFT时,若N⼤于向量y的长度,将给频谱分析结果带来变化,应该特别注意。

例⼦:将对N点FFT进⾏举例,说明当N⼤于向量y的长度时给频谱分析带来的变化。

例图上图中,左列为信号时域图形,右列为对应信号的频谱图。

可以看出当N⼤于向量y的长度时,由于fft⾃动将100s后的信号值补零,原信号实际变为左下⾓的时域图形,所以频率发⽣了变化(增加多种频率的⼩振幅振动,主峰幅值被削弱)。

结论:使⽤N点FFT时,不应使N⼤于y向量的长度,否则将导致频谱失真。

数字信号matlab实验快速傅里叶变换及其应用技术

数字信号matlab实验快速傅里叶变换及其应用技术

实验三 快速傅里叶变换及其应用上机实验内容一、观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q 的值,分别等于2,4,8,观察他们的时域和幅频特性,了解党q 取不同的值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8,13,14,观察参数p 变化对信号序列的时域及幅频特性的影响,注意p 等于多少时,会发生明显的泄露现象,混叠是否也随之出现? (1)P=8,q=2,4,8时, 程序如下:n=0:15;N=16;p=8;q1=2;q2=4;q3=8; figure(1)x1n=exp(-((n-p1).^2/q)); subplot(3,2,1),stem(n,x1n,'.') x2n=exp(-((n-p2).^2/q)); subplot(3,2,3),stem(n,x2n,'.') x3n=exp(-((n-p3).^2/q)); subplot(3,2,5),stem(n,x3n,'.') x1k=fft(x1n,N);subplot(3,2,2),stem(n,x1k,'.') x2k=fft(x2n,N);subplot(3,2,4),stem(n,x2k,'.') x3k=fft(x3n,N);subplot(3,2,6),stem(n,x3k,'.') 波形如下:0510150510155101505101505101551015p固定时,当p从2变化到8时,时域波形变化缓慢,低频分量增加,频谱泄露和混叠减小。

(2)q=8,p=8,13,14时,程序类同上波形如下:051015051015固定q=8时,当p从8变化到14,窗口位置偏移,受窗口宽度的影响,波形在高处截断产生严重的频谱泄露。

二、观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,会出幅频特性曲线,改变f,使f分别等于0.4375,0.5625,观察着两种情况下,频谱的形状和谱峰出现的位置,有无混叠和泄露现象,说明产生的原因。

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

信号与系统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实验傅里叶分析及应用报告答案

信号与系统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傅里叶变换实验报告

MAtlab傅里叶变换实验报告

MAtlab傅里叶变换实验报告班级信工 142学号22姓名何岩实验组别实验日期室温报告日期成绩报告内容:( 目得与要求, 原理, 步骤, 数据, 计算, 小结等) 1、求信号得离散时间傅立叶变换并分析其周期性与对称性; 给定正弦信号 _(t)=2*cos(2*pi_10*t),fs=100HZ,求其DTFT。

(a)代码: f=10;T=1/f;w=-10:0、2:10; t1=0:0、0001:1;t2=0:0。

01:1; n1=-2;n2=8;n0=0;n=n1:0。

01:n2; x5=[n>=0.01]; _1=2*cos(2_f*pi*t1); _2=2_cos(2*f_pi*t2); _3=(e_p(;j).^(t2��_w)); _4=x2__3; subplot(2,2,1);plot(t1,_1); a_is([01 1、1_min(_2) 1。

1*max(x2)]); _label(��_(n)��);ylabe l(��_(n)"); title('原信号 _1"); xlabel("t");ylabel("_1��); subplot(2,2,3);stem(t2,x2);a_is([0 1 1、1*min(_2) 1。

1*ma_(_2)]); title(��原信号采样结果 _2'); _label('t��);ylabel('_2"); subplot(2,2,2);stem(n,_5); a_is([0 1 1、1_min(_5)1.1_ma_(_5)]); _label(��n��);ylabel('_2");title(��采样函数x2'); subplot(2,2,4);stem(t2,x4); a_is([0 1 ;0、2+1。

1_min(_4) 1、1_ma_(_4)]); _label(��t");ylabel('_4"); title("DTFT结果 _4');(b)结果:2、用以下两个有限长序列来验证 DTFT 得线性、卷积与共轭特性; _1(n)=[12 3 4 5 6 7 8 9 10 11 12];_2(n)=R 10 (n) (1) 线性:(a)代码: w=linspace(-8,8,10000); nx1=[0:11]; n_2=[0:9]; x1=[1 2 3 4 567 8 9 10 1112]; _2=[1 1 1 1 1 1 1 1 11]; _3=[_2,zeros(1,(length(_1);length(_2)))]; _4=2*_1+3*_3; X1=_1_e_p(-j*n_1'*w);%频率特性 _3=_3_e_p(-j_nx1'*w);%频率特性 _4=x4_e_p(;j_nx1��_w);%频率特性subplot(5,3,1),stem(n_1,_1),a_is([-1,13,0,15]);title('_1��), ylabel("x(n)��);subplot(5,3,2),stem(n_2,_2),a_is([;1,13,0,5]);title("_2');subplot(5,3,3),stem(n_1,_4),a_is([-1,13,0,26]);title(��_4=2*x1+3*x3");subplot(5,3,4),plot(w,abs(_1)); ylabel('幅度��)subplot(5,3,7),plot(w,angle(X1));ylabel(��相位')subplot(5,3,10),plot(w,real(X1));ylabel(��实部��)subplot(5,3,13),plot(w,imag(_1)); ylabel("虚部��) subplot(5,3,5),plot(w,abs(_3));subplot(5,3,8),plot(w,angle(X3));subplot(5,3,11),plot(w,real(_3)); subplot(5,3,14),plot(w,imag(_3));subplot(5,3,6),plot(w,abs(_4));subplot(5,3,9),plot(w,angle(X4));subplot(5,3,12),plot(w,real(_4)); subplot(5,3,15),plot(w,imag(X4));(b)结果:(2)卷积:(a)代码: n_1=0:11; nx2=0:9; n_3=0:20;w=linspace(-8,8,40); %w=[;8,8]分 10000 份_1=[1 2 3 45 6 78 9 10 11 12]; _2=[1 1 1 1 1 1 1 1 1 1]; _3=conv(_1,x2);% _1 卷积 _2 x4=_1*e_p(-j*n_1"_w);% _1频率特性 _5=x2_e_p(-j*nx2��*w);% _2 频率特性 _6=_3_e_p(-j*nx3"*w);% _1 卷积_2频率特性 _7=_4、__5;subplot(2,2,1),stem(n_1,_1),a_is([;1,15,0,15]),title(��_1"); su b plo t (2,2,2), st em(n_2, x2 ),a_ i s([;1, 15,0,5]),title(��_2��); subplot(2,1,2),stem(n_3,x3),a_is([;1,25,0,80]);title('_1卷积x2 结果_3��); figure,subplot(2,2,1),stem(_4,"filled��),title("x1得DTFT 结果x4��);subplot(2,2,2),stem(_5,"filled'),title(��_2得DTFT结果 _5��);subplot(2,2,3),stem(x6,'filled��),title(��x3得 DTFT 结果 _6��);subplot(2,2,4),stem(_7,"filled'),title('_4 得DTFT 结果x7��);figure,subplot(3,2,1),stem(w,abs(x6)), ylabel("幅度��),title(��_1 卷积 _2 得 DTFT');subplot(4,2,3),stem(w,angle(x6)),ylabel("相位")subplot(4,2,5),stem(w,real(x6)),ylabel("实部��)subplot(4,2,7),stem(w,imag(_6)),ylabel('虚部��)subplot(4,2,2),stem(w,abs(_7)), title(��_1 与_2 得 DTFT得乘积��);subplot(4,2,4),stem(w,angle(_7));subplot(4,2,6),stem(w,real(x7));subplot(4,2,8),stem(w,imag(_7));(b)结果:(3)共轭:(a)代码: _1n=[1 2 3 4 5 6 7 8 9 1011 12]; w=;10:10; N1=length(x1n);n1=0:N1;1;_1=real(_1n); _2=imag(x1n); _2n=x1;j*_2;X1=_2n_(e_p(-j)、^(n1'*w)); _2=_1n_(e_p(j)、^(n1��*w)); _3=real(_2); _4=imag(X2); X2=_3;j__4; figure,subplot(211);stem(w,X1,".��);title("_1n共轭得 DTFT��);subplot(212);stem(w,X2,"、��);title("x1n 得DTFT 取共轭且反折"); (b)结果:3。

MAtlab-傅里叶变换-实验报告(最新-编写)

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课后实验(吴镇扬)

数字信号处理实验报告实验一熟悉MATLAB环境实验二信号的采样与重建实验三快速变换及其应用实验四 IIR数字滤波器的设计实验五 FIR数字滤波器的设计实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。

(2)学会简单的矩阵输入和数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。

在熟悉了MATLAB基本命令的基础上,完成以下实验。

上机实验内容:(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];n=1:4;C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(4,2,1);stem(n,A,'fill');xlabel ('时间序列n');ylabel('A');subplot(4,2,2);stem(n,B,'fill');xlabel ('时间序列n ');ylabel('B');subplot(4,2,3);stem(n,C,'fill');xlabel ('时间序列n ');ylabel('A+B');subplot(4,2,4);stem(n,D,'fill');xlabel ('时间序列n ');ylabel('A-B');subplot(4,2,5);stem(n,E,'fill');xlabel ('时间序列n ');ylabel('A.*B');subplot(4,2,6);stem(n,F,'fill');xlabel ('时间序列n ');ylabel('A./B');subplot(4,2,7);stem(n,G,'fill');xlabel ('时间序列n ');ylabel('A.^B');运行结果:(2)用MATLAB实现以下序列。

数字信号处理实验~~~~快速傅里叶变换及其应用

数字信号处理实验~~~~快速傅里叶变换及其应用

1. 实验目的及原理1.1实验目的:(1)在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB中的有关函数。

(2)应用FFT对典型的信号进行频谱分析。

(3)了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。

(4)应用FFT实现序列的线性卷积和相关。

1.2实验原理:快速傅氏变换(FFT),是离散傅里叶变换的快速算法,它是根据离散傅氏变换的奇,偶,虚,实等特性,对离散傅里叶变换的算法进行改进获得的,根据不同的情况又分为按时间抽取的FFT和频率抽取的FFT,同时还包括N为任意复合数的算法以及Chirp-z变化算法。

2. 实验步骤和内容(2)衰减的正弦序列观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?说明产生现象的原因。

MATLAB代码:clearx=0:15a=0.1f=0.5625y=exp(-(a.*x)).*sin(2.*pi.*f.*x)subplot(1,2,1)stem(x,y)xk=fft(y,16)subplot(1,2,2)stem(x,abs(xk))f=0.0625f=0.4375f=0.5625(4)一个连续信号含两个频率分量,经采样得x(n)=sin[2π*0.125n]+cos[2π*(0.125+f)*n] n=0,1,……,N-1 已知N=16,f分别为1/16和1/64,观察其频谱;当N=128时,Δf 不变,其结果有何不同,为什么?MATLAB代码:N=16f=1/16x=0:N-1y=sin(2*pi*0.125*x)+c os(2*pi*(0.125+f)*x)xk=fft(y,N)stem(x,abs(xk))将N=16,f=1/16依次改为N=16,f=1/64和N=128,f=1/16和N=128,f=1/64。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三快速傅里叶变换及其应用一:实验目的(1)加深对FFT的理解,熟悉matlab中的有关函数。

(2)应用FFT对典型信号进行频谱分析。

(3)了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT.(4)应用FFT实现序列的线性卷积和相关。

二:实验原理:在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。

这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:反变换为:有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。

FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。

它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。

常用的FFT是以2为基数的,其长度。

它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。

(一)在运用DFT进行频谱分析的过程中可能的产生三种误差(1) 混叠序列的频谱是被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。

避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。

(2) 泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。

泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。

为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。

(3) 栅栏效应DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。

减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

(二)用FFT计算线性卷积用FFT可以实现两个序列的圆周卷积。

在一定的条件下,可以使圆周卷积等于线性卷积。

一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N≥N1+N2对于长度不足N 的两个序列,分别将他们补零延长到N 。

当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。

有两种方法:(1)重叠相加法。

将长序列分成与短序列相仿的片段,分别用FFT 对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。

(2) 重叠保留法。

这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。

(三)用FFT 计算相关函数两个长为N 的实离散时间序列)(n x 与)(n y 的互相关函数定义为 :)()()()()()()(101m y m x n y m n x m n y n x m r N n N m xy *-=-=+=∑∑-=-=)(n r xy 的离散傅里叶变换为:10),()()(-≤≤=*N k k Y k X k R xy当)()(n y n x =时,得到)(n x 的自相关函数为:km Nj N n N k xx e k X N m n x n x m r π221010)(1)()()(∑∑-=-==+=利用FFT 求两个有限长序列线性相关的步骤(设)(n x 长1N ,)(n y 长2N ):(1)为了使两个有限长序列的线性相关可用其圆周相关代替而不产生混淆,选择周期LN 2=≥121-+N N ,以便使用FFT ,将)(n x ,)(n y 补零至长为N 。

(2)用FFT 计算10),(),(-≤≤N k k Y k X(3)10),()()(-≤≤=*N k k Y k X k R xy(4)对)(k R xy 作IFFT ;取后1-N 项,得11)(-≤≤+-m N m r xy ;取前N 项,得10)(-≤≤N m m r xy 。

三、实验容及步骤实验中用到的信号序列:a)高斯(Gaussian )序列 b)衰减正弦序列⎪⎩⎪⎨⎧≤≤=--其它150)(2)(n en x q p n a⎩⎨⎧≤≤=-其它0150)2sin()(n fn e n x an b πc)三角波序列 d)反三角波序列⎪⎩⎪⎨⎧≤≤-≤≤=其它074830)(n nn n n x c⎪⎩⎪⎨⎧≤≤-≤≤-=其它0744304)(n n n n n x d上机实验容:(1)观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q 的值,使q 分别等于2,4,8,观察它们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p ,使p 分别等于8,13,14,观察参数p 变化对信号序列的时域及幅频特性的影响,观察p 等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。

参数p=8不变 主要代码如下: i=1:15; p=8;q=2;subplot(3,2,1);x(i)=exp((-(i-p).^2)/q); stem(x);xlabel('n'); subplot(3,2,2); G=fft(x);plot(abs(G(1:15)));xlabel('k'); 运行结果如下:对比三图可知:P 不变,随着q 值的增大,时域信号幅值变化缓慢时域幅度对应变大,波形变胖,低频分量变多,频域信号频谱泄露程度减小。

参数q=8不变代码和之前相比只要改变相应几个参数而已,故不列出;运行结果如下:可见,当q不变,随着p的增大,时域信号幅值不变,会在时间轴移位,对应右移,可见p决定了波形位置,当实验中q=8,p=13时,明显出现泄漏。

(2)观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?说明产生现象的原因。

其中一段代码如下(其他的都是改变参数而已):a=0.1;f=0.0625;for i=1:16x(i)=exp(-a*(i-1))*sin(2*pi*f*(i-1));endfor i=17:100x(i)=0;endn=0:15;subplot(3,2,1);plot(n(1:16),x(1:16));xlabel('n');subplot(3,2,2);G=fft(x,16);plot(n(1:16),abs(G(1:16)));xlabel('k');结果:(3)观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列xc(n)和xd(n)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。

主要代码如下:for i=1:4x(i)=i-1;endfor i=5:8x(i)=9-i;endn=0:7;subplot(2,2,1);plot(n,x(1:8));xlabel('n');subplot(2,2,2);G=fft(x,8);plot(n(1:8),abs(G(1:8)));xlabel('k');结果:在xc(n)和xd(n)末尾补零,用N=32点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两情况的FFT 频谱还有相同之处吗?这些变化说明了什么?代码只需改动几处数据即可,其中一段如下所示:for i=1:4x(i)=i-1;x(i)=9-i;endfor i=9:32x(i)=0;endn=0:31;subplot(2,1,1);G=fft(x,32);plot(n(1:32),abs(G(1:32)));xlabel('k');运行结果:变化:反三角波的低频分量增多,对信号末尾补零加长整数个周期可以对原信号达到细化频谱的作用。

(4) 一个连续信号含两个频率分量,经采样得x(n)=sin[2π*0.125n]+cos[2π*(0.125+Δf)n]n=0,1……,N-1已知N=16,Δf分别为1/16和1/64,观察其频谱;当N=128时,Δf不变,其结果有何不同,为什么?其中一段代码如下:实现方法和之前一样N=16;f=1/16;for n=1:Nx(n)=sin(2*pi*0.125*(n-1))+cos(2*pi*(0.125+f)*(n-1));subplot(2,2,1);G=fft(x,16);plot(n(1:16),abs(G(1:16)));xlabel('k');运行结果:(5)用FFT分别实现xa(n)(p=8,q=2)和 xb(n)(a=0.1,f=0.0625)的16点循环卷积和线性卷积。

for i=1:16x(i)=exp((-(i-1-8).^2)/2);y(i)=exp(-0.1*(i-1))*sin(2*pi*0.0625*(i-1));end%for i=17:31% x(i)=0;% y(i)=0;n=0:30G1=fft(x,31);G2=fft(y,31);z=ifft(G1.*G2,31);subplot(2,1,1);plot(n(1:31),z(1:31));subplot(2,1,2);G1=fft(x,16);G2=fft(y,16);z=ifft(G1.*G2,16);n=0:15;plot(n(1:16),z(1:16));运行结果:(6)产生一512点的随机序列xe(n),并用xc(n)和xe(n)作线性卷积,观察卷积前后xe(n)频谱的变化。

要求将xe(n)分成8段,分别采用重叠相加法和重叠保留法。

相关文档
最新文档