[[工学]]

*デジタル信号処理 [#p73095e4]
#contents
----
**予備知識 [#e3c08db7]
-数列と級数
--数列$ \{a_0,a_1,a_2,\cdots,a_n\,\cdots} $に対して、$ a_0+a_1+a_2+\cdots+a_n+\cdots $や$ \sum_{n=1}^{\infty}a_n $という形を級数と言う。
--初項$ a $, 公比$ r $の等比数列の第n項までの部分和$ S_n $
---$ S_n = \sum_{k=0}^{n}ar^k = \frac{a(1-r^{n+1})}{1-r} $
--無限等比級数
---$ \lim_{n \to \infty}S_n = \sum_{k=0}^{\infty}ar^k = \left\{\begin{array}{cc} \frac{a}{1-r}  &   -1\lt{}r\lt{}1 \\ diverge  & otherwise \end{array} $


**離散時間システム [#l7ad7fec]
-連続時間信号を$ x(t) $とすると間隔$ nT $の離散時間信号は$ x(nT) $となり、ディラックのデルタ関数により以下のように表現される。
--$ x(nT) = \sum_{k=-\infty}^{\infty}x(kT)\delta{(nT-kT)} $
---間隔Tは一定なので、連続時間信号と離散時間信号との区別をするために、$ T $を省略して$ x[n] $と表記する場合もある。

***線形性の必要十分条件 [#x37a9808]
-$ y(nT)=\phi{[x(nT)]} $において以下の(1)及び(2)が成り立つ場合、線形システムであると言う。
--(1) $ y(nT)=\phi{[ax(nT)]}=a\phi{[x(nT)]} $
--(2) $ y(nT)=\phi{[x_{1}(nT)+x_{2}(nT)]}=\phi{[x_{1}(nT)]}+\phi{[x_{2}(nT)]} $
---(1)及び(2)をまとめて以下のように表記することも可能~
$ y(nT)=\phi{[\sum^{}_{k}a_{k}x_{k}(nT)]}=\sum^{}_{k}a_{k}\phi{[x_{k}(nT)]} $
--つまり、あるシステムの入力信号に対しての出力信号が定数倍であり、また複数の入力信号の和に対しての出力信号と、各々の入力信号に対しての出力信号の和と等しい場合、線形システムであると言える。
---線形システムになりうる要素に、微分や積分も含まれる(ただし線形微分方程式に限る)。よって抵抗やコイル、コンデンサからなる回路は線形システムであると言える。

***時不変の必要十分条件 [#nc278283]
-$ x(nT) $に対するシステム応答が$ y(nT) $であったとき、$ kT $シフトして$ x(nT-kT) $とした場合でも、システム応答が$ y(nT-kT) $となっているとき、時不変システムと言う。

***線形時不変システム [#hb654e70]
-離散時間システムが線形性及び時不変の両方を満たす場合、線形時不変システム(linear time-invariant system:LTI system)と言う。
--$ y(nT-kT)=\phi{[x(nT-kT)]} $
-以降、扱うシステムは明記が無い限りLTIである。

***インパルス応答 [#yf7da2f6]
-単位インパルス$ \delta{(nT)} $のシステム応答をインパルス応答と言い、$ h(nT) $と表す。
--$ \delta{(nT)} = \left\{\begin{array}{cc} 1  & n = 0 \\ 0  & n \neq 0 \end{array} $
--$ y(nT)=\phi{[\delta{(nT)}]}=h(nT) $

***たたみこみ和 [#oddad6a5]
-以下のような式を、$ x(nT) $と$ h(nT) $のたたみこみ和による表現と言う。
--$ y(nT)=\phi{[x(nT)]}=\phi{[\sum^{\infty}_{k=-\infty}x(k)\delta{(nT-kT)}]} $~
システムの線形性を考慮すると
--$ =\sum^{\infty}_{k=-\infty}x(kT)\phi{[\delta{(nT-kT)}]} $
--$ =\sum^{\infty}_{k=-\infty}x(kT)h(nT-kT) $ (または演算子表記により$ y(nT)=x(nT)\ast{}h(nT) $)~
なお、上記式は交換法則により以下のように変形可能である。
--$ =\sum^{\infty}_{k=-\infty}h(kT)x(nT-kT) $ (または演算子表記により$ y(nT)=h(nT)\ast{}x(nT) $)

***因果的なシステム [#we3e496f]
-システムの出力$ y(n_{0}) $が入力$ x(n),n\leq{}n_{0} $のみによって決定されるとき、因果的と言う。因果的なシステムにおけるインパルス応答と、たたみこみ和は以下のように表す。
--$ h(nT)=0, n\lt{}0 $
--(1) $ y(nT)=\sum^{n}_{k=-\infty}x(kT)h(nT-kT) $
-もしくは
--(2) $ y(nT)=\sum^{\infty}_{k=0}h(kT)x(nT-kT) $
---数列の和の範囲を-∞〜∞としてしまうと、例えば上記式(1)において$ y(nT) $を求める際に未来の入力信号である$ x(nT+T) $などのシステム応答も必要となる。しかし未来の信号は扱えないのでフィルタを実際に実現するにあたり、インパルス応答に関して$ h(nT)=0,n<0 $という条件を付けることにより、因果的システムとする必要がある。

***安定なシステム [#s15d8c33]
-線形時不変システムにおいて以下の式が成り立つ場合、安定なシステムと言う。
--$ \sum^{\infty}_{n=-\infty}|h(nT)|<\infty $

***線形差分方程式 [#uc1689a1]
-微分の定義の復習
--$ \frac{dy(t)}{dt} = \lim_{\Delta t \to 0} {y(t+\Delta t) - y(t) \over \Delta t} $
-上記式の微分は連続的な変化に対する定義であるが、これを離散的な変化である差分として再定義する~
--$ \frac{dy(nT)}{dt} \approx \frac{y(nT+T) - y(nT)}{T} $
-一般的にデジタル信号処理では現在の入力と過去の出力から現在の出力を得るので後方差分に置き換える~
--$ \frac{dy(nT)}{dt} \approx \frac{y(nT) - y(nT-T)}{T} $

***周波数応答 [#e71e3990]
-たたみこみ和による表現は時間領域であったが、周波数応答によって周波数領域による表現が可能となる。
--あるシステムに対して入力信号として$ x(n)=e^{j\omega{}n} $を与えた場合を考える。
---$ y(nT)=\sum^{\infty}_{k=-\infty}h(kT)x(nT-kT) $
---$ =e^{j\omega{}nT}\sum^{\infty}_{k=-\infty}h(kT)e^{-j\omega{}kT} $
--ここで$ H(e^{j\omega{}T}) = \sum^{\infty}_{k=-\infty}h(kT)e^{-j\omega{}kT} $を定義すると
---$ y(nT) = e^{j\omega{}nT}H(e^{j\omega{}T}) $
--となる。$ H(e^{j\omega{}T}) $を離散時間システムの周波数応答と言う。
--離散時間システムの周波数応答は複素数で表現されるので、指数関数形式及び極形式に直すことができる。
---$ H(e^{j\omega{}T}) = Re[H(e^{j\omega{}T})]+jIm[H(e^{j\omega{}T})] $
---$ = |H(e^{j\omega{}T})|e^{jargH(e^{j\omega{}T})} $
---$ = |H(e^{j\omega{}T})|\angle{argH(e^{j\omega{}T})} $
---$ argH(e^{j\omega{}T}) = \tan^{-1}{\frac{Im[H(e^{j\omega{}T})]}{Re[H(e^{j\omega{}T})]}} $
--$ |H(e^{j\omega{}T})| $を振幅特性、$ argH(e^{j\omega{}T}) $を位相特性と言う。

***離散時間フーリエ変換 [#z407fe1a]
-離散時間システムの周波数応答の式の形は、一種のフーリエ変換と考えられる。よって入力信号を$ x(nT) $として、以下のように再定義する。
--$ X(e^{j\omega{}T}) = \sum_{k=-\infty}^{\infty}x(kT)e^{-j\omega{}kT} $
--$ x(nT) = \frac{1}{2\pi}\int\nolimit_{-\frac{\pi}{T}}^{\frac{\pi}{T}}X(e^{j\omega{}T})e^{j\omega{}nT}d\omega $

**フーリエ変換 [#g52ff0aa]
-基本周波数
--波が一定の周期Tで振動している時、その波は必ず基本周波数(=1/周期)の整数倍の波の重ね合わせによって表現可能である。
-スペクトルの間隔
--スペクトルの間隔は複素フーリエ係数の式によると、周期Tに反比例する。つまり理論上、周期を無限にとることにより、周波数スペクトルの間隔は限りなく0に近くなり、周波数の連続スペクトルとなる。この原理を適用したものがフーリエ変換であり、時間領域から周波数領域へ変換するための重要な式である。


**離散フーリエ変換 [#j76defeb]
-スペクトル分解能
--離散フーリエ変換では、連続的な波形からある時間間隔T秒だけを切り出して、新たにこれを周期Tの連続関数とすることにより、フーリエ変換を行っている(言い換えれば、周期T以上の波形の解析は不可能)。この周期Tをサンプリング時間と言い、またTの逆数を基本周波数または周波数分解能と言い、$ \Delta{f}=\frac{1}{T} $と定義する。
--離散フーリエ変換は有限の離散データを計算対象としているので、サンプリング時間Tは、あるサンプリング数Nとサンプリング周期$ \Delta{t_s} $との積に等しく、$ T=N\Delta{t_s} $となる。また、$ \Delta{t_s} $の逆数をサンプリング周波数と言い、$ f_s=\frac{1}{\Delta{t_s}} $と定義する。
--以上をまとめると、周波数分解能は$ \Delta{f}=\frac{1}{T}=\frac{1}{N\Delta{t_s}}=\frac{f_s}{N} $となる。よってサンプリング周期$ \Delta{t_s} $が小さければ小さいほど、高い周波数を扱えるが、サンプル数Nとサンプリング周期$ \Delta{t_s} $の積はTとなり、一定でなければならないので、サンプリング数も多く取らなければならない。ちなみに通常の離散フーリエ変換のアルゴリズムのオーダーは$ O(N^2) $であるので、実用的な計算時間を考えると、高い周波数を扱うために安易にサンプル数を増やすのは好ましくない。しかしサンプル数Nを極端に小さくとってしまうと、周波数領域でのスペクトルを解析するにあたり、十分なデータを得られない可能性がある(なぜならばサンプル数Nは周波数領域でのスペクトルの本数であるから)。なのでサンプリング周期$ \Delta{t_s} $とサンプル数Nの両者には、一種の不確定性原理の関係があると言える。
--与えられる計算資源量と、解析対象で真に必要とされているパラメータは何なのかを考慮して、適切にサンプリング時間Tやサンプリング周期$ \Delta{t_s} $、サンプル数Nを決める必要がある。

***サンプリング時間Tの離散フーリエ変換 [#i024978b]
--$ f(x) \sim \sum^{\infty}_{k=-\infty}C_{k}e^{ik\frac{2\pi}{T}x} $~
$ C_n = \frac{1}{T}\int\nolimits_{-\frac{T}{2}}^{\frac{T}{2}}f(x)e^{-ik\frac{2\pi}{T}x}dx $~
$ x $を$ x_{n}=\frac{T}{N}n $ $ (n=0,1,2,\cdots,N-1) $とすると~
$ f(x_{n}) = x[n] $, $ c_{k} = X[k] $, $ \Delta{}x = x_{n+1}-x_{n} = \frac{T}{N} $より~
$ x[n] \sim \sum^{N-1}_{k=0}X[k]e^{ik\frac{2\pi{}}{T}x_{n}} $~
$ X[k] \sim \frac{1}{T}\sum^{N-1}_{n=0}x[n]e^{-ik\frac{2\pi{}}{T}x_{n}}\Delta{}x $~
同様に、$ \frac{2\pi}{T}x_n = \frac{2\pi}{N}n $, $ \frac{1}{T}\Delta{}x = \frac{1}{N} $なので~
--(1) $ X[k] \sim \frac{1}{N}\sum^{N-1}_{n=0}x[n]e^{-i\frac{2\pi{}}{N}kn} $~
--(2) $ x[n] \sim \sum^{N-1}_{k=0}X[k]e^{i\frac{2\pi{}}{N}kn} $
--(1)を離散フーリエ変換、(2)を離散フーリエ逆変換と言う。
--簡略化の為に上記(1)及び(2)の変換を以下のように表記する。
---$ X[k] = \mathcal{F}[x[n]] $
---$ x[n] = \mathcal{F}^{-1}[X[k]] $

***離散フーリエ変換の性質 [#w72b96cc]
--線形性(linearity)
---ある定数$ a $, $ b $に対して
---$ ax_1[n]+bx_2[n] $ $ \Leftrightarrow $ $ aX_1[k]+bX_2[k] $
--周期性(periodicity)
---$ X[k] = X[k+N] $
--対称性(symmetry)
---$ F[k]^{\ast} = F[-k] = F[N-k] $

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS