好文档 - 专业文书写作范文服务资料分享网站

数字信号处理实验报告3 DSP信号与系统实验报告 信号加窗及谱分析 电子科技大学 2018版

天下 分享 时间: 加入收藏 我要投稿 点赞

N2?1N2?1r??k??N?rk?2? X1??k???x1?r?WN2 ??x1?r?WN2?X1?k??2?r?0r?0?N??N?同样,X2??k??X2?k? (k=0,1,…,N/2-1),所以后半段(k=N/2,…,N-1)的

?2?N2?kN2kkDFT值可以用前半段k值表达式获得,中间还利用到WN,?WNWN??WN得到后半段的X?k?值表达式为:

k X[k]?X1[k]?WNX2[k],k?0,1,N2?1 (3.12)

这样,通过计算两个N/2点序列x1?n?,x2?n?的N/2点DFTX1?k?,X2?k?,可以组合得到N点序列的DFT值X?k?,其组合过程如图3.3所示:

图3.3 两个N/2点DFT组合成一个N点DFT

比如,一个N = 8点的FFT运算按照这种方法来计算FFT可以用图3.4来表示:

x(0)W0x(1)W0x(2)W0x(3)x(4)W0x(5)W0x(6)W0x(7)W2X(7)W3X(6)W2X(5)W2W0W1X(3)X(4)X(2)X(1)X(0)

图3.4 8点基2按时间抽取(DIT)算法流程图

b)基2按频率抽取(DIF)的FFT算法思想:

设序列长度为N?2L,L为整数(如果序列长度不满足此条件,通过在后面补零让其满足)。

在把X?k?按k的奇偶分组之前,把输入按n的顺序分成前后两半:

X[k]?DFT{x[n]}??x[n]Wn?0N/2?1N?1nkNN/2?1??n?0x[n]WnkN?n?N/2?N?1x[n]WNnk???n?0x[n]WnkNN/2?1??n?0)kN(n?Nx[n?]WN22N/2?1?n?0kNN[x[n]?x[n?]WN2]WNnk,k?0,1,...,N?12

N2?N2?k因为WN??1,则有WN???1?,所以:

kN/2?1X[k]???n?0[x[n]?(?1)kx[n?Nnk]]WN,k?0,1,...,N?12

按k的奇偶来讨论,k为偶数时:

N/2?1X[2r]??[x[n]?x[n?2]]Wn?0N2rnN,k?0,1,...,N?1

k为奇数时:

N/2?1X[2r?1]??n?0[x[n]?x[n?N(2r?1)n]]WN,k?0,1,...,N?12

2rkrk前面已经推导过WN?WN2,所以上面的两个等式可以写为:

N/2?1X[2r]??n?0[x[n]?x[n?Nrn]]WN/2,r?0,1,...,N/2?12 Nnnr]]WN}WN/2,r?0,1,...,N/2?12

N/2?1X[2r?1]??{[x[n]?x[n?n?0通过上面的推导,X?k?的偶数点值X?2r?和奇数点值X?2r?1?分别可以由组合而成的N/2点的序列来求得,其中偶数点值X?2r?为输入x[n]的前半段和后半段之和序列的N/2点DFT值,奇数点值X?2r?1?为输入x[n]的前半段和后半段

n之差再与WN相乘序列的N/2点DFT值。

x1[n]?x[n]?x[n?则有:

N/2?1NN]x2[n]?[x[n]?x[n?]]WNn2,2

X[2r]??n?0x1[n]WrnN/2N/2?1,X[2r?1]??n?0rnx2[n]WN/2,r?0,1,...,N?12

这样,也可以用两个N/2点DFT来组合成一个N点DFT。 (3)在FFT计算中使用到的MATLAB命令:

函数fft(x)可以计算R点序列的R点DFT值;而fft(x,N)则计算R点序列的N点DFT,若R>N,则直接截取R点DFT的前N点,若R

四、实验目的:

1、理解信号时域加窗后频谱的所发生的变化。

2、观察时域选择加不同的窗频域的变化情况,从而分析各种窗的特性。 3、深刻理解FFT基本思想,学习基2 DIT和基2 DIF算法。重点理解FFT算法在计算DFT方面的时间优化。

4、观察时域选择加不同的窗后利用FFT绘出的该信号频域的变化情况,再次确认各种窗的特性。

五、实验内容:

1、计算两个给定的加窗的实数序列的DTFT,其中窗函数分别取为矩形窗,Bartlett窗,Hann窗,Hamming窗和Blackman窗,对比各自的频谱特性。 2、对以上两个序列,利用DFT定义式,编程直接计算2个要求序列的DFT值(直接加矩形窗对其截断)。

3、利用MATLAB中提供的FFT函数,计算以上两个序列的DFT值,对比与直接利用DFT定义式计算的结果与所花费的计算时间。

4、对以上两个序列,分别采用不同的窗(Bartlett窗,Hann窗,Hamming窗和Blackman窗),利用FFT函数计算DFT值,对比其结果。

六、实验器材(设备、元器件):

安装MATLAB软件的PC机一台,DSP实验演示系统一套。 七、实验步骤:

?5??1、计算实数序列x?n??cos?n?w?n? , 0?n?255的DTFT,其中w?n?分别取为

16??矩形窗,Bartlett窗,Hann窗,Hamming窗和Blackman窗,对比各自的频谱特性。

2、计算周期为1kHz的方波序列(占空比为50%,幅度取为+/-512,采样频率为25kHz,取256点长度)的DTFT,对其进行截断分别取矩形窗,Bartlett窗,Hann窗,Hamming窗和Blackman窗,对比各自的频谱特性。 3、利用DFT定义式,编程直接计算上面两个序列的DFT值。

4、利用MATLAB中提供的FFT函数,计算2个要求序列的DFT值。调用MATLAB中提供的计算程序运行时间函数,对比与直接利用DFT定义式计算所花费的时间。

5、对以上两个序列,分别采用不同的窗(Bartlett窗,Hann窗,Hamming窗和Blackman窗),利用FFT函数计算DFT值,对比其结果。

6、(拓展要求)不改变序列的点数,仅改变DFT计算点数(如变为计算1024点DFT值),观察画出来的频谱与前面频谱的差别,并解释这种差别。通过这一步骤的分析,理解频谱分辨力的概念,解释如何提高频谱分辨力。

八、实验数据及结果分析: 需要的程序代码:

(1)对要求的2个序列加不同窗后计算DTFT,对比其各自的频谱。

hold on

grid on

n = 0:255; Fs = 1;

L = length(n);

x = cos(5*pi*n/16);

w1 = bartlett(L)'; w2 = hann(L)'; w3 = hamming(L)'; w4 = blackman(L)';

LINES = 5; ROWS = 2; ID = -1; STEP = 2; ID = ID+STEP; subplot(LINES,ROWS,ID) stem(x)

ID = ID+STEP; subplot(LINES,ROWS,ID) stem(x.*w1)

ID = ID+STEP; subplot(LINES,ROWS,ID) stem(x.*w2)

ID = ID+STEP; subplot(LINES,ROWS,ID) stem(x.*w3)

ID = ID+STEP; subplot(LINES,ROWS,ID) stem(x.*w4)

ID = 0;

ID = ID+STEP; subplot(LINES,ROWS,ID) dtft(x,L,Fs)

ID = ID+STEP; subplot(LINES,ROWS,ID) dtft(x.*w1,L,Fs)

ID = ID+STEP; subplot(LINES,ROWS,ID) dtft(x.*w2,L,Fs)

ID = ID+STEP; subplot(LINES,ROWS,ID) dtft(x.*w3,L,Fs)

ID = ID+STEP; subplot(LINES,ROWS,ID) dtft(x.*w4,L,Fs)

hold on grid on

数字信号处理实验报告3 DSP信号与系统实验报告 信号加窗及谱分析 电子科技大学 2018版

N2?1N2?1r??k??N?rk?2?X1??k???x1?r?WN2??x1?r?WN2?X1?k??2?r?0r?0?N??N?同样,X2??k??X2?k?(k=0,1,…,N/2-1),所以后半段(k=N/2,…,N-1)的?2?N2?kN2kkDFT值可以用前半段k值表达式获得,中间还利用到WN,?WNWN??WN得到后半段的X?k?值表达式
推荐度:
点击下载文档文档为doc格式
6rfjs5wemk79ew80o94h77xpo5846y00qwf
领取福利

微信扫码领取福利

微信扫码分享