电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验4线性卷积与圆周卷积的计算

实验4线性卷积与圆周卷积的计算_第1页
1/6
实验4线性卷积与圆周卷积的计算_第2页
2/6
实验4线性卷积与圆周卷积的计算_第3页
3/6
题目:已知两个有限长序列 x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4) h(n)=δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3) 计算以下两个序列的线性卷积和圆周卷积 (1)x(n)⑤y(n) (2)x(n)⑥y(n) (3)x(n)⑨y(n) (4)x(n)⑩y(n) ● 调用函数circonv function yc=circonv(x1,x2,N) %用直接法实现圆周卷积 %y=circonv(x1,x2,N) %y:输出序列 %x1,x2:输入序列 %N:圆周卷积的长度 if length(x1)>N error; end if length(x2)>N error; end %以上语句判断两个序列的长度是否小于N x1=[x1,zeros(1,N-length(x1))];%填充序列x1(n)使其长度为N,序列h(n)的长度为N1,序列x(n)的长度为N2 x2=[x2,zeros(1,N-length(x2))]; %填充序列x2(n)使其长度为N n=[0:1:N-1]; x2=x2(mod(-n,N)+1); %生成序列x2((-n))N,镜像,可实现对x(n)以N为周期的周期延拓,加1是因为MATLAB向量下标只能从1开始。 H=zeros(N,N);%生成N行N列的零矩阵 for n=1:1:N H(n,:)=cirshiftd(x2,n-1,N);%该矩阵的k行为x2((k-1-n))N end yc=x1*H';%计算圆周卷积 ● 调用函数cirshiftd function y=cirshiftd(x,m,N) %直接实现序列x的圆周移位 %y=cirshiftd(x,m,N) %x:输入序列,且它的长度小于N %m:移位位数 %N:圆周卷积的长度 %y:输出的移位序列 if length(x)>N error('x的长度必须小于N'); end x=[x,zeros(1,N-length(x))]; n=[0:1:N-1]; y=x(mod(n-m,N)+1); • 函数(1 )x(n)⑤y(n) clear all; N1=5; N2=4; xn=[1 2 3 4 5];%生成x(n) hn=[1 2 1 2];%生成h(n) yln=conv(xn,hn);%直接用函数conv计算线性卷积 ycn=circonv(xn,hn,5);%用函数circonv计算N1点圆周卷积 ny1=[0:1:length(yln)-1]; ny2=[0:1:length(ycn)-1]; subplot(2,1,1);%画图 stem(ny1,yln); ylabel('线性卷积'); subplot(2,1,2); stem(ny2,ycn); ylabel('圆周卷积'); • 函数(2 )x(n)⑥y(n) clear all; N1=5; N2=4; xn=[1 2 3 4 5];%生成x(n) hn=[1 2 1 2];%生成h(n) yln=conv(xn,hn);%直接用函数conv计算线性卷积 ycn=circonv(xn,hn,6);%用函数circonv计算N1点圆周卷积 ny1=[0:1:length(yln)-1]; ny2=[0:1:length(ycn)-1]; subplot(2,1,1); stem(ny1,yln); ylabel('线性卷积'); subplot(2,1,2); stem(ny2,ycn); ylabel('圆周卷积'); • 函数(3 )x(n)⑨y(n) clear all; N1=5; N2=4; xn=[1 2 3 4 5];%生成x(n)...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验4线性卷积与圆周卷积的计算

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部