应用FFT对信号进行频谱分析报告

合集下载

实验二用FFT对信号进行频谱分析

实验二用FFT对信号进行频谱分析

实验二用FFT对信号进行频谱分析简介:频谱分析是信号处理中常用的一种方法,通过将信号变换到频域,可以得到信号的频谱特征。

其中,快速傅里叶变换(FFT)是一种高效的计算频域的方法。

在这个实验中,我们将学习如何使用FFT对信号进行频谱分析。

实验步骤:1.准备工作:a. 安装MATLAB或者Octave等软件,并了解如何运行这些软件。

2.载入信号:a. 在MATLAB或Octave中,使用内置函数加载信号文件,将信号读入到内存中。

b.查看信号的基本信息,例如采样频率、时长等。

3.FFT变换:a. 使用MATLAB或Octave的fft函数将信号由时域变换到频域。

b.设置合适的参数,例如变换的点数、窗口函数等。

可以尝试不同的参数,观察其对结果的影响。

4.频谱绘制:a. 使用MATLAB或Octave的plot函数将变换后的频率数据进行绘制。

b.可以绘制幅度谱(频率的能量分布)或相位谱(频率的相位分布),也可以同时绘制两个谱。

5.频谱分析:a.根据绘制出的频谱,可以观察信号的频率特征。

例如,可以识别出信号中的主要频率分量。

b.可以进一步计算信号的能量、均值、方差等统计量,了解信号的功率特征。

c.可以对不同的信号进行对比分析,了解它们在频域上的差异。

实验结果和讨论:1.绘制出的频谱图可以清晰地显示信号的频率分量,可以识别出信号中的主要频率。

2.通过对不同信号的对比分析,可以发现它们在频域上的差异,例如不同乐器的音调特征。

3.可以进一步分析频谱的统计特征,例如信号的能量、平均幅度、峰值频率等。

4.在进行FFT变换时,参数的选择对结果有一定的影响,可以进行参数的调优,获得更准确的频谱分析结果。

结论:本实验通过使用FFT对信号进行频谱分析,可以获得信号在频域上的特征。

通过观察频谱图和统计特征,可以进一步了解信号的频率分布、能量特征等信息。

这对信号处理、音频分析等领域具有很大的应用价值。

在实际应用中,可以根据不同的需求,选择合适的参数和方法,对不同的信号进行频谱分析。

实验二FFT实现信号频谱分析

实验二FFT实现信号频谱分析

0
2
4
6
4
2
0
-2
-4
-6
-4
-20246四、试验环节
4. 试验内容2旳程序运营成果如下图所示:
60
30
40
20
20
10
0
0
-10 -5
0
5
10
-40 -20
0
20 40
30
80
60 20
40 10
20
0
-40 -20
0
20 40
0
-40 -20
0
20 40
四、试验环节
|X(k)| x(n)
5. 试验内容 3旳程序运营成果如下图所示:
fft 计算迅速离散傅立叶变换
fftshift
ifft
调整fft函数旳输出顺序,将零频 位置移到频谱旳中心
计算离散傅立叶反变换
fft函数:调用方式如下
y=fft(x):计算信号x旳迅速傅立叶变换y。当x旳长度为 2旳幂时,用基2算法,不然采用较慢旳分裂基算法。
y=fft(x,n):计算n点FFT。当length(x)>n时,截断x,不 然补零。
【例2-11】产生一种正弦信号频率为60Hz,并用fft函数 计算并绘出其幅度谱。
fftshift函数:调用方式如下 y=fftshift(x):假如x为向量,fftshift(x)直接将x旳左右两 部分互换;假如x为矩阵(多通道信号),将x旳左上、右 下和右上、左下四个部分两两互换。 【例2-12】产生一种正弦信号频率为60Hz,采样率为1000Hz, 用fftshift将其零频位置搬到频谱中心。
以上就是按时间抽取旳迅速傅立叶变换

实验二的应用FFT对信号进行频谱分析

实验二的应用FFT对信号进行频谱分析

实验二的应用FFT对信号进行频谱分析引言:频谱分析是通过将连续信号转换为离散信号,根据信号在频域上的强度分布来分析信号的频谱特性。

其中,FFT(Fast Fourier Transform,快速傅里叶变换)是一种常见的频谱分析算法,可以高效地计算离散信号的傅里叶变换。

实验目的:本实验旨在使用FFT算法来对一个信号进行频谱分析,从而了解FFT 的原理和应用。

实验器材:-计算机-MATLAB软件实验步骤:1.准备信号数据:首先,需要准备一个信号数据用于进行频谱分析。

可以通过MATLAB 自带的函数生成一个简单的信号数据,例如生成一个正弦信号:```Fs=1000;%采样频率T=1/Fs;%采样时间间隔L=1000;%信号长度t=(0:L-1)*T;%时间向量S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); % 生成信号,包含50Hz和120Hz的正弦波成分```其中,Fs为采样频率,T为采样时间间隔,L为信号长度,t为时间向量,S为生成的信号数据。

2.进行FFT计算:利用MATLAB提供的fft函数,对准备好的信号数据进行FFT计算,得到信号的频谱:```Y = fft(S); % 对信号数据进行FFT计算P2 = abs(Y/L); % 取FFT结果的模值,并归一化P1=P2(1:L/2+1);%取模值前一半P1(2:end-1) = 2*P1(2:end-1); % 对非直流分量进行倍频处理f=Fs*(0:(L/2))/L;%计算对应的频率```其中,Y为FFT计算的结果,P2为对应结果的模值,并进行归一化处理,P1为P2的前一半,f为对应的频率。

3.绘制频谱图:使用MATLAB的plot函数,将频率和对应的功率谱绘制成频谱图:```plot(f,P1)title('Single-Sided Amplitude Spectrum of S(t)')xlabel('f (Hz)')ylabel(',P1(f),')```实验结果与分析:上述实验步骤通过MATLAB实现了对一个信号的频谱分析并绘制成频谱图。

实验二用FFT做谱分析实验报告

实验二用FFT做谱分析实验报告

实验二用FFT做谱分析实验报告一、引言谱分析是信号处理中一个重要的技术手段,通过分析信号的频谱特性可以得到信号的频率、幅度等信息。

傅里叶变换是一种常用的谱分析方法,通过将信号变换到频域进行分析,可以得到信号的频谱信息。

FFT(快速傅里叶变换)是一种高效的计算傅里叶变换的算法,可以大幅减少计算复杂度。

本实验旨在通过使用FFT算法实现对信号的谱分析,并进一步了解信号的频谱特性。

二、实验目的1.理解傅里叶变换的原理和谱分析的方法;2.学习使用FFT算法对信号进行谱分析;3.通过实验掌握信号的频谱特性的分析方法。

三、实验原理傅里叶变换是将信号从时域转换到频域的一种数学变换方法,可以将一个非周期性信号分解为一系列正弦和余弦函数的叠加。

FFT是一种计算傅里叶变换的快速算法,能够在较短的时间内计算出信号的频谱。

在进行FFT谱分析时,首先需要对信号进行采样,然后利用FFT算法将采样后的信号转换到频域得到信号的频谱。

频谱可以用幅度谱和相位谱表示,其中幅度谱表示信号在不同频率下的幅度,相位谱表示信号在不同频率下的相位。

四、实验装置和材料1.计算机;2.信号发生器;3.数字示波器。

五、实验步骤1.连接信号发生器和示波器,通过信号发生器产生一个周期为1s的正弦信号,并将信号输入到示波器中进行显示;2.利用示波器对信号进行采样,得到采样信号;3.利用FFT算法对采样信号进行频谱分析,得到信号的频谱图。

六、实验结果[插入频谱图]从频谱图中可以清晰地看到信号在不同频率下的幅度和相位信息。

其中,频率为2Hz的分量的幅度最大,频率为5Hz的分量的幅度次之。

七、实验分析通过对信号的频谱分析,我们可以得到信号的频率分量和其对应的幅度和相位信息。

通过分析频谱图,我们可以得到信号中各个频率分量的相对强度。

在本实验中,我们可以看到频率为2Hz的分量的幅度最大,频率为5Hz的分量的幅度次之。

这说明信号中存在2Hz和5Hz的周期性成分,且2Hz的成分更为明显。

fft频谱分析实验报告

fft频谱分析实验报告

FFT频谱分析实验报告引言频谱分析是一种用于分析信号频率特征的方法,可应用于多个领域,如音频处理、图像处理、通信系统等。

本文将介绍FFT(快速傅里叶变换)频谱分析方法,并通过实验验证其有效性。

实验目的本实验旨在探索FFT频谱分析方法,了解其原理,并通过实验验证其在信号处理中的应用。

实验步骤1.准备实验材料–一台装有MATLAB软件的电脑–需要进行频谱分析的信号数据2.导入信号数据在MATLAB环境中,导入需要进行频谱分析的信号数据。

可以通过以下命令完成数据导入:data = importdata('signal.txt');这里假设信号数据保存在名为signal.txt的文件中。

3.对信号数据进行FFT变换利用MATLAB中的fft函数对信号数据进行FFT变换。

具体命令如下:fft_data = fft(data);这将得到信号数据的FFT变换结果。

4.计算频率谱通过对FFT变换结果的分析,可以计算信号的频率谱。

根据FFT变换的性质,频率谱可以通过计算FFT变换结果的模值得到:spectrum = abs(fft_data);这将得到信号的频率谱。

5.绘制频谱图利用MATLAB的plot函数,可以将频率谱绘制成图形。

命令如下:plot(spectrum);xlabel('频率');ylabel('幅值');title('频谱图');这将绘制出信号的频谱图。

6.分析频谱图通过观察频谱图,可以分析信号的频率特征,如频率成分的强度、主要频率等。

实验结果与讨论在完成以上步骤后,我们得到了信号的频谱图。

通过观察频谱图,我们可以分析信号的频率特征。

例如,我们可以确定信号中主要的频率成分,并通过频率成分的强度判断信号的特性。

在实验中,我们可以尝试使用不同的信号数据进行频谱分析,并观察结果的差异。

通过比较不同信号的频谱图,我们可以进一步了解信号的特性,并探索不同应用场景下的频谱分析方法。

用FFT对信号做频谱分析报告

用FFT对信号做频谱分析报告

备注:按照要求独立完成实验容。

实验五 用FFT 对信号做频谱分析一、实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。

二、实验原理用FFT 对信号作频分析是学习数字信号处理的重要容,经常需要进行分析的信号是模拟信号的时域离散信号。

对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。

频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。

可以根据此式选择FFT 的变换区间N 。

误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。

三、实验容(包括代码与产生的图形及分析讨论)1. 对以下序列进行谱分析:14()()x n R n =选择FFT的变换区间N为8和16 两种情况进行频谱分析。

分别打印其幅频特性曲线, 并进行对比、分析和讨论。

function mstem(Xk)%mstem(Xk)绘制频域采样序列向量Xk的幅频特性图M=length(Xk);k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值)stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度');axis([0,2,0,1.2*max(abs(Xk))]);x1n=[ones(1,4)]; %产生序列向量x1(n)=R4(n)X1k8=fft(x1n,8); %计算x1n的8点DFTX1k16=fft(x1n,16); %计算x1n的16点DFT%以下绘制幅频特性曲线subplot(3,2,1);mstem(X1k8); %绘制8点DFT的幅频特性图title('(1a) 8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');subplot(3,2,2);mstem(X1k16); %绘制16点DFT的幅频特性图title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k16))])x2n=[1 2 3 4 4 3 2 1 zeros(1,50)]; %产生序列向量x1(n)=R4(n) X2k8=fft(x2n,8); %计算x1n的8点DFTX2k16=fft(x2n,16); %计算x1n的16点DFT%以下绘制幅频特性曲线subplot(3,2,3);mstem(X2k8); %绘制8点DFT的幅频特性图title('(2a) 8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X2k8))])subplot(3,2,4);mstem(X2k16); %绘制16点DFT的幅频特性图title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X2k16))])x3n=[4 3 2 1 1 2 3 4 zeros(1,50)]; %产生序列向量x1(n)=R4(n) X3k8=fft(x3n,8); %计算x1n的8点DFTX3k16=fft(x3n,16); %计算x1n的16点DFT%以下绘制幅频特性曲线subplot(3,2,5);mstem(X3k8); %绘制8点DFT的幅频特性图title('(3a) 8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');subplot(3,2,6);mstem(X3k16); %绘制16点DFT的幅频特性图title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k16))])分析:图(1a)和(1b)说明x1(n)=R4(n)的8点DFT和16点DFT分别是x1(n)的频谱函数的8点和16点采样因为x3(n)=x2((n+3))8R8(n),所以,x3(n)与x2(n)的8点DFT的模相等,如图(2a)和(2b ),但是当N=16时,x2(n )与 x3(n )不满足循环移位关系,模值不相等。

实验二_应用FFT对信号进行频谱分析

实验二_应用FFT对信号进行频谱分析

1. 三、实验内容和结果:高斯序列的时域和频域特性:高斯序列的时域表达式:2(),015()0,n p q a e n x n -⎧⎪≤≤=⎨⎪⎩其它固定参数p=8,改变参数q 的值, 记录时域和频域的特性如下图。

图 1i. 结论: 从时域图中可以看到, q 参数反应的是高斯序列能量的集中程度: q 越小, 能量越集中, 序列偏离中心衰减得越快, 外观上更陡峭。

同时, 随着q 的增大, 时域序列总的能量是在增大的。

频域上, 对应的, 随着q 的增加, 由于时域序列偏离中心的衰减的缓慢, 则高频分量也就逐渐减, 带宽变小: 时域上总的能量增大, 故也可以看到低频成分的幅度都增大。

固定参数q, 改变参数p, 记录时域和频域的特性如下图 2.图 22. 结论: p 是高斯序列的对称中心, p 的变化在时域表现为序列位置的变化。

由于选取的矩形窗函数一定, p 值过大时, 会带来高斯序列的截断。

并且随着p 的增大, 截断的越来越多。

对应地, 看频域上的变化: 截断的越多, 高频的成分也在增多, 以至发生谱间干扰, 泄露现象变得严重。

从图中可以看到, 在p=13时, 已经有混叠存在。

当p=14时, 混叠进一步加大, 泄露变得更明显。

衰减正弦序列的时域和幅频特性:sin(2),015()0,n b e fn n x n απ-⎧≤≤=⎨⎩其它改变参数f, 记录时域和幅频特性如下图3.图 33. 结论: 随着f 的增大, 时域上可以看到, 序列的变化明显快多了。

从幅度谱上看, 序列的高频分量逐渐增多, 低频分量逐渐减小, 以至于发生严重的频谱混叠。

当f 增大到一定的程度, 从图中可以看到, f=0.4375和f=0.5625时的幅度谱是非常相似的, 此时已经很难看出其幅度谱的区别。

三角序列的时域表达式和对应的时域和幅频特性如图 4:c 1,03()8,470,n n x n n n n +≤≤⎧⎪=-≤≤⎨⎪⎩其它图 4结论: 随着fft 取点数的增多, 能够看到的幅度谱的频率分量变得丰富, 得到的是高密度更高的谱, 也就是减轻了栅栏效应。

实验三用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析_实验报告一、实验目的1.学习使用FFT(快速傅里叶变换)对信号进行频谱分析;2.掌握频谱分析的基本原理和方法;3.熟悉使用MATLAB进行频谱分析的操作。

二、实验原理FFT是一种基于傅里叶变换的算法,可以将时域信号转换为频域信号,并将信号的频谱特征展示出来。

在频谱分析中,我们通过分析信号的频谱可以获得信号的频率、幅值等信息,从而对信号的性质和特征进行研究。

对于一个连续信号,我们可以通过采样的方式将其转换为离散信号,再利用FFT算法对离散信号进行频谱分析。

FFT算法可以将信号从时域转换到频域,得到离散的频谱,其中包含了信号的频率分量以及对应的幅值。

MATLAB中提供了fft函数,可以方便地对信号进行FFT分析。

通过对信号进行FFT操作,可以得到信号的频谱图,并从中提取出感兴趣的频率信息。

三、实验步骤1.准备工作:(2)建立新的MATLAB脚本文件。

2.生成信号:在脚本中,我们可以通过定义一个信号的频率、幅值和时间长度来生成一个信号的波形。

例如,我们可以生成一个频率为1000Hz,幅值为1的正弦波信号,并设置信号的时间长度为1秒。

3.对信号进行FFT分析:调用MATLAB中的fft函数,对信号进行FFT分析。

通过设置采样频率和FFT长度,可以得到信号的频谱。

其中,采样频率是指在单位时间内连续采样的次数,FFT长度是指离散信号的样本点数。

4.绘制频谱图:调用MATLAB中的plot函数,并设置x轴为频率,y轴为幅值,可以绘制出信号的频谱图。

频谱图上横坐标表示信号的频率,纵坐标表示信号的幅值,通过观察可以得到信号的频率分布情况。

四、实验结果在实验过程中,我们生成了一个频率为1000Hz,幅值为1的正弦波信号,并对其进行FFT分析。

通过绘制频谱图,我们发现信号在1000Hz处有最大幅值,说明信号主要由这一频率成分组成。

五、实验总结本实验通过使用FFT对信号进行频谱分析,我们可以方便地从信号的波形中提取出频率分量的信息,并绘制出频谱图进行观察。

用DFT(FFT)对连续信号进行频谱分析

用DFT(FFT)对连续信号进行频谱分析

电子信息工程系实验报告课程名称:数字信号处理Array实验项目名称:用DFT(FFT)对连续信号进行频谱分析实验时间:班级:通信姓名: xxp 学号:一、实验目的:1.掌握用DFT(FFT)对模拟信号进行谱分析的方法,理解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

2.熟悉应用FFT实现两个序列的线性卷积的方法。

二、实验原理:1.用DFT(FFT)对连续信号进行频谱分析用DFT(FFT)对模拟信号做谱分析是一种近似的谱分析。

首先一般的模拟信号(周期信号除外)的频谱是连续谱,而用FFT做谱分析得到的是数字谱,因此应该取FFT的点数多一些,用它的包络作为模拟信号的近似谱。

另外,如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行预滤,或者尽量将采样频率取高一些。

最后要注意一般的模拟信号是无限长的,分析时要截断,截断的长度与对模拟信号进行频谱分析的分辨率有关。

如果要进行谱分析的模拟信号是周期信号,最好选择观测时间是信号周期的整数倍,如果不知道信号的周期,要尽量选择观测时间长一些,以减少截断效应的影响。

在运用DFT(FFT)对模拟信号进行谱分析的过程中主要可能产生以下三种误差:(1) 混叠现象对模拟信号进行谱分析时首先要对其采样,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原模拟信号的频谱。

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

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

用FFT对信号进行频谱分析报告

用FFT对信号进行频谱分析报告
实验总成绩:
——————————————————————————装 订 线 ————————————————————————————————
报告份数:
西安邮电大学 通信与信息工程学院 科研训练报告
专业班级: 学生姓名: 学号(班内序号): 2T对信号进行频谱分析
摘 要: 快速傅氏变换(FFT),是离散傅氏变换的快速算法,它是根据离 散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行 改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算 机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大 步。 傅里叶变换的理论与方法在“数理方程”、“线性系统分 析”、“信号处理、仿真”等很多学科领域都有着广泛应用,由于计算 机只能处理有限长度的离散的序列,所以真正在计算机上运算的是一种 离散傅里叶变换. 虽然傅里叶运算在各方面计算中有着重要的作用, 但是它的计算过于复杂,大量的计算对于系统的运算负担过于庞大, 使得一些对于耗电量少,运算速度慢的系统对其敬而远之,然而,快 速傅里叶变换的产生,使得傅里叶变换大为简化,在不牺牲耗电量的 条件下提高了系统的运算速度,增强了系统的综合能力,提高了运算 速度,因此快速傅里叶变换在生产和生活中都有着非常重要的作用, 对于学习掌握都有着非常大的意义。 关键词 快速傅氏变换;信号频谱分析;离散傅里叶变换
三、实验原理
数字信号的傅里叶变换,通常采用离散傅里叶变换(DFT)方法。DFT 存在的不足是计算量太大,很难进行实时处理。计算一个N 点的DFT ,一 般需要次复数乘法和N(N-1)次复数加法运算.因此,当N较大或要求对信 号进行实时处理时,往往难以实现所需的运算速度。1965年,J.W.Cooly
for some Less power consumption, the slow speed of operation of its system at arm's length, however, have the fast Fourier transform, Fourier transform greatly simplifying the making, not in power at the expense of the conditions to increase the speed of computing systems, and enhance the system The comprehensive ability to improve the speed of operation, the Fast Fourier Transform in the production and life have a very important role in learning to master all have great significance. Key words: Fast Fourier Transform; Signal spectrum analysis Discrete Fourier Transform 引言: 1965年,库利(J.W.Cooley)和图基(J.W.Tukey)在《计算数 学》杂志上发表了“机器计算傅立叶级数的一种算法”的文章,这是一 篇关于计算DFT的一种快速有效的计算方法的文章。它的思路建立在对 DFT运算内在规律的认识之上。这篇文章的发表使DFT的计算量大大减 少,并导致了许多计算方法的发现。这些算法统称为快速傅立叶变换 (Fast Fourier Transform),简称FFT,1984年,法国的杜哈梅尔 (P.Dohamel)和霍尔曼(H.Hollmann)提出的分裂基快速算法[2][6] 使运算效率进一步提高。FFT即为快速傅氏变换,是离散傅氏变换的快 速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立 叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现, 但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说 是进了一大步。随着科学的进步,FFT算法的重要意义已经远远超过傅 里叶分析本身的应用。FFT算法之所以快速,其根本原因在于原始变化 矩阵的多余行,此特性也适用于傅里叶变换外的其他一些正交变换,例 如,快速沃尔什变换、数论变换等等。在FFT的影响下,人们对于广义 的快速正交变换进行了深入研究,使各种快速变换在数字信号处理中占 据了重要地位。因此说FFT对数字信号处理技术的发展起了重大推动作 用。

用FFT对信号作频谱分析实验报告

用FFT对信号作频谱分析实验报告

实验一报告、用FFT 对信号作频谱分析一、实验目的学习用FFT 对连续信号和时域离散信号进行频谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。

二、实验内容1.对以下序列进行频谱分析:()()()()4231038470n 4033470nx n R n n n x n nn n n x n n n =+≤≤⎧⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩其它其它 选择FFT 的变换区间N 为8和16两种情况进行频谱分析。

分别打印其幅频特性曲线,并进行对比,分析和讨论。

2.对以下周期序列进行频谱分析:()()45cos4coscos48x n n x n n nπππ==+选择FFT 的变换区间N 为8和16两种情况分别对以上序列进行频谱分析。

分别打印其幅频特性曲线,并进行对比、分析和讨论。

3.对模拟信号进行频谱分析:()8cos8cos16cos20x t t t t πππ=++选择采样频率64s F Hz =,对变换区间N=16,32,64 三种情况进行频谱分析。

分别打印其幅频特性,并进行分析和讨论。

三、实验程序1.对非周期序列进行频谱分析代码:close all;clear all;x1n=[ones(1,4)];M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];x3n=[xb,xa];X1k8=fft(x1n,8);X1k16=fft(x1n,16);X2k8=fft(x2n,8);X2k16=fft(x2n,16);X3k8=fft(x3n,8);X3k16=fft(x3n,16);subplot(3,2,1);mstem=(X1k8);title('(1a)8点DFT[x_1(n)]');subplot(3,2,2);mstem=(X1k16);title('(1b)16点DFT[x_1(n)]');subplot(3,2,3);mstem=(X2k8);title('(2a)8点DFT[x_2(n)]');subplot(3,2,4);mstem=(X2k16);title('(2b)16点DFT[x_2(n)]');subplot(3,2,5);mstem=(X3k8);title('(3a)8点DFT[x_3(n)]');subplot(3,2,6);mstem=(X3k16);title('(3b)16点DFT[x_3(n)]');2.对周期序列进行频谱分析代码:N=8;n=0:N-1;x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k8=fft(x4n);X5k8=fft(x5n);N=16;n=0:N-1;x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k16=fft(x4n);X5k16=fft(x5n);figure(2)subplot(2,2,1);mstem(X4k8);title('(4a)8点 DFT[x_4(n)]');subplot(2,2,2);mstem(X4k16);title('(4b)16点DFT[x_4(n)]');subplot(2,2,3);mstem(X5k8);title('(5a)8点DFT[x_5(n)]');subplot(2,2,4);mstem(X5k16);title('(5a)16点DFT[x_5(n)]') 3.模拟周期信号谱分析figure(3)Fs=64;T=1/Fs;N=16;n=0:N-1;x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k16=fft(x6nT);X6k16=fftshift(X6k16);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,1);stem(fk,abs(X6k16),'.');box ontitle('(6a)16µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))]);N=32;n=0:N-1; %FFTµÄ±ä»»Çø¼äN=32x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k32=fft(x6nT);X6k32=fftshift(X6k32);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,2);stem(fk,abs(X6k32),'.');box ontitle('(6b)32µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))]);N=64;n=0:N-1; %FFTµÄ±ä»»Çø¼äN=64x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k64=fft(x6nT);X6k64=fftshift(X6k64);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,3);stem(fk,abs(X6k64),'.');box ontitle('(6c)64µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))]);四、实验结果与分析分析:图(1a)和图(1b)说明X1(n)=R4(n)的8点和16点DFT分别是X1(n)的频谱函数的8点和16点采样;因X3(n)=X2((n-3))8R8(n),故X3(n)与X2(n)的8点DFT的模相等,如图(2a)和图(3a)所示。

应用FFT实现信号频谱分析(杭电)

应用FFT实现信号频谱分析(杭电)

信号、系统与信号处理实验Ⅱ实验报告实验名称:应用FFT 实现信号频谱分析一、实验目的1、能够熟练掌握快速离散傅里叶变换FFT 的原理及应用FFT 进行频谱分析的基本方法。

2、对离散傅里叶变换的主要性质及 FFT 在数字信号处理中的重要作用有进一步的了解。

二、实验内容与要求(2)编写一个调用 FFT 函数的通用程序,可计算下列三种序列的离散频谱。

指数序列: v1(n) = 0.9^n*u(n);周期为 N 的余弦序列:v2(n) = cos(2*pi*n/N) ,且 0≤ n≤ N-1 复合函数序列:v3(n) = 0.9sin(2*pi*n/N) + 0.6sin(2*pi*n*3/N)(3)计算实指数序列 v1(n) 的 N点离散频谱 V1(k), 记录 N为不同的 2 的幂次方时的V1(k) 值,并与理论值 V1(e^jwk ) 进行分析比较。

(4)计算周期为 N 的余弦序列 v2(n) 的 N 点 FFT、2N 点 FFT 及(N+2) 点 FFT,记录结果并作为分析说明。

(5) 已知信号x(t) =0.15sin(2*pi*f1*t)+sin(2*pi*f2*t)-0.1sin(2*pi*f3*t), 其中f1 = 1Hz, f2 =2Hz,f3= 3Hz, 取样频率为 32Hz。

编程实现:① 32 点 FFT,画出其幅度谱。

②64 点 FFT,画出其幅度谱,比较两者间的差异,思考实际频率与离散频谱图中横坐标 k 的对应关系。

三、实验程序与结果指数序列: v1(n) = 0.9^n*u(n);v1(n) 的 N 点离散频谱 V1(k), 记录 N 为不同的 2的幂次方时的 V1(k) 值,并与理论值 V1(e^jwk ) 进行分析比较。

clear allN=16;N1=16;N2=32;N3=64;n=0:N-1;xn=0.9.^n;XK1=fft(xn,N1);magXK1=abs(XK1);phaXK1=angle(XK1);XK2=fft(xn,N2); magXK2=abs(XK2); phaXK2=angle(XK2);XK3=fft(xn,N3); magXK3=abs(XK3); phaXK3=angle(XK3);subplot(4,1,1);plot(n,xn);xlabel('n');ylabel('x(n)');title('x(n) '); subplot(4,1,2);k=0:length(magXK1)-1; stem(k,magXK1);xlabel('k');ylabel('|X(k)|');title('X(k) N1 = 16'); subplot(4,1,3);k=0:length(magXK2)-1; stem(k,magXK2);xlabel('k');ylabel('|X(k)|');title('X(k) N2 = 32'); subplot(4,1,4);k=0:length(magXK3)-1; stem(k,magXK3);xlabel('k');ylabel('|X(k)|');title('X(k) N3 = 64');x(n)1)n(0.5x0 5 10 15nX(k) N1 = 1610|)k( 5X|0 5 10 15kX(k) N2 = 3210|)k( 5X|0 5 10 15 20 25 30 35kX(k) N3 = 6410|)k(5X|10 20 30 40 50 60 70k周期为 N 的余弦序列: v2(n) =cos(2*pi*n/N) ,且 0≤ n≤ N-1;计算周期为 N 的余弦序列 v2(n) 的 N 点 FFT、 2N 点 FFT 及 (N+2) 点 FFT,记录结果并作为分析说明。

fft频谱分析实验报告

fft频谱分析实验报告

fft频谱分析实验报告
《FFT频谱分析实验报告》
摘要:
本实验利用FFT(快速傅里叶变换)技术对信号进行频谱分析,通过实验数据
的采集和处理,得出了频谱分析的结果。

实验结果表明,FFT技术可以有效地
对信号进行频谱分析,为信号处理提供了重要的工具和方法。

引言:
频谱分析是信号处理中的重要内容,通过对信号的频谱进行分析,可以了解信
号的频率成分和能量分布情况,对信号的特性有着重要的指导作用。

FFT作为
一种快速、高效的频谱分析方法,被广泛应用于信号处理领域。

本实验旨在通
过对信号进行FFT频谱分析,探讨FFT技术在频谱分析中的应用效果。

实验内容:
1. 实验仪器:使用数字示波器采集信号数据。

2. 实验步骤:通过数字示波器采集信号数据,并进行FFT频谱分析。

3. 实验数据处理:对采集到的信号数据进行FFT频谱分析,并得出频谱分析结果。

4. 实验结果分析:对频谱分析结果进行分析和讨论。

实验结果:
通过实验数据的采集和处理,得出了信号的频谱分析结果。

分析结果表明,FFT 技术可以有效地对信号进行频谱分析,得到了信号的频率成分和能量分布情况。

通过对实验数据的分析,我们得以了解信号的频谱特性,为信号处理提供了重
要的参考依据。

结论:
本实验通过对信号进行FFT频谱分析,得出了频谱分析的结果。

实验结果表明,FFT技术可以有效地对信号进行频谱分析,为信号处理提供了重要的工具和方法。

通过本实验的实践操作,我们对FFT频谱分析技术有了更深入的了解,为
今后的实际应用提供了重要的参考依据。

实验三:用FFT对信号作频谱分析_实验报告

实验三:用FFT对信号作频谱分析_实验报告

实验三:用FFT对信号作频谱分析_实验报告一、实验目的:掌握用FFT对信号作频谱分析的方法。

二、实验仪器:1、计算机;2、MATLAB软件。

三、实验原理:FFT即快速傅里叶变换,是一种用来处理数字信号的算法,其将一个信号从时域(即时间域)中转换到了频域中。

傅里叶变换可以将时域上的信号转换到频域上,分析其中的各频率分量,以及各分量的大小、相位等。

由于实验过程较为简单,这里就不展开讲解。

四、实验内容:假设现在有一个包含了多种频率成分的信号,要求对其进行频谱分析。

五、实验步骤:(1)生成信号,此处生成的信号包含了2种频率成分。

```Fs=2000; %采样率T=1/Fs; %采样周期N=1024; %采样点数t=(0:N-1)*T; %时域采样点f1=150; %第一个频率成分f2=600; %第二个频率成分x=sin(2*pi*f1*t)+0.3*sin(2*pi*f2*t); %合成信号```(2)做傅里叶变换,将信号转换到频域。

```Y=fft(x); %做傅里叶变换P2=abs(Y/N); %取模P1=P2(1:N/2+1); %取单边谱P1(2:end-1)=2*P1(2:end-1); %翻倍f=Fs*(0:(N/2))/N; %频率点```(3)画出频谱图并分析。

```figuresubplot(2,1,1);plot(t,x);title('时域波形');xlabel('时间/s');ylabel('幅值/V');subplot(2,1,2);plot(f,P1,'r');title('频域谱图');xlabel('频率/Hz');ylabel('幅值/V');```六、实验结果分析:根据实验结果,可以看出原信号中包含的频率成分明显,且经过傅里叶变换后的频域谱图也反映出了信号中各个频率成分的大小和出现的频率位置。

应用FFT对信号进行频谱分析报告

应用FFT对信号进行频谱分析报告

实验二应用FFT 对信号进行频谱分析一、 实验目的1 、加深对离散信号的 DTFT 和 DFT 的及其相互关系的理解。

2、 在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT 算法极其程序的编写。

3、 熟悉应用FFT 对典型信号进行频谱分析的方法。

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

二、 实验原理和方法一个连续信号X a (t)的频谱可以用它的傅里叶变换表示-box ;(j0)= (X a (t)eSdt(2—1)如果对该信号进行理想采样,可以得到采样序列:x(n )=X a (nT)( 2—2)^0X(z) x( n)z 』n =.::当Z =e jw 得时候,我们就得到了序列的傅里叶变换X(e jw ) = '「x( n)e 」wn( 2—4)n 二•::其中w 称为数字频率,它和模拟频域的关系为W ='」T = 1 1 f s( 2 — 5)式中的f s 是采样频率,上式说明数字频率是模拟频率对采样频率 f s 的归一化。

同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅里叶变换称为序列的频谱。

序列的傅里叶变换和对应的采样信号频谱具有下式的对应关系:即序列的频谱是采样信号频谱的周期延拓。

从式(2— 6 )可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号的频谱。

注意:这里的信号必须是带限信号,采样也 必须满足Nyquist 定理。

在各种信号序列中 ,有限长序列在数字信号处理中占有很重要的地位。

无限长的序列也往往可以用有限长序列来逼近。

对于有限长的序列我们可以使用离散傅里叶变换( DFT ,这一变换可以很好的放映序列的频域特性, 并且容易利用快速算法在计算机上实现当序列的长度是N 时,我们定义离散傅里叶变化为:N 」kn同样可以对该序列进行Z 变换,其中 T 为采样周期(2 — 3)X (e jw )十「Xa(jT _oo w -2 二mT (2 — 6)X(k)二DFT[x(n)]八W N(2—7)其中,w Nk n =e N,它的反变换定义为:N JI knx(n) =IDFT [X(k)] X(k)W N (2—8)N y根据式(2—3)和(2—7 )令Z二W N“,则有N AX(z)z±^=W x(n)W NJ^ DFT [x(n)] (2—9)一n2J~[可以得到X(k)=X(z) 征,W N*是Z平面单位圆上幅角为w = — k的点,就是见z£宀 V N单位圆进行N等分以后第K个点。

实验二 的应用FFT对信号进行频谱分析

实验二 的应用FFT对信号进行频谱分析

20090401310074 海南大学实验二 应用FFT 对信号进行频谱分析一、实验目的1、进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。

2、学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。

二、实验原理i.模拟信号频率Ω和采样得到的数字信号频率ω的关系:/s T f ω=Ω=Ωii.DTFT 与对应的理想采样信号的频谱之间的对应关系为:|^()()jw a T X j X e ω=ΩΩ=即DTFT 与FT 的关系为:12()[()]j a r X e X j r T T Tωωπ∞=-∞=-∑就是说,只要知道了采样序列的频谱,就可以得到相应的连续信号的频谱。

(满足耐奎斯特采样定理)iii.DFT 是对离散时间序列的频域采样,是对ZT 上单位圆上的均匀采样,或者是DTFT 上[0,2]π的等间距采样。

当满足频域的采样定理时,便可以由频域的采样值恢复ZT 或者是DTFT 。

所以能用DFT 对信号进行频谱分析。

当采样的点数足够时,便能用它的包络作为模拟信号的近似谱。

近似的过程中,可能会有混叠现象,泄露现象和栅栏效应这三种误差。

iv.离散傅立叶变换DFT :10()(),0,1,2...,1N nkN n X k x n W k N -===-∑[]101()()(),0,1,2...,1N nkN n x n IDFT X k X k W n N N --====-∑反变换与正变换的区别在于N W 变为1-N W ,并多了一个N 1的运算。

因为N W 和1-N W 对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此借助FFT 来实现IFFT.三、实验内容和结果:1. 高斯序列的时域和频域特性:高斯序列的时域表达式:2(),015()0,n p q a e n x n -⎧⎪≤≤=⎨⎪⎩其它i. 固定参数p=8,改变参数q 的值,记录时域和频域的特性如下图。

用FFT对信号作频谱分析实验报告

用FFT对信号作频谱分析实验报告

用FFT对信号作频谱分析实验报告实验目的:利用FFT对信号进行频谱分析,掌握FFT算法的原理及实现方法,并获取信号的频谱特征。

实验仪器与设备:1.信号发生器2.示波器3.声卡4.计算机实验步骤:1.将信号发生器与示波器连接,调节信号发生器的输出频率为待测信号频率,并将示波器设置为XY模式。

2.将示波器的输出接口连接至声卡的输入接口。

3.打开计算机,运行频谱分析软件,并将声卡的输入接口设置为当前输入源。

4.通过软件选择频谱分析方法为FFT,并设置采样率为合适的数值。

5.通过软件开始进行频谱分析,记录并保存频谱图像和数据。

实验原理:FFT(快速傅里叶变换)是一种计算机算法,用于将时域信号转换为频域信号。

它通过将一个信号分解成多个不同频率的正弦波或余弦波的合成,并计算每个频率分量的幅度和相位信息。

实验结果与分析:通过对待测信号进行FFT频谱分析,我们可以得到信号在频域上的频谱特征。

频谱图像可以展示出信号中不同频率成分的能量分布情况,可以帮助我们了解信号的频率构成及其相对重要程度。

在实验中,我们可以调节信号发生器的输出频率,观察频谱图像的变化。

当信号频率与采样率相等时,我们可以得到一个峰值,表示信号的主频率。

同时,我们还可以观察到其他频率分量的存在,其幅度与信号频率的差距越小,幅度越低。

通过对不同信号进行频谱分析,我们可以了解信号的频率成分及其分布情况。

这对于信号处理、通信等领域具有重要意义。

实验结论:通过FFT频谱分析,我们可以获得信号在频域上的频谱特征,可以清晰地观察到信号的主频率以及其他频率分量的存在。

这为信号处理及相关应用提供了有价值的信息。

实验中,我们使用了信号发生器、示波器、声卡和计算机等设备,通过连接和软件进行了频谱分析实验。

通过实验,我们掌握了FFT算法的原理及实现方法,并且获取到了信号的频谱特征。

然而,需要注意的是,频谱分析仅能得到信号在其中一时刻或一段时间内的频率成分,不能得到信号的时域信息。

实验三用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析_实验报告

实验三用FFT对信号作频谱分析_实验报告一、实验目的1.理解离散傅里叶变换(FFT)的原理和应用;2.学会使用FFT对信号进行频谱分析;3.掌握频谱分析的基本方法和实验操作。

二、实验原理离散傅里叶变换(FFT)是一种用来将时域信号转换为频域信号的数学工具。

其基本原理是将连续时间信号进行离散化,然后通过对离散信号进行傅里叶变换得到离散频域信号。

傅里叶变换(Fourier Transform)是一种将时域信号转换为频域信号的方法。

在信号处理中,经常需要对信号的频谱进行分析,以获取信号的频率分量信息。

傅里叶变换提供了一种数学方法,可以将时域信号转换为频域信号,实现频谱分析。

在频谱分析中,我们常常使用快速傅里叶变换(Fast Fourier Transform,FFT)算法进行离散信号的频谱计算。

FFT算法可以高效地计算出离散信号的频谱,由于计算复杂度低,广泛应用于信号处理和频谱分析的领域。

频谱分析的流程一般如下:1.采集或生成待分析的信号;2.对信号进行采样;3.对采样得到的信号进行窗函数处理,以改善频谱的分辨率和抑制信号泄漏;4.使用FFT算法对窗函数处理得到的信号进行傅里叶变换;5.对傅里叶变换得到的频谱进行幅度谱和相位谱分析;6.对频谱进行解释和分析。

三、实验内容实验所需材料和软件及设备:1.信号发生器或任意波形发生器;2.数字示波器;3.计算机。

实验步骤:1.连接信号发生器(或任意波形发生器)和示波器,通过信号发生器发送一个稳定的正弦波信号;2.调节信号频率、幅度和偏置,得到不同的信号;3.使用数字示波器对信号进行采样,得到离散时间信号;4.对采样得到的信号进行窗函数处理;5.对窗函数处理得到的信号进行FFT计算,得到频谱;6.使用软件将频谱进行幅度谱和相位谱的分析和显示。

四、实验结果与分析1.信号频谱分析结果如下图所示:(插入实验结果图)从频谱图中可以看出,信号主要集中在一些频率上,其他频率基本没有,表明信号主要由该频率成分组成。

实验二 应用 FFT 对信号进行频谱分析

实验二 应用 FFT 对信号进行频谱分析

实验二 应用 FFT 对信号进行频谱分析一、实验目的1、在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉 FFT 算法及其程序的编写。

2、熟悉应用 FFT 对典型信号进行频谱分析的方法。

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

二、实验原理与方法一个连续信号 )(t x a 的频谱可以用它的傅立叶变换表示为⎰+∞∞-Ω-=Ωdt e t x j X t j a a )()( (2-1)如果对该信号进行理想采样,可以得到采样序列)()(nT x n x a = (2-2)同样可以对该序列进行z 变换,其中T 为采样周期∑+∞-∞=-=n n z n x z X )()( (2-3) 当 ωj ez =的时候,我们就得到了序列的傅立叶变换 ∑+∞-∞=-=n n j j e n x e X ωω)()( (2-4)其中ω称为数字频率,它和模拟域频率的关系为s f T Ω=Ω=ω(2-5)式中的s f 是采样频率。

上式说明数字频率是模拟频率对采样率s f 的归一化。

同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅立叶变换称为序列的频谱。

序列的傅立叶变换和对应的采样信号频谱具有下式的对应关系∑-=)2(1)(Tm j X T e X a j πωω (2-6) 即序列的频谱是采样信号频谱的周期延拓。

从式(2-6)可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号的频谱。

注意:这里的信号必须是带限信号,采样也必须满足 Nyquist 定理。

在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。

无限长的序列也往往可以用有限长序列来逼近。

对于有限长的序列我们可以使用离散傅立叶变换(DFT ),这一变换可以很好地反应序列的频域特性,并且容易利用快速算法在计算机上实现当序列的长度是 N 时,我们定义离散傅立叶变换为:∑-===10)()]([)(N n kn NW n x n x DFT K X (2-7) 其中,N j N e W π2-=它的反变换定义为:∑-=-==10)(1)]([)(N k kn N W k X N k X IDFT n x (2-8) 根据式(2-3)和(2-7)令 k N W z -=,则有)]([)()(10n x DFT W n x z X N n kn N W z k N ==∑-==- (2-9)可以得到 k N k N j W z W e z X k X k N -===-,)()(2π是 z 平面单位圆上幅角为k Nπω2=的点,就是将单位圆进行 N 等分以后第 k 个点。

应用FFT实现信号频谱分析

应用FFT实现信号频谱分析

波器的阻带不可能式无限衰减
的,故由 周期延拓得到的 由 Xc(j)
X (e j )
非零混叠,即出现混叠现象。
由于进行 DFT 的需要,必须对
序列 进行加窗处理,即 , x[k]
v[k] x[k] wN [k]
加窗对频域的影响,用周期卷积
表示。
= V (e j )
1 X (e j )w(e j(w ) d 2
下:
设:
=sin Xk]
( 2 N
k)
RN [k]
其 DFT 为:
从而
= X[m]
N 1
j 2 km
x[k]e N
k 0
= N1sin(2
j 2 km
k)e N
k 0
N
= 1
N 1 j 2 k
j 2 k j 2 km
(e N e N )e N
2 j k0
续的频谱函数。
如果在两个离散的谱线之间有
一个特别大的频谱分量,就无法
检测出来了。
为了在保持原来频谱形状不变 的情况下,使谱线加密,即使频 域取样点数增加,从而使原来看 不到的频谱分量变得可以看到, 可以通过在信号数据的末端补 加一些零值点,使 DFT 计算周期 内点数增加,但又不改变原有的 记录数据的方法来实现。 3.快速离散傅里叶变换(FFT)
X(N-2)=0
……
X(N-1)= 1
N 1 j 2 ( N 2)
(e N
e j2n )


N

jN
2J k0
2j 2
以上这串式中 X[0] 反应了 x[k] 的
支流分量,X[1] 是 x[k]的一次谐波,又
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二应用FFT 对信号进行频谱分析一、 实验目的1 、加深对离散信号的 DTFT 和 DFT 的及其相互关系的理解。

2、 在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT 算法极其程序的编写。

3、 熟悉应用FFT 对典型信号进行频谱分析的方法。

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

二、 实验原理和方法一个连续信号X a (t)的频谱可以用它的傅里叶变换表示-box ;(j0)= (X a (t)eSdt(2—1)如果对该信号进行理想采样,可以得到采样序列:x(n )=X a (nT)( 2—2)^0X(z) x( n)z 』n =.::当Z =e jw 得时候,我们就得到了序列的傅里叶变换X(e jw ) = '「x( n)e 」wn( 2—4)n 二•::其中w 称为数字频率,它和模拟频域的关系为W ='」T = 1 1 f s( 2 — 5)式中的f s 是采样频率,上式说明数字频率是模拟频率对采样频率 f s 的归一化。

同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅里叶变换称为序列的频谱。

序列的傅里叶变换和对应的采样信号频谱具有下式的对应关系:即序列的频谱是采样信号频谱的周期延拓。

从式(2— 6 )可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号的频谱。

注意:这里的信号必须是带限信号,采样也 必须满足Nyquist 定理。

在各种信号序列中 ,有限长序列在数字信号处理中占有很重要的地位。

无限长的序列也往往可以用有限长序列来逼近。

对于有限长的序列我们可以使用离散傅里叶变换( DFT ,这一变换可以很好的放映序列的频域特性, 并且容易利用快速算法在计算机上实现当序列的长度是N 时,我们定义离散傅里叶变化为:N 」kn同样可以对该序列进行Z 变换,其中 T 为采样周期(2 — 3)X (e jw )十「Xa(jT _oo w -2 二mT (2 — 6)X(k)二DFT[x(n)]八W N(2—7)其中,w Nk n =e N,它的反变换定义为:N JI knx(n) =IDFT [X(k)] X(k)W N (2—8)N y根据式(2—3)和(2—7 )令Z二W N“,则有N AX(z)z±^=W x(n)W NJ^ DFT [x(n)] (2—9)一n2J~[可以得到X(k)=X(z) 征,W N*是Z平面单位圆上幅角为w = — k的点,就是见z£宀 V N单位圆进行N等分以后第K个点。

所以,X(k)是Z变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样。

时域采样在满足Nyquist定理时,就不会发生频谱混淆;同样地,在频率域进行采样的时候,只要采样间隔足够小,也不会发生时域序列混淆。

DFT 时对序列傅里叶变换的等距采样,因此可以用于序列的频谱分析。

在运用DFT进行频谱分析的时候可能有三种误差,分析如下:(1 )混淆现象从式(2—6)中可以看出,序列的频谱是采样信号频谱的周期延拓,周期是2 T,因此当采样速率不满足Nyquist定理,即采样频率f s = 1 T小于两倍的信号(这里指的是实信号)频率时,经过采样就会发生频谱混淆。

这导致采样后的信号序列频谱不能真实的反映原信号的频谱。

所以,在利用DFT分析连续信号频谱的时候,必须注意这一问题。

这就告诉我们,在确定信号的采样频率之前,需要对频谱的性质有所了解。

在一般的情况下,为了保证高于折叠频率的分量不会出现,在采样之前,先用低通模拟滤波器对信号进行滤波。

(2)泄露现象实际中的信号序列往往很长,甚至是无线长序列。

为了方便,我们往往用截短的序列来近似它们,这样可以使用较短的DFT来对信号进行频谱分析。

这种截短等价于给原始信号序列乘以一个矩形窗函数,而矩形窗函数的频谱不是有限带宽的,从而它和原信号的频谱进行卷积以后会扩展原信号的频谱。

值得一提的是,泄漏时不能和混淆完全分离的,因为泄漏导致频谱的扩展,从而造成混淆。

为了减小泄漏的影响,可以选择是党的窗函数使频谱的扩散减小到最小。

(3)栅栏效应因为DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数。

这样就产生了栅栏效应,从某种角度来看,用DFT来观看频谱就好像通过一个栅栏来观看一幅景象,只能在离散点上看到真实的频谱。

这样的话就会有一些频谱的峰点或谷点被“栅栏”挡住,不能被我们观察到。

减小栅栏效应的一个方法是在原序列的末端补一些零值,从而变动DFT的点数。

这种方法的实质是人为地改变了对真是频谱采样的点数和位置,相当于搬动了“栅栏”的位置,从而使得原来被挡住的一些峰点或谷点显露出来。

注意,这时候每根谱线对应的频率和原来的已经不相同了。

从上面的分析过程可以看出,DFT可以用于信号的频谱分析,但必须注意可能产生的误差,在应用过程中要尽可能减小和消除这些误差的影响。

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

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

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

它的运算效率高,程序比较简单,使用也十分菲娜改变。

当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。

IFFT般可以通过FFT程序来完成,比较式(2—7)和(2 —8),只要对X(k)取共轭,进行FFT运算,然后再取其共轭,并乘以因子 1 N,就可以完成IFFT。

三、实验内容及步骤(一)编制实验用主程序及相应子程序1、在实验之前,认真复习DFT和FFT有关的知识,阅读本实验原理与方法和实验附录部分中和本实验有关的子程序,掌握子程序的原理并学习调用方法。

2、编制信号产生子程序及本实验的频谱分析主程序。

试验中需要用到的基本信号包括:[542(1)高斯序列:x a(n) =」e q,0兰n兰150,else/c、亠、才□亠十却e^n sin(2応fn),0兰n兰15(2) 衰减正弦序列X b (n)=」0,elsen +1,0 兰n 兰3(3) 三角波序列x c(n) =」,x c(n)=0,else小一3,4 < n 兰74 — n,0 乞n 兰3(4)反三角序列x d(n) =」,x d(n)=0,elsen— 3,4 兰n 兰7(二)上机实验内容1 、观察高斯序列的时域和频域特性(1)固定信号x a(n)的参数P=8,改变q的值,使q分别等于2,4,&观察它们的时域和幅频特性,了解q取不同值的时候,对信号时域特性和幅频特性的影响。

(2)固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列时域及幅频特性的影响。

注意p等于多少时,会发生明显的泄漏现象,绘制相应的食欲序列和幅频特性曲线。

11高斯序列n=0:15;>> p=8;q=2;x=exp(-1*( n-p)42/q);>> close all;subplot(3,1,1);stem(abs(fft(x)))>> p=8;q=4;x=exp(-1*( n-p)42/q); >> subplot(3,1,2);stem(abs(fft(x))) >> p=8;q=8;x=exp(-1*( n-p)42/q);>> subplot(3,1,3);stem(abs(fft(x)))2衰减正弦序列n=0:15;a=0.1;f=0.0625;x=exp(-a* n).*si n(2*pi*f* n);>> close all;subplot(2,1,1);stem (n, x);>> subplot(2,1,2);stem( n,abs(fft(x)))N T3三角波序列 for i=1:4 x(i)=i; end >> for i=5:8 x(i)=9-i; end>> close all;subplot(2,1,1);stem(x); >> subplot(2,1,2);stem(abs(fft(x,16)));0500D5o10 15Q L Q L>>G 岔 ain4反三角序列for i=1:4x(i)=5_i;end>> for i=5:8x(i)=i-4;end>> close all;subplot(2,1,1);stem(x); >> subplot(2,1,2);stem(abs(fft(x,16))).四•思考题1. 实验中的信号序列x c(n)和x d(n),在单位圆上的Z变换频谱X c(e恋)和X d(e临) 会相同吗?如果不同,你能说出哪一个低频分量更多一些吗?为什么?答:不相同,它们在单位圆上的Z变换频谱中,x c(n)的低频分量比X d(n)的多一些。

2. 对一个有限长序列进行离散傅里叶变换(DFT),等价于将该序列周期延拓后进行傅里叶级数展开。

因为DFS也只是取其中一个周期来运算,所以FFT在一定条件下也可以用分析周期信号序列。

如果正弦信号sin( 2二fn ) , f = 0 .1,用16点的FFT来做DFS运算,得到的频谱是信号本身的真实谱吗?答:只有当DFS变换的点数N与进行FFT变换的点数K相同的时候,才可以认为DFS与FFT的变换是等价的,可以用DFS来分析FFT。

但是在N与K不相等的时候,DFS与FFT变换不等价。

实验总结:1. 通过实验理解了FDT和DTFT之间的相互关系,对离散信号有了更透彻的认识。

2. 进一步加深了对快速傅里叶变换的理解及FFT算法。

3. 通过实验运用FFT进行信号频谱分析,同时对实验中出现的问题及时解决,能够正确地实际运用了。

相关文档
最新文档