快速傅立叶变换信号分析实例

快速傅立叶变换信号分析实例
快速傅立叶变换信号分析实例

快速傅立叶变换信号分析实例(MATLAB运用)

一、介绍几个将要用的函数

[x,fs,bits]=wavread(‘filename’)

这是一个MATLAB中读取wav文件的数据的函数。其中的x表示一长串的数据,一般是两列(立体声;fs是该wav文件在采集时用的采样频率;bits是指在进行A/D转换时用的量化位长(一般是8b或16b),‘filename是函数的路径及其名字’。

[d]=fff(w,l)

这是MATLAB中快速傅立叶变换(FFT)是函数的一种输入输出形式。w是一列波形数据:l是指用多少点的FFT,此处应该选择2的乘方的数(如16、128、1024等),因为这样就可以使用优化的蝶形算法;d是频域的输出。由于FFT的对称性,又输入的是实数,FFT的结果的复数序列是共轭反对称的,所以它们的模的大小对称,一般说只用取一半的数据就可以了。

sound(w,fs,bits)

和前面的wavread一样的参数表示,它将数列的数据通过声卡转化为声音。

二、分段进行傅立叶变换

[w,fs,bits]=wavread('E:\matlab\实验\ding.wav') %读取声音数据

1. 显示双声道波形

subplot(2,1,1);

plot(w(:,1));

subplot(2,1,2);

plot(w(:,2)); %显示双通道波形

2. 作1024点的fft变换

u=w(:,1);

n=round(length(u)/1024) %分段

z=zeros(n,1024);

for i=1:n-1

z(i,:)=(fft(u(1024*(i-1)+1:1024*i),1024))'; %用1024点的fft

end

z(n,:)=fft(u(1024*(n-1)+1:length(u)),1024)';%剩下的一部分,在后面补0,凑成1024个数据

u=w(:,2);

z2=zeros(n,1024);

for i=1:n-1

z2(i,:)=(fft(u(1024*(i-1)+1:1024*i),1024))'; %用1024点的fft

end

z2(n,:)=fft(u(1024*(n-1)+1:length(u)),1024)';

3.寻找峰值,重构信号

[m,i]=max(abs(z(:,1:200)'))

[m2,i2]=max(abs(z(:,100:200)'))

i2=i2+100;

t=[1:1024]*fs;

for j=1:20

u(1024*j-1023:1024*j)=m(j)*sin(i(j)/1024*fs*t)+m2(j)*sin(i2(j)/1024*f s*t);

end

%u=u/20; %调整幅值

figure

plot(u(1:2:length(u))); %画出重构声音信号

sound(u,fs,bits); %听重构后的声音信号

三、实例

(1) 分析windows系统自带的ding.wav,用sound函数驱动声卡发声,并计算信号大小(利用size函数),画出图形。

(2) 对单通道声音信号运用快速傅立叶变换(fft),画出信号频域的幅值图。(提示:根据声音文件的大小确定快速傅立叶变换的点数N)

(3) 观察频域图形,找出其主要分量的位置和幅值。

(4) 对主要冲击峰值进行重构,恢复原信号,并用sound函数驱动声卡发声,听恢复效果。

clear all;clc;

[w,fs,bits]=wavread('D:\matlab\实验五\ding.wav') %读取声音数据sound(w,fs,bits)

x=w(:,1)

subplot(2,1,1);plot(x);title('sound函数驱动声卡发声');

d=size(x) %计算信号大小

y=fft(x,2^15)

subplot(2,1,2);plot(abs(y)); title('信号频域的幅值图'); %画出信号频域的幅值图

[m1,i1]=max(abs(y)) %峰值1

F1=i1/32768*fs %主频1

[m2,i2]=max(abs(y(4000:5000))) %峰值2

F2=(4000+i2)/32768*fs %主频2

[m3,i3]=max(abs(y(10000:11000))) %峰值3

F3=(10000+i3)/32768*fs %主频3

t=[0:0.00004535:1];

p=[sin(2*pi*F1*t)*1+sin(2*pi*F2*t)*(m2/m1)+sin(2*pi*F3*t)*(m3/m1)]*0.18; %适当控制其幅度

sound(p,22050) %信号重构发声

(1) 信号大小d=20191

(3) 主要分量的位置和幅值:m1 = 490.3636,i1 = 1171;m2 = 22.6522,i2 = 717;m3 = 2.9960,i3 = 307

实验八 利用快速傅里叶变换(FFT)实现快速卷积(精选、)

实验八 利用FFT 实现快速卷积 一、 实验目的 (1) 通过这一实验,加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。 (2) 进一步掌握循环卷积和线性卷积两者之间的关系。 二、 实验原理与方法 数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应(Finite Impulse Response )系统(简记为FIR 系统)和无限长单位脉冲响应(Infinite Impulse Response )系统(简记为IIR 系统)。 对于FIR 滤波器来说,除了可以通过数字网络来实现外,也可以通过FFT 的变换来实现。 一个信号序列x(n)通过FIR 滤波器时,其输出应该是x(n)与h(n)的卷积: ∑+∞ -∞ =-= =m m n h m x n h n x n y )()()(*)()( 或 ∑+∞ -∞ =-= =m m n x m h n x n h n y ) ()()(*)()( 当h(n)是一个有限长序列,即h(n)是FIR 滤波器,且10-≤≤N n 时 ∑-=-=1 0) ()()(N m m n x m h n y 在数字网络(见图6.1)类的FIR 滤波器中,普遍使用的横截型结构(见下图6.2 图6.1 滤波器的数字网络实现方法 图6.2 FIR 滤波器横截型结构 y(n) y(n) -1-1-1-1

应用FFT 实现数字滤波器实际上就是用FFT 来快速计算有限长度列间的线性卷积。 粗略地说,这种方法就是先将输入信号x(n)通过FFT 变换为它的频谱采样 值X(k),然后再和FIR 滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT )还原为时域序列,即得到输出y(n)如图6.3所示。 图6.3 数字滤波器的快速傅里叶变换实现方法 现以FFT 求有限长序列间的卷积及求有限长度列与较长序列间的卷积为例来讨论FFT 的快速卷积方法。 (1) 序列)(n x 和)(n h 的列长差不多。设)(n x 的列长为1N ,)(n h 的列长为2N ,要求 )()(n x n y =N ∑-=-==1 ) ()()(*)()(N r r n h r x n h n x n h 用FFT 完成这一卷积的具体步骤如下: i. 为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度121-+≥N N N ,若采用基2-FFT 完成卷积运 算,要求m N 2=(m 为整数)。 ii. 用补零方法使)(n x ,)(n h 变成列长为N 的序列。 ?? ?-≤≤-≤≤=10 10)()(11N n N N n n x n x ?? ?-≤≤-≤≤=10 1 0)()(22N n N N n n h n h iii. 用FFT 计算)(),(n h n x 的N 点离散傅里叶变换 )()(k X n x FFT ??→? )()(k H n h FFT ??→? iv. 做)(k X 和)(k H 乘积,)()()(k H k X k Y ?= v. 用FFT 计算)(k Y 的离散傅里叶反变换得 y(n)

实验二 参考 快速傅立叶变换(FFT)及其应用

实验二快速傅立叶变换(FFT )及其应用 一、实验目的 1.在理论学习的基础上,通过本实验,加深对FFT 的理解,熟悉FFT 子程序。 2.熟悉应用FFT 对典型信号进行频谱分析的方法 3.了解应用FFT 进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT 。 二、实验原理 在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier 变换(DFT)。这一变换不但可以很好的反映序列的频谱特性,而且易于用快速 算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为: 1 0()()N kn N n X k x n W -==∑, 2n j N N W e -=反换为:10 1()()N kn N k x n X k W N --==∑有限长序列的DFT 是其Z 变换在单位圆上的 等距采样,或者是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。 FFT 并不是与DFT 不同的另一种变换,而是为了减少DFT 运算次数的一种快速算法。它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的FFT 是以2为基数的,其长度 N=2L ,它的效率高,程序简单使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT ,可以用末位补零的方法,使其长度延长至2的整数次方。 在运用DFT 进行频谱分析的过程中可能产生几种问题: (1) 混叠 序列的频谱时被采样信号的周期延拓,当采样速率不满足Nyquist 定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。 避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。 (2) 泄漏 实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT 来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。 泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。 DFT 是对单位圆上Z 变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT 来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。 减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT 的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。 用FFT 可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周卷积等于线性卷积。一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是

实验一快速傅里叶变换

实验一 快速傅里叶变换之报告 一 、实验目的 1、在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2、熟悉并掌握按时间抽取FFT 算法的程序; 3、了解应用FFT 进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、 栅栏效应等,以便在实际中正确应用FFT 。 二 实验内容 a ) 信号频率F =50Hz ,采样点数N=32,采样间隔T= matlab 程序代码为: F=50; T=; N=32; n=0:N-1; t=n*T; A=sin(2*pi*F*t); figure; Y = fft(A,N); h = (abs(Y)); h=h/max(h(1:N)); for n=1:N; string1=strcat('X(',num2str(n-1), ')=',num2str(h(n))); disp(string1); f=(n/T)/N; end stem([0:N-1]/N/T,h); xlabel('?μ?ê/HZ'); ylabel('??·ùX£¨ejw£?'); title('·ù?μì?D?'); 上述代码命令中,将FFT 变换后的数字变量K ,在画图时转换成频域中的频率f 。这主 要是根据数字频率与模拟域频率之间的关系: T Ω=ω 其中ω、Ω分别为数字和模拟域中的频率,且N k πω2= f π2=Ω 于是有: NT k f = 运算结果: X(1)=1 X(2)= X(3)= X(4)=

X(5)= X(6)= X(7)= X(8)= X(9)= X(10)= X(11)= X(12)= X(13)= X(14)= X(15)= X(16)= X(17)= X(18)= X(19)= X(20)= X(21)= X(22)= X(23)= X(24)= X(25)= X(26)= X(27)= X(28)= X(29)= X(30)= X(31)=1 b)信号频率F=50Hz,采样点数N=32,采样间隔T= 同理可将a)中F、N、T,参数改成要求值(以下均是如此),即可得,X(0)= X(1)= X(2)= X(3)= X(4)= X(5)= X(6)= X(7)= X(8)=1 X(9)= X(10)= X(11)= X(12)= X(13)= X(14)= X(15)= X(16)= X(17)= X(18)= X(19)= X(20)= X(21)= X(22)= X(23)= X(24)=1 X(25)= X(26)= X(27)= X(28)= X(29)= X(30)= X(31)=

快速傅立叶变换(FFT)算法_DSP实验

快速傅立叶变换(FFT)算法实验 摘要:FFT(Fast Fourier Transformation),即为快速傅里叶变换,是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。这种算法大大减少了变换中的运算量,使得其在数字信号处理中有了广泛的运用。本实验主要要求掌握在CCS环境下用窗函数法设计FFT快速傅里叶的原理和方法;并且熟悉FFT快速傅里叶特性;以及通过本次试验了解各种窗函数对快速傅里叶特性的影响等。 引言: 快速傅里叶变换FFT是离散傅里叶变换DFT的一种快速算法。起初DFT的计算在数字信号处理中就非常有用,但由于计算量太大,即使采用计算机也很难对问题进行实时处理,所以并没有得到真正的运用。1965年J.W.库利和T.W.图基提出快速傅里叶变换,采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。从此,对快速傅里叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。FFT 的出现,使信号分析从时域分析向频域分析成为可能,极大地推动了信号分析在各领域的实际应用。FFT在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。

一、 实验原理: FFT 并不是一种新的变换,它是离散傅立叶变换(DFT )的一种快速算法。由于我们在计算DFT 时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。每运算一个X (k )需要4N 次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。所以整个DFT 运算总共需要4N^2次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。如此一来,计算时乘法次数和加法次数都是和N^2成正比的,当N 很大时,运算量是可观的,因而需要改进对DFT 的算法减少运算速度。 根据傅立叶变换的对称性和周期性,我们可以将DFT 运算中有些项合并。我们先设序列长度为N=2^L ,L 为整数。将N=2^L 的序列x(n)(n=0,1,……,N-1),按N 的奇偶分成两组,也就是说我们将一个N 点的DFT 分解成两个N/2点的DFT ,他们又从新组合成一个如下式所表达的N 点DFT : ∑∑∑∑∑-=+-=-=++ = + =-≤≤= =1 )12(1 20 2为奇 为偶 10 )12()2()()(10, )()]([)(N r k r N N r rk N n nk N n nk N N n nk N W r x W r x W n x W n x N k W n x n x DFT k X

DSP-快速傅立叶变换(FFT)算法实验

中南大学 DSP技术实验报告 实验名称:快速傅立叶变换(FFT)算法实验专业班级:信息0602 学生姓名:张倩曦(学号:24) 指导老师:陈宁 完成日期: 2009年12月2日 中南大学·信息科学与工程学院

快速傅立叶变换(FFT)算法实验一.实验目的 1.掌握用窗函数法设计FFT 快速傅里叶的原理和方法; 2.熟悉FFT 快速傅里叶特性; 3.了解各种窗函数对快速傅里叶特性的影响。 二.实验设备 PC 兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装Code Composer Studio 软件。 三.实验原理 1.FFT 的原理和参数生成公式: 公式(1)FFT 运算公式 FFT 并不是一种新的变换,它是离散傅立叶变换(DFT)的一种快速算法。由于我们在计算DFT 时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。 每运算一个X(k)需要4N 次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。所以整个DFT运算总共需要4N^2 次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。如此一来,计算时乘法次数和加法次数都是和N^2 成正比的,当N 很大时,运算量是可观的,因而需要改进对DFT 的算法减少运算速度。 根据傅立叶变换的对称性和周期性,我们可以将DFT 运算中有些项合并。我们先设序列长度为N=2^L,L 为整数。将N=2^L 的序列x(n)(n=0,1,……,N-1),

按N的奇偶分成两组,也就是说我们将一个N 点的DFT 分解成两个N/2 点的DFT,他们又重新组合成一个如下式所表达的N 点DFT: 一般来说,输入被假定为连续的。当输入为纯粹的实数的时候,我们就可以利用左右对称的特性更好的计算DFT。 我们称这样的RFFT 优化算法是包装算法:首先2N 点实数的连续输入称为“进包”。其次N 点的FFT 被连续运行。最后作为结果产生的N 点的合成输出是“打开”成为最初的与DFT 相符合的2N 点输入。使用这一思想,我们可以划分FFT 的大小,它有一半花费在包装输入O(N)的操作和打开输出上。这样的RFFT 算法和一般的FFT 算法同样迅速,计算速度几乎都达到了两次DFT的连续输入。下列一部分将描述更多的在TMS320C55x 上算法和运行的细节。 5.程序流程图:

信号分析与处理

信号分析与处理 第一章绪论:测试信号分析与处理的主要内容、应用;信号的分类,信号分析与信号处理、测试信号的描述,信号与系统。 测试技术的目的是信息获取、处理和利用。 测试过程是针对被测对象的特点,利用相应传感器,将被测物理量转变为电信号,然后,按一定的目的对信号进行分析和处理,从而探明被测对象内在规律的过程。 信号分析与处理是测试技术的重要研究内容。 信号分析与处理技术可以分成模拟信号分析与处理和数字信号分析与处理技术。 一切物体运动和状态的变化,都是一种信号,传递不同的信息。 信号常常表示为时间的函数,函数表示和图形表示信号。 信号是信息的载体,但信号不是信息,只有对信号进行分析和处理后,才能从信号中提取信息。 信号可以分为确定信号与随机信号;周期信号与非周期信号;连续时间信号与离散时间信号;能量信号与功率信号;奇异信号; 周期信号无穷的含义,连续信号、模拟信号、量化信号,抽样信号、数字信号 在频域里进行信号的频谱分析是信号分析中一种最基本的方法:将频率作为信号的自变量,在频域里进行信号的频谱分析; 信号分析是研究信号本身的特征,信号处理是对信号进行某种运算。 信号处理包括时域处理和频域处理。时域处理中最典型的是波形分析,滤波是信号分析中的重要研究内容; 测试信号是指被测对象的运动或状态信息,表示测试信号可以用数学表达式、图形、图表等进行描述。 常用基本信号(函数)复指数信号、抽样函数、单位阶跃函数单位、冲激函数(抽样特性和偶函数)离散序列用图形、数列表示,常见序列单位抽样序列、单位阶跃序列、斜变序列、正弦序列、复指数序列。 系统是指由一些相互联系、相互制约的事物组成的具有某种功能的整体。被测系统和测试系统统称为系统。输入信号和输出信号统称为测试信号。系统分为连续时间系统和离散时间系统。

快速傅里叶变换实验报告..

快速傅里叶变换实验报告 班级: 姓名: 学号:

快速傅里叶变换 一.实验目的 1.在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2.熟悉并掌握按时间抽取FFT 算法的程序; 3.了解应用FFT 进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT 。 二.实验内容 1.仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT 进行信号分析的C 语言(或MATLAB 语言)程序; 2.用FFT 程序分析正弦信号 ()sin(2)[()(*)],(0)1y t f t u t u t N T t u π=---∞<<+∞=设 分别在以下情况进行分析并讨论所得的结果: a ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.000625s b ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.005s c ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.0046875s d ) 信号频率f =50Hz ,采样点数N=32,采样间隔T=0.004s e ) 信号频率 f =50Hz ,采样点数N=64,采样间隔T=0.000625s f ) 信号频率f =250Hz ,采样点数N=32,采样间隔T=0.005s g ) 将c ) 信号后补32个0,做64点FFT 三.实验要求 1.记录下实验内容中各种情况下的X (k)值,做出频谱图并深入讨论结果,说明参数的变化对信号频谱产生哪些影响。频谱只做模特性,模的最大值=1,全部归一化;

2.打印出用C 语言(或MATLAB 语言)编写的FFT 源程序,并且在每一小段处加上详细的注释说明; 3.用C 语言(或MATLAB 语言)编写FFT 程序时,要求采用人机界面形式: N , T , f 变量均由键盘输入,补零或不补零要求设置一开关来选择。 四.实验分析 对于本实验进行快速傅里叶变换,依次需要对信号进行采样,补零(要求补零时),码位倒置,蝶形运算,归一化处理并作图。 此外,本实验要求采用人机界面形式,N,T,F 变量由键盘输入,补零或不补零设置一开关来选择。 1.采样 本实验进行FFT 运算,给出的是正弦信号,需要先对信号进行采样,得到有限 长序列()n x , N n ...... 2,1,0= Matlab 实现: t=0:T:T*(N-1); x=sin(2*pi*f*t); 2.补零 根据实验要求确定补零与否,可以用if 语句做判断,若为1,再输入补零个数, 并将补的零放到采样得到的序列的后面组成新的序列,此时新的序列的元素个数等于原采样点个数加上补零个数,并将新的序列个数赋值给N 。 Matlab 实现: a=input('是否增加零点? 是请输入1 否请输入0\n'); if (a) ZeroNum=input('请输入增加零点的个数:\n'); else ZeroNum=0; end if (a) x=[x zeros(1, ZeroNum)];%%指令zeros(a,b)生成a 行b 列全0矩阵,在单行矩阵x 后补充0 end N=N+ZeroNum; 3.码位倒置 本实验做FFT 变换的级数为M ,N M 2log =

连续信号的傅里叶变换及matlab显示

(1)f(t)=u(t+6)-u(t-6) (2)f1(t)=f(-2t) (3)f2(t)=f(t-2) (4)f3(t)=f(t)· 以上四个式子的Matlab编程求其傅里叶变换与幅频特性,相频特性图 dt=0.001 t=-15:dt:15; f=(t>=-6)-(t>=6); k=-600:600; w1=2*pi*k/600; F=f*exp(-j*t'*w1)*dt; subplot(4,3,1); plot(t,f); axis([-15,15,-0.1,1.1]);grid; subplot(4,3,2); plot(w1,abs(F)); axis([-7,7,-1,13]);grid; subplot(4,3,3); plot(w1,angle(F)); axis([-10,10,-5,5]);grid; dt=0.001 t=-15:dt:15; f=(t<=6)-(t<=-3); k=-600:600; w1=2*pi*k/600; F=f*exp(-j*t'*w1)*dt; subplot(4,3,4); plot(t,f); axis([-15,15,-0.1,1.1]);grid; subplot(4,3,5); plot(w1,abs(F)); axis([-7,7,-1,10]);grid;

subplot(4,3,6); plot(w1,angle(F)); axis([-10,10,-5,5]);grid; dt=0.001 t=-15:dt:15; f=(t>=-4)-(t>=8); k=-600:600; w1=2*pi*k/600; F=f*exp(-j*t'*w1)*dt; subplot(4,3,7); plot(t,f); axis([-15,15,-0.1,1.1]);grid; subplot(4,3,8); plot(w1,abs(F)); axis([-7,7,-1,13]);grid; subplot(4,3,9); plot(w1,angle(F)); axis([-8,8,-5,5]);grid; dt=0.001; t=-15:dt:15; f=((t>=-6)-(t>=6)).*exp(-j*5*t); k=-600:600; w1=2*pi*k/600; F=f*exp(-j*t'*w1)*dt; subplot(4,3,10); plot(t,f); axis([-10,10,-1.2,1.2]);grid; subplot(4,3,11); plot(w1,abs(F)); axis([-7,7,-1,13]);grid; subplot(4,3,12); plot(w1,angle(F)); axis([-8,8,-5,5]);grid;

快速傅里叶变换实验报告

快速傅里叶变换实验报告 快速傅里叶变换实验报告 机械34班刘攀 2019010558 一、基本信号(函数)的FFT变换 1. x(t)=sin(ω0t+)+sin2ω0t+cos3ω0t 6 1) 采样频率fs=8f0,截断长度N=16; 取ω0=2πrad/s,则f0=1Hz,fs=8Hz,频率分辨率?f=?f=fs=0.5Hz。 Nπ最高频率fc=3f0=3Hz,fs>2fc,故满足采样定理,不会发生混叠现象。截断长度T=2T0,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图如下: 幅值误差?A=0,相位误差??=0。 2) 采样频率fs=8f0,截断长度N=32; 取ω0=2πrad/s,则f0=1Hz,fs=8Hz,频率分辨率?f=?f=fs=0.25Hz。 N最高频率fc=3f0=3Hz,fs>2fc,故满足采样定理,不会发生混叠现象。截断长度T=4T0,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图如下: 幅值误差?A=0,相位误差??=0。 2. x(t)=sin(ω0t+π 6)+sin11ω0t 1) 采样频率fs=8f0,截断长度N=16; 取ω0=2πrad/s,则f0=1Hz,fs=8Hz,频率分辨率?f=?f=fs=0.5Hz。 N最高频率 fc=11f0=11Hz,fs 漏,但在整周期截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图:

由上图可以看出,并未体现出11f0的成分,说明波形出现混叠失真。为了消除混叠 现象,应加大采样频率,使之大于等于 22Hz。 f0处的幅值误差?A=0,11f0处由于出现 了混叠现象,幅值误差没有意义;相位误差??=0。 2) 采样频率fs=32f0,截断长度N=32; 取ω0=2πrad/s,则f0=1Hz,fs=32Hz,频率分辨率?f=?f=fs=1Hz。 N最高频率 fc=11f0=11Hz,fs>2fc,故满足采样定理,不会发生混叠现象。 漏,但在整周期截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图: 该频谱图体现出了f0和11f0的成分,说明未失真,且幅值均为1,。幅值误差?A=0,相位误差??=0。 3. x(t)=0t 1) 采样频率fs=8f0,截断长度N=16; 取ω0=2πrad/s,则f0=1Hz,fs=8Hz,频率分辨率?f=?f=fs=0.5Hz。 N最高频率f cf 0Hz,fs>2fc,故满足采样定理,不会发生混叠现象。 频谱图: 在忽略旁瓣信号的情况下,可近似认为: x(t)≈0.9098cos(3ω0t+56.9520?) 故幅值误差?A=0.9096-1=-0.0904,相位误差??=56.9520?。 2) 采样频率fs=32f0,截断长度N=32; 取ω0=2πrad/s,则f0=1Hz,fs=32Hz,频率分辨率?f=?f=fs=1Hz。N最高频率f cf 0Hz,fs>2fc,故满足采样定理,不会发生混叠现象。 频谱图: 在忽略旁瓣信号的情况下,可近似认为:

连续时间傅里叶变换

2 奇偶信号的FS: (i) 偶信号的FS: 2 a n f (t)cosn T] T 1 Fn 弘 1tdt ; bn 2 T1 f (t)sin n 1tdt c n d n a n (ii ) jbn an 2 2 偶的周期信号的 奇信号的FS: F n ( Fn 实, 偶对称);n FS 系数只有直流项和余弦项。 2 T f(t)sinn 1tdt ; 5 dn T| 11 1 Fn F n jbn ( Fn 纯虚,奇对称); a a n 0 ; b n b n 2jFn 第二章连续时间傅里叶变换 1周期信号的频谱分析 一一傅里叶级数FS (1) 狄义赫利条件:在同一个周期 T1内,间断点的个数有限;极大值和极小值的数目有限;信号绝 为T i ,角频率为 ,2 f ,—。 Ti (3)任何满足狄义赫利条件周期函数都可展成傅里叶级数。 ⑷三角形式的FS: (i) 展开式:f(t) a 0 (ancon it bn sin n ,t) n 1 (ii) 系数计算公式: (a) 直流分量: ao f (t)dt T 1 T 1 (b) n 次谐波余弦分量: a n - f (t) cosn 1tdt, n N T1 T 1 2 (c) n 次谐波的正弦分量: bn — f (t)sinn 1tdt, n N T1 T 1 (iii) 系数an 和bn 统称为三角形式的傅里叶级数系数,简称傅里叶系数。 (iv) 称f1 1/T1为信号的基波、基频; nf1为信号的n 次谐波。 (V) 合并同频率的正余弦项得: n 和n 分别对应合并后 门次谐波的余弦项和正弦项的初相位。 (vi) 傅里叶系数之间的关系: (5)复指数形式的FS: (i) 展开式:f (t) Fne jn 1t n (ii) 系数计算:Fn 丄 f(t)e jn 1t dt, n Z T] T 1 (iii) 系数之间的关系: (iv) Fn 关于 n 是共扼对称的,即它们关于原点互为共轭。 (v) 正负n (n 非零)处的Fn 的幅度和等于Cn 或dn 的幅度。 对可积 丁 f(t)dt 。 (2)傅里叶级数:正交函数线性组合。 正交函数集可以是三角函数集 {1,cosn *,sinn 1t :n N}或复指数函数集 {e jn 术:n Z},函数周期

信号分析方法总结

信号分析方法总结 随机信号:不能用明确的数学表达式来表示,它反映的通常是一个随机过程,只能用概率和统计的方法来描述。 随机现象的单个时间历程称为样本函数。随机现象可能产生的全部样本函数的集合,称为随机过程 振动信号的时域分析方法 时间历程 描述信号随着时间的变化情况。 平均值 ∑=- = N i i x N x 1 1 均方值用来描述信号的平均能量或平均功率 ∑=-= N i i x N x 1 22 1 均方根值(RMS )为均方值的正平方根。是信号幅度最恰当的量度 方差表示信号偏离其均值的程度,是描述数据的动态分量∑=---=N i i x x x N 1 22 )(11σ 斜度α反映随机信号的幅值概率密度函数对于纵坐标的不对称性∑== N i i N x 1 3 1 α 峭度β对大幅值非常敏感。当其概率增加时,β值将迅速增大,有利于探测奇异振动信号 ∑== N i i N x 1 14β 信号的预处理: 1 预滤波 2 零均值化:消除数据中的直流分量 )()()(^n x n x n x - -=。 3 错点剔除:以标准差为基础的野点剔除法 4 消除趋势项

相关分析 1 自相关分析a=xcorr(x) 自相关函数描述一个时刻的信号与另一时刻信号之间的相互关系 工程上利用自相关函数检查混杂在随机噪声中有无周期性信号 2 互相关函数a=xcorr(x,y) 利用互相关函数所提供的延迟信号,可以研究信号传递通道和振源情况,也可以检测隐藏在外界噪声中的信号 振动信号的频域分析方法 1 自功率谱密度函数(自谱) 自功率谱描述了信号的频率结构,反映了振动能量在各个频率上的分布情况,因此在工程上应用十分广泛 2 互功率谱密度函数(互谱) 互谱不像自谱那样具有比较明显的物理意义,但它在频率域描述两个随机过程的相关性是有意义的。 3 频响函数 它是被测系统的动力特性在频域内的表现形式 4 相干函数 表示整个频段内响应和激励之间的相关性)(2 f yx γ=0表示不相干,)(2 f yx γ=1完全相干,即响应完全由激励引起,干扰为零。相干函数可以用来检验频响函数和互谱的测量精度和置信水平,也可以用来识别噪声的声源和非线性程度。一般认为相干值大于0.8时,频响函数的估计结果比较准确可靠。

快速傅里叶变换实验报告

快速傅里叶变换实验报告 机械34班 攀 2013010558 一、 基本信号(函数)的FFT 变换 1. 000()sin()sin 2cos36 x t t t t πωωω=+++ 1) 采样频率08s f f =,截断长度N=16; 取02ωπ=rad/s ,则0f =1Hz ,s f =8Hz ,频率分辨率f ?=s f f N ?==0.5Hz 。 最高频率c f =30f =3Hz ,s f >2c f ,故满足采样定理,不会发生混叠现象。 截断长度02T T =,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期 截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图如下:

幅值误差0A ?=,相位误差0??=。 2) 采样频率08s f f =,截断长度N=32; 取02ωπ=rad/s ,则0f =1Hz ,s f =8Hz ,频率分辨率f ?=s f f N ?==0.25Hz 。 最高频率c f =30f =3Hz ,s f >2c f ,故满足采样定理,不会发生混叠现象。 截断长度04T T =,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期 截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图如下:

幅值误差0A ?=,相位误差0??=。 2. 00()sin()sin116 x t t t πωω=++ 1) 采样频率08s f f =,截断长度N=16; 取02ωπ=rad/s ,则0f =1Hz ,s f =8Hz ,频率分辨率f ?=s f f N ?==0.5Hz 。 最高频率c f =110f =11Hz ,s f <2c f ,故不满足采样定理,会发生混叠现象。 截断长度02T T =,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期 截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图:

随机信号分析(第3版)课后习题解答

《随机信号分析》课程(32学时) —— 2007年教学内容建议 1 概率论基础 1.1 2 随机信号 2.1 两条样本函数为:0)(0=t X 、wt t X cos 21)(1=;1)0,(=x f X 、2)4,(=w x f X π;)(0-)2,(x w x f X δπ = 2.2 3103532)2,(=++=X E 、)()()(5-31 3-312-31)2,(x x x x F X εεε++= 2.3 )()(1-2121)21,(x x x F X εε+=、)()(2-2 1 121)1,(x x x F X εε++=; )()()()(2-,14 1 1,1412-,411,41)1,21,,(21x x x x x x x x x x F X -++-+++=εεεε 2.4 略 2.5 ) ()(1-1.09.0)5,(x x x F X εε+=;)()(y x y x y x F ,11.0,9.0)0025.0,0,,(-+=εε;0因为其概率为0.9;1的概率为1(样本函数),它是可预测的,就是样本函数。 2.6 略 2.7 略 2.8 )()(12 1121),(-++= x x n x f X δδ、 012 1 )1(21)(=?+-?= n X E 、 {})()]()([)]()()][()([),(2121221121n n n X n X E n m n X n m n X E n n Cov X X -==--=δ;不可预测 2.9 (2.19)10103523)()(),(2111=?== t t t t Cov σσρ、所以(X,Y )满足??? ? ??10103;5,2;2,2的高斯分布。其概率密度函数为:??? ? ????????-+--?--?-=??? ? ????????????-+--?----=5)2(5)2)(2(32)2(5exp 215)2(10)2)(2(1010322)2()10/91(21exp 21),(2 2 22y y x x y y x x y x f XY ππ;特征函数为: ? ??? ?? ++-+=)6)(5)(2(2 1)22(exp ),(21222121v v v v v v j y x XY φ 3 平稳性与功率谱密度 3.1 k k k u t t u u f ??? ? ??-=)4exp(2*21),,;,,(211π ; 因为k 阶概率密度函数与绝对时间无关,所以为严格平稳过程。 3.2 略 3.3 略

快速傅里叶变换实验

快速傅里叶变换实验

————————————————————————————————作者:————————————————————————————————日期: ?

实验七快速傅里叶变换实验 2011010541?机14 林志杭 一、实验目的 1.加深对几个特殊概念的理解:“采样”……“混叠”;“窗函数”(截断)……“泄漏”;“非整周期截取”……“栅栏”。 2.加深理解如何才能避免“混叠”,减少“泄漏”,防止“栅栏”的方法和措施以及估计这些因素对频谱的影响。 3.对利用通用微型计算机及相应的FFT软件,实现频谱分析有一个初步的了解。 二、实验原理 为了实现信号的数字化处理,利用计算机进行频谱分析――计算信号的频谱。由于计算机只能进行有限的离散计算(即DFT),因此就要对连续的模拟信号进行采样和截断。而这两个处理过程可能引起信号频谱的畸变,从而使DFT的计算结果与信号的实际频谱有误差。有时由于采样和截断的处理不当,使计算出来的频谱完全失真。因此在时域处理信号时要格外小心。 时域采样频率过低,将引起频域的“混叠”。为了避免产生“混叠”,要求时域采样时必须满足采样定理,即:采样频率fs必须大于信号中最高频率fc的2倍(fs>2fc)。因此在信号数字处理中,为避免混叠,依不同的信号选择合适的采样频率将是十分重要的。 频域的“泄漏”是由时域的截断引起的。时域的截断使频域中本来集中的能量向它的邻域扩散(如由一个δ(f)变成一个sinc(f),而泄漏的旁瓣将影响其它谱线的数值。时域截断还会引起“栅栏效应”,对周期信号而言,它是由于截断长度不等于周期信号的周期的整数倍而引起的。因此避免“栅栏”效应的办法就是整周期截断。 综上所述,在信号数字化处理中应十分注意以下几点: 1.为了避免“混叠”,要求在采样时必须满足采样定理。 为了减少“泄漏”,应适当增加截断长度和选择合适的窗 对信号进行整周期截取,则能消除“栅栏数应”。 增加截断长度,则可提高频率分辨率。 三、预习内容 熟悉Matlab语言、函数和使用方法;利用Matlab所提供的FFT函数编写程序。 四、实验内容及步骤 调通所编写的程序,对下列信号〔函数〕进行离散FFT变换,根据题目的要求……FFT变换点数〔截断长度〕及采样频率,计算各点的傅里叶变换值,画出频谱图,对典型的谱线标出其幅值及相角。 (-)内容: 1. t t t t x 3 cos 2 sin ) 6 sin( )(ω ω π ω+ + + = 代码: N=input('N='); n=input('n=');t=1:1:N;

信号分析第三章答案

第三章习题参考解答 3.1 求下列信号展开成傅里叶级数,并画出响应相应的幅频特性曲线。 解 (a) ?-= T t jk dt e t x T k X 0 11)(1 )(ωω?-= τ ω011dt Ae T t jk 2 121τωτωτ k Sa e T A k j -= )2(1T πω= t jk k j k e e k Sa T A t x 11212)(ωωτ τωτ ?= ∴-∞ -∞ =∑ 3.1

解 (b) ?-=T t jk dt e t x T k X 0 11)(1)(ωω?-= T t jk dt te T A T 011 ω? --?=T t jk e td jk T A 01 2][1 1ωω ? -+ -=T t jk dt e T jk A k j A 02 112ωωπk jA π2= )2(1T πω= ?= T dt t x T X 0 )(1)0(2 A = ∑∞ ≠-∞=+=∴) 0(122)(k k t jk e k jA A t x ωπ 解 (c) ?-= T t jk dt e t x T k X 0 11)(1 )(ωωdt e T T t jk T T ωπ--?= ? 44 2cos 1dt e e T t k j t k j T T ][2 1111)1()1(44 ωω+---+=? ][)1(121][)1(1214)1(4)1(14)1(4)1(11111T k j T k j T k j T k j e e k j T e e k j T ωωωωωω++-----?+-?+--?= 2)1sin()1(212)1sin()1(21ππππ--+++=k k k k π2) 1(412)1(4 1-++=k Sa k Sa t jk k e k Sa k Sa t x 1)2 )1(2)1((41)(ωππ-++=∴∑∞ -∞= )2(1T πω=

信号分析方法

3.3齿轮及齿轮箱振动信号的分析方法 齿轮及齿轮箱中轴、齿轮和滚动轴承正常运行时,一般其振动信号是平稳信号,信号频率成分有各轴的转动频率和齿轮的啮合频率等,当发生故障,其振动信号频率成分或幅值发生变化,一般有以下三种特征: (1)信号是稳态的,但对应特征频率的幅值发生明显变化,振动能量有较大的变化。这类故障是以齿轮均匀磨损为代表的。 (2)信号是周期平稳信号,出现了有规律的冲击或调制现象。这类故障一般是齿轮或滚动轴承已经发生轻度或较严重的故障。 (3)信号中出现无规律的冲击或调制现象,这类故障一般是齿轮或滚动轴承已经发生严重的故障。 但是并不是说出现调制现象就一定有故障,所以就需要利用振动信号在频域和时域内进行诊断,来达到诊断故障的目的。而振动信号是齿轮故障特征信息的主要载体,目前能够通过各种振动信号传感器、放大器及其它测量仪器很方便地测量出齿轮箱的振动信号,通过各种分析和处理方法提取其故障特征信息。特征分析的结果是否正确、可靠,特征量的选择是否合理,在很大程度上决定了故障诊断的正确性。下面就介绍一些常用的齿轮振动信号常规的分析方法。 3.3.1时域统计特征 时域统计指标根据量纲和无量纲分为两个部分,一部分是常用的有量纲特征值,包括最大值、最小值、峰值、均值、均方值和方差;另一部分称为无量纲的特征分析值,包括方根幅值、平均幅值、均方幅值、峭度、波形指标、峰值指标、脉冲指标和裕度指标。在齿轮箱的状态检测和故障诊断中,要特别注意这两部分指标的综合运用,有量纲特征值一般随着齿轮箱的不同而改变,不同种类和大小的齿轮箱测量得到的有量纲特征值是没有对比性的,有时甚至同种类和大小的齿轮箱在不同工况下测量得到的有量纲特征值也不能直接进行对比。而不同种类和大小的齿轮箱测量得到的无量纲的特征分析值在一定的情况下是可以进行对比的。对于有限长度的离散时间序列1210,,,,-n x x x x ,其有量纲的统计特征值为: 最大值 }max{max i x x = 最小值 }min{min i x x = 峰峰值 min max x x x p p -=- 均值 ∑-==10 1 n i i x N x

实验八 快速傅立叶变换(FFT)实验

实验七 快速傅立叶变换(FFT )实验 一 实验目的 1. 熟悉CCS 集成开发环境; 2. 了解FFT 的算法原理和基本性质; 3. 熟悉DSP 中cmd 文件的作用及对它的修改; 4. 学习用FFT 对连续信号和时域信号进行频谱分析的方法; 5. 利用DSPLIB 中现有的库函数; 6. 了解DSP 处理FFT 算法的特殊寻址方式; 7. 熟悉对FFT 的调试方法。 二 实验内容 本实验要求使用FFT 变换对一个时域信号进行频谱分析,同时进行IFFT 。这里用到时域信号可以是来源于信号发生器输入到CODEC 输入端,也可以是通过其他工具计算获取的数据表。本实验使用Matlab 语言实现对FFT 算法的仿真,然后将结果和DSP 分析的结果进行比较,其中原始数据也直接来自Matlab 。 三 实验原理 一个N 点序列][k x 的DFT ][m X ,以及IDFT 分别定义为: 1,,1,0,][][1 0-==∑-=N m W k x m X km N N k 1,,1,0,][1 ][1 -== --=∑ N k W m X N k x km N N m 如果利用上式直接计算DFT,对于每一个固定的m,需要计算N 次复数乘法,N-1次加法,对于N 个不同的m,共需计算N 的2次方复数乘法,N*(N-1)次复数加法.显然,随着N 的增加,运算量将急剧增加, 快速傅里叶算法有效提高计算速度(本例使用基2 FFT 快速算法),利用FFT 算法只需(N/2)logN 次运算。 四 知识要点 . 1、 CMD 文件的功能及编写 2、 一种特殊的寻址方式:间接寻址 间接寻址是按照存放在某个辅助寄存器的16位地址寻址的。C54x 的8个辅助寄存器 (AR0—AR7)都可以用来寻址64K 字数据存储空间中的任何一个存储单元。 3、 TMS320C54x DSPLIB 中关于FFT 变换的一些函数的调用(SPRA480B.pdf ) 利用DSPLIB 库时,在主程序中要包含头文件:54xdsp.lib 4、 FFT 在CCS 集成开发环境下的相关头文件 #include //定义数据类型的头文件 #include //数学函数的头文件,如sqrt. #include //定义数据类型的头文件 #include // DSPLIB 库文件

相关文档
最新文档