您的当前位置:首页正文

数字信号处理实验二用FFT做谱分析

来源:独旅网


《数字信号处理》

实践报告

题 目: 实验二 用FFT做谱分析

请浏览后下载,资料供参考,期待您的好评与关注!

1. 实验目的

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

速算法,所以FFT的运算结果必然满足DFT的基本性质)。 (2) 熟悉FFT算法原理和FFT子程序的应用。

(3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。 2. 实验步骤

(1) 复习DFT的定义、性质和用DFT作谱分析的有关内容。 (2) 复习按时间抽选法FFT算法原理及相应的运算流图 (3) 编制信号产生子程序,产生以下典型信号供谱分析用:

x1(n) = R4(n)

n1,x2(n) = 8n,0,4n,x3(n) = n3,0,0n34n7 其他n0n34n7 其他nx4(n) = cos(πn /4) x5(n) = sin(πn /8)

x6(t) = cos8πt + cos16πt + cos20πt

应当注意,如果给出的是连续信号xa(t),则首先要根据其最高频率确定抽样频率fs以及由频率分辨率选择抽样点数N,然后对其进行软件抽样(即计算 x(n)=xa(nT),

0≤n≤N-1),产生对应序列 x(n)。对信x6(t),频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差。请实验者根据DFT的隐含周期性思考这

请浏览后下载,资料供参考,期待您的好评与关注!

个问题。

请浏览后下载,资料供参考,期待您的好评与关注!

(4) 编写主程序。图2.1 给出了主程序框图,供参考。

开始 读入长度N 调用信号产生子程序产生实验信号 调用绘图子程序(函数)绘制时间序列波形图 调用FFT子程序(函数)计算信号的DFT 调用绘图子程序(函数)绘制|X(k)|曲线 结束 对2中所给出的信号逐个进行谱分析。下面给出针对各信号的FFT变换区间N以及对连续信号x6(t)的抽样频率fs,供实验时参考。

x1(n) , x2(n) , x3(n) , x4(n) , x5(n):N = 8 , 16

x6(t):fs = 64(Hz) , N = 16 , 32 , 64

3、实验内容 (1)x1(n) = R4(n) 程序代码: x1=ones(1,4); N=4; n=[0:1:3]; stem(n,x1); X1=fft(x1,8); magX1=abs(X1); k=[0:7]; stem(k,magX1); x12=ones(1,4);

请浏览后下载,资料供参考,期待您的好评与关注!

N=16; n1=[0:3]; stem(n1,x12); X12=fft(x12,16); magX12=abs(X12); k1=[0:15]; stem(k1,magX12); subplot(2,2,1):stem(n,x1); subplot(2,2,2):stem(n1,x12); subplot(2,2,3):stem(k,magX1); subplot(2,2,4):stem(k1,magX12);

请浏览后下载,资料供参考,期待您的好评与关注!

请浏览后下载,资料供参考,期待您的好评与关注!

n1,(2)x2(n) = 8n,0,0n34n7 其他n程序代码: x2=[1:4,4:-1:1]; n=[0:3,4:7]; stem(n,x2); X2=fft(x2,8); magX2=abs(X2); k=[0:7]; stem(k,magX2);

x2=[1:4,4:-1:1]; n1=[0:3,4:7]; stem(n,x2); X21=fft(x2,16); magX21=abs(X21); k1=[0:15]; stem(k1,magX21); subplot(2,2,1):stem(n,x2); subplot(2,2,2):stem(n1,x2); subplot(2,2,3):stem(k,magX2); subplot(2,2,4):stem(k1,magX21);

请浏览后下载,资料供参考,期待您的好评与关注!

4n,(3)x3(n) = n3,0,0n34n7 其他n请浏览后下载,资料供参考,期待您的好评与关注!

程序代码: x3=[4:-1:1,1:4]; n=[0:3,4:7]; stem(n,x3); X3=fft(x3,8); magX3=abs(X3); k=[0:7]; stem(k,magX3);

x3=[4:-1:1,1:4]; n1=[0:3,4:7]; stem(n,x3); X31=fft(x3,16); magX31=abs(X31); k1=[0:15]; stem(k1,magX31); subplot(2,2,1):stem(n,x3); subplot(2,2,2):stem(n1,x3); subplot(2,2,3):stem(k,magX3); subplot(2,2,4):stem(k1,magX31);

请浏览后下载,资料供参考,期待您的好评与关注!

(4)x4(n) = cos(πn /4)

请浏览后下载,资料供参考,期待您的好评与关注!

程序代码: n=[0:7]; x4=cos(pi*n/4); stem(n,x4); X4=fft(x4,8); magX4=abs(X4); k=[0:7]; stem(k,magX4);

n1=[0:15]; x41=cos(pi*n1/4); stem(n,x4); X41=fft(x4,16); magX41=abs(X41); k1=[0:15]; stem(k1,magX41); subplot(2,2,1):stem(n,x4); subplot(2,2,2):stem(n1,x41); subplot(2,2,3):stem(k,magX4); subplot(2,2,4):stem(k1,magX41);

请浏览后下载,资料供参考,期待您的好评与关注!

(5)x5(n) = sin(πn /8) 程序代码: n=0:1:7; x5=sin(pi*n/8); stem(n,x5); X5=fft(x5,8); magX5=abs(X5); k=[0:7]; stem(k,magX5);

n1=0:1:15; x51=sin(pi*n1/8);

请浏览后下载,资料供参考,期待您的好评与关注!

stem(n1,x51); X51=fft(x5,16); magX51=abs(X51); k1=[0:15]; stem(k1,magX51); subplot(2,2,1):stem(n,x5); subplot(2,2,2):stem(n1,x51); subplot(2,2,3):stem(k,magX5); subplot(2,2,4):stem(k1,magX51);

(6)x6(t) = cos8πt + cos16πt + cos20πt N=32

请浏览后下载,资料供参考,期待您的好评与关注!

程序代码: fs=64; T=1/fs; t=0:T:1/2-T;

x6=cos(2*pi*4*t)+cos(2*pi*8*t)+cos(2*pi*10*t); stem(t,x6); X6=fft(x6,32); magX6=abs(X6); k=[0:31]; stem(k,magX6); subplot(2,1,1):stem(t,x6); subplot(2,1,2):stem(k,magX6);

请浏览后下载,资料供参考,期待您的好评与关注!

N=16 程序代码: fs=64; T=1/fs; t=0:T:1/4-T;

x6=cos(2*pi*4*t)+cos(2*pi*8*t)+cos(2*pi*10*t); stem(t,x6); X6=fft(x6,16); magX6=abs(X6); k=[0:15]; stem(k,magX6); subplot(2,1,1):stem(t,x6); subplot(2,1,2):stem(k,magX6);

请浏览后下载,资料供参考,期待您的好评与关注!

N=64 程序代码: fs=64; T=1/fs; t=0:T:1-T;

x6=cos(2*pi*4*t)+cos(2*pi*8*t)+cos(2*pi*10*t); stem(t,x6); X6=fft(x6,64); magX6=abs(X6);

请浏览后下载,资料供参考,期待您的好评与关注!

k=[0:63]; stem(k,magX6); subplot(2,1,1):stem(t,x6); subplot(2,1,2):stem(k,magX6);

思考题:

1、在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢? 答:在N=8时,x2(n)和x3(n)的幅频特性相同, x3(n)= x2((n-4))8, 0≤n≤7

DFT(x3(n))= e-j(2/8)k4 X2[k]=e-jkX2[k],所以x2(n)和x3(n)的幅频特性相同。N=16时不相同。N=16时,x2(n)和x3(n)均需补零,不再满足循环位移。

请浏览后下载,资料供参考,期待您的好评与关注!

2、通过对x4(n),x5(n)的分析,你发现这两个信号有哪些频率成分?你得出什么结论?

答:DFT采样结果因采样点数不同而变化。

3、如果周期信号的周期预先不知道,如何用FFT进行谱分析? 答: 如果周期信号的周期预先不知道,可先截取M 点的进行FFT,即

xM(n)x(n)•RM(n)XM(k)DFT[xM(n)]再将截取长度扩大1倍,截取

~

0kM1

x2M(n)x(n)•R2M(n)~

X2M(k)DFT[x2M(n)]比较

XM(k) 0k2M1

X2M(k) ,如果二者的主谱差别满足分析误差要求,则以

~X(k)或2M可近似表示 x(n)的频谱,否则,继续截取长度加倍,

直 至前后两次分析所得主谱频率差别满足误差要求。

XM(k)请浏览后下载,资料供参考,期待您的好评与关注!

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