您好,欢迎来到九壹网。
搜索
您的当前位置:首页数字信号处理实验三--用FFT作谱分析

数字信号处理实验三--用FFT作谱分析

来源:九壹网
XXXX大学实验报告

XXXX 年 XX 月 XX 日

课程名称: 数字信号处理 实验名称:用FFT作谱分析

班级: XXXXXXXX班 学号: XXXXXXXX : XXXX

实验三 用FFT作谱分析

一、实验目的

(1) 进一步加深DFT算法原理和基本性质的理解〔因为FFT只是DFT的一种

快速算法,所以FFT的运算结果必然满足DFT的基本性质〕; (2) 熟悉FFT算法的原理;

(3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法分析误差及其

原因,以便在实际中正确应用FFT。

二、实验内容

1 0≤𝑛≤5

〔1〕x(n)={ 构造DFT函数计算x(n)的10点DFT,20点DFT

0 其他

并画出图形;

〔2〕利用FFT对以下信号逐个进行谱分析并画出图形 a、x1(n)=R4(n); b、x2(n)=cos4𝑛; c、x3(n)=sin8𝑛

以上3个序列的FFT变换区间N=8,16

〔2〕设一序列中含有两种频率成份,f1=2HZ,f2=2.05HZ,采样频率取为fs=10HZ,即

𝜋𝜋

x(n)sin(2f1n/fs)sin(2f2n/fs)

要区分出这两种频率成份,必须满足N>400,为什么? a.取x(n)(0≤n<128)时,计算x(n)的DFT X(k)

b.将a中的x〔n〕以补零方式使其加长到0≤n<512,计算X(k) c.取x(n)( 0≤n<512),计算X(k)

〔3〕令x(n)x2(n)x3(n)

用FFT计算16点离散傅立叶变换并画出图形,分析DFT的对称性 〔4〕x(n)x2(n)jx3(n)

用FFT计算16点离散傅立叶变换并画出图形,分析DFT的对称性 三、实验代码 (1)1、 代码

function[Xk]=dft(xn,N)

n=[0:1:N-1];

k=[0:1:N-1]; WN=exp(-j*2*pi/N); nk=n'*k; WNnk=WN.^nk;

Xk=xn*WNnk; %离散傅立叶变换方法定义

N=10; %10点DFT n1=[0:N-1];

x1=[ones(1,6),zeros(1,N-6)]; %生成1行6列的单位矩阵和1行N-6列的0矩阵 Xk1=dft(x1,N); %10点DFT figure(1); subplot(2,1,1);

stem(n1,x1); %画火柴图 xlabel(‘n’);ylabel(‘x(n)’); subplot(2,1,2); stem(n1,abs(Xk1)); xlabel(‘n’);ylabel(‘x(n)’); N=20; n2=[0:N-1];

x2=[ones(1,6),zeros(1,14)];

Xk2=dft(x2,N); figure(2); subplot(2,1,1); stem(n2,x2);

xlabel(‘n’);ylabel(‘x(n)’); subplot(2,1,2); stem(n2,abs(Xk2)); xlabel(‘n’);ylabel(‘x(n)’);

2、运行结果

图1 10点DFT

图2 20点DFT

3、结果分析

nkX(k)x(n)WNn0N10kN12N其中定义x(n)的N点DFT为

WNej由定义知:DFT具有隐含周期性,周期与DFT的变换长度N一致,这说明,变换长度不一样,DFT的结果也不一样

〔2〕1、代码

N=;

n=[0:N-1];

x1=[ones(1,4),zeros(1,N-4)];%定义x1(n)=R4(n) x2=cos((pi/4)*n); %定义x2(n)=cos𝑛

4𝜋

x3=sin((pi/8)*n); %定义x3(n)=sin8𝑛 y1=fft(x1); y2=fft(x2);

y3=fft(x3); %分别进行DFT figure(1); m1=abs(y1);

subplot(2,1,1); %绘制x1(n)的图形 stem(n,x1);

subplot(2,1,2); %绘制x1(n)的DFT图形 stem(n,m1) figure(2);

m2=abs(y2);subplot(2,1,1);stem(n,x2); %绘制x2(n)的图形 subplot(2,1,2);stem(n,m2); %绘制x1(n)的DFT图形 figure(3);

m3=abs(y3);subplot(2,1,1);stem(n,x3); %绘制x3(n)的图形 subplot(2,1,2);stem(n,m3); %绘制x1(n)的DFT图形

𝜋

2、运行结果

图3 x1(n)的DFT前后图形

图4 x2(n)的DFT前后图形

图5 x3(n)的DFT前后图形

3、结果分析

由图可以看出,离散序列的DFT与对应连续函数的FT有对应关系,不同之处在于DFT的结果是离散的,而FT的结果是连续的,再者,DFT结果与DFT的变换长度N有关。 〔3〕a、1、程序 N=256;

n=[0:N-1];

x=sin(2*pi*2*n/10)+sin(2*pi*2.05*n/10); %定义x X=fft(x); %DFT figure(1); subplot(2,1,1);

stem(n,x); %绘制x subplot(2,1,2);

plot(n,abs(X)); %绘制DFT后的图形

2、运行结果

图6 长度为256的DFT b、1、程序

N=128; n=[0:N-1]; n1=[0:511];

x=sin(2*pi*2*n/10)+sin(2*pi*2.05*n/10);

x1=[x,zeros(1,384)]; %以补零方式将n加长到512 X1=fft(x1); figure(); subplot(2,1,1)

stem(n1,x1); %绘制x subplot(2,1,2);

plot(n1,abs(X1)) %绘制DFT后的图形

2、运行结果

图7 以补零方式加长到512的DFT C、1、程序

N1=512; n2=[0:N1-1];

x2=sin(2*pi*2*n2/10)+sin(2*pi*2.05*n2/10); %长度为512时变换 X2=fft(x2); hold on figure(); subplot(2,1,1);

stem(n2,x2); %绘制x subplot(2,1,2);

plot(n2,abs(X2)); %绘制DFT后的图形

2、运行结果

图8 长度为512的DFT 3、结果分析

由三种情况下的DFT结果可知,要区分信号中的两个不同频率,需要有一定个数的N,也就是说,N要足够大才可以区分开两个频率;

第一种N,N<400,因此DFT后二者频率未被区分开来;

第二种N,N以补零的方式加长到512点,大于400,则可以将二者频率区分开来;

第三种N,N>400,二者频率分开了;

也就是说,区分不同频率从DFT的角度来讲只要加长N的长度,而不管是以补零方式加长还是其他方式加长。 〔4〕1、程序

N=16; n=[0:N-1];

x2=cos((pi/4)*n);x3=sin((pi/8)*n);

x=x2+x3; %定义前述的序列x2(n)、 x3(n)和x(n) y2=fft(x2);y3=fft(x3); y=fft(x); %对x2(n)、x3(n) 和x(n)进行傅立叶变换 figure(1); m2=abs(y2); subplot(2,1,1);

stem(n,x2); %绘制x2(n)的图形

subplot(2,1,2);stem(n,m2) %绘制DFT后的x2(n)图形 figure(2); m3=abs(y3);

subplot(2,1,1);stem(n,x3); %绘制x3(n)的图形 subplot(2,1,2);stem(n,m3); %绘制DFT后的x3(n)图形 figure(3); m=abs(y);

subplot(2,1,1);stem(n,x); %绘制x(n)的图形 subplot(2,1,2);stem(n,m); %绘制DFT后的x(n)图形

2、运行结果

图9 x2(n)DFT前后的图形

图10 x3(n)DFT前后的图形

图11 x(n)DFT前后的图形

3、结果分析

a、x2(n)为实偶对称序列〔余弦序列〕,也可以认为是共轭对称序列; b、x3(n)为实奇对称序列〔正弦序列〕,也可以认为是共轭反对称序列; c、x(n)可以认为是一个分成了共轭对称和共轭反对称序列的实序列,则其DFT的实部对应x2(n),其虚部和j一起对应x3(n);

以上就是DFT的共轭对称性的一部分。 〔5〕1、程序

N=16; n=[0:N-1];

x1=cos((pi/4)*n)+j*sin((pi/8)*n); y1=fft(x1);

figure(1); m1=abs(y1);

subplot(2,1,1);stem(n,x1); %绘制x1(n)的图形 subplot(2,1,2);stem(n,m1); %绘制DFT后的x1(n)图形

2、运行结果

图12 x1(n)DFT前后的图形 3、结果分析

X1(n)可以认为是一个分成了实部和虚部的序列,则其DFT的实部对应共轭对称序列,其虚部和j一起对应共轭反对称序列。就是DFT的共轭对称性的另一部分。 四、实验小结

序列的傅立叶变换和Z变换共同特点是:〔1〕适用于无限长序列;〔2〕变换的结果是连续函数,从计算的角度来看这是不利的。

对有限长序列可采用离散傅立叶变换〔简称DFT〕,它是可利用电脑进行数值计算的变换,并且存在快速算法,从而使信号的实时处理和设备的简化得以实现。

1、DFT的定义

设x(n)是一个长度为N的有限长序列,定义x(n)的N点DFT为

nkX(k)x(n)WNn0N10kN1其中WNej2N2、DFT与Z变换的关系

DFT的物理意义:序列x(n)的N点DFT是x(n)的Z变换在单位圆上的N点等间隔采样;X(k)为x(n)的傅立叶变换X(ejw)在区间[0,2π]上的N点等间隔采样。 3、DFT隐含周期性

在DFT变换对中,x(n)和X(k)均为有限长序列,设W的周期性,使得x(n)和X(k)隐含周期性,且周期为N。

此外,DFT的基本性质包括线性性质、循环移位性质、循环卷积定理、复共轭序列的DFT以及DFT的共轭对称性等。

nkNej2nkN,由于

WNkn

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务