在本章中,我們將介紹理想取樣器和星形變換 。首先,我們需要介紹(或回顧)幾何級數 的無窮和。後面在計算星形變換時,這些和的結果將非常有用。
考慮一個工作方式如下:每隔T 秒,取樣器讀取輸入訊號在那一刻的當前值。然後取樣器將該值保持在輸出端T 秒,然後再進行下一次取樣。我們有一個通用的系統輸入f(t) ,並且我們的取樣輸出將記為f*(t) 。然後我們可以得出這兩個訊號之間的以下關係
f ∗ ( t ) = f ( 0 ) ( u ( t − 0 ) − u ( t − T ) ) + f ( T ) ( u ( t − T ) − u ( t − 2 T ) ) + ⋯ + f ( n T ) ( u ( t − n T ) − u ( t − ( n + 1 ) T ) ) + ⋯ {\displaystyle f^{\,*}(t)=f(0){\big (}\mathrm {u} (t\,-\,0)\,-\,\mathrm {u} (t\,-\,T){\big )}\,+\,f(T){\big (}\mathrm {u} (t\,-\,T)\,-\,\mathrm {u} (t\,-\,2T){\big )}\,+\;\cdots \;+\,f(nT){\big (}\mathrm {u} (t\,-\,nT)\,-\,\mathrm {u} (t\,-\,(n\,+\,1)T){\big )}\,+\;\cdots }
請注意,f * 在時間t = 1.5 T 的值與時間t = T 的值相同。這種關係對任何分數值都有效。
對這個無窮序列進行拉普拉斯變換將得到一個特殊的結果,稱為星形變換 。星形變換在某些文字中也稱為“星號變換”。
在我們談論星形變換甚至 Z 變換之前,回顧求解無窮級數背後的數學背景對我們很有用。具體來說,由於這些變換的性質,我們將研究求解幾何級數 之和的方法。
幾何級數是指數遞增值的總和,如下所示
∑ k = 0 n a r k = a r 0 + a r 1 + a r 2 + a r 3 + ⋯ + a r n {\displaystyle \sum _{k=0}^{n}ar^{k}=ar^{0}+ar^{1}+ar^{2}+ar^{3}+\cdots +ar^{n}\,}
在上面的等式中,請注意級數中的每一項都有一個係數值 a。如果結果等式更容易處理,我們可以選擇將該係數分解出來
a ∑ k = 0 n r k = a ( r 0 + r 1 + r 2 + r 3 + ⋯ + r n ) {\displaystyle a\sum _{k=0}^{n}r^{k}=a\left(r^{0}+r^{1}+r^{2}+r^{3}+\cdots +r^{n}\,\right)}
一旦我們得到了其中任何一種格式的無窮級數,我們就可以方便地使用以下等式來求解該級數的總和
a ∑ k = 0 n r k = a 1 − r n + 1 1 − r {\displaystyle a\sum _{k=0}^{n}r^{k}=a{\frac {1-r^{n+1}}{1-r}}}
假設我們從一個非零的數字開始我們的級數。假設例如,我們從n = 1 或n = 100 開始我們的級數。讓我們看看
∑ k = m n a r k = a r m + a r m + 1 + a r m + 2 + a r m + 3 + ⋯ + a r n {\displaystyle \sum _{k=m}^{n}ar^{k}=ar^{m}+ar^{m+1}+ar^{m+2}+ar^{m+3}+\cdots +ar^{n}\,}
我們可以將求和推廣到以下級數:
∑ k = m n a r k = a ( r m − r n + 1 ) 1 − r {\displaystyle \sum _{k=m}^{n}ar^{k}={\frac {a(r^{m}-r^{n+1})}{1-r}}}
有了這個結果,現在我們需要考慮如何使這個級數收斂。在上式中,我們知道 n 趨於無窮大(因為這是一個 *無限和*)。因此,當我們試圖使這個級數收斂時,任何包含變數 n 的項都是一個令人擔憂的問題。如果我們仔細觀察上面的等式,我們會發現整個結果中只有一個包含 *n* 的項,由此,我們可以設定一個基本不等式來控制等比級數。
r n + 1 < ∞ {\displaystyle r^{n+1}<\infty }
為了滿足這個等式,我們必須滿足以下條件
r ≤ 1 {\displaystyle r\leq 1}
因此,我們得出最終結果:**等比級數收斂當且僅當 *r* 的值小於 1。**
**星形變換** 定義如下:
F ∗ ( s ) = L ∗ [ f ( t ) ] = ∑ k = 0 ∞ f ( k T ) e − s k T {\displaystyle F^{*}(s)={\mathcal {L}}^{*}[f(t)]=\sum _{k=0}^{\infty }f(kT)e^{-skT}}
星形變換取決於取樣時間 *T*,並且對於同一個訊號而言,其在不同取樣頻率下會有所不同。由於星形變換定義為一個無窮級數,需要注意的是,一些輸入到星形變換中的訊號不會收斂,因此一些函式沒有有效的星形變換。此外,需要注意的是,星形變換可能只在特定的 **收斂區域** 內有效。我們將在討論 Z 變換時進一步探討這個主題。
拉普拉斯變換和星形變換顯然是相關的,因為我們透過對時域訊號應用拉普拉斯變換得到了星形變換。然而,在兩者之間進行轉換的方法可能有點複雜。要找到拉普拉斯函式的星形變換,我們必須取拉普拉斯方程的留數,如下所示
X ∗ ( s ) = ∑ [ residues of X ( λ ) 1 1 − e − T ( s − λ ) ] at poles of E ( λ ) {\displaystyle X^{*}(s)=\sum {\bigg [}{\text{residues of }}X(\lambda ){\frac {1}{1-e^{-T(s-\lambda )}}}{\bigg ]}_{{\text{at poles of E}}(\lambda )}}
這個數學公式對大多數讀者來說比較複雜,因此,我們可以使用另一種方法,如下所示
X ∗ ( s ) = 1 T ∑ n = − ∞ ∞ X ( s + j m ω s ) + x ( 0 ) 2 {\displaystyle X^{*}(s)={\frac {1}{T}}\sum _{n=-\infty }^{\infty }X(s+jm\omega _{s})+{\frac {x(0)}{2}}}
這兩種方法都不算簡單,因此,在這本書中,我們將不會過多地討論拉普拉斯變換和星形變換之間的關係。但是,需要說明的是,拉普拉斯變換和星形變換在數學上 *是相關的*。
在一些系統中,我們可能同時具有連續和離散的元件。例如,如果我們的反饋迴路包括一個模數轉換器,然後是一個計算機(用於處理),最後是一個數模轉換器。在這種情況下,計算機作用於數字訊號,但系統中的其他部分作用於連續訊號。星形變換可以以以下幾種方式與拉普拉斯變換互動
假設
Y ( s ) = X ∗ ( s ) H ( s ) {\displaystyle Y(s)=X^{*}(s)H(s)}
那麼
Y ∗ ( s ) = X ∗ ( s ) H ∗ ( s ) {\displaystyle Y^{*}(s)=X^{*}(s)H^{*}(s)}
假設
Y ( s ) = X ( s ) H ( s ) {\displaystyle Y(s)=X(s)H(s)}
那麼
Y ∗ ( s ) = X H ¯ ∗ ( s ) {\displaystyle Y^{*}(s)={\overline {XH}}^{*}(s)}
Y ∗ ( s ) ≠ X ∗ ( s ) H ∗ ( s ) {\displaystyle Y^{*}(s)\neq X^{*}(s)H^{*}(s)}
其中 X H ¯ ∗ ( s ) {\displaystyle {\overline {XH}}^{*}(s)} 是 *X(s)H(s)* 的星形變換。
星形變換被定義為一個無窮級數,因此它是否收斂(不達到無窮大)至關重要,否則結果將毫無意義。由於星形變換是一個幾何級數(對於許多輸入訊號),我們可以使用幾何級數分析來表明該級數是否收斂,以及在哪些特定條件下該級數收斂。星形變換收斂所需的限制稱為變換的 **收斂域** (ROC)。通常,變換必須與 ROC 的明確說明一起給出。
假設我們現在有一個以固定間隔取樣的離散資料集。我們可以將這個資料集稱為 *x[n]*。
x[n] = [ x[0] x[1] x[2] x[3] x[4] ... ]
這也被稱為 **雙邊 Z 變換**。我們只會在本書中討論該版本的變換。
我們可以利用一種特殊的變換,稱為 Z 變換,來簡化處理這個資料集。
X ( z ) = Z { x [ n ] } = ∑ n = − ∞ ∞ x [ n ] z − n {\displaystyle X(z)={\mathcal {Z}}\left\{x[n]\right\}=\sum _{n=-\infty }^{\infty }x[n]z^{-n}}
與星形變換類似,Z 變換被定義為一個無窮級數,因此我們需要考慮收斂性。實際上,存在許多情況,它們具有相同的 Z 變換,但收斂域 (ROC) 不同。因此,在談論 Z 變換時,必須包含 ROC,否則你會丟失重要資訊。
與拉普拉斯變換類似,在 Z 域中,我們可以使用系統的輸入輸出關係來定義 **傳遞函式**。
Z 域中的傳遞函式的工作方式與 S 域中的傳遞函式完全相同。
H ( z ) = Y ( z ) X ( z ) {\displaystyle H(z)={\frac {Y(z)}{X(z)}}}
Z { h [ n ] } = H ( z ) {\displaystyle {\mathcal {Z}}\{h[n]\}=H(z)}
類似地,表示數字系統響應的值 *h[n]* 被稱為系統的 **脈衝響應**。但是,需要注意的是,“脈衝”的定義在模擬域和數字域中是不同的。
**逆 Z 變換** 由以下路徑積分定義
x [ n ] = Z − 1 { X ( z ) } = 1 2 π j ∮ C X ( z ) z n − 1 d z {\displaystyle x[n]=Z^{-1}\{X(z)\}={\frac {1}{2\pi j}}\oint _{C}X(z)z^{n-1}dz\ }
其中,C 是一個逆時針閉合路徑,包圍原點,完全位於收斂域 (ROC) 內。輪廓或路徑 C 必須包圍 X(z) 的所有極點。
與本書中的一些其他內容相比,這個數學相對來說比較高階,因此本書不會過多地關注用這種方法求解逆 Z 變換。 Z 變換對在參考書中被廣泛地列出,因此許多讀者可以將其視為求解逆 Z 變換的主要方法。 在附錄 中以表格形式提供了許多 Z 變換對。
與拉普拉斯變換類似,Z 變換也有一個相關的終值定理。
lim n → ∞ x [ n ] = lim z → 1 ( z − 1 ) X ( z ) {\displaystyle \lim _{n\to \infty }x[n]=\lim _{z\to 1}(z-1)X(z)}
這個公式可以用來求解系統的穩態響應,也可以用來計算系統的穩態誤差。
Z 變換與星變換透過以下變數替換相關聯。
z = e s T {\displaystyle z=e^{sT}}
請注意,在 Z 域中,我們不會保留有關取樣週期的任何資訊,因此從星變換訊號轉換為 Z 域會丟失該資訊。 但是,當轉換回星域時,如果 T 的值仍然可用,則可以將其重新插入公式中。
另外,Z 變換是雙線性的,而星變換是單線性的,這一點也很重要。 這意味著我們只有在取樣訊號在所有 n < 0 的值上都為零時,才能在這兩種變換之間進行轉換。
由於兩種變換密切相關,可以說 Z 變換隻是星變換的記號便利。 正如上面所說,本書完全可以使用星變換來解決所有問題,而完全忽略 Z 變換記號帶來的額外負擔。 一個常見的例子是 Richard Hamming 的書“科學家和工程師的數值方法”,該書使用傅立葉變換來解決所有問題,將拉普拉斯、星和 Z 變換視為僅僅是記號上的便利。 然而,控制系統華夏公益教科書認為正確利用不同的變換可以使問題更容易解決,因此我們將採用多種變換的方法。
注意 小寫 z 是變數的名稱,大寫 Z 是變換和平面的名稱。
z 是一個復變數,具有實部和虛部。 換句話說,我們可以這樣定義 z
z = Re ( z ) + j Im ( z ) {\displaystyle z=\operatorname {Re} (z)+j\operatorname {Im} (z)}
由於 z 可以分解為兩個獨立的成分,因此將變數 z 繪製在Z 平面 上通常很有意義。 在 Z 平面中,水平軸表示 z 的實部,垂直軸表示 z 的虛部的幅值。
還要注意,如果我們根據星變換關係定義 z
z = e s T {\displaystyle z=e^{sT}}
我們可以將 s 分離為實部和虛部。
s = σ + j ω {\displaystyle s=\sigma +j\omega }
我們可以將它代入 z 的公式。
z = e ( σ + j ω ) T = e σ T e j ω T {\displaystyle z=e^{(\sigma +j\omega )T}=e^{\sigma T}e^{j\omega T}}
透過尤拉公式 ,我們可以將復指數分離出來,如下所示。
z = e σ T ( cos ( ω T ) + j sin ( ω T ) ) {\displaystyle z=e^{\sigma T}(\cos(\omega T)+j\sin(\omega T))}
如果我們定義兩個新變數 M 和 φ
M = e σ T {\displaystyle M=e^{\sigma T}}
ϕ = ω T {\displaystyle \phi =\omega T}
我們可以用M 和φ來表示z 。注意,這是尤拉公式
z = M cos ( ϕ ) + j M sin ( ϕ ) {\displaystyle z=M\cos(\phi )+jM\sin(\phi )}
很明顯,這是一個z 的極座標表示,極座標函式的幅值(M )基於s 的實部,極座標函式的相位(φ)基於s 的虛部。
為了更好地講解Z變換的收斂域(ROC),我們將舉一個簡單的例子。
我們有以下離散序列或衰減指數函式
x [ n ] = e − 2 n u [ n ] {\displaystyle x[n]=e^{-2n}u[n]}
現在,我們可以將這個函式代入Z變換公式
X ( z ) = Z [ x [ n ] ] = ∑ n = − ∞ ∞ e − 2 n u [ n ] z − n {\displaystyle X(z)={\mathcal {Z}}[x[n]]=\sum _{n=-\infty }^{\infty }e^{-2n}u[n]z^{-n}}
注意,我們可以去掉單位階躍函式,並改變求和的範圍
X ( z ) = ∑ n = 0 ∞ e − 2 n z − n {\displaystyle X(z)=\sum _{n=0}^{\infty }e^{-2n}z^{-n}}
這是因為當n小於0時,該序列為0。如果我們嘗試合併n項,得到以下結果
X ( z ) = ∑ n = 0 ∞ ( e 2 z ) − n {\displaystyle X(z)=\sum _{n=0}^{\infty }(e^{2}z)^{-n}}
當我們的序列以這種形式出現後,我們可以把它分解成類似於我們的幾何級數的形式
a = 1 {\displaystyle a=1}
r = ( e 2 z ) − 1 {\displaystyle r=(e^{2}z)^{-1}}
最後,我們可以使用幾何級數公式求出最終值
a ∑ k = 0 n r k = a 1 − r n + 1 1 − r = 1 1 − ( ( e 2 z ) − 1 ) n + 1 1 − ( e 2 z ) − 1 {\displaystyle a\sum _{k=0}^{n}r^{k}=a{\frac {1-r^{n+1}}{1-r}}=1{\frac {1-((e^{2}z)^{-1})^{n+1}}{1-(e^{2}z)^{-1}}}}
同樣,我們知道為了使該序列收斂,我們需要使r的值小於1
| ( e 2 z ) − 1 | = | 1 e 2 z | ≤ 1 {\displaystyle |(e^{2}z)^{-1}|=\left|{\frac {1}{e^{2}z}}\right|\leq 1}
| e 2 z | ≥ 1 {\displaystyle |e^{2}z|\geq 1}
最後,我們得到了這個Z變換的收斂域
| z | ≥ 1 e 2 {\displaystyle |z|\geq {\frac {1}{e^{2}}}}
在拉普拉斯變換和Z變換之間沒有直接、簡便的轉換方法。幾乎所有的轉換方法都會忠實地再現原始方程的某些方面,而錯誤地再現其他方面。有關這兩種變換之間的一些主要對映技術,請參見 Z變換對映附錄 。
但是,我們還需要討論一些主題。首先也是最重要的是,拉普拉斯域和Z域之間的轉換不是線性的 ,這會導致以下一些問題
L [ G ( z ) H ( z ) ] ≠ G ( s ) H ( s ) {\displaystyle {\mathcal {L}}[G(z)H(z)]\neq G(s)H(s)}
Z [ G ( s ) H ( s ) ] ≠ G ( z ) H ( z ) {\displaystyle {\mathcal {Z}}[G(s)H(s)]\neq G(z)H(z)}
這意味著當我們在一個域中以乘法方式組合兩個函式時,我們必須在另一個域中找到一個組合變換。以下是我們如何表示這種組合變換
Z [ G ( s ) H ( s ) ] = G H ¯ ( z ) {\displaystyle {\mathcal {Z}}[G(s)H(s)]={\overline {GH}}(z)}
請注意,我們使用乘積函式頂部的水平線,表示我們對乘積進行了變換,而不是對各個部分進行了變換。但是,如果我們有一個包含取樣器的系統,我們可以展示一個簡單結果。如果我們有以下格式
Y ( s ) = X ∗ ( s ) H ( s ) {\displaystyle Y(s)=X^{*}(s)H(s)}
那麼我們可以將所有內容都用星變換表示
Y ∗ ( s ) = X ∗ ( s ) H ∗ ( s ) {\displaystyle Y^{*}(s)=X^{*}(s)H^{*}(s)}
並且一旦我們進入星域,就可以直接進行變數變化以到達Z域
Y ∗ ( s ) = X ∗ ( s ) H ∗ ( s ) → Y ( z ) = X ( z ) H ( z ) {\displaystyle Y^{*}(s)=X^{*}(s)H^{*}(s)\to Y(z)=X(z)H(z)}
請注意,只有當系統包含理想取樣器時,我們才能進行這種等效關係,因此乘積項之一位於星域。
假設我們在拉普拉斯域中具有以下方程
Y ( s ) = A ∗ ( s ) B ( s ) + C ( s ) D ( s ) {\displaystyle Y(s)=A^{*}(s)B(s)+C(s)D(s)}
由於我們在系統中有一個離散取樣器,因此我們希望在Z域中對其進行分析。我們可以將此方程分成兩個獨立的項,並對每個項進行變換
Z [ A ∗ ( s ) B ( s ) ] → Z [ A ∗ ( s ) B ∗ ( s ) ] = A ( z ) B ( z ) {\displaystyle {\mathcal {Z}}[A^{*}(s)B(s)]\to {\mathcal {Z}}[A^{*}(s)B^{*}(s)]=A(z)B(z)}
並且
Z [ C ( s ) D ( s ) ] = C D ¯ ( z ) {\displaystyle {\mathcal {Z}}[C(s)D(s)]={\overline {CD}}(z)}
並將它們加在一起,我們就得到了我們的結果
Y ( z ) = A ( z ) B ( z ) + C D ¯ ( z ) {\displaystyle Y(z)=A(z)B(z)+{\overline {CD}}(z)}
透過替換變數,我們也可以將星變換與傅立葉變換聯絡起來
e s T = e j ω {\displaystyle e^{sT}=e^{j\omega }}
e ( σ + j ω ) T = e j ω {\displaystyle e^{(\sigma +j\omega )T}=e^{j\omega }}
如果我們假設 *T = 1*,我們可以透過將 *s* 的實部設定為零來將這兩個方程聯絡在一起。請注意,拉普拉斯變換和傅立葉變換之間的關係在此處得到了反映,其中傅立葉變換是拉普拉斯變換,變換變數沒有實部。
傅立葉變換也有許多離散時間變體,本書中未討論這些變體。有關這些變體的更多資訊,請參見數字訊號處理 。
一些最簡單的重建電路被稱為“保持電路”。一旦訊號使用星形變換(透過理想取樣器)進行變換,訊號必須使用這些保持系統之一(或等效系統)進行“重建”,然後才能在拉普拉斯域系統中進行分析。
如果我們有一個由星形變換表示的取樣訊號 X ∗ ( s ) {\displaystyle X^{*}(s)} ,我們希望重建 該訊號為連續時間波形,以便我們可以使用拉普拉斯變換技術對其進行操作。
假設我們有采樣輸入訊號、一個表示為 *G(s)* 的重建電路和一個用拉普拉斯變換變數 *Y(s)* 表示的輸出。我們可以如下所示關係
Y ( s ) = X ∗ ( s ) G ( s ) {\displaystyle Y(s)=X^{*}(s)G(s)}
因此,重建電路是我們可以用來將數字取樣訊號轉換為連續時間域的物理裝置,這樣我們就可以對輸出訊號進行拉普拉斯變換。
零階保持衝激響應
零階保持 電路是一個基本上反轉取樣過程的電路:取樣訊號在時間 *t* 處的值在輸出端保持 *T* 時間。因此,零階保持電路的輸出波形看起來像是原始波形的階梯近似。
零階保持電路在拉普拉斯域中的傳遞函式寫成這樣
G h 0 = 1 − e − T s s {\displaystyle G_{h0}={\frac {1-e^{-Ts}}{s}}}
零階保持是最簡單的重建電路,並且(與本頁上的其他電路一樣)假設在數字到模擬轉換過程中沒有處理延遲。
連續輸入訊號(灰色)和具有零階保持的取樣訊號(紅色)
一階保持的衝激響應。
零階保持會產生階梯輸出波形,但這並不總是重建電路的最佳方法。相反,一階保持 電路會在時間 *t* 處取波形的導數,並使用該導數來推測輸出波形在時間 *(t + T)* 處將位於何處。然後,一階保持電路“畫一條線”從當前位置到預期的未來位置,作為波形的輸出。
G h 1 = 1 + T s T [ 1 − e − T s s ] 2 {\displaystyle G_{h1}={\frac {1+Ts}{T}}\left[{\frac {1-e^{-Ts}}{s}}\right]^{2}}
但是,請記住,訊號的下一個值可能與下一個資料點的預期值不同,因此一階保持可能存在多個不連續性。
輸入訊號(灰色)和一階保持電路輸出(紅色)
零階保持將當前值輸出到輸出端,並在整個位時間內保持該值。一階保持使用函式導數來預測下一個值,併產生一系列斜坡輸出以產生波動的波形。但是,有時這兩種解決方案都不需要,因此我們有一個折衷方案:分數階保持 。分數階保持就像其他兩種保持電路的混合,它將分數 *k* 作為引數。請注意,為了使該電路正常工作,*k* 必須介於 0 和 1 之間。
G h k = ( 1 − k e − T s ) 1 − e − T s s + k T s 2 ( 1 − e − T s ) 2 {\displaystyle G_{hk}=(1-ke^{-Ts}){\frac {1-e^{-Ts}}{s}}+{\frac {k}{Ts^{2}}}(1-e^{-Ts})^{2}}
該電路比其他任何保持電路都更復雜,但如果我們從重建電路中獲得更好的效能,有時增加的複雜性是值得的。
線性逼近電路的衝激響應。
另一種可以使用的電路是線性逼近 電路。
輸入訊號(灰色)和透過線性逼近電路的輸出訊號