循環卷積與線性卷積

循環卷積

針對的是兩個長度都爲N的序列,對兩個序列做FFT,然後再做IFFT得到的結果就是循環卷積,結果的長度也是N。

直接計算步驟:

序列A與序列B,長度都是N,新的序列C

1、把B倒過來。[翻轉]

2、把B向右平移一個元素。最右側的元素補到左邊。

3、計算此時A和B對應元素的積的和。將其加到C的末尾。

4、如果C中還不足N個元素,重複步驟2和3。

 

線性卷積

針對的是兩個長度爲L和M的序列,將兩個序列都補0pad到N,做FFT,再做IFFT。得到的結果長度爲L+M-1

直接計算步驟:

序列A與序列B,長度分別數L和M,都補0到N,新的序列C

1、把B倒過來。[翻轉]

2、將B翻轉之後的數組第一位與A的第一位對齊

3、計算此時A和B對應元素的積的和。

4、將B數組向右移動一位,繼續計算。

5、直到B數組與A數組沒有重疊爲止。

 

兩者的關係:

如果想要計算循環卷積,可以將線性卷積進行週期化,然後計算。

如果想要計算線性卷積,可以將循環卷積pad0,進行計算。

 

【1】https://www.zhihu.com/question/25525824

【2】https://wenku.baidu.com/view/829dd3ce541810a6f524ccbff121dd36a32dc4e9

【3】bluestein算法 https://blog.csdn.net/outer_form/article/details/52386685

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 2823
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章