Z 変換の基礎
mathanalysisz-transformsequencelinear-operatorlecture
1導入
この講義では、Z 変換がシフト作用素を z または z^{-1} による代数的乗算へ変換することを説明する。
連続時間の微分方程式では、ラプラス変換が微分作用素を s の式へ移す。離散時間の漸化式では、Z 変換がシフトや遅延を z や z^{-1} の式へ移す。
data/lecture/math/sequence/shift-operators-and-recurrences.lecture.n.md
2定義
この講義では z\ne0 とする。
両側列 x=(x[n])_{n\in\mathbb Z} に対して、両側 Z 変換を
X_{\mathrm b}(z)=\mathcal Z_{\mathrm b}\{x[n]\}=\sum_{n=-\infty}^{\infty}x[n]z^{-n}
で定義する。
片側列 x=(x[n])_{n\ge0} に対して、片側 Z 変換を
X_+(z)=\mathcal Z_+\{x[n]\}=\sum_{n=0}^{\infty}x[n]z^{-n}
で定義する。
どちらの定義でも、\sum_n|x[n]z^{-n}| が収束する z の範囲を確認する必要がある。この絶対収束する範囲を収束領域、略して ROC という。Z 変換の結果は、式だけでなく「式と ROC の組」である。以下では、両側変換を X_{\mathrm b}、片側変換を X_+ と書き分ける。
3ROC による原列の識別
a\ne0 とし、u[n] を n\ge0 で 1、n<0 で 0 となる単位階段列とする。x[n]=a^nu[n] なら
X_{\mathrm b}(z)=\sum_{n=0}^{\infty}a^nz^{-n}
=\frac{1}{1-az^{-1}}
=\frac{z}{z-a},
\qquad |z|>|a|
である。一方、y[n]=-a^nu[-n-1] なら
Y_{\mathrm b}(z)
=-\sum_{n=-\infty}^{-1}a^nz^{-n}
=-\sum_{m=1}^{\infty}\left(\frac za\right)^m
=\frac{z}{z-a},
\qquad 0<|z|<|a|
である。有理式は同じ z/(z-a) でも、外側の ROC では右向きの列 a^nu[n]、内側の ROC では左向きの列 -a^nu[-n-1] を表す。
この例では、逆 Z 変換は ROC に適合する Laurent 展開
X_{\mathrm b}(z)=\sum_{n=-\infty}^{\infty}x[n]z^{-n}
を選び、z^{-n} の係数を抽出する操作である。この講義では複素積分を前提にせず、幾何級数と係数比較で逆変換する。
4重み z^{-n} とシフト作用
漸化式では、x[n+1] や x[n-1] のように添字が移動する。この移動を代数的に処理するため、添字が 1 増加するごとに一定倍率を与える重みを採用する。
z^{-n} は
z^{-(n+1)}=z^{-1}z^{-n}
を満たす。したがって、添字を 1 移動する操作は、変換後には z または z^{-1} による乗算として表現される。
5命題 1:両側 Z 変換は線型である
5.1主張
X_{\mathrm b} と Y_{\mathrm b} の ROC の共通部分で、
\mathcal Z_{\mathrm b}\{\alpha x[n]+\beta y[n]\}
=\alpha X_{\mathrm b}(z)+\beta Y_{\mathrm b}(z)
である。
5.2証明
定義より
\begin{aligned}
\mathcal Z_{\mathrm b}\{\alpha x[n]+\beta y[n]\}
&=\sum_n(\alpha x[n]+\beta y[n])z^{-n}\\
&=\alpha\sum_nx[n]z^{-n}+\beta\sum_ny[n]z^{-n}\\
&=\alpha X_{\mathrm b}(z)+\beta Y_{\mathrm b}(z)
\end{aligned}\begin{aligned}
\mathcal Z_{\mathrm b}\{\alpha x[n]+\beta y[n]\}
&=\sum_n(\alpha x[n]+\beta y[n])z^{-n}\\
&=\alpha\sum_nx[n]z^{-n}+\beta\sum_ny[n]z^{-n}\\
&=\alpha X_{\mathrm b}(z)+\beta Y_{\mathrm b}(z)
\end{aligned}
である。したがって Z 変換は線型である。和で項が相殺すると ROC が広がることはあるが、少なくとも共通部分ではこの計算が正当化される。□
6命題 2:両側 Z 変換ではシフトが z 倍になる
6.1主張
E を
(Ex)[n]=x[n+1]
で定義される前進シフト作用素とする。両側 Z 変換では
\mathcal Z_{\mathrm b}\{(Ex)[n]\}=zX_{\mathrm b}(z)
である。
また、遅延作用素 D_- を
(D_-x)[n]=x[n-1]
で定義すると
\mathcal Z_{\mathrm b}\{(D_-x)[n]\}=z^{-1}X_{\mathrm b}(z)
である。
6.2証明
まず前進シフトについて、
\begin{aligned}
\mathcal Z_{\mathrm b}\{x[n+1]\}
&=\sum_{n=-\infty}^{\infty}x[n+1]z^{-n}.
\end{aligned}\begin{aligned}
\mathcal Z_{\mathrm b}\{x[n+1]\}
&=\sum_{n=-\infty}^{\infty}x[n+1]z^{-n}.
\end{aligned}
m=n+1 と置くと n=m-1 である。したがって
\sum_{n=-\infty}^{\infty}x[n+1]z^{-n}
=\sum_{m=-\infty}^{\infty}x[m]z^{-(m-1)}
=z\sum_{m=-\infty}^{\infty}x[m]z^{-m}
=zX_{\mathrm b}(z)
である。
同様に、m=n-1 と置くと
\mathcal Z_{\mathrm b}\{x[n-1]\}
=\sum_{m=-\infty}^{\infty}x[m]z^{-(m+1)}
=z^{-1}X_{\mathrm b}(z)
である。□
7片側 Z 変換の初期項
片側 Z 変換では、和が n=0 から始まるため、シフトすると端の項が残る。
たとえば
\begin{aligned}
\mathcal Z_+\{x[n+1]\}
&=\sum_{n=0}^{\infty}x[n+1]z^{-n}\\
&=z\sum_{m=1}^{\infty}x[m]z^{-m}\\
&=z(X_+(z)-x[0])
\end{aligned}\begin{aligned}
\mathcal Z_+\{x[n+1]\}
&=\sum_{n=0}^{\infty}x[n+1]z^{-n}\\
&=z\sum_{m=1}^{\infty}x[m]z^{-m}\\
&=z(X_+(z)-x[0])
\end{aligned}
である。
これはラプラス変換で
\mathcal L\{f'\}=sF(s)-f(0)
となることに対応する。片側変換では、初期値を変換式へ組み込むため、シフト公式に初期項が付加される。
8漸化式への応用
a\ne0 とし、片側漸化式
x[n+1]-a x[n]=r[n],\qquad x[0]=x_0
を考える。片側 Z 変換を取ると
z(X_+(z)-x_0)-aX_+(z)=R_+(z)
である。したがって
(z-a)X_+(z)=R_+(z)+zx_0
となり、
X_+(z)=\frac{R_+(z)+zx_0}{z-a}
を得る。ここで R_+(z)=\mathcal Z_+\{r[n]\} である。
この操作は、漸化式というシフト作用素方程式を、X_+(z) に関する代数方程式へ変換するものである。
入力が 0、すなわち r[n]=0 の場合は
X_+(z)=\frac{zx_0}{z-a}
=\frac{x_0}{1-az^{-1}}
=x_0\sum_{n=0}^{\infty}a^nz^{-n},
\qquad |z|>|a|
となる。z^{-n} の係数を読めば
x[n]=x_0a^n\qquad(n\ge0)
を得る。これにより、変換後の代数方程式の求解と、ROC に適合する級数展開からの原列の復元が完了する。
9畳み込みとの関係
線型時不変(LTI)システムとは、入出力写像が線型結合を保存し、シフト作用と可換であるシステムをいう。n=0 で 1、それ以外で 0 の単位インパルス \delta[n] を入力したときの出力 h[n] をインパルス応答という。
有限個の項だけが 0 でない列は x[n]=\sum_kx[k]\delta[n-k] と有限和で書ける。LTI の線型性と時不変性から、その出力は
y[n]=\sum_kx[k]h[n-k]=(h*x)[n]
となる。一般の列では、この畳み込み級数が収束し、システム作用と有限部分和の極限を交換できる場合に同じ表示へ拡張する。以下では、出力がこの畳み込みで与えられる LTI システムを扱う。h の Z 変換 H_{\mathrm b}(z) を、この畳み込み作用の伝達関数という。
離散畳み込みを
(h*x)[n]=\sum_{k=-\infty}^{\infty}h[k]x[n-k]
で定義する。二重和の順序を交換できるだけ絶対収束する z の範囲では
\mathcal Z_{\mathrm b}\{h*x\}=H_{\mathrm b}(z)X_{\mathrm b}(z)
である。
線型時不変な離散時間システムでは、入力 x とインパルス応答 h から出力が h*x として表される。Z 変換は、その畳み込みを積へ変換するため、差分方程式およびデジタルフィルタの解析に適用できる。
9.1安定性と単位円
入力の上界を B としたとき、入力に依存しない定数 C により出力の上界を CB とできるBIBO 安定性は、インパルス応答について
\sum_{n=-\infty}^{\infty}|h[n]|<\infty
と同値である。実際、|x[n]|\le B なら
|(h*x)[n]|\le B\sum_k|h[k]|
なので、絶対総和可能性から BIBO 安定性が従う。逆に BIBO 安定なら、|k|\le N で x_N[-k]=\overline{h[k]}/|h[k]|(h[k]=0 なら 0)、その外で 0 と選ぶ。すると |x_N[n]|\le1 であり、n=0 の出力は
(h*x_N)[0]=\sum_{|k|\le N}|h[k]|
となる。安定性による N に依存しない上界から \sum_k|h[k]|<\infty を得る。
このとき z=e^{i\omega} を代入した級数は絶対収束するので、単位円 |z|=1 は H_{\mathrm b} の ROC に含まれ、
H_{\mathrm b}(e^{i\omega})
=\sum_{n=-\infty}^{\infty}h[n]e^{-i\omega n}
を周波数応答と呼べる。単位円が ROC に含まれない場合、有理式へ形式的に z=e^{i\omega} を代入しただけでは周波数応答にならない。
伝達関数が有理式のとき、分子と分母の共通因子を消すことを極零相殺という。因果的、すなわち h[n]=0\ (n<0) である有理なシステムでは、極零相殺を済ませた伝達関数のすべての極が単位円の内側にあることが BIBO 安定の条件になる。これは因果性により ROC が最外極の外側となり、そこに単位円を含めるためである。
10Laplace・Fourier・Z 変換の位置づけ
| 変換 | 対象 | 中心作用素 | 変換後 |
| Fourier 変換 | 全時間・周波数解析 | 微分作用素 D | D\mapsto i\omega |
| Laplace 変換 | 連続時間 t\ge0 | 微分作用素 D | D\mapsto s と初期値項 |
| Z 変換 | 離散時間列 x[n] | シフト作用素 E | 両側では E\mapsto z、遅延は z^{-1} |
両側 Z 変換の ROC が単位円を含むとき、z=e^{i\omega} と置いた X_{\mathrm b}(e^{i\omega}) は離散時間 Fourier 変換になる。したがって「Fourier 変換は Z 変換の単位円上の値である」という解釈には、単位円が ROC に含まれるという条件が必要である。
11成立範囲
Z 変換では収束領域が変換結果の一部である。同じ式でも ROC が異なれば元の両側列が異なる。また、片側変換は n<0 の情報を持たず、初期値問題の境界項を扱うための変換である。両側変換の ROC による左右列の識別と、片側変換の役割を区別する必要がある。
したがって、Z 変換の適用前に、列と変換が片側か両側か、初期値を対象とするか、周波数応答を解析するかを明示する。
この講義の変換契約
- 両側 Z 変換は「X_{\mathrm b}(z) と ROC」の組として扱う。
- 片側 Z 変換は X_+(z) と書き、初期項を含むシフト公式を使う。
- 逆変換では ROC に適合する Laurent 展開を選択し、z^{-n} の係数を抽出する。
- 周波数応答として単位円を使うには、|z|=1 が ROC に含まれることを確認する。
12要約
Z 変換は、離散時間のシフト作用素を z や z^{-1} の代数操作へ移し、漸化式・差分方程式・離散畳み込みを扱いやすくする変換である。
13関連リンク
data/lecture/math/analysis/analysis-portal.lecture.n.md
data/lecture/math/sequence/shift-operators-and-recurrences.lecture.n.md
data/lecture/math/analysis/introduction-to-laplace-transform.lecture.n.md
data/lecture/math/analysis/introduction-to-fourier-transform.lecture.n.md