FFT变换及其应用Word格式.docx

上传人:b****6 文档编号:16268170 上传时间:2022-11-22 格式:DOCX 页数:11 大小:400.12KB
下载 相关 举报
FFT变换及其应用Word格式.docx_第1页
第1页 / 共11页
FFT变换及其应用Word格式.docx_第2页
第2页 / 共11页
FFT变换及其应用Word格式.docx_第3页
第3页 / 共11页
FFT变换及其应用Word格式.docx_第4页
第4页 / 共11页
FFT变换及其应用Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

FFT变换及其应用Word格式.docx

《FFT变换及其应用Word格式.docx》由会员分享,可在线阅读,更多相关《FFT变换及其应用Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

FFT变换及其应用Word格式.docx

在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。

这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:

反变换为:

有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。

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

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

常用的FFT是以2为基数的,其长度

它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。

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

(1)混叠

序列的频谱被采样信号的周期延拓,当采样速率不满足奈奎斯特定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。

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

(2)泄漏

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

泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。

为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。

(3)栅栏效应

DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。

减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

三、实验内容及步骤:

(1)用FFT计算连续时间信号

的频谱。

分析:

该信号峰值为1,在t>

50其幅度小于0.0067,所以若选择L=N*T=50,则信号的主要部分将被覆盖,因信号有效长度不够导致的频谱泄漏可以忽略,可先在L=50中选定几组采样组合T1=2,N1=25;

T2=1,N2=50;

T3=0.5,N3=100;

T4=0.1,N4=500,作图查看采样频率在采样时间T为多少时,频谱混叠现象基本可以忽略。

原理:

检查信号折叠频率处的幅度值,越小越好,一般可以将之与幅频特性曲线中的最大值相比较,若比值小于1%则混叠可以忽略,当然为0更好(实际不可能)。

然后固定采样时间T=0.1,缩短信号取样长度,观察信号频谱什么时候出现明显泄漏,可固定T=0.1,分别取N=20,50,500,800观察。

最后,可以将T=0.1,N=500与T=0.1,N=500(后300点为补零点)的频谱对比,试分析得出的结果。

1、L=50中选定几组采样组合T1=2,N1=25;

程序代码:

T=[210.50.1];

N=[2550100500];

forstep=1:

1:

4

n=0:

(N(step)-1);

x=exp(-0.1*n*T(step));

subplot(2,4,step);

stem(n,x);

title(['

时域信号(T='

num2str(T(step)),'

N='

num2str(N(step)),'

)'

]);

xlabel('

时间'

);

ylabel('

振幅'

grid;

subplot(2,4,step+4);

h=T(step)*fftshift(fft(x));

D=2*pi/(N(step)*T(step));

k=floor(-(N(step)-1)/2:

(N(step)-1)/2);

plot(k*D,abs(h));

g=abs(h

(1))/abs(h(fix(N(step)/2)));

titleLine1='

幅频特性'

;

titleLine2=['

振幅(混叠系数:

η='

num2str(g),'

];

%title([titleLine2;

titleLine2]);

%分成两行显示

模拟频率'

ylabel(titleLine2);

title(titleLine1);

%ifstep==4

%sp=input('

请输入幅频特性横轴显示范围'

%axis([-55012]);

%elseifstep==2

%axis([235265012]);

%end

grid

end

str=['

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'

disp(str);

disp('

所有图形绘制完毕'

%矩阵赋值方法:

x=[123]或x=[1,2,3]是赋值一行,x=[1;

2;

3]是赋值一列,

%x=[1,2,3;

4,5,6]是赋值两行三列矩阵。

一个两行三列矩阵x,取数要用如x(2,3)方式取

%字符串数组也类似,但字符串数组是以单个字符而非引号内的串为最小

%存储单位,如str=['

abc'

'

def'

'

xyz'

dgf'

]是两行六列的字符矩阵而非字符串矩阵

%注意每行的字符数必须一样,否则矩阵失衡。

x(2,:

)是取矩阵第二行

实验结果截图:

2、固定采样时间T=0.1,缩短信号取样长度,观察信号频谱什么时候出现明显泄漏,可固定T=0.1,分别取N=20,50,500,800观察。

实验代码:

T=0.1;

N=[2050500800];

x=exp(-0.1*n*T);

num2str(T),'

h=T*fftshift(fft(x));

D=2*pi/(N(step)*T);

k=floor(-(N(step)-1)/2:

3、以将T=0.1,N=500与T=0.1,N=500(后300点为补零点)的频谱对比,试分析得出的结果。

T=0.1;

N=500;

M=150;

N-1;

m=0:

M-1;

x1=exp(-0.1*n*T);

x2=[exp(-0.1*m*T)zeros(1,350)];

x=[x1;

x2];

2

subplot(2,2,step);

stem(n,x(step,:

));

title('

时域信号'

subplot(2,2,step+2);

h=T*fftshift(fft(x(step,:

)));

D=2*pi/(N*T);

k=floor(-(N-1)/2:

(N-1)/2);

axis([-88012]);

(2)用FFT计算连续时间信号

的频谱

若混叠系数(幅频特性曲线中奈奎斯特频点处对应幅值与峰值之比)小于1%,则混叠效应可以忽略。

分别取T=0.6,N=512和T=0.1,N=4096进行计算,通过频谱图形相关计算和对比,得出合理采样间隔T。

然后固定T=0.1,改变N(分别取N=512,1024,2048,4096),当N取多少时,频谱图无频谱泄漏且物理分辨率达到要求(能够分辨出两个单频点)?

请分析信号频谱图形结果(必要时使用图形“放大镜”工具观察或通过axis()函数改变频率轴显示范围)。

1、分别取T=0.6,N=512和T=0.1,N=4096进行计算,通过频谱图形相关计算和对比,得出合理采样间隔T。

T=[0.60.1];

N=[5124096];

x=exp(-0.01*n*T(step)).*cos(2*n*T(step))+2*exp(-0.015*n*T(step)).*cos(2.1*n*T(step));

g=abs(h

(1))/max(abs(h));

abs(h

(1))

max(abs(h))

axis([-88070]);

2、固定T=0.1,改变N(分别取N=512,1024,2048,4096),当N取多少时,频谱图无频谱泄漏且物理分辨率达到要求(能够分辨出两个单频点)?

请分析信号频谱图形结果。

N=[512,1024,2048,4096];

x=exp(-0.01*n*T).*cos(2*n*T)+2*exp(-0.015*n*T).*cos(2.1*n*T);

%g=abs(h

(1))/max(abs(h));

%abs(h

(1))

%max(abs(h))

%titleLine2=['

axis([13070]);

四、实验总结与分析:

通过本实验,加深对FFT的理解,熟悉了FFT子程序,掌握了应用FFT对典型信号进行频谱分析的方法,了解到应用FFT进行信号频谱分析过程中可能出现的问题(混叠、泄漏、栅栏效应等)以便在实际中正确应用FFT。

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

当前位置:首页 > 人文社科 > 军事政治

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

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