如何找到两个序列的MOD-2 循环卷积和.
我知道答案是 来自matlab,但我不知道如何以图形或数学方式找到它
如何找到两个序列的MOD-2 循环卷积和.
我知道答案是 来自matlab,但我不知道如何以图形或数学方式找到它
写并计算,也就是除经过并只取其余部分。虽然这看起来很复杂,但如果你想一想你会发现你所做的只是分割进入和 并添加较短的向量以获得. 重复 添加四个长度向量要得到 . 尽管我对建议特定命令的语法不够熟悉,但这在 MATLAB 中可能并不难做到。接下来,计算循环卷积和 最好不调用 MATLAB 函数。 结果是
从数学上讲,你正在做的是计算 这可以通过首先找到来完成使用 FFT 以及您遵循了什么计算(这有效地将长向量切成小块并将它们相加),或者更简单地通过首先计算和 (分割成更短的向量并将它们相加)然后计算循环卷积 这很容易做到。
Chop-add-convolve 比 convolve-chop-add 更容易
一种方法是“重新包装”一个全尺寸的圆形卷积:
sum(reshape(ifft(fft(x, 8) .* conj(fft(h, 8))), 2, 8 / 2), 2)
另一种实现是直接抽取 FFT:
N = 2;
Xf = fft(x); Xf = Xf(1:length(Xf) / N:end);
Hf = fft(h); Hf = Hf(1:length(Hf) / N:end);
ifft(Xf .* conj(Hf))
如果您要重现的是 matlab 中 cconv 的行为,最好只查看 matlab 文件中的源代码 :)