数字信号处理实验三--用FFT

数字信号处理实验三--用FFT
数字信号处理实验三--用FFT

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

XXXX 大学实验报告

XXXX 年 XX 月 XX 日

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

班级: XXXXXXXX 班 学号: XXXXXXXX 姓名: XXXX

实验三 用FFT 作谱分析

一、 实验目的

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

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

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

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

二、 实验内容

(1)x(n)={1 0≤n ≤5

0 其他

构造DFT 函数计算x(n)的10点DFT ,20点DFT

并画出图形;

(2)利用FFT 对下列信号逐个进行谱分析并画出图形 a 、x 1(n)=R 4(n); b 、x 2(n)=cos π

4n ; c 、x 3(n)=sin π8n

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

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

1

s

s

f n f f n f n x ππ+=

要区分出这两种频率成份,必须满足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)令)()()(32n x n x n x +=

用FFT 计算16点离散傅立叶变换并画出图形,分析DFT 的对称性 (4))()()(32n jx n x n x +=

用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、结果分析

定义x(n)的N 点DFT 为

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

(2)1、代码

1

0)()(1

0-≤≤=∑-=N k W n x k X N n nk

N

N

j

N e

W π2-=其中

N=64;

n=[0:N-1];

x1=[ones(1,4),zeros(1,N-4)];%定义

x1(n)=R4(n)

x2=cos((pi/4)*n); %定义

n

x2(n)=cosπ

4

x3=sin((pi/8)*n); %定义

n

x3(n)=sinπ

8

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 为

2、DFT 与Z 变换的关系

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

3、DFT 隐含周期性

1

0)()(1

0-≤≤=∑-=N k W n x k X N n nk N

N

j

N e

W π2-=其中

在DFT变换对中,x(n)和X(k)均为有限长序列,设

nk

N

j

nk

N

e

W

π2

-

=,由于kn

N

W

的周期性,使得x(n)和X(k)隐含周期性,且周期为N。

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

相关主题
相关文档
最新文档