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

上传人:b****2 文档编号:3203451 上传时间:2023-05-05 格式:DOCX 页数:15 大小:252.30KB
下载 相关 举报
实验二 应用FFT对信号进行频谱分析.docx_第1页
第1页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第2页
第2页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第3页
第3页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第4页
第4页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第5页
第5页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第6页
第6页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第7页
第7页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第8页
第8页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第9页
第9页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第10页
第10页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第11页
第11页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第12页
第12页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第13页
第13页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第14页
第14页 / 共15页
实验二 应用FFT对信号进行频谱分析.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《实验二 应用FFT对信号进行频谱分析.docx》由会员分享,可在线阅读,更多相关《实验二 应用FFT对信号进行频谱分析.docx(15页珍藏版)》请在冰点文库上搜索。

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

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

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

1、实验目的

1、加深对离散信号的DTFT和DFT的及其相互关系的理解。

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

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

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

2、实验原理及方法

一个连续信号的频谱可以用它的傅里叶变换表示为

(2—1)

如果对信号进行理想采样,可以得到采样序列:

(2—2)

同样可以对该序列进行Z变换,其中T为采样周期

(2—3)

当Z=

的时候,我们就得到了序列的傅里叶变换

(2—4)

其中

成为数字频率,它和模拟频域的关系为

(2—5)

式中的

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

同模拟域的情

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

序列

的傅里叶变换和对应的采样信号频谱具有下式的对应关系。

(2—6)

即序列的频谱是采样信号频谱的周期延拓。

从上式可看出,只要分析采样序列的频谱,

就可以得到相应的连续信号的频谱。

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

无限长序列

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

对于有限长的序列我们可以用离散傅里叶变换(DFT),这一变换可以很好的反映序列的频域特性,并且容易利用快速算法在计算机中实现当序列长度是N时,我们定义离散傅里叶变换为

(2—7)

其中

=

,它的反变换定义为:

(2—8)

根据以上两式,令Z=Z=

,则有

X(z)

=

=DFT[x(n)](2—9)

可以得到X(k)=X(z)

是Z平面单位圆上幅角为

的点,就是将单位圆进行N等分以后第K个点。

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

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

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

在运用DFT进行频谱分析的时候可能有三种误差,分析如下:

(1)混淆现象

序列的频谱是采样信号频谱的周期延拓,周期是,因此当采样速率不满足Nyquist定理,即采样频率小于两倍的信号频率时,经过采样就会发生频率混淆。

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

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

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

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

(2)泄漏现象

实际中的信号序列往往很长,甚至是无限长序列。

为了方便,我们往往用截短的序列来近似它们。

这样可以使用较短的DFT来对信号进行频谱分析。

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

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

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

(3)栅栏效应

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

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

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

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

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

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

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

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

常用的FFT是以2为基数。

它的运算效率高,程序比较简单,使用也十分方便。

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

三实验内容及步骤

(一)编制实验用主程序及相应子程序

1、高斯序列

n=0:

15;

p=?

;q=?

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

closeall;subplot(2,1,1);stem(x);title('高斯序列');

subplot(2,1,2);stem(abs(fft(x)));title('幅频特性');

2、衰减正弦序列

n=0:

15;

a=?

;f=?

;x=exp(-a*n).*sin(2*pi*f*n);

closeall;subplot(2,1,1);stem(x);title('衰减正弦序列');

subplot(2,1,2);stem(abs(fft(x)));title('幅频特性');

3、三角波序列

fori=1:

4

x(i)=i;

end

fori=5:

8

x(i)=9-i;

end

closeall;subplot(2,1,1);stem(x);title('三角波序列n=8')

subplot(2,1,2);stem(abs(fft(x,8)));title('幅频特性n=8');

4、反三角序列

fori=1:

4

x(i)=5-i;

end

fori=5:

8

x(i)=i-4;

end

closeall;subplot(2,1,1);stem(x);title('反三角序列n=16')

subplot(2,1,2);stem(abs(fft(x,16)));title('幅频特性n=16');

(2)上机实验内容

1、观察高斯序列的时域和频域特性

(1)固定信号xa(n)的参数p=8,改变q的值,使q分别等于2,4,8。

观察它们的时域和幅频特性,了解q取不同值的时候,对信号时域特性和幅频特性的影响。

n=0:

15;

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

closeall;subplot(3,2,1);stem(x);title('高斯序列xa(n),p=8,q=2');

subplot(3,2,2);stem(abs(fft(x)));title('幅频特性p=8,q=2');

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

subplot(3,2,3);stem(x);title('高斯序列xa(n),p=8,q=4');

subplot(3,2,4);stem(abs(fft(x)));title('幅频特性p=8,q=4');

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

subplot(3,2,5);stem(x);title('高斯序列xa(n),p=8,q=8');

subplot(3,2,6);stem(abs(fft(x)));title('幅频特性p=8,q=8');

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

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

n=0:

15;

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

closeall;subplot(3,2,1);stem(x);title('高斯序列xa(n),p=8,q=8');

subplot(3,2,2);stem(abs(fft(x)));title('幅频特性p=8,q=8');

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

subplot(3,2,3);stem(x);title('高斯序列xa(n),p=13,q=8');

subplot(3,2,4);stem(abs(fft(x)));title('幅频特性p=13,q=8');

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

subplot(3,2,5);stem(x);title('高斯序列xa(n),p=14,q=8');

subplot(3,2,6);stem(abs(fft(x)));title('幅频特性p=14,q=8');

2、观察衰减正弦序列的时域和幅频特性

(1)令a=0.1,并且f=0.0625,检查谱峰出现的位置是否正确,注意谱峰的形状,绘制幅频特性曲线。

n=0:

15;

a=0.1;f=0.0625;x=exp(-a*n).*sin(2*pi*f*n);

closeall;subplot(2,1,1);stem(x);title('衰减正弦序列xb(n),a=0.1,f=0.0625');

subplot(2,1,2);stem(abs(fft(x)));title('幅频特性a=0.1,f=0.0625');

 

(2)改变f=0.4375,再变化f=0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混淆和泄露现象发生?

说明产生现象的原因。

f=0.4375;x=exp(-a*n).*sin(2*pi*f*n);

subplot(2,1,1);stem(x);title('衰减正弦序列xb(n),a=0.1,f=0.4375');

subplot(2,1,2);stem(abs(fft(x)));title('幅频特性a=0.1,f=0.4375');

f=0.5625;x=exp(-a*n).*sin(2*pi*f*n);

subplot(2,1,1);stem(x);title('衰减正弦序列xb(n),a=0.1,f=0.5625');

subplot(2,1,2);stem(abs(fft(x)));title('幅频特性a=0.1,f=0.5625');

3、观察三角波序列和反三角波序列的时域和幅频特性

(1)用8点FFT分析信号xc(n)和xd(n)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?

绘制两者的序列和幅频特性曲线。

fori=1:

4

x(i)=i;

end

fori=5:

8

x(i)=9-i;

end

closeall;subplot(2,1,1);stem(x);title('三角波序列xc(n),n=8')

subplot(2,1,2);stem(abs(fft(x,8)));title('幅频特性n=8');

fori=1:

4

x(i)=5-i;

end

fori=5:

8

x(i)=i-4;

end

closeall;subplot(2,1,1);stem(x);title('反三角序列xd(n),n=8')

subplot(2,1,2);stem(abs(fft(x,8)));title('幅频特性n=8');

 

(2)在xc(n)和xd(n)末尾补零,用16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?

两个信号之间的FFT频谱还有没有相同之处?

这些变化说明了什么?

fori=1:

8

x(i)=i;

end

fori=9:

16

x(i)=17-i;

end

closeall;subplot(2,1,1);stem(x);title('三角波序列xc(n),n=16')

subplot(2,1,2);stem(abs(fft(x,16)));title('幅频特性n=16');

fori=1:

8

x(i)=9-i;

end

fori=9:

16

x(i)=i-8;

end

closeall;subplot(2,1,1);stem(x);title('反三角序列xd(n),n=16')

subplot(2,1,2);stem(abs(fft(x,16)));title('幅频特性n=16');

 

4、思考题

1、实验中的信号序列Xc(n)和Xd(n),在单位圆上的Z变换频谱会相同吗?

如果不同,你能说出那一个低频分量更多一些吗?

为什么?

 

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

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

如果正弦信号sin(2πfn),f=0.1,用16点的FFT来做DFS运算,得到的频谱是信号本身的真实谱吗?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2