ΣΔ ADC オーバーサンプリング SNR シミュレーター 戻る
ADC・データコンバータ

ΣΔ ADC オーバーサンプリング・ノイズシェーピング SNR シミュレーター

ΣΔ(シグマデルタ)ADC の OSR・変調器次数・量子化器ビット数から、ノイズシェーピング後の SNR と実効ビット数 ENOB、サンプリング周波数、消費電力をリアルタイム計算します。1bit 変調器でも高次フィルタ × 高 OSR で 20 bit 超の分解能が得られる仕組みを直感的に確認できます。

パラメータ設定
用途プリセット
代表的な ΣΔ ADC の応用領域
信号帯域 (Nyquist BW)
kHz
取り込みたい信号の片側帯域 BW
変調器次数 L
ループフィルタの積分器段数(NTF=(1-z⁻¹)^L)
オーバーサンプル比 OSR
fs / (2·BW)。倍化で 1.5(2L+1) bit 改善
量子化器ビット N
1bit が DAC リニアリティ的に最も有利
基準電圧 V_ref
V
計算結果
サンプリング周波数 fs (MHz)
ナイキスト OSR
SNR (dB)
実効ビット数 ENOB (bit)
OSR 倍化あたり改善 (bit/oct)
消費電力 (μW)
ΣΔ 変調器ブロックダイアグラム — 1bit ビットストリーム

入力信号 → 加算器 → 積分器(L 段)→ 1bit 量子化器 → 出力ビットストリーム、1bit DAC でフィードバック。量子化ノイズは NTF により高周波側に押し出されます。

OSR に対する SNR — 次数 L 別
次数別 ENOB 比較(現条件 OSR・N 固定)
理論・主要公式

$$\mathrm{SNR}_{\mathrm{dB}} = 6.02\,N + 1.76 + 10(2L+1)\log_{10}\mathrm{OSR} - 10\log_{10}\frac{\pi^{2L}}{2L+1}$$

N: 量子化器ビット、L: 変調器次数、OSR: オーバーサンプル比。1bit / L=2 / OSR=256 で約 115 dB(ENOB ≈ 19 bit)。

$$f_s = 2\cdot\mathrm{BW}\cdot\mathrm{OSR}, \qquad \mathrm{ENOB} = \frac{\mathrm{SNR}_{\mathrm{dB}} - 1.76}{6.02}$$

サンプリング周波数 fs はナイキスト帯域 BW の 2·OSR 倍。ENOB は SNR を理想 ADC のビット数に換算した値。

$$\Delta\mathrm{ENOB}/\mathrm{oct} = 1.5\,(2L+1)\ \mathrm{bit/oct}, \qquad \mathrm{NTF}(z) = (1-z^{-1})^{L}$$

OSR を 2 倍にするごとの分解能改善。NTF は量子化ノイズに対する伝達関数(高域通過)で、L 段の積分器で高域に押し出す。

ΣΔ ADC オーバーサンプリング — Noise Shaping SNR 設計

🙋
「ΣΔ ADC」って、データシートでよく見るけど、普通の ADC と何が違うんですか?1bit でどうやって 24bit の音楽が録れるのか、全然イメージできないんです。
🎓
いい質問だね。普通の SAR ADC は「1サンプルにつき N bit の比較を全部やる」やり方で、N bit が出るたびに正直に N bit ぶん測る。ΣΔ ADC はその逆で、超高速で「ざっくり 1bit」をどんどん出して、後段のデジタルフィルタで平均化することで分解能を稼ぐ。だから瞬間瞬間は 1bit でも、何百個も平均すれば 24bit に化けるんだ。ポイントは「ただ平均する」のではなく、量子化誤差を高周波に追いやってから低域だけ取り出すこと。これがノイズシェーピングなんだよ。
🙋
ノイズシェーピング…左で OSR を上げると SNR がぐっと上がりますね。普通の ADC だと OSR 倍化で 3 dB しか上がらないって習った気がするんですが?
🎓
そう、Nyquist ADC は OSR 倍化で 3 dB(0.5 bit/oct)だけ。でも ΣΔ は積分器を L 段かますことで NTF(ノイズ伝達関数)が (1−z⁻¹)^L となり、低域では強烈な減衰、高域では持ち上がる形になる。結果、OSR 倍化あたり 1.5(2L+1) bit という、桁違いの改善が得られるんだ。1次で 1.5 bit/oct、2次で 2.5 bit/oct、3次で 3.5 bit/oct ね。デフォルト条件(L=2, OSR=256, 1bit)で右下の SNR を確認してみて — 115 dB 前後、ENOB は 18〜19 bit になっているはずだ。1bit 入力からだよ?
🙋
本当だ、ENOB が 18.9 bit になってます!じゃあ L を 5 にして OSR も最大にすれば、もっと凄いことになりますよね?
🎓
そこが落とし穴。理論式上は数値はどんどん上がるけど、L≥3 の 1bit 変調器は条件付き安定、L≥4 ではほぼ確実に不安定になる。実際の Si では信号が大きくなった瞬間にループが「ブツッ」と発振して、SNR は理論値どころか急落する。だから商用品はだいたい L=2〜3 で 1bit、もっと高次にしたいときは multi-bit(3〜5 bit)量子化器に切り替えるか、MASH 構成で 1次や 2次のループを縦続接続して安定性を稼ぐんだ。判定カードの色が「警告」になったら、その組み合わせは実装上厳しい合図だと思って。
🙋
プリセットで「オーディオ」「精密測定」「センサ」「RF」を切り替えると BW と OSR がまるで違いますね。どう使い分けるんですか?
🎓
ΣΔ は基本「狭帯域・高分解能」が一番得意なんだ。オーディオは 20 kHz × OSR 256 で fs=10 MHz、AKM AK4499 みたいに 130 dB DR を狙う。精密 DC 計測は BW=1 kHz と狭くして OSR を 1000 超に取り、TI ADS1262 みたいに 32bit 出力。センサは BW=100 Hz 級で消費電力を絞る。RF 用は逆に bandpass ΣΔ で IF を直接デジタイズ、SDR の前段に入る。同じ ΣΔでも、どこを犠牲にしてどこを伸ばすかで設計がまったく変わるよ。スライダーを動かして、消費電力カードも一緒に見てみると感覚がつかめるはずだ。

よくある質問

ΣΔ 変調器ではノイズシェーピングの効果で、OSR を 2 倍にするごとに 1.5(2L+1) bit ぶんの分解能改善が得られます。1 次(L=1)なら 9 dB/oct(1.5 bit/oct)、2 次なら 15 dB/oct(2.5 bit/oct)、3 次なら 21 dB/oct(3.5 bit/oct)です。通常の Nyquist ADC は OSR 倍化で 3 dB(0.5 bit/oct)しか改善しないため、ΣΔ は低ビット量子化器でも非常に高い ENOB を達成できます。
1bit 量子化器(比較器1個)は出力レベルが High/Low の2点しかないため、内部 DAC が原理的に完全に線形になります。Multi-bit DAC では各 unit element のばらつきが直接 INL/DNL に表れて高調波歪みになりますが、1bit ではこれが起きません。代わりに量子化ノイズは大きいので、強いノイズシェーピング(高次 L)と高い OSR でカバーします。オーディオ ΣΔ ADC のほとんどが 1bit 変調器を採用するのはこのためです。
理論上は L を上げるほどノイズシェーピングが急峻になり SNR は改善しますが、L≥3 では単独の 1bit 変調器は条件付き安定、L≥4 ではほぼ不安定になります。実用では (1) 高次 (L=4,5) では multi-bit 量子化器を併用、(2) 低次ループを縦続接続する MASH (Multi-stAge noise SHaping) 構成、(3) ループフィルタのゼロ最適化、などで安定化します。一般用途では L=2〜3、ハイエンドオーディオで L=4〜6 を MASH や multi-bit で実現することが多いです。
ΣΔ は「狭帯域・高分解能」(オーディオ 24bit/192kHz、精密 DC 32bit/1kHz、センサ 16bit/100Hz など)が得意で、SAR は「中帯域・中分解能・低レイテンシ」(12〜18bit、数 MSPS、制御フィードバック)が得意です。ΣΔ は decimation filter による群遅延が大きく、制御系には不向きですが、ノイズと歪みは桁違いに良くなります。RF やパルス計測には Pipeline / Flash ADC、汎用には SAR、計測機器・オーディオには ΣΔ、と帯域と分解能のマップで選びます。

実世界での応用

オーディオ ADC / DAC:CD(44.1 kHz/16bit)、DAT、Hi-Res(96/192 kHz)、DSD(5.6 MHz/1bit)まで、デジタルオーディオはほぼ全て ΣΔ で実現されます。AKM AK4499EX や ESS ES9039PRO、Cirrus Logic CS43198 は 130〜140 dB DR、THD+N -120 dB 級。通常は L=4〜6 の多次・multi-bit 変調器を OSR 64〜256 で動かし、その後 8〜16 倍デシメーションで 192 kHz/24bit を出力します。

精密 DC 計測・産業センサ:TI ADS1262/ADS1263(32bit/38 kSPS)、Analog Devices AD7768(24bit/256 kSPS)、Maxim MAX11270 などは、ストレインゲージ・熱電対・RTD・pH 電極のフロントエンドに使われます。BW=1 Hz 〜数 kHz、OSR=1024〜8192 で 22〜24 bit 実効分解能を達成。マルチプレクサ切替直後の整定時間(filter settling)が制御系設計のポイントです。

センサノード・ウェアラブル:加速度センサ、心電図(ECG)AFE、骨伝導マイク、コンデンサマイク MEMS(PDM 出力)など、低帯域・低消費電力アプリでは 1〜3 次の小型 ΣΔ が ASIC に内蔵されます。スマートフォンの MEMS マイクは PDM 1bit 出力をそのまま SoC に渡し、SoC 側の CIC + FIR デシメーションフィルタで 16〜24 bit/48 kHz の PCM に変換します。

RF 通信・ソフトウェア無線:携帯基地局や SDR 受信機では bandpass ΣΔ で IF(数十〜数百 MHz)を直接デジタイズし、後段 DDC でベースバンドに落とす構成があります。Lowpass と違い変調器の零点をキャリア周波数に配置することで、狭い RF チャネルだけ高 SNR にするテクニック。LTE / 5G の small cell や、レーダ・電子戦受信機で採用例が増えています。

よくある誤解と注意点

まず最大の落とし穴が、「理論 SNR 式の数値をそのまま実機 SNR と思い込む」こと。本ツールの SNR = 6.02N + 1.76 + 10(2L+1)log₁₀OSR − 10log₁₀(π^{2L}/(2L+1)) は「量子化ノイズが白色」「変調器が完全に安定」「クロックジッタゼロ」の理想条件式です。実機では (1) サーマルノイズ(積分器の opamp と入力サンプリングキャパ kT/C)、(2) クロックジッタによる SNR 上限 SNR_jitter = −20log₁₀(2πf_in·σ_jitter)、(3) リファレンスノイズ、(4) DAC mismatch(multi-bit のみ)でほぼ必ず劣化します。理論 SNR と実測 SNR の差が 10 dB 以内に収まれば「設計通り」、20 dB 以上開くなら上記要因のどれかが支配。

次に、「次数 L を上げれば必ず良くなる」という誤解。L=3 以上の単独 1bit 変調器は条件付き安定で、入力振幅が大きいと(だいたい ±0.6·V_ref 超)ループが発振して SNR が一気に -∞ dB に落ちます。商用 IC でも振幅マージンは ±0.7 V_ref 程度が現実的で、フルスケール 0 dBFS で動かすと歪みが急増する。実装時は (1) 入力振幅を 3 dB ほどバックオフ、(2) multi-bit 量子化器に切り替え、(3) MASH 1-1-1 / 2-1-1 構成で 1次や 2次のループを縦続、のどれかが必須です。本ツールの判定 'warn' は L≥4 × 1bit の組み合わせで点灯します。

最後に、「OSR を上げれば分解能だけが上がる」と思うこと。OSR を倍にすると fs も倍になり、消費電力もほぼ倍(クロックドアナログ回路は fs に比例)、デジタル decimation filter のゲート数と消費電力も増加、加えてアンチエイリアスフィルタの設計が楽になる代わりに decimation filter の群遅延がサンプル数分大きくなります。制御フィードバックループで使うなら、この群遅延(数十〜数百サンプル相当の数百μs〜ms)が位相余裕を食いつぶし、ループが発振する原因に。「測れるけど制御に使えない」典型例なので、ΣΔ を選んだ時点で「群遅延と引き換えに分解能」というトレードオフを受け入れている、と意識してください。

使い方ガイド

  1. 「ナイキスト帯域幅」に信号帯域幅を入力します。例えばオーディオ用途では 20 kHz、センサ出力では 100 Hz~1 kHz の範囲で設定します。
  2. 「OSR(オーバーサンプリング比)」を指定します。OSR = fs / (2 × BW) で計算され、一般的に 64~256 の値を選択します。OSR が大きいほどノイズシェーピングの効果が増します。
  3. 「参照電圧 Vref」を設定してシミュレータを実行すると、SNR (dB)・ENOB (bit)・実効サンプリング周波数 fs (MHz)・OSR 倍化あたりの改善値(bit/oct)・消費電力見積値(μW)がリアルタイム表示されます。

具体的な計算例

精密温度センサ(帯域幅 10 Hz、Vref = 2.5 V)に 2 次モジュレーター(L=2)を適用した場合:OSR = 128 を設定すると fs = 2.56 kHz となり、ノイズシェーピングにより SNR は約 98 dB、ENOB は 15.8 bit に達します。一方 OSR = 64 では SNR ≈ 92 dB、ENOB ≈ 14.8 bit となり、OSR 倍化あたり約 6 dB(1 bit)の改善が得られます。オーディオ用途(帯域幅 20 kHz、1 次モジュレーター)では OSR = 128、Vref = 3.3 V 時に SNR = 104 dB、消費電力は 800~1200 μW 程度になります。

実務での注意点