假设我们有两个序列,输入序列和给定系统的脉冲响应. 我需要找到这个系统对给定输入序列的响应。之后,我需要计算给定序列的线性卷积。
如果我们将响应表示为我们有,这意味着,由于卷积定理,在频域我们有. 由此,我们可以发现.
考虑到我需要找到给定序列的卷积这一事实,这意味着,这意味着它应该产生与我使用 DFT 执行此操作时相同的结果。但是,我的最终结果根本不匹配。
另一方面,给定序列的卷积给出以下结果:
不仅结果是完全错误的,而且我得到的向量的维度也不相同。我究竟做错了什么?任何帮助表示赞赏!
假设我们有两个序列,输入序列和给定系统的脉冲响应. 我需要找到这个系统对给定输入序列的响应。之后,我需要计算给定序列的线性卷积。
如果我们将响应表示为我们有,这意味着,由于卷积定理,在频域我们有. 由此,我们可以发现.
考虑到我需要找到给定序列的卷积这一事实,这意味着,这意味着它应该产生与我使用 DFT 执行此操作时相同的结果。但是,我的最终结果根本不匹配。
另一方面,给定序列的卷积给出以下结果:
不仅结果是完全错误的,而且我得到的向量的维度也不相同。我究竟做错了什么?任何帮助表示赞赏!
它将匹配循环卷积模, 在哪里这里是 4。对于有限长度的序列,2 个序列的 DFT 的乘积等效于 2 个序列的循环卷积的 DFT。
>> cconv([0,1,2,1], [0,1,-1,1], 4)
ans =
0 1 2 1
>>ifft(fft([0,1,2,1]).*fft([0,1,-1,1]))
ans =
0 1 2 1