欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字信号处理实验报告--(基于MATLAB语言).docx

    • 资源ID:1115968       资源大小:514.72KB        全文页数:40页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字信号处理实验报告--(基于MATLAB语言).docx

    数字信号处理实验报告(基于MAT1AB语言)实验1基2-FFT算法实现一、实验目的1 .掌握基2-FFT的原理及具体实现方法。2 .编程实现基2-FFT算法。3 .加深理解FFT算法的特点。二、实验设备与环境计算机、MAT1AB软件环境。三、实验基础理论FFT是DFT的一种快速算法,能使DFT的计算大大简化,运算时间缩短。FFT利用了阙Ik的三个固有特性,即对称性、周期性和可约性,将长序列的DFT分解为短序列的DFT,合并了DFT运算中的某些项,从而减少了DFT的运算量。FFT算法基本上可以分为两大类,即按时间抽取法和按频率抽取法。在实现FFT算法时,要重点考虑两个问题,注意数据的读取和存储:(1)输入输出的排序;(2)碟形运算的实现。按时间抽取算法中输入反序输出顺序,按频率抽取算法中输入顺序输出反序;运算过程中的每一级都由N/2个碟形运算构成,每一个碟形运算单元中,两个节点变量运算后得到的结果为下一列相同位置的节点变量,而和其他节点变量无关,可以采用原位运算,节省存储单元。另外,碟形运算中的复系数可以存储为能及时查阅的系数表,这样可以节约计算量,但是需要N/2个复数存储器。MAT1AB中提供了用于计算FFT的函数fft,可将实验中所得到的结果与利用MAT1AB中fft函数计算的结果相比较,以此验证结果的正确性。四、实验内容1 .编程实现序列长度为N=8的按时间抽取的基2-FFT算法。给定一个8点序列,采用编写的程序计算其DFT,并与MAT1AB中fft函数计算的结果相比较,以验证结果的正确性。实验过程与实验结果:设序列为0,1,2,3,4,5,6,7)编程实现序列长度为N=8的按时间抽取的基2-FET算法%输入数据并计算常量x=0,1,2,3,4,5,6,7;M=nextpow2(1ength(xn),N=2M,form=0:N/2-1;WN(m+1)=exp(-j*2*piN)m;endA=xn,zeros(1,N-Iength(xn);%数据倒序操作J=0;forI=O:N-I;ifKJ;T=A(I+1)1(I+1)=A(J+1)j(J+1)=T;endK=N2;whi1eJ>=K;J=J-K;K=K/2;endJ=J+K;end%分级按序依次进行蝶形运算for1=I:M;B=2(1-I);forR=OzB-I;P=2(M-1)*R;forK=R:2"1:N-2;T=A(K+1)+A(K+B+1)*WN(P+1);A(K+B+1)=A(K+1)-A(K+B+1)*WN(P+1);A(K+1)=T;endendendXk=A运行结果为:Xk=Co1umns1through28.0000-4.0000+9.6569i-4.0000+4.0000i-4.0000+1.6569i-4.0000Co1umns6-4.0000-through1.6569i-4.0000-4.0000i-4.0000-9.6569i调用函数fft计算:>>fftxn=fft(xn,N)运行结果为:fftxn=Co1umns1through528.0000-4.00009.6569i-4.0000+4.0000i-4.0000+1.6569i-4.0000Co1umns6through8-4.0000-1.6569i-4.00004.0000i-4.0000-9.6569i实验结果分析:两种计算方法结果一样,结果正确。2.编程实现序列长度为N=8的按频率抽取的基2-FFT算法。给定一个8点序列,采用编写的程序计算其DFT,并与MAT1AB中fft函数计算的结果相比较,以验证结果的正确性。实验过程与实验结果:设序列为7,6,5,4,3,2,1,0)编程实现序列长度为N=8的按频率抽取的基2-FFT算法xn=7,6,5,4,3,2,1,0;N=8;M=1og2(N);fork1=0:M-1D=2k1;E=N2k1;F=N2(k1+1);G=N2(k1+1)-1;Wn=exp(-j*2*piE);forg1:DH1=(g-1)*E;H2=(g-1)*E+F;forr=0:G;k=r+1;xn(k+H1)=xn(k+H1)+xn(k+H2);xn(k+H2)=xn(k+H1)-xn(k+H2)-xn(k+H2)*Wnr;endendendn1=f1ip1r(dec2bin(O:N-1);n2=bin2dec(n1);fori=1:NXk(i)=xn(n2(i)+1);endXk运行结果为:Xk=Co1umns1through528.00004.0000-9.6569i4.0000-4.0000i4.0000-1.6569i4.0000Co1umns6through84.0000+1.6569i4.0000+4.0000i4.0000+9.6569i调用函数fft计算:»fftxn=fft(xn,N)运行结果为:fftxn=Co1umns1through528.00004.0000-9.6569i4.0000-4.0000i4.0000-1.6569i4.0000Co1umns6through84.0000+1.6569i4.0000+4.0000i4.0000+9.6569i实验结果分析:两种计算方法结果一样,结果正确。3.将上述FFT程序推广到序列长度为N=2'的情况,要求利用原位运算。实验过程与实验结果:按时间抽取:xn=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);M=nextpow2(1ength(xn);N=2M;form=0:N/2-1WN(m+1)=exp(-j*2*piN)m;endDF1=xn,zeros(1,N-Iength(xn);H=0;forI=O:N-I;ifI<H;T=DF1(I+1);DF1(I+1)=DF1(H+1);DF1(H+1)=T;endK=N2;whi1eH>=K;H=H-K;K=K2;endH=H+K;endforG=I:M;F=2(G-I);forS=O:F-I;P=2(M-G)*S;forK=S:2AG:N-2;T=DF1(K+1)+DF1(K+F+1)*WN(P+1);DF1(K+F+1)=DF1(K+1)-DF1(K+F+1)*WN(P+1);DF1(K+1)=T;endendendDF1运行结果为:DF1=1.0c+02*Co1umns1through51.2000-0.0800+0.4022i-0.0800+0.1931i-0.0800+0.1197i-0.0800+0.0800iCo1umns6through10-0.0800+0.0535i-0.0800+0.0331i-0.0800+0.0159i-0.0800-0.0800-0.0159iCo1umns11through15-0.0800-0.033Ii-0.0800-0.0535i-0.0800-0.0800i-0.0800-0.1197i-0.0800-0.1931iCo1umn16-0.0800-0.4022i按频率抽取:xn=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;M=nextpow2(1ength(xn);N=2M;M=1og2(N);fork1=0:M-1D=2k1;E=N2k1;F=N2(k1+1);G=N2(k1+1)-1;Wn=exp(-j*2*piE);forg=1:DH1=(g-1)*E;H2=(g-1)*E+F;forr=0:G;k=r+1;xn(k+H1)=xn(k+H1)+xn(k+H2);xn(k+H2)=xn(k+H1)-xn(k+H2)-xn(k+H2)*Wnr;endendendn1=f1ip1r(dec2bin(0:N-1);n2=bin2dec(n1);fori=1:NXk(i)=xn(n2(i)+1);endXk运行结果为:Xk=1. 0e+02*Co1umns1through51.2000-0.0800+0.0800i-0.0800+0.4022i-0.0800+0.1931i-0.0800+0.1197iCo1umns6through10-0.0800+0.0535i-0.0800+0.033Ii-0.0800+0.0159i-0.0800-0.0800-0.0159iCo1umns11through15-0.0800-0.033Ii-0.0800-0.0535i-0.0800-0.0800i-0.0800-0.1197i-0.0800-0.1931iCo1umn16-0.0800-0.4022i五、收获与体会通过本次实验,我掌握基2-FFT的原理及具体实现方法,通过自己动手编程实现基2-FFT算法,加深了对FFT算法的特点的理解,也熟悉了fft函数的调用,对从数字信号处理课上学到的理论知识有了一个更深入的认识。由于是第一次做数字信号处理实验,有很多地方都不太清楚,在与同学的交流中收获了不少,为接下来的实验积累了不少经验。实验2利用DFT分析信号频谱一、实验目的1加深对DFT原理的理解。2 .应用DFT分析信号频谱。3 .深刻理解利用DFT分析信号频谱的原理,分析现实过程现象及解决办法。二、实验设备与环境计算机、MAT1AB软件环境。三、实验基础理论1 .DFT与DTFT的关系有限长序列X(n)(0nN-1)的离散时间傅里叶变换X(ej)在频率区间(OW2)的N个等间隔分布的点k3=2kN(OkNT)上的N个取样值可以由下式表示:NT-i-knXeftU1=(止N=X(Q4=0UkN-1由上式可知,序列x(n)的N点DFTX(k),实际上就是x(n)序列的DTFT在N个等间隔频率点上样本X(k)。2 .利用DFT求DTFT方法1:由X(k)恢复出X(k)的方法如图2.1所示:IDm."(。)图2.1由N点DFT恢复频谱DTFT的流程由图2.1所示流程可知:Xd)=Sx(2M=XgW尚=-CNrt=_c_n=_o_由上式可以得:Xd)=£x(kyKs-警)其中方法2:实际在MAT1AB计算中,上述插值运算不见得是最好的办法。由于DFT是DTFT的取样值,其相邻两个频率样本点的间距为2乃/N,所以如果我们增加数据的长度N,使得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样就可以利用DFT计算DTFTo如果没有更多的数据,可以通过补零来增加数据长度。3 .利用DFT分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。对于连续时间非周期信号

    注意事项

    本文(数字信号处理实验报告--(基于MATLAB语言).docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开