应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc

上传人:b****2 文档编号:961709 上传时间:2022-10-14 格式:DOC 页数:16 大小:1.02MB
下载 相关 举报
应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc_第1页
第1页 / 共16页
应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc_第2页
第2页 / 共16页
应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc_第3页
第3页 / 共16页
应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc_第4页
第4页 / 共16页
应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc

《应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc》由会员分享,可在线阅读,更多相关《应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc(16页珍藏版)》请在冰豆网上搜索。

应用快速傅里叶变换对信号进行频谱分析实验报告_精品文档.doc

应用快速傅里叶变换对信号进行频谱分析

2.1实验目的

1、通过本实验,进一步加深对DFT算法原理和基本性质的理解,熟悉FFT算法原理和FFT子程序应用

2、掌握应用FFT对信号进行频谱分析的方法。

3、通过本次实验进一步掌握频域采样定理。

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

确应用FFT。

2.2实验原理与方法

对于有限长序列我们可以使用离散傅里叶变换(DFT)。

这一变换不但可以好地反映序列的频域特性,而且易于用快速傅里叶变换在计算机上实现

当序列x(n)的长度为N时,它的离散傅里叶变换为:

其中,它的反变换定义为:

比较Z变换公式,令则

因此有。

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

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

在运用DFT进行频谱分析的过程中有可能产生三种误差:

1、混叠现象

序列的频谱是原模拟信号频谱的周期延拓,周期为。

因此,当采样频率小于两倍信号的最大频率时,经过采样就会发生频谱混叠,使采样后的信号序列频谱不能真实反映原信号的频谱。

2、泄漏现象

实际中信号序列往往很长,常用截短的序列来近似它们,这样可以用较短的DFT对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形函数。

这样得到的频谱会将原频谱扩展开。

3、栅栏效应

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

因此,只能看到离散点无法看出真实频谱。

2.3实验内容及步骤

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

(1)固定信号中参数p=16,信号长度N=32,改变q的值,分别等于2,10,30,观察他们的时域和幅频特性(作FFT时,点数大于256),了解当q取不同的值时,对信号序列的时域和幅频特性的影响。

MATLAB程序:

N=32;FFTN=256;p=16;q1=2;q2=10;q3=30;

n=0:

N-1;

xa1=exp(-((n-p).^2/q1));

ya1=fft(xa1,FFTN);

figure

(1);

subplot(2,1,1);stem(n,xa1,'.');

subplot(2,1,2);stem(ya1,'.');

xa2=exp(-((n-p).^2/q2));

ya2=fft(xa2,FFTN);

figure

(2);

subplot(2,1,1);stem(n,xa2,'.');

subplot(2,1,2);stem(ya2,'.');

xa3=exp(-((n-p).^2/q3));

ya3=fft(xa3,FFTN);

figure(3);

subplot(2,1,1);stem(n,xa3,'.');

subplot(2,1,2);stem(ya3,'.');

运行结果:

 结论:

p固定时,随着q的改变,时域波形变化缓慢,低频分量增加,频谱泄露和混叠减小。

(2)固定q=10,改变p,使p分别等于25,30,32,观察参数p变化对信号序列的时域及幅频特性的影响,注意p等于多少时,会发生明显的泄露现象,混叠是否也随之出现?

MATLAB程序:

N=32;q=10;p1=25;p2=30;p3=32;FFTN=256;

n=0:

N-1;

xa1=exp(-((n-p1).^2/q));

ya1=fft(xa1,FFTN);

figure

(1);

subplot(2,1,1);stem(n,xa1,'.');

subplot(2,1,2);stem(ya1,'.');

xa2=exp(-((n-p2).^2/q));

ya2=fft(xa2,FFTN);

figure

(2);

subplot(2,1,1);stem(n,xa2,'.');

subplot(2,1,2);stem(ya2,'.');

xa3=exp(-((n-p3).^2/q));

ya3=fft(xa3,FFTN);

figure(3);

subplot(2,1,1);stem(n,xa3,'.');

subplot(2,1,2);stem(ya3,'.');

运行结果:

结论:

q固定,随着p的变化,时域波形出现偏移,当p=30时由于窗口函数的变化,出现明显的泄漏现象,混叠也随之出现。

2、观察正弦序列

(1)正弦序列。

令f=0.0625,N=32,FFT点数为32,检查谱峰出现的位置是否正确?

谱的形状如何?

如令N=32,FFT点数为512,谱的形状如何?

使用频域采样定理分析该现象并绘出幅频特性曲线。

MATLAB程序:

N=32;f=0.0625;

n=0:

N-1;

xb=sin(2*pi*f*n);

figure

(1);

stem(n,xb,'.');

yb1=fft(xb,32);

figure

(2);

stem([0:

31],imag(yb1),'.');

yb2=fft(xb,512);

figure(3);

stem([0:

511],imag(yb2),'.');

运行结果:

结论:

当FFT点数N=32时,谱峰出现的位置正确。

频谱只在k=2,30处有值,其余地方都为0。

当FFT点数为512时,频谱出现了明显的泄漏和混叠。

当DFT点数大于序列长度时,可以通过X(k)恢复。

(2)令f=0.265625,N=32,FFT点数分别为32、64,观察其幅频特性曲线,何时从幅频特性曲线上可以观测到原正弦信号的模拟频率?

信号长度N=64情况又如何?

MATLAB:

N1=32;N2=64;f=0.265625;

n1=0:

N1-1;n2=0:

N2-1;

xb1=sin(2*pi*f*n1);

figure

(1)

subplot(3,1,1);stem(n1,xb1,'.');

yb1=fft(xb1,32);

subplot(3,1,2);stem(n1,imag(yb1),'.');

yb2=fft(xb1,64);

subplot(3,1,3);stem(n2,imag(yb2),'.');

xb2=sin(2*pi*f*n2);

figure

(2);

subplot(3,1,1);stem(n2,xb2,'.');

yb3=fft(xb2,32);

subplot(3,1,2);stem(n1,imag(yb3),'.');

yb4=fft(xb2,64);

subplot(3,1,3);stem(n2,imag(yb4),'.');

运行结果:

结论:

信号长度N=32,当FFT点数为32时,无法观察出原信号模拟频率。

当FFT点数为64时,在k=17时可以观察到原模拟信号的频率。

信号长N=64时,情况一致。

(3)f=0.245,N=256,观察其时域曲线,注意此时由于采样引起的假调制现象。

通过选择FFT的点数,能否使该曲线出现单线谱?

设f=1.96kHz,采样频率8kHz,N=256,此时频谱分辨率为多少?

通过FFT离散谱观察到的信号模拟频率与实际频率相差多少?

MATLAB程序:

N=256;f1=0.245;

n=0:

N-1;

xb1=sin(2*pi*f1*n);

figure

(1);

subplot(2,1,1);stem(n,xb1,'.');

yb1=fft(xb1,256);

subplot(2,1,2);stem(yb1,'.');

运行结果:

结论:

可以通过选择FFT点数使曲线出现单线谱。

频谱分辨率=31.25Hz。

通过FFT观察信号模拟频率为1.96875kHz,与真实频率相差0.00875kHz。

(3)观察衰减正弦序列

观察衰减正弦序列,令a=0.1,f分别为0.21875、0.4375、0.5625(此时还满足Nyquist采样定理?

),N=32,FFT点数32、256,观察在不同f值的情况下,谱峰出现的位置、形状,有无混叠和泄露现象,说明产生的原因。

   MATLAB程序:

x=0.1;f1=0.21875;f2=0.4375;f3=0.5625;

N=32;

n=0:

N-1;

xc1=exp(-x.*n).*sin(2*pi*f1*n);

yc1=fft(xc1,32);

yc2=fft(xc1,256);

figure

(1);

subplot(3,1,1);stem(n,xc1,'.');

subplot(3,1,2);stem(yc1,'.');

subplot(3,1,3);stem(yc2,'.');

xc2=exp(-x.*n).*sin(2*pi*f2*n);

yc3=fft(xc2,32);

yc4=fft(xc2,256);

figure

(2);

subplot(3,1,1);stem(n,xc2,'.');

subplot(3,1,2);stem(yc3,'.');

subplot(3,1,3);stem(yc4,'.');

xc3=exp(-x.*n).*sin(2*pi*f3*n);

yc5=fft(xc3,32);

yc6=fft(xc3,256);

figure(3);

subplot(3,1,1);stem(n,xc3,'.');

subplot(3,1,2);stem(yc5,'.');

subplot(3,1,3);stem(yc6,'.');

运行结果:

结论:

当f=0.5625时,信号的最高频率大于采样频率的一半,所以此时不满足Nyquist采样定理。

在满足Nyquist采样定理的情况下,f增大,谱峰逐渐靠近。

出现了混叠和泄漏,由于采样点数不足时造成的。

(4)观察三角波序列和反三角波序列

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

用FFT点数为256分析这两个信号,观察频谱发生了什么变化?

两种情况下的FFT频谱还有相同之处么?

为什么?

MATLAB程序:

N=8;x=zeros(size(n));

n=0:

N-1;

mask=(n>=0)&(n<=3);

xd(mask)=1+n(mask);

mask=(n>=4)&(n<=7);

xd(mask)=8-n(mask);

mask=(n>=0)&(n<=3);

xe(mask)=4-n(mask);

mask=(n>=4)&(n<=7);

xe(mask)=n(mask)-3;

yd1=fft(xd,8);

ye1=fft(xe,8);

yd2=fft(xd,256);

ye2=fft(xe,256);

figure

(1);

subplot(3,1,1);stem(n,xd,'.');

subplot(3,1,2);stem(yd1,'.');

subplot(3,1,3);stem(yd2,'.');

figure

(2);

subplot(3,1,1);stem(n,xe,'.');

subplot(3,1,2);stem(ye1,'.');

subplot(3,1,3);stem(ye2,'.');

结论:

二者在序列形状上,三角序列先增大后减小;反三角

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

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1