1 / 37
文档名称:

(毕业论文)数字信号处理实验.doc

格式:doc   页数:37
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

(毕业论文)数字信号处理实验.doc

上传人:精品文档 2013/7/17 文件大小:0 KB

下载得到文件列表

(毕业论文)数字信号处理实验.doc

文档介绍

文档介绍:数字信号处理实验实验报告

数字信号处理实验实验报告 - 1 -
实验一利用DFT分析信号频谱 - 2 -
实验二利用FFT计算线性卷积 - 15 -
实验三脉冲响应不变法设计IIR数字滤波器 - 23 -
实验四频率取样法设计FIR数字滤波器 - 30 -
利用DFT分析信号频谱
实验目的
原理的理解。

,分析现实过程现象及解决办法。
实验设备与环境
计算机、MATALAB软件环境。
实验基础理论
DFT和DTFT的关系
有限长序列的离散时间傅里叶变换在频率区间的N个等分点上的N个取样值可以由下式表示:
由上式可知,序列的N点DFT,实际上就是序列的DTFT在N个等间隔频率点上样本。
利用DFT求DTFT
方法1::


:
由式2-2可以得到
其中为内插函数
方法2:然而在实际MATLAB计算中,上诉插值公式不见得是最好的方法。由于DFT是DTFT的取样值,其相邻的两个频率样本点的间距为,所以如果我们增加数据的长度N,使得得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样可以利用DFT来近似计算DTFT。如果没有更多的数据,可以通过补零来增加数据长度。
利用DFT分析连续时间信号的频谱
采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这里需要进行连个操作:一是采样,二是截断。
对于连续非周期信号,按采样间隔T进行采样,截取长度为M,那么
对进行N点的频率采样,得到
因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下:
(1)确定时域采样间隔T,得到离散序列;
(2)确定截取长度M,得到M点离散序列,这里的为窗函数。
(3)确定频域采样点数N,要求。
(4)利用FFT计算离散序列的N点DFT,得到。
(5)根据式(2-6)由计算采样点的近似值。
采用上诉方法计算的频谱,需要注意如下三点问题:
(1)频谱混叠。如果不满足采样定理的条件,频谱会很出现混叠误差。对于频谱无限宽的信号,应考虑覆盖大部分主要频率的范围。
(2)栅栏效应和频谱分辨率。使用DFT计算频谱,得到的结果只是N个频谱样本值,样本值之间的频谱是未知的,就像通过一个栅栏观察频谱,称为“栅栏效应”。频谱分辨率与记录长度成正比,提高频谱分辨率,就要增加记录时间。
(3)频谱泄露。对于信号截断会把窗函数的频谱会引入到信号频谱中,造成频谱泄露。解决这问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。
因此,要合理选取采样间隔和截取长度,必要时还需考虑适当的窗。
对于连续周期信号,我们在采用计算机进行计算时,也总是要进行截断,序列总是有限长的,仍然可以采用上诉方法近似计算。
可能用到MATLAB函数与代码
实验中的DFT运算可以采用MATLAB中提供的FFT来实现。
实验内容
,完成如下要求:
(1)计算其DTFT,并画出区间的波形。
(2)计算四点DFT,把结果显示在(1)所画的图形中。
(3)对补零,计算其64点DFT,并显示结果。
(4)根据实验结果,分析是否可以由DFT计算DTFT,如果可以,如何实现。
解:
.
实验代码:
>> w=-pi:*pi:pi;
>> n=0:3;
>> x=[2,-1,1,1];
>> X=x*exp(-j*n'*w); % 求 X
>> subplot(211);
>> plot(w,abs(X));axis tight
>> xlabel('\Omega/');
>> title('X(e^j^\Omega)');
>> subplot(212)
>> plot(w,angle(X)/pi);
>> xlabel('\Omega^pi');
>> title('phase');axis tight
实验结果:
实验代码:
>> w=-pi:*pi:pi;
>> n=0:3;
>> x=[2,-1,1,1];
>> X=x*exp(-j*n'*w); % 求 X
>> plot(w,abs(X));axis tight
>> xlabel('\Omega/');
>> title('X(e^j^\Omega)');
>> hold on
>> X=fft(x); %求 X[k]
>> stem(n,X,'filled');
实验结果: (由于坐标选取不够恰当,同时没有考虑DFT为复数情况,重新作图见下一幅)
修改如下:
>