dsp: fixing discretisation progression to 'good enough'

This commit is contained in:
2026-03-24 16:34:10 +09:00
parent c5650d002a
commit c307df8f87

View File

@@ -215,10 +215,9 @@ $S(\omega)$ はその内訳である。どの周波数の成分がどれだけ
### 5. 離散化 ### 5. 離散化
フィルタでは、無限に高い周波数を切るかどうかは自由である。 フィルタはアナログにもデジタルにも存在する。
デジタルでは、最小の時間単位を決めなければならない。それより細かいものは全て捨てることになる。これで話が長くなる… アナログ空間では、振幅も時間も連続である。最小単位というものがない。なめらかに、切れ目なく続く。
デジタル空間では、切れ目がある。
と、時間の話から入ったが、離散化の軸は時間だけではない。振幅もである。
デジタルシステムが振幅を表現できる精度は、ビット深度によって決まる。 デジタルシステムが振幅を表現できる精度は、ビット深度によって決まる。
$N$ ビットのシステムは $2^N$ 個の離散的な振幅レベルを持つ。別にこういう二進数の話はしなくていいはずですが。 $N$ ビットのシステムは $2^N$ 個の離散的な振幅レベルを持つ。別にこういう二進数の話はしなくていいはずですが。
各サンプルの値は、最も近いレベルに丸められる。この丸め誤差を量子化ノイズと呼ぶ。 各サンプルの値は、最も近いレベルに丸められる。この丸め誤差を量子化ノイズと呼ぶ。
@@ -231,8 +230,11 @@ $N$ ビットのシステムは $2^N$ 個の離散的な振幅レベルを持つ
ここで問題がある。前の節で述べたように、アナログ信号は原理的には無限大まで周波数成分を持ちうる。 ここで問題がある。前の節で述べたように、アナログ信号は原理的には無限大まで周波数成分を持ちうる。
しかし有限のサンプリング頻度では、表現できる周波数に上限がある。全てを保存することはできない。 しかし有限のサンプリング頻度では、表現できる周波数に上限がある。全てを保存することはできない。
その上限を超える成分がサンプリング時に残っていると、問題が起きる その上限を超える成分がサンプリング時に残っていると、消えるわけではない
対策として、サンプリングの前にローパスフィルタで高周波成分を除去する。 折り返される。上限を超えた分だけ、反対側に折り返して、低い周波数の成分として現れる。
サンプリング周波数が40kHzのとき、25kHzの成分は15kHzとして記録される。存在しないはずの周波数が信号に混入する。
これをエイリアシングと呼ぶ。
対策は、サンプリングの前にローパスフィルタをかけておくことである。
ではそのフィルタのカットオフ周波数をどこに設定するか。 ではそのフィルタのカットオフ周波数をどこに設定するか。
それは用途次第である。例えば人間の聴覚はおよそ20kHzまでしか知覚できない。 それは用途次第である。例えば人間の聴覚はおよそ20kHzまでしか知覚できない。
@@ -247,7 +249,7 @@ $N$ ビットのシステムは $2^N$ 個の離散的な振幅レベルを持つ
人間の聴覚が20kHzまでなら、$F_s$ が40kHzを超えていれば聞こえる範囲はカバーできる。 人間の聴覚が20kHzまでなら、$F_s$ が40kHzを超えていれば聞こえる範囲はカバーできる。
余裕を持たせて、一般的には44.1kHzや48kHzが使われる。192kHzは人間以外の何かのためにあるのだろう。 余裕を持たせて、一般的には44.1kHzや48kHzが使われる。192kHzは人間以外の何かのためにあるのだろう。
定理が言うのはそれだけである。$F_s$ をどこに設定すべきかは用途が決める。 定理が言うのはそれだけである。$F_s$ をどこに設定すべきかは用途が決める。
$F_s/2$ を超える成分は再構成できない。これをエイリアシングと呼ぶ $F_s/2$ を超える成分は再構成できない。それがエイリアシングである
補足しておく。この離散化によって、線形時不変システムの性質が崩れるわけではない。 補足しておく。この離散化によって、線形時不変システムの性質が崩れるわけではない。
連続時間において積分であった畳み込みは、離散時間においては和になる。有限インパルス応答なら有限和、無限インパルス応答なら無限和である。 連続時間において積分であった畳み込みは、離散時間においては和になる。有限インパルス応答なら有限和、無限インパルス応答なら無限和である。