您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 线性卷积与圆周卷积的计算
线性卷积与圆周卷积的计算一、基本原理1.线性卷积当系统输入序列为x(n),系统的单位冲击响应为h(n),输出序列为y(n),则线性时不变系统输入、输出间的关系为:Y(n)=h(n)*x(n)2.圆周卷积设两个有限长序列1()xn和2()xn,均为N点,其N点的DFT分别为1()Xk和2()Xk,如果312()()()XkXkXk,则13120()[()()]()NNmxnxmxnmRn1120()(())NNmxmxnm1()xn○N2()xn01nN二、实验内容与要求已知两个有限长序列:()()2(1)3(2)4(3)5(4)xnnnnnn()()2(1)(2)2(3)hnnnnn(1)实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积①()xn⑤()hn②()xn⑥()hn③()xn⑨()hn④()xn⑩()hn(2)编制一个计算两个序列线性卷积的通用程序,计算()()xnhn。(3)编制一个计算圆周卷积的通用程序,计算上述4种情况下的两个序列的圆周卷积。(4)上机调试并记录实验结果(5)将实验结果和预先笔算的结果比较,验证其正确性。三、实验过程functionyc=circonv(x1,x2,N)iflength(x1)Nerror('N必须大于等于x1的长度');endiflength(x2)Nerror('N必须大于等于x2的长度');endx1=[x1,zeros(1,N-length(x1))];x2=[x2,zeros(1,N-length(x2))];n=[0:1:N-1];x2=x2(mod(-n,N)+1);H=zeros(N,N);forn=1:1:NH(n,:)=cirshiftd(x2,n-1,N);endyc=x1*H';%计算圆周卷积functiony=cirshiftd(x,m,N)iflength(x)Nerror('x的长度必须小于N');endx=[x,zeros(1,N-length(x))];n=[0:1:N-1];y=x(mod(n-m,N)+1);①x(n)⑤y(n)clearallxn=[12345];hn=[1212];N1=length(xn);N2=length(hn);y1n=conv(xn,hn);ycn=circonv(xn,hn,5);ny1=[0:1:length(y1n)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);stem(ny1,y1n);subplot(2,1,2);stem(ny2,ycn);②x(n)⑥y(n)clearall;N1=5;N2=4;xn=[12345];hn=[1212];yln=conv(xn,hn);ycn=circonv(xn,hn,6);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('圆周卷积');③x(n)⑨y(n)clearall;N1=5;N2=4;xn=[12345];hn=[1212];yln=conv(xn,hn);ycn=circonv(xn,hn,9);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('圆周卷积');④x(n)⑩y(n)clearall;N1=5;N2=4;xn=[12345];hn=[1212];yln=conv(xn,hn);ycn=circonv(xn,hn,10);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('圆周卷积');四、思考题解答(4)线性卷积运算一般步骤为:①求x1(n)与x2(n)的线性卷积;②对x1(m)或x2(m)先进行镜像移位x1(-m),对移位后的序列再进行从左至右的依次平移x(n-m),当n=0,1,2.…N-1时,分别将x(n-m)与x2(m)相乘,并在m=0,1,2.…N-1的区间求和,便得到y(n)。圆周卷积运算一般步骤为:在圆周卷积过程中,求和变量为m,n为参变量,先将x2(m)周期化,形成x2((m))N,再反转形成x2((-m))N,取主值序列则得到x2((-m))NRN(m),通常称之为x2(m)的圆周反转。对x2(m)圆周反转序列圆周右移n,形成x2((n-m))NRN(m),当n=0,1,2,…,N-1时,分别将x1(m)与x2((n-m))NRN(m)相乘,并在m=0到N-1区间内求和,便得到圆周卷积y(n)。(5)采用圆周卷积运算代替线性卷积运算:时域圆周卷积在频域上相当于两序列的DFT的相乘,而计算DFT可以采快速傅立叶变换(FFT),因此圆周卷积和线性卷积相比,计算速度可以得到提高。
本文标题:线性卷积与圆周卷积的计算
链接地址:https://www.777doc.com/doc-2134217 .html