デジタル信号処理の基本概念
信号の分類
- 連続信号:アナログ信号、時域連続信号。
- 時域離散信号:振幅値が連続、時間値が離散。
- 振幅離散信号:振幅値が離散、時間値が連続。
- デジタル信号:振幅と時間の両方が離散値。
違い
時域離散信号とデジタル信号の違いは、デジタル信号に量子化誤差が存在する点のみである。
デジタル信号処理の実現方法
デジタル信号処理の主な対象はデジタル信号であり、数値演算の方法を用いて処理目的を達成する。
ソフトウェア実装
原理とアルゴリズムに基づき、プログラムを作成して汎用コンピュータで実現する。
- 利点:柔軟性が高い
- 欠点:演算速度が遅く、リアルタイム処理効果を得ることが難しい。
- アルゴリズム研究とシミュレーションに適している。
ハードウェア実装
具体的な要求とアルゴリズムに従い、ハードウェア構成図を設計し、乗算器、加算器、遅延器、制御器、メモリ、および入出力インターフェースなどの基本部品を用いて実現する。
- 利点:演算速度が速く、リアルタイム処理が可能
- 欠点:柔軟性に欠ける
ハードウェア実装とは、適切なDSPチップを選択し、チップの言語とタスク要求に適合するソフトウェアを組み合わせて、特定の信号処理機能を実現する方法である。
専用チップ
専用の**デジタル信号処理チップ(DSPチップ)**を採用する方法は、現在最も発展が速く、応用が広い方法である。DSPチップは汎用マイクロコントローラよりも優れた利点を持ち、デジタル信号処理の特徴を組み合わせ、内部に乗算器とアキュムレータを備え、構造上パイプライン動作方式および並列構造、マルチバスを採用し、デジタル信号処理に適した命令を備えた、高速演算が可能なマイクロプロセッサである。
より高速なリアルタイムシステムにおいて、DSPの速度も要求を満たさない場合、プログラマブル超大规模集積回路(FPGA)を採用するか、専用チップを開発して実現する必要がある。
デジタル信号処理の特徴
アナログ信号処理と比較して、デジタル信号処理には以下の特徴があります:
- 柔軟性
- 高精度と高安定性
- 大規模集積化が容易
- 記憶、複雑な変換や演算など、アナログシステムでは実現できない多くの機能を実現可能。
信号の次元
信号は通常、1つの独立変数または複数の独立変数の関数です。 独立変数が1つだけの場合、それは1次元信号と呼ばれます。2つ以上の独立変数がある場合、それは多次元信号と呼ばれます。
時間領域離散信号とシステム
時間領域離散信号
実際に遭遇する信号は一般的にアナログ信号であり、これに等間隔サンプリングを施すことで時間領域離散信号を得ることができる。
アナログ信号 $x_a(t)$ 、離散時間点 $t_n$ 。 均一サンプリング(等間隔サンプリング)の場合、サンプリング間隔 $T$ 、$t_n=nT$
$$ x(n)=x_a(t)|_{t=nT}=x_a(nT),- \infty \lt n \lt \infty $$$x(n)$ を時間領域離散信号と呼び、$n$ を整数とすると、次のようなシーケンスが得られる。
$$ x(n)=\{\cdots ,x_a(-2T),x_a(-T),x_a(0),x_a(T),x_a(2T),\cdots \} $$時間領域離散信号はシーケンスとも呼ばれる。
シーケンスの表現方法
集合記号
数の集合は集合記号 $\{\cdot \}$ で表され、時間領域離散信号は順序付けられた数の集合として表現できる。 集合内で下線が引かれた要素は、$n=0$ の時刻におけるサンプル値を示す。
数式表現
例:
$$ x(n)=a^{|n|},0 \lt a \lt 1,-\infty \lt n \lt \infty $$グラフ表現
横軸を $n$ 、縦軸を $x$ の値とし、縦線の先端に黒点を付ける。
一般的な代表的なシーケンス
単位インパルスシーケンス $\delta(n)$
$$ \delta(n)= \begin{cases} 1 & n=0\\ 0 & n \ne 0\\ \end{cases} $$単位サンプリングシーケンスとも呼ばれ、単位インパルス信号 $\delta(t)$ とは異なる。
単位ステップシーケンス $u(n)$
$$ u(n)= \begin{cases} 1 & n \ge 0\\ 0 & n \lt 0\\ \end{cases} $$$$ \delta(n)=u(n)-u(n-1) $$$$ u(n)=\sum^{\infty}_{k=0}\delta(n-k) $$矩形シーケンス $R_N(n)$
$$ R_N(n)= \begin{cases} 1 & 0 \le n \le N-1\\ 0 & Others \end{cases} $$$N$ を矩形シーケンスの長さと呼び、矩形シーケンスは単位ステップシーケンスで表現できる。
$$ R_N(n)=u(n)-u(n-N) $$実指数シーケンス
$$ x(n)=a^n u(n),a は実数 $$- $|a| \lt 1$ の場合、$x(n)$ を収束シーケンスと呼ぶ
- $|a| \gt 1$ の場合、$x(n)$ を発散シーケンスと呼ぶ
正弦波シーケンス
$$ x(n)=\sin (\omega n) $$$\omega$ を正弦波シーケンスの**デジタル領域周波数(デジタル周波数)**と呼び、単位はラジアン $rad$ で、シーケンスの変化率(隣接する2つのシーケンス値間の位相変化のラジアン数)を表す。
アナログ角周波数 $\varOmega$、正弦波シーケンスがアナログ信号 $x_a(t)=\sin (\varOmega t)$ からサンプリングされた場合
$$ x(n)=x_a(t)|_{t=nT}=\sin (\varOmega nT)=\sin (\omega n) $$これにより、デジタル周波数とアナログ角周波数の関係が得られる。
$$ \omega=\varOmega T $$サンプリング周波数 $F_s=\frac{1}{T}$ であるため、
$$ \omega=\frac{\varOmega}{F_s} $$デジタル領域周波数は、アナログ角周波数をサンプリング周波数で正規化した周波数である。
複素指数シーケンス
$$ x(n)=e^{(\sigma+j \omega_0)n}=\cos(\omega_0 n)+j \sin(\omega_0 n) $$$n$ が整数であるため、正弦波シーケンスと複素指数シーケンスはともに $2 \pi$ を周期とする。
周期シーケンス
すべての $n$ に対して、最小の正の整数 $N$ が存在し、次の等式が成り立つ場合:
$$ x(n)=x(n+N),-\infty \lt n \lt \infty $$シーケンス $x(n)$ を周期的シーケンスと呼び、周期を $N$ とする。
シーケンスの演算
簡単
加算と乗算
シフト、反転、スケール変換
離散時間領域システム
システムの入力が $x(n)$、出力が $y(n)$ で、演算関係は $T[\cdot]$ で表される。
$$ y(n)=T[x(n)] $$線形システム
システムの入力と出力の間が線形重ね合わせの原理を満たすシステムを線形システムと呼ぶ。
加法性
$$ y_1(n)=T[x_1(n)],y_2(n)=T[x_2(n)] $$$$ T[x_1(n)+x_2(n)]=y_1(n)+y_2(n) $$斉次性(比例性)
$$ T[a \times x(n)]=a \times y(n) $$時不変システム
システムが入力信号に対する演算関係 $T[\cdot]$ が演算過程全体で時間変化せず、あるいはシステムが入力信号に応答する時間に依存しない場合、このようなシステムを時不変システムと呼ぶ。
$$ y(n)=T[x(n)] $$$$ y(n-n_0)=T[x(n-n_0)] $$線形時不変システムの特徴
完全応答=零入力応答+零状態応答
単位インパルス応答
初期状態が 0(零入力応答なし)
$$ h(n)=T[\delta(n)] $$$$ x(n)=\sum^{\infty}_{m=-\infty}x(m)\delta(n-m) $$$$ \begin{align} y(n) &=T[x(n)]\\ &=T[\sum^{\infty}_{m=-\infty}x(m)\delta(n-m)]\\ &=\sum^{\infty}_{m=-\infty}x(m)T[\delta(n-m)]\\ &=\sum^{\infty}_{m=-\infty}x(m)h(n-m)\\ &=x(n)*h(n) \end{align} $$畳み込みに関する知識は『信号とシステム』を参照
システムの因果性
定義:システムの $n$ 時点の出力が $n$ 時点およびそれ以前の入力系列のみに依存し、$n$ 時点以降の入力系列に依存しない場合、そのシステムは因果性を持つ、または因果システムであると言う。
==必要十分条件==:システムの単位インパルス応答が次の式を満たす
$$ h(n)=0 \quad n \lt 0 $$システムの安定性
定義:有界な入力に対して、システムが生成する出力も有界である場合、そのシステムは安定性を持つ、または安定システムであると言う。 ==必要十分条件==:システムの単位インパルス応答が絶対可和である。
$$ \sum^{\infty}_{m=-\infty}|h(n)| \lt \infty $$
いつまた一杯の酒を飲み、細かい論文を議論するのか。