线性卷积和 N 点 DFT 的比较

信息处理 离散信号 傅里叶变换 自由度 卷积 时频
2022-01-31 06:05:10

我目前正在研究离散傅里叶变换,对此我有疑问。

考虑两个序列

{1,2,3,4}
{0,1,0,0}
当我对它们进行线性卷积时,我得到了这个
{0,1,2,3,4,0,0}

但是,如果我采用 4 点 DFT{1,2,3,4}{0,1,0,0}然后将它们相乘,然后如果我对结果进行 IDFT,我会得到这个

{4,1,2,3}


DFT(1,2,3,4)={10,2+2j,2,22j}
DFT(0,1,0,0)={1,j,1,j}

元素明智的产品

{10,2+2j,2,22j}
IDFT(10,2+2j,2,22j)={4,1,2,3}

我知道这里的线性卷积输出至少需要 7 个元素,我正在计算 4 点 DFT/IDFT,这当然是不够的。

但是我应该从中得出什么推论。IDFT 的结果看起来有点像循环卷积,但它并不完全是循环卷积之后得到的结果。

1个回答

结果 {4,1,2,3} 是 {1,2,3,4} 和 {0,1,0,0} 的循环卷积,您可以通过 DFT 乘积的逆 DFT 正确得到的两个序列。

我们可以通过矩阵乘法进行循环卷积来检查这一点,如下所示:

x(n)=[1,2,3,4]

y(n)=[0,1,0,0]

解决循环卷积x(n)()y(n), (我使用的地方()表示循环卷积)我们可以用乘法来做到这一点Xy, 在哪里X是由重复形成的矩阵x(n)在每一列中,n = 0,1,2,3 和yy(n)作为列向量:

Xy=[1432214332144321][0100]=[4,1,2,3]

确认关系:

x[n]()y[n]=IFFT(FFT(a)FFT(b))

哪里() 算子在这里是专门的循环卷积。并且两个 FFT 结果的乘积是逐个元素的乘积。

还要补充一点:相比之下,如果您在乘法之前将 FFT 结果之一共轭,则结果是两个序列的循环互相关!

XCORR=IFFT(FFT(a)FFT(b))