北理工数字信号处理实验

上传人:工**** 文档编号:508593128 上传时间:2023-04-15 格式:DOCX 页数:45 大小:726.95KB
返回 下载 相关 举报
北理工数字信号处理实验_第1页
第1页 / 共45页
北理工数字信号处理实验_第2页
第2页 / 共45页
北理工数字信号处理实验_第3页
第3页 / 共45页
北理工数字信号处理实验_第4页
第4页 / 共45页
北理工数字信号处理实验_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《北理工数字信号处理实验》由会员分享,可在线阅读,更多相关《北理工数字信号处理实验(45页珍藏版)》请在金锄头文库上搜索。

1、 本科实验报告实验名称: 数字信号处理实验 课程名称:数字信号处理实验实验时间:任课教师:实验地点:实验教师:实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:学 院:同组搭档:专 业:成 绩:实验1 利用DFT分析信号频谱一、实验目的1.加深对DFT原理的理解。2.应用DFT分析信号频谱。3.深刻理解利用DFT分析信号频谱的原理,分析现实过程现象及解决办法。二、实验原理1、DFT和DTFT的关系 有限长序列的离散时间傅里叶变换在频率区间的N个等分点上的N个取样值可以由下式表示: 由上式可知,序列的N点DFT,实际上就是序列的DTFT在N个等间隔频率点上样本。2、利用DFT

2、求DTFT 方法1:由恢复出的方法如图2.1所示: 图 2.1.由 N点DFT恢复频谱DTFT的流程由图2.1所示流程图可知:由式2-2可以得到其中为内插函数 方法2:然而在实际MATLAB计算中,上诉插值公式不见得是最好的方法。由于DFT是DTFT的取样值,其相邻的两个频率样本点的间距为,所以如果我们增加数据的长度N,使得得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样可以利用DFT来近似计算DTFT。如果没有更多的数据,可以通过补零来增加数据长度。3、利用DFT分析连续时间信号的频谱 采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这里需要进行连个操作:一是

3、采样,二是截断。对于连续非周期信号,按采样间隔T进行采样,截取长度为M,那么对进行N点的频率采样,得到因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T,得到离散序列; (2)确定截取长度M,得到M点离散序列,这里的为窗函数。 (3)确定频域采样点数N,要求。 (4)利用FFT计算离散序列的N点DFT,得到。 (5)根据式(2-6)由计算采样点的近似值。 采用上诉方法计算的频谱,需要注意如下三点问题:(1)频谱混叠。如果不满足采样定理的条件,频谱会很出现混叠误差。对于频谱无限宽的信号,应考虑覆盖大部分主要频率的范围。(2)栅栏效应和频谱分辨率。使用DFT计算

4、频谱,得到的结果只是N个频谱样本值,样本值之间的频谱是未知的,就像通过一个栅栏观察频谱,称为“栅栏效应”。频谱分辨率与记录长度成正比,提高频谱分辨率,就要增加记录时间。(3)频谱泄露。对于信号截断会把窗函数的频谱会引入到信号频谱中,造成频谱泄露。解决这问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。 因此,要合理选取采样间隔和截取长度,必要时还需考虑适当的窗。 对于连续周期信号,我们在采用计算机进行计算时,也总是要进行截断,序列总是有限长的,仍然可以采用上诉方法近似计算。4、可能用到MATLAB函数与代码实验中的DFT运算可以采用MATLAB中提供的FFT来实现。DTFT可以

5、利用MATLAB矩阵运算的方法进行计算。三、实验题目1. ,完成如下要求:(1)计算其DTFT,并画出区间的波形。(2)计算4 点DFT,并把结果显示在(1)所画的图形中。(3)对补零,计算64 点DFT,并显示结果。(4)是否可以由DFT 计算DTFT,如果可以,请编程实现。2. 考察序列(1)时,用DFT 估计的频谱;将补零加长到长度为100点序列用DFT估计的频谱。要求画出相应波形。(2)时,用DFT 估计x(n)的频谱,并画出波形。3. 已知信号 ,其中,。从的表达式可以看出,它包含三个频率的正弦波,但是,从其时域波形来看,似乎是一个正弦信号,利用DFT做频谱分析,确定适合的参数,使得

6、到的频谱的频率分辨率符合需要。4.利用DFT近似分析连续时间信号xt=e-0.1tu(t)的频谱(幅度谱)。分析采用不同的采样间隔和截取长度进行计算的结果,并最终确定合适的参数。四、实验代码、实验结果及分析1.(1) n=0:3; x=2 -1 1 1; w=-pi:0.01*pi:pi; X=x*exp(-j*n*w); subplot(211); plot(w,abs(X); xlabel(Omega/pi); title(Magnitude); axis tight; subplot(212); plot(w,angle(X); xlabel(Omega/pi); title(Phase

7、); axis tight;(2) Xk=fft(x); subplot(211); hold on; stem(2*pi/4*n,abs(Xk),filled); subplot(212); hold on; stem(2*pi/4*n,angle(Xk),filled);(3) x=2 -1 1 1 zeros(1,60); n=0:63; Xk=fft(x); subplot(211); stem(n,abs(Xk),filled); xlabel(Omega/pi); title(Magnitude); axis tight; subplot(212); stem(n,angle(Xk

8、),filled); xlabel(Omega/pi); title(Phase); axis tight;(4) 可以由DFT计算DTFT,只需采样点足够即可逼近DTFT,可采用增加补零个数的方法实现。2.(1) n=0:10; x=cos(0.48*pi*n)+cos(0.52*pi*n); Xk=fft(x); subplot(211); stem(n,abs(Xk),filled); xlabel(Omega); title(Magnitude); n1=0:99; x1=x zeros(1,89); Xk1=fft(x1); subplot(212); stem(n,abs(Xk1)

9、,filled); xlabel(Omega); title(Magnitude); n=0:10; x=cos(0.48*pi*n)+cos(0.52*pi*n); Xk1=fft(x); subplot(211); stem(n,angle(Xk),filled); xlabel(Omega); title(Phase); n1=0:99; x1=x zeros(1,89); Xk1=fft(x1); subplot(212); stem(n1,angle(Xk1),filled); xlabel(Omega); title(Phase);(2)(3) 可通过增大采样点数,时域补零提高频谱

10、分辨率。3. n=0:20; x=0.15*sin(2*pi*n)+sin(2*pi*2*n)-0.1*sin(2*pi*3*n); Xk=fft(x); subplot(211); stem(n,abs(Xk),filled); xlabel(Omega); title(Magnitude); subplot(212); stem(n,angle(Xk),filled); xlabel(Omega); title(Phase);4.【修改采样间隔】 n=0:10; x=exp(-0.1*n).*heaviside(n); Xk=fft(x); stem(n,abs(Xk),filled);

11、n=0:50; x=exp(-0.1*n).*heaviside(n); Xk=fft(x); stem(n,abs(Xk),filled); n=0:100; x=exp(-0.1*n).*heaviside(n); Xk=fft(x); stem(n,abs(Xk),filled);【修改截取长度】 n=0:100; x=exp(-0.1*n).*(heaviside(n)-heaviside(n-50); Xk=fft(x); stem(n,abs(Xk),filled); n=0:100; x=exp(-0.1*n).*(heaviside(n)-heaviside(n-10); Xk

12、=fft(x); stem(n,abs(Xk),filled);五、实验总结第一次数字信号处理实验,我了解了如何在MATLAB中使用DFT分析信号的频谱,对DFT采样、截取的概念和操作结果有了更直观的认识。此外,使用MATLAB的FFT大大简化了DFT的计算,让我认识到了FFT算法的快捷。实验2 利用FFT计算线性卷积一、实验目的1.掌握利用FFT计算线性卷积的原理及具体实现方法。2.加深理解重叠相加法和重叠保留法。3.考察利用FFT计算线性卷积各种方法的适用范围。二、实验原理1.线性卷积与圆周卷积设x(n)为L点序列,h(n)为M点序列,x(n)和h(n)的线性卷积为 (3-1)的长度为L+

13、M-1x(n)和h(n)的圆周卷积为 (3-2)圆周卷积与线性卷积相等而不产生交叠的必要条件为NL+M+1 (3-3)圆周卷积定理:根据DFT性质,x(n)和h(n)的N点圆周卷积的DFT等于它们的DFT的乘积: (3-4)2.快速卷积快速卷积发运用圆周卷积实现线性卷积,根据圆周卷积定理利用FFT算法实现圆周卷积。可将快速卷积运算的步骤归纳如下:(1)必须选择;为了能使用基-2算法,要求。采用补零的办法使得x(n)和h(n)的长度均为N。(2)计算x(n)和h(n)的N点FFT。(3)组成乘积(4)利用IFFT计算Y(k)的IDFT,得到线性卷积y(n)3.分段卷积我们考察单位取样响应为h(n)的线性系统,输入为x(n),输出为y(n),则yn=xn*h(n)当输入序列x(n)极长时,如果要等x(n)全部集齐时再开始进行卷积,会使输出有较大延时;如果序列太长,需要大量存储单元。为此,我们把x(n)分段,为别求出每段的卷积,合在一起得到最后的总输出。这称为分段卷积。分段卷积可以细分为重叠保留法和重叠相加法。重叠保留法:设x(n)的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号