DSP实验四离散傅里叶变换_第1页
DSP实验四离散傅里叶变换_第2页
DSP实验四离散傅里叶变换_第3页
DSP实验四离散傅里叶变换_第4页
DSP实验四离散傅里叶变换_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装装订线课程名称:数字信号处理指导老师:成绩:实验名称:实验四离散傅里叶变换实验类型:程序实验同组学生姓名:一、实验目的和要求(必填) 三、主要仪器设备(必填)五、实验数据记录和处理七、讨论、心得二、实验内容和原理(必填)四、操作方法和实验步骤六、实验结果与分析(必填)一、实验目的和要求1.理解DFT的性质2.用matlab实现DFT的基本计算二、实验内容和原理1. 编写函数DFT_new(x,N,win)参数x表示输入序列N表示DFT长度win控制窗函数类型(条件语句)2.线性求X3(n)的DFT,验证其线性3.序列的循环移位求出的离散傅立叶变换X(k),再对x(n)进行循环移位,移位量为m,并对其结果进行DFT变换得到X1(k),看是否与成对应关系,m=6,N=114.循环卷积L=P=6当N=6时,求出循环卷积当N=12时,求出循环卷积以上情况均与线性卷积比较,考察循环卷积=线性卷积的条件线性卷积函数:conv(a,b)三、主要仪器设备实验软件:Matlab2014四、实验代码和实验结果1. 编写函数DFT_new(x,N,win)参数x表示输入序列N表示DFT长度win控制窗函数类型(条件语句)function[xk]=dft_new(x,N,win)%输入x待变换序列,N变换长度,win窗函数;输出x的离散傅立叶变换ifwin==1%条件判断win的值确定用什么窗winx=boxcar(N);%win=1矩形窗elseifwin==2winx=triang(N);%win=2三角窗elseifwin==3winx=hanning(N);%win=3汉宁窗elseifwin==4winx=hamming(N);%win=4海明窗elsewinx=blackman(N);%其他则布莱克曼窗endlen=length(x);%得到x的长度iflen<N;%如果输入的序列长度小于N,则需要补0xn=[x,zeros(1,N-len)];elseiflen>N%如果输入的序列长度大于N,则需要窗函数fork=1:Nxn(k)=x(k)*winx(k);endelsexn=x;%如果输入的序列长度等于N,则不需要变化endforii=0:N-1%建立变换矩阵forkk=0:N-1A(ii+1,kk+1)=exp(-1j*2*pi/N*ii*kk);endendxk=xn*A;%矩阵相乘得到xn的离散傅里叶变换end验证:N=10时,即N>序列长度x=[1,1,1,1,1];N=10;win=1;%boxcar窗xk=dft_new(x,N,win);stem(0:1:N-1,abs(xk));得到图形:验证:N=8,N<序列长度时,需要用到数x=[1,2,3,4,5,6,6,5,4,3,2,1];N=8;win=3;%hanning窗xk=dft_new(x,N,win);stem(0:1:N-1,abs(xk));

2.线性求X3(n)的DFT,验证其线性n=0:1:10;forN=0:10x1(N+1)=10*0.8^N;%x1序列endx2=[11111111100];%x2序列y11=dft_new(x1,length(x1),1);y12=dft_new(x2,length(x1),1);%x1,x2分别DFTy1=y11+y12;%DFT后求和figuresubplot(2,1,1)stem(n,abs(y1));title('DFT(X1)+DFT(X2)');x=x1+x2;y2=dft_new(x,length(x1),1);%x1,x2的和进行DFTsubplot(2,1,2)stem(n,abs(y2));title('DFT(X1+X2)');比较两幅图,是一样的,所以说明了DFT的线性性质

3.序列的循环移位求出的离散傅立叶变换X(k),再对x(n)进行循环移位,移位量为m,并对其结果进行DFT变换得到X1(k),看是否与成对应关系,m=6,N=11m=6;N=11;n=0:1:N-1;x=10*(0.8).^n;%原序列y=dft_new(x,N,1);forii=0:N-1%循环移位后的序列ifii+1+m==Nx1(ii+1+m)=x(ii+1);elsex1(mod(ii+1+m,N))=x(ii+1);endendy1=dft_new(x1,N,1);%原序列的DFTy2=y.*exp(-1*1j*2*pi/N*(0:N-1)*m);%循环移位后的序列DFTfigure;subplot(2,1,1);stem(n,x);title('x(n)');subplot(2,1,2);stem(n,x1);title('x1(n)');figure;subplot(2,1,1);stem(n,abs(y1));title('Y1(k)');subplot(2,1,2);stem(n,abs(y2));title('Y2(k)');原序列x(n),循环移位后的序列x1(n)。原序列的DFTY1(K),循环移位后的序列的DFTY2(K)。所以序列循环移位后,成对应关系。4.循环卷积L=P=6当N=6时,求出循环卷积当N=12时,求出循环卷积以上情况均与线性卷积比较,考察循环卷积=线性卷积的条件线性卷积函数:conv(a,b)(1)当N=6时N=6;x1=[1,1,1,1,1,1,zeros(1,N-6)];x2=[1,1,1,1,1,1,zeros(1,N-6)];forn=0:N-1form=0:N-1A(m+1,n+1)=x2(mod(n-m,N)+1);endendx3=x1*A;x4=conv(x1,x2);figuresubplot(2,1,1);stem(0:N-1,x3);title('循环卷积');subplot(2,1,2);stem(0:2*N-2,x4);title('线性卷积');(2)当N=12时N=12;x1=[1,1,1,1,1,1,zeros(1,N-6)];x2=[1,1,1,1,1,1,zeros(1,N-6)];forn=0:N-1form=0:N-1A(m+1,n+1)=x2(mod(n-m,N)+1);endendx3=x1*A;x4=conv(x1,x2);figuresubplot(2,1,1);stem(0:N-1,x3);title('循环卷积');su

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论