收藏 分享(赏)

云南师范大学-DSP(数字信号处理)实验报告4.doc

上传人:dzzj200808 文档编号:2690548 上传时间:2018-09-25 格式:DOC 页数:11 大小:532KB
下载 相关 举报
云南师范大学-DSP(数字信号处理)实验报告4.doc_第1页
第1页 / 共11页
云南师范大学-DSP(数字信号处理)实验报告4.doc_第2页
第2页 / 共11页
云南师范大学-DSP(数字信号处理)实验报告4.doc_第3页
第3页 / 共11页
云南师范大学-DSP(数字信号处理)实验报告4.doc_第4页
第4页 / 共11页
云南师范大学-DSP(数字信号处理)实验报告4.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、本科学生实验报告学号 114090395 姓名 李华福 学院 物电学院 专业、班级 11 电子 实验课程名称 数字信号处理(实验) 教师及职称 李宏宁 开课学期 第三 至 第四 学年 下 学期填报时间 2014 年 4 月 2 日云南师范大学教务处编印1实验序号 04 实验名称 利用 DFT 分析离散信号频谱实验时间 2014 年 4 月 2 实验室 云南师范大学同析 3 栋数字信号处理实验室一实验预习1实验目的应用离散傅里叶变换(DFT),分析离散信号 xk的频谱。深刻理解 DFT 分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。2实验原理、实验流程或装置示意图根据信号傅里叶变换

2、建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT)与四种确定信号傅里叶变换的之间的关系,实现由 DFT 分析其频谱。信号的傅里叶变换建立了信号的时域与频域之间的一一对应关系,如果信号在时域存在某种联系,则在其频谱函数之间必然存在联系。若离散非周期信号 xk是连续非周期信号 x(t)的等间隔抽样序列,则信号 xk的频谱函数是信号 x(t)的频谱函数的周期化;若离散周期信号是离散非周期信号xk的周期化,则信号的频谱函数是信号的频谱函数的离散化。Matlab 中提供了 fft 函数, FFT 是 DFT 的快速算法:X=fft(x):用于计算序列 x 的离散傅里叶变换(DF

3、T)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) 确定离散周期序列 的基本周期 N;(2) 利用 fft 函数求其一个周期的 DFT,得到 Xm;(3) mX利用 DFT 计算离散非周期信号 xk 的频谱分析步骤为:(1) 确定

4、序列的长度 M 及窗函数的类型。当序列为无限长时,需要根据能量分布,进行截短。(2) 确定作 FFT 的点数 N;根据频域取样定理,为使时域波形不产生混叠,必须取 。N(3) 使用fft函数作N点FFT计算Xm。3 实验设备及材料一台带 matlab 软件的计算机。 kx24实验方法步骤及注意事项实验方法步骤:(1) 打开 MATLAB 软件(2) 根据题目要求编写程序(3) 运行程序(4) 分析实验结果(5) 关闭计算机 注意事项:(1)对于实验电脑要爱惜,遵守实验的规则。(2)程序运行前要检查程序是否正确。 在使用 matlab 编程时,应该养成良好的编写习惯,新建一个 flies 编写。

5、 一些快捷键的使用,能提高编程效率。 Help 能查询到不懂使用的函数使用方法,比如这个用到的 fft 和 fftshift 等函数。如下界面:3二、实验内容【例 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 = fft(x,N);subplot(2,1,1);stem(k-N/2,abs(fftshift(X);

6、ylabel(Magnitude);xlabel(Frequency(rad);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase);xlabel(Frequency(rad);-8 -6 -4 -2 0 2 4 6 802468MagnitudeFrequency(rad)-8 -6 -4 -2 0 2 4 6 8-4-2024PhaseFrequency(rad)4【例 1.4.2】利用 DFT 分析系列 xk=0.8k*uk的频谱。%Example 1_4_2clc,clear,close allk = 0:30;x = 0.

7、8.k;subplot(2,1,1);stem(k,x);subplot(2,1,2);w = k - 15;plot(w,abs(fftshift(fft(x);0 5 10 15 20 25 3000.20.40.60.81-15 -10 -5 0 5 10 150123451. 利用 FFT 分析信号 的频谱;3,1 ),83cos(kkx(1) 确定 DFT 计算的参数;(2) 进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。%4_1.参考例1_4_1clc,clear,close allN =32; k = 0:N-1;x = cos(pi*3/8*k);X = f

8、ft(x,N); subplot(2,1,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); 5xlabel(Frequency(rad);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency (rad);-20 -15 -10 -5 0 5 10 1505101520MagnitudeFrequency(rad)-20 -15 -10 -5 0 5 10 15-4-2024PhaseFrequency (rad)2. 利用 FFT 分析信号 的频谱;

9、)(21kkx(1) 确定 DFT 计算的参数;(2) 进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。%4_2.参考例1_4_1(当k0时,u(k)为1)clc,clear,close allN =32; k = 0:N-1;x = (1/2).k;X = 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);ylabel(Phase); xlabel(Fr

10、equency (rad);6-20 -15 -10 -5 0 5 10 1500.511.52MagnitudeFrequency(rad)-20 -15 -10 -5 0 5 10 15-1-0.500.51PhaseFrequency (rad)3. 有限长脉冲序列 ,利用 FFT 分析其频谱,并绘出,4321,;,3,2kkx其幅度谱与相位谱。%4_3.参考例1_4_1clc,clear,close allN=6; %k = 0,1,2,3,4,5 k=0:N-1;x=2,3,3,1,0,5;X=fft(x,N); subplot(2,1,1);stem(k-N/2,abs(fftsh

11、ift(X);ylabel(Magnitude); xlabel(Frequency(rad);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency(rad);7-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2051015MagnitudeFrequency(rad)-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2-4-2024PhaseFrequency(rad)4. 某周期序列由 3 个频率组成: ,利用 FFT)cos()69s(7os k

12、kkx分析其频谱。如何选取 FFT 的点数 N?此 3 个频率分别对应 FFT 计算结果 Xm中的哪些点?若选取的 N 不合适,FFT 计算出的频谱 Xm会出现什么情况?%4_4.参考例1_4_1clc,clear,close allN = 32; k = 0:N-1;x = cos(7*pi*k/16) + cos(9*pi*k/16) + cos(pi*k/2);X = fft(x,N); subplot(2,2,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); xlabel(Frequency(rad)(N=32 ));subplot(2,

13、2,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency(rad)(N=32 ));N = 64; k = 0:N-1;x = cos(7*pi*k/16) + cos(9*pi*k/16) + cos(pi*k/2);X = fft(x,N); subplot(2,2,3);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); 8xlabel(Frequency(rad)(N=64 ));subplot(2,2,4);stem(k-N/2,angle(fftshift(X);yla

14、bel(Phase); xlabel(Frequency(rad)(N=64 ));-20 -10 0 10 2005101520MagnitudeFrequency(rad)(N=32( -20 -10 0 10 20-4-2024PhaseFrequency(rad)(N=32(-40 -20 0 20 40010203040MagnitudeFrequency(rad)(N=64( -40 -20 0 20 40-4-2024PhaseFrequency(rad)(N=64(5. 某离散序列 ,利用 FFT 分析其频谱。3),153.cos(7.15os kkkx(1) 对 xk做 64

15、 点 FFT,绘出信号频谱,能分辨出其中的两个频率吗?%4_5.参考例1_4_1clc,clear,close allN = 64;k = 0:N-1;x = cos(2*pi*k/15) + 0.75*cos(2.3*pi*k/15);X = fft(x,N); subplot(2,1,1);stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); xlabel(Frequency(rad) (N=64);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency(r

16、ad) (N=64);9-40 -30 -20 -10 0 10 20 30 400102030MagnitudeFrequency(rad) (N=64)-40 -30 -20 -10 0 10 20 30 40-2-1012PhaseFrequency(rad) (N=64)(2) 对 xk补零到 256 点后计算 FFT,能分辨出其中的两个频率吗?%4_5.参考例1_4_1clc,clear,close allN = 256; k = 0:N-1;x = cos(pi*2*k/15) + 0.75*cos(2.3*pi*k/15);X = fft(x,N); subplot(2,1,1)

17、;stem(k-N/2,abs(fftshift(X);ylabel(Magnitude); xlabel(Frequency (rad) N=256);subplot(2,1,2);stem(k-N/2,angle(fftshift(X);ylabel(Phase); xlabel(Frequency (rad) N=256);-150 -100 -50 0 50 100 150050100150MagnitudeFrequency (rad) N=256-150 -100 -50 0 50 100 150-4-2024PhaseFrequency (rad) N=256102. 对实验现象

18、、实验结果的分析及其结论通过本次实验,我学会应用离散傅里叶变换(DFT),分析离散信号 xk的频谱。深刻理解 DFT 分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。带限信号即是带宽有限的信号,采样定理要求采样频率必须是信号最高频率的 2倍以上,否则会出现频率混叠。通过本实验更加了解的 matlab 的使用。经验:学习使用 matlab 快捷键很重要,能大大提高编程效率。比方向键的上键能快速输入上次的内容;ctrl+r 键全部注释, ctrl+t 键取消全部注释(选中的部分) ;内外,每次编写之前都写一句:clc,clear,close all,清除工作空间及面板,这样不会受上一次的操作影响等,使用 matlab 的 help 能查找到不熟悉的函数使用方法。另外,截图时采用 Figure 中的 Edit-Copy Figure 以减少图片所占容量,便于编辑。还可以通过 File-Save As保存不同格式的 figure 图片,便于其他地方其他格式时使用。教师评语及评分:签名: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报