在訊號的時域分析中,最為重要的就是訊號通過線性時不變系統,即時域卷積計算。先來回顧一下線性時不變系統的定義:
\[\begin
if}x(t) \rightarrow y(t)}\\
a(t) + b(t) \rightarrow a(t) + b(t)\\
x(t - ) \rightarrow y(t - )
\end \tag
\]物理可實現的系統絕大多數均滿足線性時不變條件,與此同時還應滿足穩定性條件,即 $\int_^ dt < \infty $ ,輸入為能量訊號的情況下輸出的能量是有限的。在做一些小題的時候,經常會給出 \(y(t) = f[x(t)]\) 的形式來提問,然而在實際的系統當中卻很難用乙個函式就輕鬆表徵出輸入和輸出之間的關係,比如:
這是乙個簡單的rc電路,但是會發現很難用乙個簡單直觀的函式去表徵輸出與輸入之間的關係。當然,在電路分析中採用零狀態相應+零輸入響應最終求解出了該函式,實質上用的是求解非齊次線性微分方程的方法。然而這種求解的困難在於兩點:1. 很難剝離輸入訊號用以描述系統本身的性質;2. 對於高階電路束手無策。這裡卷積主要解決的是第乙個困難,第二個困難在頻域上解決起來非常輕鬆。
先列出卷積的定義式:
\[y(t) = \int_^ }
\]單純從公式上來看,是完全看不懂卷積是什麼的。所以從實際系統出發來觀察訊號通過系統的情況,圖1所示的rc電路中由經典的電路分析可以求解出零輸入響應 \(y(t) = }} \cdot u(t)}\tau }rc\) ,對應如下圖所示:
顯然,這是初始狀態為u(0)=1v時的系統響應,即可視為 。關於drac函式無需深究,因為這個函式在訊號系統中的應用本身就是違反數學定理的,根本不滿足在x=0這一點的連續性和可導性。那麼如果是多個不同時間點的衝激函式輸入進來會是怎樣呢?
令 \(x(t) = \delta (t) + \delta (t - 1) + \delta (t - 2)\) ,則有如下圖所示結果:
可以看出,由於系統是線性的,各衝激的響應會線性地疊加在一起,組成總的響應。有限個衝激可以如此疊加,所以我們就會推測:乙個連續輸入訊號能否視作無限個延時衝激疊加?於是將乙個連續輸入訊號表示成這種形式:
\[x(t) = \int_^ \tag
\]根據drac函式的性質,我們知道\(\delta (t - \tau )d\tau } \left \
1& \\0&\end\right.\) ,故這個式子是顯然成立的。所以關鍵的一步來了:如果知道了\(\delta(t)\)的響應\(h(t)\),那是不是就可以用\(h(t)\)表示\(y(t)\)了呢?在高等數學中學習到了乙個重要的知識點:積分具有線性性質,即:
\[\int (x)dx} } = \sum\limits_i } \int (x)dx} \tag
\]將\(x(\tau)\)視為是drac函式的乙個加權因子a,則有\(x(\tau )\delta (t - \tau ) \rightarrow x(\tau )h(t - \tau )\),注意:
這樣做是對的,因為在求解延時衝激\(\delta(t-\tau)\)的系統響應時自變數是 ,而不是\(\tau\)。根據(1-4)提供的線性性質,從數學上便推導出了(1-2)的卷積公式。
最後,卷積是建立在實際應用之上的,所以單純的公式推導很難建立乙個直觀的印象。我們可以這樣設想,乙個連續訊號切分成無數個微元,每乙個微元進入系統的時間是不一樣的,比如x(0)和x(0.1)之間就相差了0.1s的時間,那麼根據(1-1)式中的線性性質,兩者的響應也相差了0.1s的時間。
但這裡我們要注意的就是:系統產生的響應不是只存在於一瞬的,就像前面圖1所示那樣,乙個零時刻1v的輸入產生了無窮長時間的響應值。並不是說在0時刻輸入了乙個訊號,其輸出也只在0時刻存在。用訊號系統的術語來描述,即我們研究的絕大多數系統是記憶系統。若要舉例子,含電感電容的電路都是記憶系統,純電阻電路則是非記憶的。
這樣一來,在輸出端這邊檢測訊號, 時刻的輸出值不僅包含了x(t)的響應,還包含了x(0)到x(t)所有輸入在該時刻的響應。所以為了方便說明,所以在訊號系統中用 描述輸入的時刻,用 描述輸入產生的響應在之後的時間延續。
對於離散時間訊號,整個推導過程是完全一致的,只需要把積分換成求和即可。
github的一點小心得
很多朋友在github上建立了 倉庫後,急急忙忙的就在本地按照網上的說法,如下 cd dir git init git remote add git add git commit 但是這樣可能就會出現各種蛋疼的問題。最後發現有個更簡單的方法。在github上建立好 倉庫及專案之後,配置好git,然後...
寫部落格的一點小心得
寫部落格大概也有乙個多月了吧 自我感覺還是不錯的 前面幾篇中寫的最多的還是cf上和多校的題解,涉及到的知識面比較廣.我寫部落格的原則是每一篇都要是原創,並且要寫出自己寫題的感悟.如果題解只是一兩句帶過去說是水題或者模板題,那麼還不如不寫.就是說我寫的題都是神題 在網上看別人部落格的題解時經常會發現大...
質量保障一點小小心得
分為測試前 測試中 和測試後吧 測試前 最好讓一位同學專門owner一條業務線 一定要參與開發的設計評審 有些改動,讓開發列一下測試範圍,可以看看是不是測試用例覆蓋不到的點 測試用例一定要寫,這個時間不能少 測試中 先主流程走一遍,提前暴露風險,再開始執行用例 開發解決完bug,一定要多問一句,這個...