怎样用matlab实现循环卷积,卷积,移位循环移位

2024-12-21 09:03:05
推荐回答(1个)
回答1:

时移就是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之内的关系。