訊號與系統 – 因果系統和非因果系統
因果系統
一個系統的輸出或響應在任何時刻 (t) 只取決於輸入的當前值和過去值,而不取決於輸入的未來值,則稱為**因果系統**。對於因果系統,輸出或響應不會在輸入訊號施加之前開始。因此,因果系統也稱為**非預期系統**。
因果系統是即時系統,可以物理實現。對於因果系統,系統的衝激響應在負時間 (即 t < 0) 為零,因為衝激訊號 δ(t) 或 δ(n) 只存在於 t = 0 或 n = 0 時,即:
ℎ(𝑡) = 0; 𝑡 < 0 … 對於連續時間系統
ℎ(𝑛) = 0; 𝑛 < 0 … 對於離散時間系統
電阻器是連續時間因果系統的例子。下面給出一些因果系統的例子:
𝑦(𝑡) = 𝑥(𝑡 − 3) + 3𝑥(𝑡)
𝑦(𝑡) = 𝑡𝑥(𝑡)
𝑦(𝑛) = 𝑥(𝑛 − 1) + 𝑥(𝑛)
𝑦(𝑛) = 𝑛𝑥(𝑛)
其中,y(t) 或 y(n) 和 x(t) 或 x(n) 分別是系統的輸出和輸入。
非因果系統
一個系統的輸出或響應在任何時刻 (t) 取決於輸入的未來值,則稱為**非因果系統**。非因果系統可以在輸入給出之前產生輸出,因此它們也稱為**預期系統**。
非因果系統在現實中不存在。此外,這些系統在物理上不可實現。影像處理系統是非因果系統的例子。
下面給出一些非因果系統的例子:
𝑦(𝑡) = 𝑥(𝑡 + 3) + 2𝑥(𝑡)
𝑦(𝑡) = 𝑥2(𝑡) + 𝑡𝑥(𝑡 + 3)
𝑦(𝑛) = 𝑥(𝑛) + 3𝑥(3𝑛)
𝑦(𝑛) = 𝑥2(𝑛) + 2𝑥(𝑛 + 1)
例題
確定下列系統是因果系統還是非因果系統:
- 𝑦(𝑡) = 𝑥2(𝑡) + 𝑥(𝑡 − 3)
- 𝑦(𝑡) = 𝑥(3 − 𝑡) + 𝑥(𝑡 − 2)
- 𝑦(𝑛) = 𝑥(2𝑛)
- 𝑦(𝑛) = sin[𝑥(𝑛)]
- $\mathrm{y(t)=\int_{-\alpha }^{2t}\, x(u)du}$
解答
給定系統為:
𝑦(𝑡) = 𝑥2(𝑡) + 𝑥(𝑡 − 3)
可以透過考慮不同的 t 值來確定給定系統的因果關係:
𝑡 = 0 → 𝑦(0) = 𝑥2(0) + 𝑥(−3)
𝑡 = (−2) → 𝑦(−2) = 𝑥2(−2) + 𝑥(−5)
𝑡 = 2 → 𝑦(2) = 𝑥2(2) + 𝑥(−1)
因此,對於所有 t 值,輸出僅取決於輸入的當前值和過去值。因此,給定系統是一個因果系統。
給定系統為:
𝑦(𝑡) = 𝑥(3 − 𝑡) + 𝑥(𝑡 − 2)
可以透過考慮不同的 t 值來確定給定系統的因果關係:
𝑡 = 0 → 𝑦(0) = 𝑥(3) + 𝑥(−2)
𝑡 = (−1) → 𝑦(−1) = 𝑥(4) + 𝑥(−3)
𝑡 = 1 → 𝑦(1) = 𝑥(2) + 𝑥(−1)
很明顯,對於某些 t 值,系統的輸出取決於輸入的未來值。因此,給定系統是一個非因果系統。
給定:
𝑦(𝑛) = 𝑥(3𝑛)
系統在不同時刻的輸出為:
𝑛 = 0 → 𝑦(0) = 𝑥(0)
𝑛 = −1 → 𝑦(−1) = 𝑥(−3)
𝑛 = 1 → 𝑦(1) = 𝑥(3)
𝑛 = 2 → 𝑦(2) = 𝑥(6)
因此,對於 n 的正值,系統的輸出取決於輸入的未來值。因此,給定系統是一個非因果系統。
給定系統為:
𝑦(𝑛) = sin[𝑥(𝑛)]
系統在不同 n 值下的輸出為:
𝑛 = 0 → 𝑦(0) = sin[𝑥(0)]
𝑛 = −3 → 𝑦(−3) = sin[𝑥(−3)]
𝑛 = 3 → 𝑦(3) = sin[𝑥(3)]
因此,對於所有 n 值,系統的輸出僅取決於當前輸入值。因此,該系統是一個因果系統。
給定系統為:
$$\mathrm{y(t)=\int_{-\alpha }^{2t}\, x(u)du}$$對於不同的 t 值,系統的輸出為:
$$\mathrm{t=0\rightarrow y(0)=\int_{-\alpha }^{0}x(u)du=[x(0)-x(-\alpha )]}$$ $$\mathrm{t=-1\rightarrow y(-1)=\int_{-\alpha }^{-2}x(u)du=[x(-2)-x(-\alpha )]}$$ $$\mathrm{t=1\rightarrow y(1)=\int_{-\alpha }^{2}x(u)du=[x(2)-x(-\alpha )]}$$ $$\mathrm{t=2\rightarrow y(2)=\int_{-\alpha }^{4}x(u)du=[x(4)-x(-\alpha )]}$$
因此,對於 t 的正值,系統的輸出取決於輸入的未來值。因此,給定系統是一個非因果系統。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP