视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实验二 的应用FFT对信号进行频谱分析
2025-09-29 17:14:34 责编:小OO
文档
20090401310074  海南大学

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

一、实验目的

1、进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法, 所以FFT的运算结果必然满足DFT的基本性质)。

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

二、实验原理

i.模拟信号频率和采样得到的数字信号频率的关系:

ii.DTFT与对应的理想采样信号的频谱之间的对应关系为:

即DTFT与FT的关系为:

就是说,只要知道了采样序列的频谱,就可以得到相应的连续信号的频谱。(满足耐奎斯特采样定理)

iii.DFT是对离散时间序列的频域采样,是对ZT上单位圆上的均匀采样,或者是DTFT上的等间距采样。当满足频域的采样定理时,便可以由频域的采样值恢复ZT或者是DTFT。所以能用DFT对信号进行频谱分析。当采样的点数足够时,便能用它的包络作为模拟信号的近似谱。近似的过程中,可能会有混叠现象,泄露现象和栅栏效应这三种误差。

iv.离散傅立叶变换DFT:

反变换与正变换的区别在于变为,并多了一个的运算。因为和对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此借助FFT来实现IFFT.

三、实验内容和结果:

1.高斯序列的时域和频域特性:

高斯序列的时域表达式:

i.固定参数p=8,改变参数q的值,记录时域和频域的特性如下图。

图 1

结论:从时域图中可以看到,q参数反应的是高斯序列能量的集中程度:q越小,能量越集中,序列偏离中心衰减得越快,外观上更陡峭。同时,随着q的增大,时域序列总的能量是在增大的。频域上,对应的,随着q的增加,由于时域序列偏离中心的衰减的缓慢,则高频分量也就逐渐减,带宽变小:时域上总的能量增大,故也可以看到低频成分的幅度都增大。

ii.固定参数q,改变参数p,记录时域和频域的特性如下图 2.

图 2

结论:p是高斯序列的对称中心,p的变化在时域表现为序列位置的变化。由于选取的矩形窗函数一定,p值过大时,会带来高斯序列的截断。并且随着p的增大,截断的越来越多。对应地,看频域上的变化:截断的越多,高频的成分也在增多,以至发生谱间干扰,泄露现象变得严重。从图中可以看到,在p=13时,已经有混叠存在。当p=14时,混叠进一步加大,泄露变得更明显。

2.衰减正弦序列的时域和幅频特性:

改变参数f,记录时域和幅频特性如下图3.

图 3

结论:随着f的增大,时域上可以看到,序列的变化明显快多了。从幅度谱上看,序列的高频分量逐渐增多,低频分量逐渐减小,以至于发生严重的频谱混叠。当f增大到一定的程度,从图中可以看到,f=0.4375和f=0.5625时的幅度谱是非常相似的,此时已经很难看出其幅度谱的区别。

3.三角序列的时域表达式和对应的时域和幅频特性如图 4:

图 4

结论:随着fft取点数的增多,能够看到的幅度谱的频率分量变得丰富,得到的是高密度更高的谱,也就是减轻了栅栏效应。但是这种截断后补零的方法不能提高物理频率的分辨率。因为截断已经使频谱变模糊,补零后使采样间隔减小,但得到的频谱采样的包络任然是已经变模糊的频谱,所以频谱的分辨率没有提高。因此,要提到频率的分辨率,就必须对原始信号截取的长度加长,也就是增加采样时间的长度。

另外,可以看到,三角序列的频谱几乎集中在低频区,旁瓣的幅度非常小。

4.反三角序列的时域表达式和对应的时域和频域特性如图 5:

图 5

结论:同样,随着fft取点数的增多,能够看到的幅度谱的频率分量变得丰富,得到的是高密度更高的谱,减轻了栅栏效应。

另外,可以看到,求8点的fft时,三角序列和反三角序列的幅频特性是一样的。原因在于:反三角序列可以看成是三角序列的4点圆周移位,即,根据DFT的圆周移位性质,则有.由于,所以,即,故.

不过,当补零之后,能够看到的频率成分增多,可以发现,反三角序列的频谱较宽,旁瓣的分量很多。

四、调用fft函数计算ifft的函数

原理:

变换上式有:

于是,可以调用fft模块,即

相应的程序清单如下:

function [x]=myifft(y)

N=length(y);

y1=conj(y);

x1=fft(y1);

x=conj(x1)/N;

验证:>> x=[1 2 3 5 7]

x =

     1     2     3     5     7

>> y=fft(x,6)

y =

  Columns 1 through 4

  18.0000            -8.0000 + 1.7321i        0 - 5.1962i   4.0000          

  Columns 5 through 6

        0 + 5.1962i  -8.0000 - 1.7321i

>> a=myifft(y)

a =

     1     2     3     5     7     0

可以看到,a只是在x的末尾补了一个0,原因在于在y是x的6点fft,即在调用fft的过程中有给x的末尾补0的过程。所以,在回调的过程中,补充的0还在。

五、思考题

1、在N=8时,和的DFT幅频特性会相同吗? 为什么? N=16呢?

在N=8时,和的幅频特性相同。N=16时不同。原因如下:

当N=8时,

谱分析时,,其中。当N=8时,,此时,代入,有:

(1)

(2)

调整顺序,有

(3)

(1)式和(3)式相对照,且,故有

,即有。故N=8时,x2(n)和x3(n)的幅频特性相同。或者像在实验结论中运用DFT圆周移位的性质来说明,不再重复。

而当N=16时,。此时,易知。即N=16时,和的幅频特性不同。

2、实验中的信号序列和,在单位圆上的Z变换频谱和会相同吗?哪一个的低频分量多,说明原因?

和是不同的,三角序列的低频分量更多。可以这样解释:

,并且频谱的分布反映时域变化的快慢程度。就是说,时域信号变化的越剧烈,频域的高频分量便较多,对应的,时域的信号较平缓,则频域的低频分量较多。可以看到,在和的非零域内,和的变换程度是相当的,变化量都是1(增加1或者减小1)。不过在零域和非零域的分界处,的变化量是1,而的变化量是4,要大得多,也就是变化的剧烈的多,就不奇怪的高频分量要多了。

3、对于一个有限长序列进行离散傅里叶变换(DFT)时,等价于将该序列周期延拓后进行傅里叶级数(DFS)展开。因为DFS也只是取一个周期来运算,所以FFT在一定的条件下也可以用以分析周期信号序列。如果实正信号,用16点的FFT来做DFS运算,得到的频谱是信号的真实谱吗?

不是的,该实正信号的周期N=10,只有当进行N的整数倍的FFT时,才能得到真实的频谱。

六、实验总结

数字低频是,数字高频是.当满足耐奎斯特采样定理:时, ,当且仅当时,.也就是说,数字频率中的高频对的是模拟频率.当在DTFT的的内采样N个点时,第N/2条谱线就代表着数字最高频率,也即代表着模拟频率。一般的小于的频率,可以用来计算对应的谱线位置。所以,看DFT幅频特性的第N/2条谱线附近的幅值就可以知道,频谱间的干扰和混叠程度。同时,若采样频率越高,频谱能分析的范围自然就越广。

对信号进行谱分析的重要问题是频谱物理分辨率和误差分析。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是(N是实际采样点数)。因此,可以在保持采样频率的前提下,增加采样的点数能增加分辨率。误差主要来自于用FFT作频谱分析时,抽样的过程;从无限的离散序列中截取有限个序列的过程;频谱是离散的等,而模拟信号(周期信号除外)的频谱是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱。所以,还是要求N要适当选择大一些。不过,N的增大,最直接带来的,就是运算量的增大。

需要注意的是,在有效的采样序列后补零增大N值不能提高物理分辨率,此种方法只是“搬移了栅栏的位置”,使原来看不到的频率不再被遮挡了。只有实际记录的数据长度越大,频率的分辨率能力才越强。

对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

附录,部分matlab程度代码

n=0:15;   %q=8,p=8,13,14

p=8;q=8;x=exp(-1*(n-p).^2/q);

close all;

subplot(3,2,1);stem(n,x);xlabel('n');title('时域');

subplot(3,2,2);stem(n,abs(fft(x)));title('频域 p=8 q=8');xlabel('k');

p=13;q=8;x=exp(-1*(n-p).^2/q);

subplot(3,2,3);stem(n,x);xlabel('n');

subplot(3,2,4);stem(n,abs(fft(x)));title('p=13 q=8');xlabel('k');

subplot(3,2,5);stem(n,x);xlabel('n');

p=14;q=8;x=exp(-1*(n-p).^2/q);

subplot(3,2,6);stem(n,abs(fft(x)));title('p=14 q=8');xlabel('k');下载本文

显示全文
专题