迴圈卷積與線性卷積

2021-10-02 02:14:56 字數 593 閱讀 3469

迴圈卷積

針對的是兩個長度都為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,進行計算。

bluestein演算法

迴圈卷積和線性卷積的關係

迴圈卷積和線性卷積的關係 一般訊號處理濾波器 時域資料 與 濾波器係數的線性卷積,但卷積的運算量比較大,所以用頻域的相乘來替代時域卷積,而頻域的相乘等於時域迴圈卷積,所以要有乙個迴圈卷積和線性卷積轉換的過程,如下matlab例子 x 3 2 1 2 5 y 7 1 8 5 1 n length x ...

訊號卷積(線性卷積)

從數學上講,卷積就是一種運算。定義函式 f,g 的卷積 f g t 如下 1.連續形式 f g t int f tau g t tau d tau 那這個怎麼理解呢?函式 g t 可以理解為衝擊響應,即乙個衝擊訊號經過乙個線性系統後產生的輸出函式,假設它的影象長成下面這個樣子 在 0 時刻輸入了乙個...

線性卷積與圓周卷積的計算方法

現在很多任務具裡都已經為我們實現好了線性卷積和圓周卷積的函式,所以在實現方面簡單呼叫一下即可。如matlab中,conv用於計算線性卷積,而cconv用來計算圓周卷積 在國內搜了很多計算圓周卷積的例子,居然鮮有人提到cconv函式,而都是人云亦云都抄襲一套自實現函式,真是有點意想不到。下面直接上乾貨...