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(2f1n/fs)sin(2f2n/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)WNn0N10kN12N其中定义x(n)的N点DFT为
WNej由定义知: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)WNn0N10kN1其中WNej2N2、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的共轭对称性等。
nkNej2nkN,由于
WNkn