サンプリング定理
信号x(t)が周波数帯域 |ω|<W/2に入っていれば、間隔ts≦2π/Wで サンプリングした値から元の信号が復元できる【サンプリング定理】
|
信号をサンプリングするとき、サンプリング間隔が十分細かければ元の信号を復元できるし、粗すぎれば復元できないことは直観的にわかる。では、どれくらい細かくサンプリングすれば元の信号を復元できるのだろうか。
◇
前項で、信号x(t)を間隔tsでサンプリングすると、周波数スペクトルX (ω)が周期ω=2π/tsで周期化することを見た。したがって間隔tsが粗いと、X(ω)が重なり合って元の形がわからなくなってしまう。(区間|ω/2π|<1/2tsに入ってくるX(ω)の虚像はエイリアス(alias)とか折り返しと呼ばれる)
逆に、X(ω)が重なり合わないようにすれば、元の信号が復元できることになる。具体的には、X(ω)の繰り返し周期ω=2π/tsを幅|ω|<W/2より大きくすればよいので、復元できる条件は
となる。ここで帯域Wは正負両側を含めた幅であることに注意。片側の帯域0<f<Fを使うと条件は1/ts≧2Fとなるので、「帯域の2倍以上のサンプリング周波数が必要」と表現されるが、帯域の定義を明確にしないと間違えてしまう。
◇◇
次に、復元する式を求める。前項の結果より、サンプリングした信号
のフーリエ変換を求めると
復元するには、これに帯域|ω|<π/tsだけ切り出す矩形窓
をかけてから逆フーリエ変換すればよいから、
とx(t)の式が得られる。ここで矩形窓のゲインAを決定するために、定数関数x(t)=1を代入する。定数関数を選んだ理由は、周波数スペクトルがδ(ω)なので任意のtsに対してスペクトルが範囲|ω|<π/tsに入っているからである。さらにt=0を代入すると
sin(x)/xは偶関数なので、右辺の和はn=0の項以外は正負で打ち消し合い
となるから、ゲインはA=1/Wと決まる。これで、サンプリング値x(nts)から元の信号x(t)を復元する式が求まった。
この復元する式をよくみると、x(t)とsin(πt)/πtの畳み込み(積分でなく和)になっている(このsin(πt)/πtはSinc関数とか標本化関数と呼ばれている)。ω軸で矩形窓|ω|<π/tsをかけているので、t軸ではローパスフィルタsin(πt)/πtを畳み込めばよいというわけである。とはいえ、sin(πt)/πtは無限に広がっているので、現実にはnをどこかで打ち切って計算することになる。例えばデジタルオシロスコープで、サンプリング値をドットでなく曲線で表示するのに、このSinc関数で補間をしているはずだが、どうやっているのかは知らない。