🙋
既定値の f=600 Hz、f_s=1000 Hz で f_alias=400 Hz って出てます。600 Hz の信号を 1000 Hz でサンプリングすると、なんで 400 Hz の信号として見えてしまうんですか?
🎓
いい疑問だね。サンプリング周波数 f_s=1000 Hz の半分 f_N=500 Hz がナイキスト周波数。これを超える 600 Hz の信号は、サンプリング点だけでは「600 Hz の波」と「400 Hz の波」のどちらかを区別できなくなる。具体的には f_alias=|f − round(f/f_s)·f_s|=|600 − 1·1000|=400 Hz と折り返される。視聴覚的にも、上のチャートで橙の連続波(600 Hz)の上に乗っている白丸サンプル点を結ぶと、ちょうど太い黄線(400 Hz)に見えてしまう、という現象だ。
🙋
右の鋸歯みたいなグラフがそれを表してるんですね。f を 0 から 5000 Hz までスイープすると、知覚周波数が三角波みたいに上下します。
🎓
そう、f_perceived(f) は f_s 周期の三角波(折り返し関数)になる。f≤f_N=500 Hz では恒等(傾き 1)でそのまま再構成、f が 500→1000 Hz では 500→0 Hz に下る、1000→1500 Hz でまた 0→500 Hz に上る、という風に折り返しながら f_s/2 の高さで頭打ちする。「f をスイープ」を押すと黄マーカーがこの鋸歯の上を滑っていくよ。f_s を 2000 Hz に上げてみて。すると f_N=1000 Hz になり、600 Hz は折り返さずに「正常」になることが確認できる。これがナイキスト条件 f_s ≥ 2·f_max の意味だ。
🙋
stat-card に「量子化 SNR=49.92 dB」って出てますけど、これは何の SNR ですか?サンプリング周波数とは別の話?
🎓
するどい。サンプリングは時間軸の離散化だが、A/D 変換ではもう一つ「振幅軸の離散化」=量子化が同時に起こる。N ビット均一量子化器に正弦波を入れると、信号電力 vs 量子化ノイズ電力の比が SNR_q = 6.02·N + 1.76 dB となる。N=8 で 49.92 dB、N=16(CD 音質)で 98.08 dB、N=24(プロ音響)で 146.24 dB。1 ビット増やすと約 6 dB 改善する、と覚えておこう。スライダーで N を動かすとこの値が即座に変わる。実機では量子化ノイズを下げたいときは ADC のビット数を増やすか、オーバーサンプリングして帯域内の量子化ノイズを希釈するのが定石だよ。
🙋
CAE 実務だと振動計測でこの話を意識する場面ってあるんですか?
🎓
大ありだ。例えば回転機械の振動モーダル解析で、対象周波数帯が 0〜500 Hz だとすると最低 f_s=1024 Hz、安全側で 2048 Hz とるのが普通。f_s/2=1024 Hz より上の高調波(軸受転動体傷の数 kHz 領域、ギヤ噛合いの 5 kHz 等)が混入しないように、必ず ADC 前段にアナログのアンチエイリアシングフィルタ(バターワース 4〜8 次、カットオフ 0.4·f_s 程度)を入れる。これを忘れると「ない周波数が見える」偽スペクトルが FRF に乗り、モード同定で誤った固有振動数を抽出する致命的バグになる。サンプリング定理は CAE 計測前処理の要なんだ。
連続信号 $x(t)$ をサンプリング周期 $T_{s}=1/f_{s}$ で離散化した列 $x[n]=x(nT_{s})$ から原信号を完全再構成できる条件を、ナイキスト・シャノンのサンプリング定理が与えます。
$$f_{s} \ge 2 f_{\max},\qquad f_{N} = \tfrac{f_{s}}{2}$$
ここで $f_{\max}$ は信号の最高周波数、$f_{N}$ がナイキスト(折り返し)周波数。$f_{s}$ がこの条件を満たさないとき、信号スペクトル $X(f)$ は $f_{s}$ 整数倍位置で重畳して低周波側へ折り返され(spectral folding)、見かけの周波数は
$$f_{\text{alias}} = \bigl|\,f - \mathrm{round}(f/f_{s})\cdot f_{s}\,\bigr|$$
として現れます。再構成は理想的には sinc 補間 $x(t)=\sum_{n} x[n]\,\mathrm{sinc}(f_{s}(t-nT_{s}))$ で完全に行えますが、実機では FIR/IIR ローパスフィルタで近似します。さらに振幅を $N$ ビットで量子化したときの理論 SNR は、信号電力 $A^{2}/2$ と量子化ステップ $\Delta=2A/2^{N}$ の一様分布ノイズ電力 $\Delta^{2}/12$ の比から
$$\mathrm{SNR}_{q} = 10\log_{10}\!\left(\frac{A^{2}/2}{\Delta^{2}/12}\right) = 6.02\,N + 1.76\ \mathrm{dB}$$
と導けます。本ツールは既定値 $f$=600 Hz、$f_{s}$=1000 Hz、$N$=8 bit で $f_{N}$=500 Hz、$f_{\text{alias}}$=400 Hz、$\mathrm{SNR}_{q}$=49.92 dB を返し、上の理論式と完全に一致します。
音声・オーディオの A/D 変換:CD は f_s=44.1 kHz(人間可聴域 20 kHz の 2 倍 + マージン)、N=16 bit(SNR=98.08 dB)を採用しています。本ツールに f=20000 Hz、f_s=44100 Hz、N=16 を入力すると f_N=22.05 kHz、f_alias=20000 Hz(折り返しなし)、SNR=98.08 dB が確認でき、CD 規格設計の論理的根拠が直接確認できます。一方ハイレゾ(96 kHz/24 bit)は SNR=146.24 dB と遥かに上回り、マスタリング工程での編集マージンを確保します。
振動計測・モーダル解析:回転機械の振動診断では対象周波数帯が 0〜2 kHz 程度のため、f_s=5120〜10240 Hz(規格化 f_s=4·f_max)でサンプリングし、アナログ低域通過フィルタ(バターワース 4 次、カットオフ 0.4·f_s)で f_s/2 以上を物理的に除去します。本ツールで f_s=5120 Hz、f_max=2000 Hz とすると f_N=2560 Hz でナイキスト条件を満足、f_alias=2000 Hz(恒等)。仮にアンチエイリアシングフィルタなしで 6000 Hz の軸受高調波が混入すると f_alias=|6000−1·5120|=880 Hz となり実在しないモードを誤検出する、という典型的な計測トラブルが発生します。
画像処理・ディスプレイ解像度:2 次元のサンプリング定理は画像のピクセル化に適用されます。空間周波数の最大値が 1/2px サイクル(ナイキスト空間周波数)を超えると、細かいパターンが粗いモアレ縞として現れます。LCD ディスプレイの「サブピクセルレンダリング」やデジカメの「光学ローパスフィルタ」は、撮像素子の前段に光学的アンチエイリアシングを置く実装例です。動画のフレームレート(24 fps、60 fps)も時間軸サンプリングで、車のホイールが逆回転して見える「ワゴンホイール効果」がアニメ・映画で頻繁に観察されます。
レーダー・ソナーの距離曖昧度:パルスドップラレーダーでは PRF(パルス繰り返し周波数)がサンプリング周波数に相当し、f_s/2 を超えるドップラ周波数(高速移動目標)はエイリアスして真の速度から推定できなくなります。低 PRF ではアンビギュアスレンジ(距離曖昧度)が、高 PRF ではアンビギュアスベロシティ(速度曖昧度)が発生し、両者のトレードオフを最適化する複合 PRF(staggered PRF)方式が採用されます。本ツールの折り返し関数は同じ数式構造を持ち、レーダー設計者の直感教育にも使えます。
最も多い誤解は、「f_s ≥ 2·f_max を厳密に満たせばエイリアシングは起こらない」というものです。実信号には必ず帯域外の高周波ノイズ(電源ハム高調波、デジタル回路スイッチング、無線干渉、熱雑音)が含まれ、これがナイキスト周波数を超えていれば必ず折り返します。したがって理論条件「f_s ≥ 2·f_max」だけでは不十分で、ADC の前段に必ずアナログのアンチエイリアシングフィルタ(典型的にはバターワース 4〜8 次、カットオフ 0.4·f_s)を物理的に挿入する必要があります。デジタル後処理(FIR/IIR)では一度折り返してしまった成分を取り除けません。
次に多いのが、「sinc 補間で完全再構成できるなら DAC で同じことをすれば歪みゼロ」という思い込みです。理想 sinc 補間は無限長の畳み込みを必要とし、因果性も持たないため実装不可能です。実 DAC は ZOH(zero-order hold)出力の後段に再構成 LPF(reconstruction filter)を入れて近似 sinc を実現しますが、群遅延・通過帯域リップル・ストップバンド漏れが必ず存在します。プロ機材では sinc 補間に近づけるためにオーバーサンプリング(4〜8 倍)+ デルタシグマ変調を併用し、可聴帯域内のノイズを劇的に低減しています。
最後に、「SNR_q=6.02N+1.76 dB は常に達成可能」という誤解です。この理論値は (1) 入力がフルスケール正弦波、(2) 量子化誤差が一様分布、(3) DC オフセット・歪みなし、を仮定しています。実機では入力レベルが小さいと信号電力が下がり SNR は急減(−6 dB/(2 倍減衰))、ADC の DNL/INL(積分非線形性)で歪み高調波が発生、メタスタビリティで余分なジッターノイズが乗ります。データシートの「ENOB(有効ビット数)」は実 SNR から逆算した実効ビット数で、必ず公称 N 未満となります。例えば公称 14 bit でも ENOB=12 bit(SNR=74 dB)は普通です。
ナイキスト・シャノンのサンプリング定理は、帯域が f_max 以下に制限された連続信号をサンプリング周波数 f_s ≥ 2·f_max で離散化すれば、原信号を一意に再構成できるとする基本定理です。逆にこの条件を破ると高周波成分が低周波側に折り返されエイリアシングが発生します。本ツールに既定値 f=600 Hz、f_s=1000 Hz を入れるとナイキスト周波数 f_N=500 Hz、f>f_N となるためエイリアスが起こり、見かけ周波数は f_alias=|600−1·1000|=400 Hz となります。
信号周波数 f がナイキスト周波数 f_N=f_s/2 を超えると、f を f_s で割った余りに対する最近傍折り返しによって f_alias = |f − round(f/f_s)·f_s| が現れます。例えば既定値 f=600 Hz、f_s=1000 Hz では round(0.6)=1 となり f_alias=|600−1000|=400 Hz、つまり 600 Hz の信号が 400 Hz の信号として知覚されます。f≤f_N であればこの折り返しは起こらず f_alias=f がそのまま再構成されます。
N ビット均一量子化器に正弦波を入れたとき、信号電力 (A^2/2) と量子化ノイズ電力 (Δ^2/12, Δ=2A/2^N) の比を dB で表すと SNR_q = 10·log10((A^2/2)/(Δ^2/12)) = 6.02N + 1.76 dB が得られます。1 ビット増やすと約 6 dB 改善、N=8 なら 49.92 dB、N=16 なら 98.08 dB(CD 音質相当)、N=24 なら 146.24 dB(プロ音響)と段階的に向上します。本ツールはこの理論値を即座に計算します。
実信号には常に意図しない高周波成分(電源ノイズ、回転機の高調波、熱雑音)が含まれ、これがそのまま A/D 変換器に入ると f_s/2 以上の成分が低周波側に折り返され、解析対象の信号に偽のスペクトルが混入します。したがって A/D の前段に必ず通過帯域 f_s/2 以下の低域通過アナログフィルタ(バターワース、チェビシェフ等の 4〜8 次)を入れて高周波を物理的に除去します。デジタル後処理では除去できないため、サンプリング前のアナログフィルタが必須となります。