サンプリング周波数は何処まで再現できるのか。
ちょっと考えてみる編。
平成十八年七月二十日
長い間、間違ったままでした。
もし参考にしていた人がいたら、ごめんなさい。
デジタルのサンプリング周波数と、そのアナログへの再現性の限界については、
以前から、ちらほらと言われてきたことだけど、実際に確かめてみよう。
100Hzの音をサンプリングしてデジタルに変換するには、200Hz必要。
これは何の定理だったか、何かで証明されていることだったと思うので、
正確な説明は省略。大学でやったのを忘れてしまいました。
勘で思うに、音の周波数はサイン波の周期で言うところの+1〜0〜−1の
範囲内で正と負を繰り返すので、音1Hz毎に正になるか負になるかを認識するため、
デジタル2Hzが必要だと思われます。もしデジタル1Hzでサンプリングできたら、
「音があるか、無いか」だけの認識しか出来ないんでしょうね。多分。
結局、何が問題なのかと言うと、100や400Hzの音なら44100Hzの
サンプリングで再現できましょうが、20000Hzの音を44100Hzの
サンプリングで再現できるのか、ということです。
ここでオーディオにうるさい人なら「それはAD/C(Analog Digital Converter)の
性能でどうにでもなる(働きの順でDA/C)」と言うでしょう。その問題になると
うっとおしいので、解析方法にアナログを通さんことにしました。
こんな方法。
パソコンのソフトで44100Hzのサンプリング上にサイン波の音を作り、
そのまま拡大。比較のために、48000Hzのサンプリングも作る。全部16bit。
はじまりはじまりー。
まず、1Hz。
何よりこれが、基準となるサイン波の1Hzです。
サイン波なので0〜1〜0〜-1〜0までで、一つのまとまり1Hzです。
そして、その1Hzを拡大。
サンプリング周波数44100Hzに1Hzのサイン波を作りました。
点一つの間が1サンプルです。これは1秒間を44100で割った一つで、
この場合は1秒間を44100に分割して再現していることになります。
ここは水平ですが、右の方ではちゃんと上がって下がります。
440Hz
サンプリング周波数44100Hz上に440Hzのサイン波を作成しました。
一秒間に1Hzのサイン波を440個つめこんでいることであり、それを44100に均等に分割した点で
再現しているということです。
上のグラフをもう少し縮小するとこうなります。
440Hzの場合は矢印の点までが一周期、サンプリング周波数44100Hzに440Hzなので、
サンプルでいうと44100÷440=100.2272....となり、ここでの最小単位は1サンプルなので
小数点以下は切り捨てて、100個のサンプルで一周期を再現しているということになります。
4400Hz
サンプリング周波数44100Hzに4400Hzなので、一周期を再現するのに44100÷4400で
10.0227....となり、10個のサンプルで再現しています。
しかしよく見れば、右端では0とサンプルの点が交差していませんし、サイン波の頂点と底が傾き、
その程度も均等ではありません。ここで切り捨てていた0.0227....の誤差が出てきたのですね。
ならば4410Hzでも試してみましょう。
こんどは0とサイン波の交点がサンプルの点と一致しています。
お分かりだと思いますが、44100÷4410=10で一周期を表すのに10サンプル使用しています。
10000Hzでは
続いて同じくサンプリング周波数44100Hzに10000Hzでも試してみましょう。
サイン波ぽいですか。全然違いますね。一周期を表すのに4サンプルなので合わなくなっているようです。
最悪4サンプルあれば三角波になるが頂点を漏らさずに再現できるのでは、と考えれそうですが、
このサイン波は「サンプリング周波数44100Hz」という予め準備された方眼紙の上に描かれて
いると同じですから、波形の都合で「サンプルの幅=サンプリング周波数」は変更できません。
必要なときは、一番最初にサンプリング周波数の値を変更しておかなければなりません。
15000Hzでは
続けてサンプリング周波数44100Hzに15000Hzではどうなるか。
なんとなく相似のようにも見えますが、サンプル点の位置が規則的に変化しているようです。
うねりもしているようです。一周期を表すのに2サンプル。
20000Hzではどうか
次にサンプリング周波数44100Hzに20000Hz、もう比較のために羅列です。
今度も相似ぽいのが周期的に現れましたね。これも一周期を表すのに2サンプル。
1Hzは44100サンプルを用いて再現していましたね。22050分の1。
これはどういうことか
周波数が高くなるにつれて、どんどん元の形から崩れていく原因はなんとなく分かっていたのですが、
それをどう表せばいいのかしばらく考えて、グラフを作ってみました。
およそのグラフですから、物差しを当てたり方眼紙をあてたりしないでください。
一応上記のサンプリング周波数44100Hzに20000Hzを想定して解説します。
本当ならサイン波を緻密に再現したくとも、20000Hzのグラフは横軸0〜44100の
目盛りに納まっています。本当なら44100÷20000で2.205サンプルの幅で
一周期ですが、1サンプルが最小単位ですから、実際に一周期を表すのは2サンプルのようです。
それならばと、サンプルの幅に合致する点だけを捕っていくと、赤点の箇所になります。
赤点を捕ったこの時点で、青い線のサイン波のことは全て忘れてください。今あるのは、赤点のみです。
そしてその赤点を結んでいくと、緑線の新たな波形が出来上がります。
この緑線こそ、サンプリング周波数44100Hz上での20000Hz。
じゃあ、48000Hzならどうなのか。
サンプリング周波数48000Hz上に20000Hzのサイン波を作成してみました。
案外、違うものです。しかし、こちらは更に同じ様な波形が続きますね。
比較するために192000Hzでもやってみた。
サンプリング周波数192000Hzに20000Hzのサイン波です。
一周期を表すのに9サンプル。随分とサイン波に近いですね。CDの音質をきちんと再生するには、
これぐらいの性能が必要なのかもしれません。
ご意見ご感想は、水道水真水まで。http://www.usiwakamaru.or.jp/~mamizu/mamizu@usiwakamaru.or.jp
表紙へ