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

2021-10-16 17:07:24 字數 790 閱讀 3823

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

一般訊號處理濾波器:時域資料 與 濾波器係數的線性卷積,但卷積的運算量比較大,所以用頻域的相乘來替代時域卷積,而頻域的相乘等於時域迴圈卷積,所以要有乙個迴圈卷積和線性卷積轉換的過程,

如下matlab例子

x = [3 2 1 2 5];

y = [7 -1 8 5 1];

n = length(x) + length(y) - 1;

x1 = [x zeros(1,n - length(x))];

y1 = [y zeros(1,n - length(y))];

c1 = ifft(fft(x1).*fft(y1));%頻域的padding點乘

c2 = conv(x,y);%時域的線性卷積

c3 = ifft(fft(x).*fft(y));

c4 = cconv(x,y,length(x));

fprintf("result\n");

c1c2

c3 c4

結果:result

c1 =

21.0000   11.0000   29.0000   44.0000   54.0000   18.0000   51.0000   27.0000    5.0000

c2 =

21    11    29    44    54    18    51    27     5

c3 =

39    62    56    49    54

c4 =

39    62    56    49    54

迴圈卷積與線性卷積

迴圈卷積 針對的是兩個長度都為n的序列,對兩個序列做fft,然後再做ifft得到的結果就是迴圈卷積,結果的長度也是n。直接計算步驟 序列a與序列b,長度都是n,新的序列c 1 把b倒過來。翻轉 2 把b向右平移乙個元素。最右側的元素補到左邊。3 計算此時a和b對應元素的積的和。將其加到c的末尾。4 ...

訊號卷積(線性卷積)

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

C語言實現線性卷積和圓周卷積

已知x n 求x n x n x n x n x n x n include graphics.h include include include include 線性卷積 void conv int x,int y else if m 4 m 0 else y n 1 x m x s 圓周卷積 n...