1、2014年4月2 实验室云南师范大学同析3栋数字信号处理实验室一实验预习1实验目的应用离散傅里叶变换(DFT),分析离散信号xk的频谱。深刻理解DFT分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。2实验原理、实验流程或装置示意图根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT)与四种确定信号傅里叶变换的之间的关系,实现由DFT分析其频谱。 信号的傅里叶变换建立了信号的时域与频域之间的一一对应关系,如果信号在时域存在某种联系,则在其频谱函数之间必然存在联系。 若离散非周期信号xk是连续非周期信号x(t)的等间隔抽样序列,则信号xk的频谱函
2、数是信号x(t)的频谱函数的周期化;若离散周期信号是离散非周期信号xk的周期化,则信号的频谱函数是信号的频谱函数的离散化。Matlab中提供了fft函数,FFT是DFT的快速算法:X=fft(x):用于计算序列x的离散傅里叶变换(DFT)X=fft(x,n):对序列x补零或截短至n点的离散傅里叶变换。 当x的长度小于n时,在x的尾部补零使x的长度达到n点; 当x的长度大于n时,将x截短使x的长度成n点;x=ifft(X)和x=ifft(X,n)是相应的离散傅里叶反变换。fftshift(x)将fft计算输出的零频移到输出的中心位置。利用DFT计算离散周期信号 xk 的频谱 分析步骤为:(1)
3、确定离散周期序列 的基本周期N;(2) 利用fft函数求其一个周期的DFT,得到Xm;(3) 利用DFT计算离散非周期信号xk 的频谱 分析步骤为:(1) 确定序列的长度M及窗函数的类型。当序列为无限长时,需要根据能量分布,进行截短。 (2) 确定作FFT的点数N;根据频域取样定理,为使时域波形不产生混叠,必须取。(3) 使用fft函数作N点FFT计算Xm。3 实验设备及材料一台带matlab软件的计算机。 4实验方法步骤及注意事项实验方法步骤:(1) 打开MATLAB软件(2) 根据题目要求编写程序(3) 运行程序(4) 分析实验结果(5) 关闭计算机 注意事项:(1)对于实验电脑要爱惜,遵
4、守实验的规则。(2)程序运行前要检查程序是否正确。 在使用matlab编程时,应该养成良好的编写习惯,新建一个flies编写。 一些快捷键的使用,能提高编程效率。 Help能查询到不懂使用的函数使用方法,比如这个用到的fft和fftshift等函数。如下界面:二、实验内容【例1.4.1】已知一个周期系列xk=cos(pi/8*k+pi/3)+o.5*cos(7*pi*k/8),利用FFT计算其频谱并与理论分析相比较。%Example 1_4_1clc,clear,close allN = 16;k = 0:N-1;x = cos(pi/8*k+pi/3)+0.5*cos(7*pi/8*k);X
5、 = fft(x,N);subplot(2,1,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude);xlabel(Frequency(rad)subplot(2,1,2);stem(k-N/2,angle(fftshift(X);Phase【例1.4.2】利用DFT分析系列xk=0.8k*uk的频谱。%Example 1_4_230;x = 0.8.k;stem(k,x);w = k - 15;plot(w,abs(fftshift(fft(x);1. 利用FFT分析信号的频谱; (1) 确定DFT计算的参数; (2) 进行理论值与计算值比较,讨论信
6、号频谱分析过程中误差原因及改善方法。%4_1.参考例1_4_1N =32;x = cos(pi*3/8*k);Frequency (rad)2. 利用FFT分析信号(2) 进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。%4_2.参考例1_4_1(当k0时,u(k)为1)x = (1/2).k;3. 有限长脉冲序列,利用FFT分析其频谱,并绘出其幅度谱与相位谱。%4_3.参考例1_4_1N=6; %k = 0,1,2,3,4,5 k=0:x=2,3,3,1,0,5;X=fft(x,N);4. 某周期序列由3个频率组成: ,利用FFT分析其频谱。如何选取FFT的点数N?此3个频
7、率分别对应FFT计算结果Xm中的哪些点?若选取的N不合适,FFT计算出的频谱Xm会出现什么情况?%4_4.参考例1_4_1N = 32;x = cos(7*pi*k/16) + cos(9*pi*k/16) + cos(pi*k/2);subplot(2,2,1);Frequency(rad)(N=32)subplot(2,2,2);N = 64;subplot(2,2,3);Frequency(rad)(N=64)subplot(2,2,4);5. 某离散序列,利用FFT分析其频谱。(1) 对xk做64点FFT,绘出信号频谱,能分辨出其中的两个频率吗?%4_5.参考例1_4_1x = cos
8、(2*pi*k/15) + 0.75*cos(2.3*pi*k/15);Frequency(rad) (N=64)(2) 对xk补零到256点后计算FFT,能分辨出其中的两个频率吗?N = 256;x = cos(pi*2*k/15) + 0.75*cos(2.3*pi*k/15);Frequency (rad) N=2562. 对实验现象、实验结果的分析及其结论通过本次实验,我学会应用离散傅里叶变换(DFT),分析离散信号xk的频谱。带限信号即是带宽有限的信号,采样定理要求采样频率必须是信号最高频率的2倍以上,否则会出现频率混叠。通过本实验更加了解的matlab的使用。经验:学习使用matlab快捷键很重要,能大大提高编程效率。比方向键的上键能快速输入上次的内容;ctrl+r键全部注释, ctrl+t键取消全部注释(选中的部分);内外,每次编写之前都写一句:clc,clear,close all,清除工作空间及面板,这样不会受上一次的操作影响等,使用matlab的help能查找到不熟悉的函数使用方法。另外,截图时采用Figure中的Edit-Copy Figure以减少图片所占容量,便于编辑。还可以通过File-Save As保存不同格式的figure图片,便于其他地方其他格式时使用。教师评语及评分:签名: 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1