用MATLAB实现序列的圆周卷积.doc

上传人:大张伟 文档编号:5657220 上传时间:2020-07-20 格式:DOC 页数:3 大小:31KB
返回 下载 相关 举报
用MATLAB实现序列的圆周卷积.doc_第1页
第1页 / 共3页
用MATLAB实现序列的圆周卷积.doc_第2页
第2页 / 共3页
用MATLAB实现序列的圆周卷积.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《用MATLAB实现序列的圆周卷积.doc》由会员分享,可在线阅读,更多相关《用MATLAB实现序列的圆周卷积.doc(3页珍藏版)》请在三一文库上搜索。

1、数 字 信 号 处 理 实 验 报 告实验项目名称: 用MATLAB实现序列的圆周卷积 实验日期: 2012-11-28 实验成绩: 实验评定标准:1)实验结果是否正确A( )B( )C( )2)实验结果分析A( )B( )C( )3)实验报告是否按照规定格式A( )B( )C( )一、 实验目的 通过本实验,掌握一些基本而且重要的离散时间信号,熟悉基本离散时 间信号的MATLAB实现方法。二、 实验器材 PC机,MATLAB软件。三、 实验内容 计算两序列x1(n)=1,2,3,4,5,x2(n)=1,2,3,4,5,4,3,2,1的圆周卷积。四、 实验结果 实验代码:clear allcl

2、ose allclcx1=1,2,3,4,5,6,7,8;x2=1,2,3,4,5,6,7,8,7,6,5,4,3,2,1;N=length(x1)+length(x2);n=0:N-1n1=0:N-2;n2=0:N-3;y1=circonvt(x1,x2,N);y2=circonvt(x1,x2,N-1);y3=circonvt(x1,x2,N-2);x1=x1 zeros(1,N-length(x1);x2=x2 zeros(1,N-length(x2);Xf1=dft(x1,N);Xf2=dft(x2,N);Xf=Xf1.*Xf2;x=idft(Xf,N);x=real(x);subpl

3、ot(2,3,1)stem(n,x1);title(x1(n);subplot(2,3,2)stem(n,x2);title(x2(n)subplot(2,3,3);stem(n,x);title(x(n)=IDFT(X(k);subplot(2,3,4);stem(n,y1);title(N点圆周卷积);subplot(2,3,5);stem(n1,y2);title(N-1点圆周卷积);subplot(2,3,6);stem(n2,y3);title(N-2点圆周卷积);function y=circonvt(x1,x2,N)if length(x1)N error(N 必须 = x1的长

4、度)endif length(x2)N error(N 必须 = x2的长度)endx1=x1 zeros(1,N-length(x1);x2=x2 zeros(1,N-length(x2);m=0:1:N-1;x2=x2(mod(-m,N)+1);H=zeros(N,N);for n=1:1:N H(n,:)=cirshift(x2,n-1,N);endy=x1*H;function y=cirshift(x,m,N)if length(x)N error(N 必须 = x的长度)endx=x zeros(1,N-length(x);n=0:1:N-1;n=mod(n-m,N);y=x(n+1);function Xk=dft(xn,N)n=0:1:N-1;k=0:1:N-1;WN=exp(-j*2*pi/N);nk=n*k;WNnk=WN.nk;Xk= xn * WNnk;function xn=idft(Xk,N)%计算逆离散傅里叶变换%xn=idft(Xk,N)n=0:1:N-1;k=0:1:N-1;WN=exp(-j*2*pi/N);nk=n*k;WNnk=WN.(-nk);xn=(Xk*WNnk)/N; 实验结果:五、 实验结果分析

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1