記錄一下前期沒搞懂的卷積的內容,主要是線性卷積計算方法和使用線性卷積計算圓周卷積的方法。為此學習了一下之前從來沒有接觸過的 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 協議》,轉載必須註明作者和本文連結