
怎样用matlab实现循环卷积,卷积,移位循环移位
展开全部
时移就是x=x[zeros(1,n) x];
圆周时移我自己写了个 函数
function X=cirshift(x,n)
%
%
lx=length(x);
if n<0
M=mod(n,lx);
te=[x x];
M=lx-M;
X=te(M+1:M+lx);
end
if n>0
M=mod(n,lx);
te=[x x];
X=te(M+1:M+lx);
end
线性卷积y=conv(x);
循环卷积 你可以通过 线性卷积的圆周时移实现。而且这个圆周卷积跟线性卷积都只是2N之内的关系。
圆周时移我自己写了个 函数
function X=cirshift(x,n)
%
%
lx=length(x);
if n<0
M=mod(n,lx);
te=[x x];
M=lx-M;
X=te(M+1:M+lx);
end
if n>0
M=mod(n,lx);
te=[x x];
X=te(M+1:M+lx);
end
线性卷积y=conv(x);
循环卷积 你可以通过 线性卷积的圆周时移实现。而且这个圆周卷积跟线性卷积都只是2N之内的关系。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询