ADコンバータ(ADC)完全ガイド:原理・主要方式・性能指標と用途別の選び方
はじめに:ADコンバータ(ADC)とは
ADコンバータ(A/Dコンバータ、Analog-to-Digital Converter、以下「ADC」)は、連続値のアナログ信号を離散値のデジタルデータに変換する電子回路・ICです。センサ出力、音声、無線受信信号、計測器の電圧など、さまざまなアナログ情報をマイコンやFPGA、デジタル信号処理(DSP)で扱うためには不可欠な要素です。本稿ではADCの原理、代表的な方式、性能指標、設計上の注意点、用途別の選び方、校正や測定方法まで詳しく解説します。
基本原理:量子化とサンプリング
ADCは大きく二つのプロセスで成り立ちます。まずアナログ信号を一定周期でサンプリング(離散化)し、その各サンプルを有限ビットで量子化(振幅を近似)してデジタル値に変換します。サンプリング周波数 fs と信号帯域幅 BW の関係はナイキスト=シャノンの標本化定理に従い、理想的には fs >= 2・BW が必要です。満たさないとエイリアシング(折り返し雑音)が発生します。
量子化により生じる誤差は量子化ノイズと呼ばれ、理想的なNビットADCの理論的最大SNR(信号対雑音比)は SNR = 6.02N + 1.76 (dB) で近似されます(入力がフルスケールのサイン波の場合)。量子化ステップ幅は Q = FS / 2^N(FS:フルスケール幅)で表されます。
主要なADCアーキテクチャ
-
SAR(逐次比較回路:Successive Approximation Register)
各ビットをMSBから決定していく方式。中〜高精度(8〜18ビット)、中速(数十kS/s〜数MS/s)で低消費電力。入力サンプル保持とDACの精度・安定性が性能を左右します。マイコン内蔵ADCにも多く採用。
-
デルタシグマ(ΔΣ)
オーバーサンプリング+ノイズシェーピング+デジタルフィルタを組み合わせ、高分解能(16〜32ビット相当)を低〜中帯域で実現。オーディオや計測器で多用される。レイテンシ(遅延)と帯域幅制約に注意。
-
フラッシュ(並列比較)
最も高速(GHz帯域も可能)だが、比較器数が2^N−1と急増し高ビットは非現実的。低分解能(6〜8ビット)で高速アプリ(高速通信、ADCフロントエンド)向け。
-
パイプライン
フラッシュのステージを段階的に組み合わせた方式で、数十MS/s〜数百MS/sの中高速・中精度(10〜18ビット)を実現。各ステージのアーキテクチャやキャリブレーションが重要。
-
二重積分や積分型(Dual-Slope / Integrating)
長時間で平均化するためノイズに強く高精度(例:計測器やデジタル電圧計)。変換速度は遅め。
重要な性能指標と意味
-
分解能(ビット数)
デジタル表現のビット数。理想的にはビットが増えるほど分解能は向上するが、実効性能はノイズやジッタで制限される。 -
サンプリング周波数(fs)
1秒あたりのサンプル数。アプリケーションの帯域要求に応じて選ぶ。 -
ENOB(Effective Number Of Bits)
実際のSNRから逆算した有効ビット数。データシートの理想ビット数より現実性能を測るのに有用。 -
SNR / SINAD / THD+N
SNRはノイズ成分に対する信号比、SINADはひずみとノイズを含めた指標。THD+Nは高調波歪みとノイズの合計で音声・オーディオ用途で重要。 -
DNL / INL(直線性)
DNL(差分直線性)は隣接コード間の理想ステップからのずれ、INL(積分直線性)は理想直線とのずれ。カットオフや変換誤差に影響。 -
ジッタ(Aperture Jitter)
サンプル瞬間のタイミング揺らぎ。高周波信号ではジッタが致命的にSNRを落とす。 -
入力帯域幅 / スループット / レイテンシ
入力の周波数応答、毎秒変換可能なデータ数、変換遅延は用途により重要性が変わる(例:制御系は低レイテンシが必要)。
量子化ノイズ、オーバーサンプリング、デジタルフィルタ
オーバーサンプリングはfsを信号帯域の何倍にも設定し、量子化ノイズを広帯域に広げ、デジタルローパス(デシメーション)フィルタで不要な高周波ノイズを除去する手法です。ΔΣ ADCはこれを利用して実効分解能を上げます。逆に、サンプリング周波数を低くしたまま処理するとエイリアシングが発生するため、アナログ側でのアンチエイリアスフィルタ(AAF)が必須です。
入力インタフェースと信号条件
-
シングルエンド vs 差動入力
差動入力は共通モードノイズ耐性とダイナミックレンジ向上に優れ、多くの高精度ADCや高速ADCで採用。 -
入力インピーダンスとドライバ
ADCのサンプル時は入力キャパシタへ電荷を供給する必要があるため、低インピーダンスのドライバやバッファ(オペアンプ)が必要。特に高速・高精度では入力立ち上がり(settling)に注意。 -
入力保護
ESDや過電圧からの保護、フィルタ(RC、LC)、差動トランスや共通モード除去回路の検討が必要。
クロックとジッタ管理
クロック品質(位相ノイズ、ジッタ)はADC性能に直接影響します。高周波・高ビット精度が求められる場合、低ジッタのクロック源(TCXO、PLL、外部クロックIC)と適切なクロック配線・終端が重要です。クロックとアナログGNDの分離、グラウンドプレーン設計も品質保持に寄与します。
ノイズ対策・レイアウト上の注意点
- アナログ・デジタルのグランド分離とスター接続(必要に応じて)
- 電源のデカップリング、低ノイズレギュレータの使用
- 敏感なアナログラインと高速デジタルラインの分離(クロストーク回避)
- 入力配線のインピーダンス整合とシールド、差動配線はペア均衡でルーティング
- 熱源(高発熱IC)をADCやリファレンスから遠ざける
基準電圧(リファレンス)の重要性
ADCのフルスケールはリファレンス電圧に依存します。リファレンスの精度、温度係数、ノイズは直ちにADCの精度に影響します。低ドリフト、高精度の外部リファレンスICを使うか、内部リファレンスの仕様を確認してシステム要件に適合させましょう。
校正とトリミング
実使用ではオフセット誤差、ゲイン誤差、温度依存性、INL/DNLが生じます。これらは初期トリム(工場校正)やシステム起動時のキャリブレーション、あるいは運転中の背景補正(オンチップの自己校正機能、デジタル補正)で補正できます。高精度計測システムでは温度センサと補正ルーチンを組み合わせることが多いです。
ADCの選び方(用途別ガイド)
-
オーディオ
24ビットΔΣ、THD+NとSNR、ダイナミックレンジ、チャンネル間のマッチング、低ジッタクロックが重要。 -
データ収集・計測器
高精度(18〜24ビット)・低ノイズ・安定したリファレンス、温度依存性とINLが選定基準。 -
ソフトウェア無線(SDR)・高速信号処理
高サンプルレート(数100MS/s〜GHz)、良好なSFDR(Spurious-Free Dynamic Range)と低ジッタクロックが必要。パイプラインやフラッシュが主流。 -
モータ制御・制御系
低レイテンシ、中速サンプリング、分解能は制御安定性に合わせる。A/D変換後の遅延が問題になり得るので注意。
インタフェースとシステム統合
ADCは出力インタフェースも多様です。SPIやI2Cは低速/中速の組込み系で一般的。高速ではパラレル並列インタフェース、LVDS、またはJESD204B/Cのシリアルインタフェースが採用されます。FPGAやSoCとの接続設計ではタイミング、転送効率、バッファリングを考慮します。
評価と測定のポイント
- サイン波入力でFFTを行いSINAD、SNR、THD、SFDRを評価する(十分なサンプル数と短時間窓)。
- DC精度はゲイン・オフセット測定で評価。温度サイクルでドリフト観察。
- DNL/INL評価はランプ信号や長時間のステップ試験で実施。
- 入力帯域の評価はスイープ信号で行い、周波数依存特性を確認。
- クロックジッタの影響は高周波入力でSNR低下を観察し、クロック改善で差分を確認する。
実務的なチェックリスト(設計時)
- 用途に必要な帯域幅と分解能(ENOBベース)を明確にする。
- リファレンス精度、温度係数、ノイズを確認する。
- 入力回路(バッファ、フィルタ、保護)の設計。特にサンプリング時のドライブ力を考慮。
- クロック供給の位相ノイズ/ジッタ管理。
- 電源設計とグラウンド配慮(分離・デカップリング)。
- デジタルインタフェースの帯域・レイテンシとホスト側の処理能力。
- 温度・老化による変化に対するキャリブレーション戦略。
まとめ
ADCは単なるICではなく、アナログ信号を正確にデジタル化するために回路設計、クロック、リファレンス、レイアウト、ドライバ、フィルタ、校正を総合的に検討する必要があるコンポーネントです。用途に応じてSAR、ΔΣ、フラッシュ、パイプラインなどの方式を選び、実効ENOBやSNR、INL/DNL、ジッタ、リファレンス特性を重視して設計・評価を行ってください。
参考文献
- Texas Instruments — ADC Overview
- Analog Devices — Understanding ADC Performance Parameters
- Wikipedia — Analog-to-digital converter (英語)
- IEEE関連論文・レビュー(代表的測定法やアーキテクチャの学術記事)
- Maxim Integrated — ADC Application Notes


