数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程1本科实验报告实验名称:数字信号处理实验课程名称:数字信号处理实验实验时间:周二8~10节任课教师:范哲意实验地点:4—423实验教师:范哲意实验类型:□原理验证□综合设计□自主创新学生姓名:任科飞学号/班级:1120121159/05111251组号:学院:信息与电子同组搭档:专业:信息工程成绩:数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程2实验1利用DFT分析信号频谱一、实验目的1.加深对DFT原理的理解。2.应用DFT分析信号频谱。3.深刻理解利用DFT分析信号频谱的原理,分析现实过程现象及解决办法。二、实验原理1、DFT和DTFT的关系有限长序列()xn的离散时间傅里叶变换()jXe在频率区间(02)的N个等分点{(0),(1),(),(1)}xxxkxN……上的N个取样值可以由下式表示:2120()|()()01(21)NjknjNkkXexneXkkN由上式可知,序列()xn的N点DFT()Xk,实际上就是()xn序列的DTFT在N个等间隔频率点{(0),(1),(),(1)}XXXkXN……上样本()Xk。2、利用DFT求DTFT方法1:由()Xk恢复出()jXe的方法如图2.1所示:图2.1.由N点DFT恢复频谱DTFT的流程由图2.1所示流程图可知:01()()()(22)jjnknjnNnnkXexneXkWeN由式2-2可以得到12()()()(23)NjkkxeXkN其中()x为内插函数12sin()2()(24)sin()2NjNeN方法2:然而在实际MATLAB计算中,上诉插值公式不见得是最好的方法。由于DFT是DTFT的取样值,其相邻的两个频率样本点的间距为2N,所以如果我们增加数据的长度N,数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程3使得得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样可以利用DFT来近似计算DTFT。如果没有更多的数据,可以通过补零来增加数据长度。3、利用DFT分析连续时间信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这里需要进行连个操作:一是采样,二是截断。对于连续非周期信号()xt,按采样间隔T进行采样,截取长度为M,那么10()()()(25)MjtjnTnXjxtedtTxnTe对()Xj进行N点的频率采样,得到2120()|()()(26)MjknNMknNTXjTxnTeTXk因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下:(1)确定时域采样间隔T,得到离散序列()xn;(2)确定截取长度M,得到M点离散序列()()()Mxnxnwn,这里的()wn为窗函数。(3)确定频域采样点数N,要求NM。(4)利用FFT计算离散序列的N点DFT,得到()MXk。(5)根据式(2-6)由()MXk计算()Xj采样点的近似值。采用上诉方法计算的频谱,需要注意如下三点问题:(1)频谱混叠。如果不满足采样定理的条件,频谱会很出现混叠误差。对于频谱无限宽的信号,应考虑覆盖大部分主要频率的范围。(2)栅栏效应和频谱分辨率。使用DFT计算频谱,得到的结果只是N个频谱样本值,样本值之间的频谱是未知的,就像通过一个栅栏观察频谱,称为“栅栏效应”。频谱分辨率与记录长度成正比,提高频谱分辨率,就要增加记录时间。(3)频谱泄露。对于信号截断会把窗函数的频谱会引入到信号频谱中,造成频谱泄露。解决这问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。因此,要合理选取采样间隔和截取长度,必要时还需考虑适当的窗。对于连续周期信号,我们在采用计算机进行计算时,也总是要进行截断,序列总是有限长的,仍然可以采用上诉方法近似计算。4、可能用到MATLAB函数与代码实验中的DFT运算可以采用MATLAB中提供的FFT来实现。DTFT可以利用MATLAB矩阵运算的方法进行计算。三、实验内容1.(){2,1,1,1}xn,完成如下要求:数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程4(1)计算其DTFT,并画出[,]区间的波形。(2)计算4点DFT,并把结果显示在(1)所画的图形中。(3)对()xn补零,计算64点DFT,并显示结果。(4)是否可以由DFT计算DTFT,如果可以,请编程实现。2.考察序列()cos(0.48)cos(0.52)xnnn(1)010n时,用DFT估计()xn的频谱;将()xn补零加长到长度为100点序列用DFT估计()xn的频谱。要求画出相应波形。(2)0100n时,用DFT估计x(n)的频谱,并画出波形。3.已知信号123()0.15sin(2)sin(2)0.1sin(2)xtftftft,其中11fHz,22fHz,33fHz。从()xt的表达式可以看出,它包含三个频率的正弦波,但是,从其时域波形来看,似乎是一个正弦信号,利用DFT做频谱分析,确定适合的参数,使得到的频谱的频率分辨率符合需要。4.利用DFT近似分析连续时间信号x(t)=e−0.1tu(t)的频谱(幅度谱)。分析采用不同的采样间隔和截取长度进行计算的结果,并最终确定合适的参数。四、实验代码及实验结果第一题实验代码x=[2,-1,1,1];n=0:3;n1=0:63;z=zeros(1,60);x1=[xz];y=fft(x);y1=fft(x1);w=-pi:0.01*pi:pi;X=x*exp(-j*n'*w);subplot(211);plot(w,abs(X));xlabel('\Omega/\pi');title('Magnitude');holdon;stem(n,y,'filled');axistight;subplot(212);plot(w,angle(X)/pi);数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程5xlabel('\Omega/\pi');title('Phase');axistight;figure;stem(n1,y1,'filled');实验结果数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程6分析可以由DFT计算DTFT。增加补零的个数,提高采样密度,可以由DFT近似计算DTFT。第二题实验代码n=0:10;x=cos(0.48*pi*n)+cos(0.52*pi*n);n1=0:99;n2=0:100;z=zeros(1,89);x1=[xz];x2=cos(0.48*pi*n2)+cos(0.52*pi*n2);y=fft(x);y1=fft(x1);y2=fft(x2);subplot(211);stem(n,y,'filled');title('0=n=10');subplot(212);stem(n1,y1,'filled');title('0=n99');figure;stem(n2,y2,'filled');数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程7title('0=n=100');实验结果(3)分析数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程8可以通过增大截取长度和增加补零的个数来提高频谱分辨率,但是补零不能够增加分辨力。第三题实验代码n=0:39;x1=0.15*sin(2*pi*n)+sin(4*pi*n)-0.1*sin(6*pi*n);X1=fft(x1,40);subplot(311)stem(n,abs(X1));x2=0.15*sin(2*pi*(1/6)*n)+sin(4*pi*(1/6)*n)-0.1*sin(6*pi*(1/6)*n);X2=fft(x2,40);subplot(312)stem(n,abs(X2));x3=0.15*sin(2*pi*0.1*n)+sin(4*pi*0.1*n)-0.1*sin(6*pi*0.1*n);X3=fft(x3,40);subplot(313)stem(n,abs(X3));实验结果分析:减小采样周期,可以使频谱分辨率提高。第四题实验代码n=0:100;x=exp(-0.1*n);X1=fft(x);k=0:100;stem(k,abs(X1));xlabel('k');实验结果数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程9实验代码n=0:2:100;x=exp(-0.1*n);X2=fft(x);k=0:50;stem(k,abs(X2));xlabel('k');实验结果实验代码n=0:50;x=exp(-0.1*n);X3=fft(x);k=0:50;stem(k,abs(X3));xlabel('k');实验结果实验代码n=0:2:50;x=exp(-0.1*n);X4=fft(x);k=0:25;stem(k,abs(X4));xlabel('k');实验结果数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程10实验代码n=0:150;x=exp(-0.1*n);X5=fft(x);k=0:150;stem(k,abs(X5));xlabel('k');实验结果实验代码n=0:2:150;x=exp(-0.1*n);X5=fft(x);k=0:75;stem(k,abs(X5));xlabel('k');实验结果数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程11分析:采样区间可以为0到100,采样间隔为2。五、心得与体会通过本次实验,我们掌握并加深对DFT原理的理解并且学会应用DFT分析信号频谱,在此基础上利用DFT分析信号频谱的原理,掌握了分析现实现象的步骤及办法。并且,通过这次的实验,我对DFT的原理确实有了更深的了解,对DFT和DTFT之间的关系也有了更多的认识:序列x(n)的N点DFTX(K),实际上就是x(n)序列的DTFT在N个等间隔频率点上的样本X(K)。所以,我们可以通过增加数据的长度N或通过补零来使DFT更加接近DTFT的结果。这样就可以利用DFT近似计算DTFT。实验2利用FFT计算线性卷积(选作)一、实验目的1.掌握利用FFT计算线性卷积的原理及具体实现方法。2.加深理解重叠相加法和重叠保留法。3.考察利用FFT计算线性卷积各种方法的适用范围。二、实验原理1.线性卷积与圆周卷积设x(n)为L点序列,h(n)为M点序列,x(n)和h(n)的线性卷积为1()()*()()()mynxnhnxmhnm(3-1)1()yn的长度为L+M-1x(n)和h(n)的圆周卷积为10()()()()()()NNNmynxnhnNxmhnmRn(3-2)圆周卷积与线性卷积相等而不产生交叠的必要条件为N≥L+M+1(3-3)圆周卷积定理:根据DFT性质,x(n)和h(n)的N点圆周卷积的DFT等于它们的DFT的乘积:(3-4)数字信号处理学号:1120121159班号:05111251姓名:任科飞专业:信息工程122.快速卷积快速卷积发运用圆周卷积实现线性卷积,根据圆周卷积定理利用FFT算法实现圆周卷积。可将快速卷积运算的步骤归纳如下:(1)必须选择;为了能使用基-2算法,要求。采用补零的办法使得x(n)和h(n)的长度均为N。(2)计算x(n)和h(