⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 circonv2.asv

📁 两个序列的循环卷积
💻 ASV
字号:
function y=circonv2(x1,x2,N)
%realize circular convolution use dft method 
%y=circonv2(x1,x2,N)
%y:output sequence 
%x1,x2:input sequences
%N:circulation length
%采取矩阵计算的方法,即先生成矩阵H,它的第k行包含序列x2((k-1-n))N,这样,矩阵H与序列x1(n)相乘的结果
%就是两个序列的循环卷积。
if length(x1)>N
    error('N must not be less than length of x1')
end
if length(x2)>N
    error('N must not be less than length of x2')
end                           %以上语句判断两个序列的长度是否小于N
X1k=fft(x1,N);                %作序列1的DFT
X2k=fft(x2,N);                %作序列2的DFT
Yk=X1k.*X2k;
y=ifft(Yk);                   %求两序列的循环卷积
if(all(imag(x1==0))&(all(imag(x2)==0))
    y=real(y);
end                           %实序列的循环卷积的结果仍是实序列

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -