




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字信号处理实验报告学生姓名: 学 号: 专业班级: 所在学院: 完成时间: 2014年5月10日 目录实验一 信号、系统及系统响应-21.实验目的-22.实验原理-23.实验环境-34.实验结果及分-35.思考题-8实验二 用FFT作频谱分析-91.实验目的-92.实验原理-93.实验环境-94.实验结果及分析-105.思考题-17实验小结-17参考书籍-18附录代码-18实验一 信号、系统及系统响应1.实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。(2) 熟悉时域离散系统的时域特性。(3) 利用卷积方法观察分析系统的时域特性。(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。2.实验原理采样是连续信号数字处理的第一个关键环节。对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z变换和序列傅立叶变换之间关系式的理解。对一个连续信号进行理想采样的过程可用下式表示: 其中为的理想采样,p(t)为周期脉冲,即 的傅立叶变换为 上式表明为的周期延拓。其延拓周期为采样角频率()。只有满足采样定理时,才不会发生频率混叠失真。在实验时可以用序列的傅立叶变换来计算。公式如下:离散信号和系统在时域均可用序列来表示。为了在实验中观察分析各种序列的频域特性,通常对在0,2上进行M点采样来观察分析。对长度为N的有限长序列x(n),有: 其中,k=0,1,M-1时域离散线性非移变系统的输入/输出关系为 上述卷积运算也可在频域实现 3.实验环境 应用MATLAB 6.5软件 操作系统:windows XP4.实验结果及分析(1)采样序列的特性。 一般称fs/2为折叠频率,只有当信号最高频率不超过该频率时才不会发生混叠现象,否则超过了fs/2的频率会折叠回来形成混叠现象,因此频率混叠均产生在fs/2附近。A. 采样频率fs=1000Hz 由图形可知,当采样频率为1000Hz时,采样序列在折叠频率附近处,即w=处无明显频谱混叠。B.采样频率 fs=300Hz C.采样频率fs=200Hz 由图可知,当采样频率进一步降低时,主瓣宽度逐渐变宽,频率混叠现象也逐渐严重,存在较明显的失真现象。原因是采样频率太小,使最高频率fc超过了fs/2,超过了fs/2的频率会折叠回来而形成的混叠现象。(2)时域离散信号、系统和系统响应。 A. 理论值一个函数与单位脉冲序列的卷积等于函数本身,卷积得到的长度等于两个函数长度和减一。由图可知,yb(n)=xb(n),其长度13=4+10-1,所以理论与实际是一致的。B. 判断ya(n)是否正确的方法:ya(n)的长度L等于两个被卷积函数的长度和减去一,且ya(n)是关于n=(L-1)/2对称的,峰值即为N值,对称轴左边由一逐渐按增一序列递增,右边按减一序列递减。由图知:19=10+10-1,且图形正确,所以做出的ya(n)是正确的。C. 当N=10时,峰值较高,且峰值很窄,变换之后图形频带主值部分比较集中,且峰值较高;当N=5时,峰值较矮,且峰值很宽,变换之后图形频带主值部分较为分散,且峰值较矮。(3)卷积定理的验证 a=0.4,=2.0734,A=1,T=1 Y(jw)=Xa(jw)*Hb(jw) 由图可知,由yb(n)=xa(n)*hb(n)经傅氏变换所得到的|Yb(jw)|和由|Yb(jw)|=|Xa(jw)Hb(jw)|所得到的|Yb(jw)|的图像是一样的,从而验证了时域卷积定理。5.思考题1、在分析理想采样序列特性的实验中,采样频率不同,相应理想采样序列的傅立叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?答:由可知,若采样频率不同,则其周期T不同,相应的数字频率也不相同;而因为是同一信号,故其模拟频率保持不变。2、在卷积定理验证的实验中,如果选用不同的频域采样点数M值,例如,选M=10和M=20,分别做序列的傅立叶变换,求得 ,k=0,1,M-1所得结果之间有无差异?为什么?答:有差异。因为所得图形由其采样点数唯一确定,由频域采样定理可知,若M小于采样序列的长度N,则恢复原序列时会发生时域混叠现象。实验二 用FFT作谱分析1.实验目的(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。(2)熟悉FFT算法原理和FFT子程序的应用。(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。2.实验原理编制信号产生子程序,产生以下典型信号供谱分析: 应当注意,如果给出的是连续信号,则首先要根据其最高频率确定采样速率以及由频率分辨率选择采样点数N,然后对其进行软件采样(即计算,),产生对应序列。对信号,频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差。3.实验环境 应用MATLAB 6.5软件 操作系统:windows XP4.实验结果及分析(1)直接运行程序,按照实验内容及程序提示键入18,分别对及、进行谱分析。输出的波形及其8点DFT和16点DFT,的16点、32点和64点采样序列及其DFT。1、及其8点和16点DFT2、及其8点和16点DFT3、及其8点和16点DFT4、的8点和16点波形及其DFT5、的8点和16点波形及其DFT6、的16点、32点和64点采样序列波形及其DFT(2)选7时,计算并图示和及其DFT。程序自动计算并绘图验证DFT的共轭对称性。当N=16时,。即为的共轭对称分量,而是的共轭反对称分量。根据DFT的共轭对称性,应有以下结果:的8点和16点波形及其DFT绘出和的模。它们正是图中16点的和。(3)选8时,计算并图示和及其DFT。程序自动计算并绘图验证DFT的共轭对称性的第二种形式:如果,则,。其中,。 的8点和16点DFT 程序计算结果如下:及,正好与图中的16点及相同。及,正好与图中16点的及相同。5.思考题1.在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?答:N=8是x2(n)和x3(n)的幅频特性相同;N=16是x2(n)和x3(n)的幅频特性不相同。N=8时造成了栅栏效应漏掉大的频谱分量。2.如果周期信号的周期预先不知道,如何用FFT进行谱分析?答:如果周期预先不知道,可先截取M点惊醒FFT,再将截取长度扩大一倍,比较两次变换,如果而至的主谱差别满足分析误差要求,则用其近似表示周期信号的频谱,否则继续将截取长度加倍,直至前后两次分析所得主谱频率差别满足误差要求。实验小结:完成这两个实验对我来说不是容易的事情。首先在大二上学期学习信号与系统时,由于基础差,上课是听的云里雾里。而这学期学习数字信号处理时,我也有相同的感受。但学习书本知识和上机实验却是有不同的。刚开始上机时,面对实验报告指导书和计算机真是一筹莫展。但当我静下心来,仔细阅读题目要求,再结合书本知识时,开始有了些眉目。虽然也只是有模糊的印象,但是我心中也算是有了点底,下定决心要啃下这些问题。在上机过程中时常会遇到一些问题,而我害怕如果拿这些问题问老师,老师会觉得我幼稚,完全没掌握所学内容,所以一开始我只和同学相互讨论。而后来确实有些不能解决的问题时,也会主动的问张昊老师和带实验课程的老师。最终终于先完成了前两个实验,虽然过程有点坎坷,也还存在一些小问题,但是成就感还是很高,还是非常高兴的,并且对于这门课的理解又深入了一个层次。参考书目:数字信号处理第三版 丁玉美 高西全 著附录代码:1.实验一代码s = -1;while(s0) clc;s = input(*信号、系统及响应*nn选择实验步骤(默认1):n1:时域采样序列分析n2:系统和响应分析n3:卷积定理验证n0:退出n选择:,s);switch(s) case1,2,3,0 s = str2num(s); case s = 1; otherwise s = -1; endendclose all; while(s) %时域采样序列分析 if (s=1) A=444.128; a=50*sqrt(2)*pi; w=50*sqrt(2)*pi; n=0:50-1; fs = input(输入采样频率nfs=,s); %fs=1000,300,200 fs = str2num(fs); if isempty(fs) fs = 1000; disp(输入数据格式错误,使用默认值1000); else if(fs1) fs = 1000; disp(输入无效数据,使用默认值1000); end end c=A*exp(-a)*n/fs).*sin(w*n/fs); subplot(2,2,1); stem(n,c,.); xlabel(n); ylabel(xa(n); title(xa(n)的时域序列); N=50; k=-200:200; w=k*pi/100; X=DFT(c,N); subplot(2,2,2); plot(w/pi,abs(X); xlabel(w/pi); ylabel(|X(jw)|); title(xa(n)的傅氏变换|X(jw)|); else %系统和响应分析 if(s=2) l = input(系统和响应分析,请选择时域信号类型(默认1):n1:内容an2:内容bn3:内容b中xc(n)的长度改为5n0:退出n选择:,s); switch(l) case 1,2,3,0 l = str2num(l); otherwise l = 1; end while(l) if(l=1) %hb(n)的时域序列 hb=1,2.5,2.5,1; i=0:3; subplot(2,2,1); stem(i,hb,.); axis(0 3 0 2.5); xlabel(n); ylabel(hb(n); title(hb(n)的时域序列); %hb(n)的傅氏变换|Hb(jw)| N=4; k=-200:200; w=k*pi/100; Hb=DFT(hb,N); subplot(2,2,2); plot(w/pi,abs(Hb); xlabel(w/pi); ylabel(|Hb(jw)|); title(hb(n)的傅氏变换|Hb(jw)|); %xb(n)的时域序列 xb=1,0,0,0,0,0,0,0,0,0; i=0:9; subplot(2,2,3); stem(i,xb,.); xlabel(n); ylabel(xb(n); title(xb(n)的时域序列); %xb(n)的傅氏变换(Xb|jw|) N=10; k=-200:200; w=k*pi/100; Xb=DFT(xb,N); magXb=abs(Xb); subplot(2,2,4); plot(w/pi,magXb); xlabel(w/pi); ylabel(|Xb(jw)|); title(xb(n)的傅氏变换(Xb|jw|); %yb(n)=xb(n)*hb(n)的时域序列 yb=conv(xb,hb); figure; subplot(2,1,1); stem(0:12,yb,.); xlabel(n); ylabel(yb(n)=xb(n)*hb(n); title(yb(n)=xb(n)*hb(n)的时域序列); %yb(n)的傅氏变换(Yb|jw|) N=13; k=-200:200; w=k*pi/100; Yb=DFT(yb,N); subplot(2,1,2); plot(w/pi,abs(Yb); xlabel(w/pi); ylabel(|Yb(jw)|); title(yb(n)的傅氏变换|Yb(jw)|); else if(l=2) %ya(n)=xc(n)*ha(n)的时域序列 ha=1,1,1,1,1,1,1,1,1,1; xc=ha; ya=conv(ha,xc); subplot(2,1,1); stem(0:18,ya,.); xlabel(n); ylabel(ya(n)=xc(n)*ha(n); title(ya(n)=xc(n)*ha(n)的时域序列); %ya(n)的傅氏变换(Ya|jw|) N=19; k=-200:200; w=k*pi/100; Ya=DFT(ya,N); subplot(2,1,2); plot(w/pi,abs(Ya); xlabel(w/pi); ylabel(|Ya(jw)|); title(ya(n)的傅氏变换|Ya(jw)|); else if(l=3) ha=1,1,1,1,1,1,1,1,1,1; xc=1,1,1,1,1; %ya(n)=xc(n)*ha(n)的时域序列 ya=conv(ha,xc); subplot(2,2,1); stem(0:13,ya,.); xlabel(n); ylabel(ya(n)=xc(n)*ha(n); title(ya(n)=xc(n)*ha(n)的时域序列); %ya(n)的傅氏变换(Ya|jw|) N=14; k=-200:200; w=k*pi/100; Ya=DFT(ya,N); subplot(2,2,2); plot(w/pi,abs(Ya); xlabel(w/pi); ylabel(|Ya(jw)|); title(ya(n)的傅氏变换(|Ya(jw)|); end end end l = input(请再选择信号类型(默认1):n1:内容an2:内容bn3:内容b中xc(n)的长度改为5n0:退出n选择:,s); switch(l) case 1,2,3,0 l = str2num(l); otherwise l = 1; end end %卷积定理验证 else if(s=3) A=1; a=0.4; w=2.0374; n=0:50-1; fs=1; xa=A*exp(-a)*n/fs).*sin(w*n/fs); subplot(2,2,1); stem(n,xa,.); xlabel(n); ylabel(xa(n); title(xa(n)的时域序列); N=50; k=-200:200; w=k*pi/100; X=DFT(xa,N); subplot(2,2,2); plot(w/pi,abs(X); xlabel(w/pi); ylabel(|X(jw)|); title(xa(n)的傅氏变换|Xa(jw)|); hb=1,2.5,2.5,1; yb=conv(xa,hb); subplot(2,2,3); stem(0:52,yb,.); xlabel(n); ylabel(yb(n)=xa(n)*hb(n); title(yb(n)=xa(n)*hb(n)的时域序列); N=53; k=-200:200; w=k*pi/100; Yb=DFT(yb,N); subplot(2,2,4); plot(w/pi,abs(Yb); xlabel(w/pi); ylabel(|Yb(jw)|); title(yb(n)的傅氏变换|Yb(jw)|); N=4; k=-200:200; w=k*pi/100; Hb=DFT(hb,N); Y=X.*Hb; figure; subplot(1,1,1); plot(w/pi,abs(Y); xlabel(w/pi); ylabel(|Y(jw)|); title(|Y(jw)|=|Xa(jw)Hb(jw)|); end end end clc; s = input(*信号、系统及响应*nn选择实验步骤(默认1):n1:时域采样序列分析n2:系统和响应分析n3:卷积定理验证n0:退出n选择:,s); switch(s) case1,2,3,0 s = str2num(s); otherwise s = 1; endend%傅里叶变换子程序function c=DFT(x,N)n=0:N-1;k=-200:200;w=(pi/100)*k;c=x*(exp(-j*pi/100).(n*k); 2.实验二代码:主程序:s = -1;while(s0) clc;s=input(请选择验骤(默认1):n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s);switch(s) case1,2,3,4,5,6,7,8,0 s = str2num(s); case s = 1; otherwise s = -1; endendclose all;fs=64;while(s) if(s=6) N=input(请输入FFT变区间长度N=,s); N = str2num(N); n=0:N-1; x=cos(8*pi*n/fs)+cos(16*pi*n/fs)+cos(20*pi*n/fs); f=fft(x,N);figure; printf(x,abs(f),N,s); s=input(请选择验骤:n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s); s = str2num(s); else if(s=1) x=1 1 1 1 0 0 0 0; N=input(请输入FFT变区间长度N=,s); N = str2num(N); f=fft(x,N);figure; printf(x,abs(f),N,s); s=input(请选择验骤:n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s); s = str2num(s); else if(s=2) x=1 2 3 4 4 3 2 1; N=input(请输入FFT变区间长度N=,s); N = str2num(N); f=fft(x,N);figure; printf(x,abs(f),N,s); s=input(请选择验骤:n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s); s = str2num(s); else if(s=3) x=4 3 2 1 1 2 3 4; N=input(请输入FFT变区间长度N=,s); N = str2num(N); f=fft(x,N);figure; printf(x,abs(f),N,s); s=input(请选择验骤:n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s); s = str2num(s); else if(s=4) N=input(请输入FFT变区间长度N=,s); N = str2num(N); n=0:N-1; x=cos(0.25*pi*n); f=fft(x,N);figure; printf(x,abs(f),N,s); s=input(请选择验骤:n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s); s = str2num(s); else if(s=5) N=input(请输入FFT变区间长度N=,s); N = str2num(N); n=0:N-1; x=sin(pi*n)/8); f=fft(x,N);figure; printf(x,abs(f),N,s); s=input(请选择验骤:n1:x1(n)n2:x2(n)n3:x3(n)n4:x4(n)n5:x5(n)n6:x6(n)n7:x7=x4+x5n8:x8=x4+jx5n0:退出n选择:,s); s = str2num(s); else if(s=7) N=input(请输入FFT变区间长度N=,s); N = str2num(N); n=0:N-1; x=cos(n*pi/4)+sin(n*pi/8); f=fft(x,N);figure; printf(x,abs(f),N,s); if(N=16) k=conj(f); x4=(f+k)/2; figure; subplot(2,1,1);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆物品安全培训系统课件
- 初级电焊考试题库及答案
- 宝玉石基础考试题及答案
- 中式婚礼设计理念策划方案
- 民族舞蹈课件封面设计
- 新质生产力与海洋经济的联系
- 企业网络安全方案活动
- 民族理论常识说课课件
- 民族教育多彩的服饰课件
- 2025年口腔科常见口腔疾病处理技巧模拟考试卷答案及解析
- 染织工艺知识培训课件
- 全屋定制家具安装规范
- 教师在线教学能力提升学习总结
- 交通安全培训(摩托车电动车)
- 医院培训课件:《胰岛素规范化注射》
- 木材加工质量控制与验收考核试卷
- 《布病防控知识》课件
- 低空经济产业标准体系规划研究
- 保育员应掌握的工作技能(完整版)
- 贵州省遵义市(2024年-2025年小学六年级语文)部编版小升初模拟((上下)学期)试卷及答案
- 路灯安装工程项目实施的重点、难点和解决方案
评论
0/150
提交评论