數字訊號處理:線性卷積、迴圈卷積、圓周卷積計算

zylntxx發表於2021-04-04

卷積計算

記錄一下前期沒搞懂的卷積的內容,主要是線性卷積計算方法和使用線性卷積計算圓周卷積的方法。為此學習了一下之前從來沒有接觸過的 LaTeX 語法,?一直使用的是 Word 裡面內嵌的 Unicode Math 語法。不得不說,LaTeX 挺香

同步釋出在我的部落格 爆米花手冊 中,歡迎來踩踩

線性卷積

線性卷積一般使用不進位乘法(或稱對位相乘相加法)進行計算

例題:

設線性時不變系統的單位脈衝響應 h(n) 和輸入序列 x(n) 如下,求輸出序列 y(n) = x(n) * h(x)

x(n)=\{1,2,\underline4,3\}\\ h(n)=\{\underline2,3,5\}

解:

如題,x(n) 最右側的數字 3 距離下劃線的距離為 1,故 n=1

h(n) 最右側的數字 5 距離下劃線的距離為 2,故 n=2

x(n)h(n) 列為豎式乘法的形式,並在最右側標註 n 的值

\begin {array}{ccc} &1&2&4&3&\leftarrow n=1\\ \times &&2&3&5&\leftarrow n=2\\ \hline \end {array}

接下來進行常規的豎式乘法計算

\begin {array}{ccc} &&&1&2&4&3&\leftarrow n=1\\ \times &&&&2&3&5&\leftarrow n=2\\ \hline &&&5&10&20&15\\ &&3&6&12&9\\ &2&4&8&6\\ \hline \end {array}

然後進行豎式乘法相加,注意計算結果不進位

\begin {array}{ccc} &&&1&2&4&3&\leftarrow n=1\\ \times &&&&2&3&5&\leftarrow n=2\\ \hline &&&5&10&20&15\\ &&3&6&12&9\\ &2&4&8&6\\ \hline &2&7&19&28&29&15 \end {array}

最後將 x(n)h(n)n 相加,得到 n=1+2=3 寫在結果後面

\begin {array}{ccc} &&&1&2&\underline4&3&\leftarrow n=1\\ \times &&&&\underline2&3&5&\leftarrow n=2\\ \hline &&&5&10&20&15\\ &&3&6&12&9\\ &2&4&8&6\\ \hline &2&7&\underline{19}&28&29&15&\leftarrow n=3 \end {array}

故從右往左數第 n+1 個數為 y(0)

按順序寫下不進位乘法結果即為答案

y(n)=\{2,7,\underline{19},28,29,15\}

迴圈卷積、圓周卷積

迴圈卷積和圓周卷積是一個意思,之後文章裡統一使用圓周卷積來作說明

圓周卷價一般使用矩陣相乘法求解

但是這裡給出一個更簡單的方法,使用線性卷積間接計算圓周卷積

例題:

設線性時不變系統的單位脈衝響應 h(n) 和輸入序列 x(n) 如下,求它們的 4 點圓周卷積、 5 點圓周卷積和 7 點圓周卷積

x(n)=\{1,2,\underline4,3\}\\ h(n)=\{\underline2,3,5\}

解:

由上面例題的求解過程可以知道它們的線性卷積為

y(n)=\{2,7,\underline{19},28,29,15\}

y(n) 的序列長度為 6

對於 4 點圓周卷積

由於 4 點小於線性卷積的 6 點,其中的兩點存在混雜現象,那麼將第五點的值加到第一點上,第六點的值加到第二點上,故 4 點圓周卷積為

z^1(n)=\{31,22,\underline{19},28\}

同理,對於 5 點圓周卷積

其中一點存在混雜現象,那麼只需要將第六點加到第一點上,故 5 點圓周卷積為

z^2(n)=\{17,7,\underline{19},28,29\}

對於 7 點圓周卷積

由於 7 點大於線性卷積的 6 點,沒有發生混雜現象,只需要線上性卷積右側使用 0 補足 7 點即可,故 7 點圓周卷積為

z^3(n)=\{2,7,\underline{19},28,29,15,0\}

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章