第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/24 13:21:29 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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??16?n?w?n? , 0?n?255的DTFT,其中w?n?分别取为矩?形窗,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

n = 0:255; Fs = 25000; L = length(n);

x = square(2*pi*1000*n/Fs,50);

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)

(2)对要求的2个序列直接用定义式进行DFT计算的程序。 以下是自己写的dft函数,不调用MATLAB的fft函数:

%%

% Author = Nie H.T.

% Stu ID = 2016010903009 % Date = Mar 27, 2018

% Calculate DFT without internal function fft. %%

function [X] = dft(x) L = length(x); X = zeros(L); for k = 1:L for n = 1:L

X(k) = X(k)+x(n)*exp(-1i*2*pi*k*n/L); end end

n = 0:255;

数字信号处理实验报告3 DSP信号与系统实验报告 信号加窗及谱分析 电子科技大学 2018版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c92u7q0tqw08njyy26yqz6tzp834daf018pw_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top