ADC, DAC の SN 比で表される ENOB

はじめに

ADC, DAC の ENOB を SN 比を用いて表す式は良く知られている。本記事ではその導出を記す。

arg maxarg min\providecommandrecterf\providecommand\providecommand\providecommandPr

主張

ADC(または DAC)の量子化誤差が(誤差の上限と下限の間で)一様分布すると仮定する。ADC(または DAC)の SN 比が rSN [dB] であるとき、有効ビット数(Effective Number Of Bits, ENOB)be は次式である。

be=rSN+10(log102log103)20log102rSN1.766.02

導出

ここでは ADC について示すが、DAC に於いても同じ議論ができる。

ADC を(量子化誤差以外の誤差を一切生じない)完璧な量子化ブロックとその前段にある雑音生成ブロックの組み合わせでモデル化する。入力信号は雑音生成ブロックで生じる雑音が付加されて量子化ブロックに到達する。(本物の ADC の雑音の発生機構はより複雑であろうが、それは利用者には殆ど不可知である。外部から見た挙動がよく一致していれば実用上問題が無い。)

「ADC の SN 比」とは入力信号のパワーが 0 dBFS であるときの、入力信号のパワーと雑音のパワーの比である。0 dBFS は full-scale の振幅 Afull>0 の正弦波のパワー Psig(周波数に依らず Afull2/2)であると定義されている([1])。即ちある入力信号のパワーが P であるとき、その dBFS 表現は 10log10PAsig2/2=10log102PAsig2 である。

雑音信号 xn の標準偏差を An とすると雑音のパワー PnAn2 である(なぜならば T>0 を十分長い観測時間として An:1T0Txn2dt=Pn)。よって rSN=Afull2/(2An2) である。

ADC のビット幅を b とすると量子化誤差は区間 [Afull/2b,Afull/2b] 上の一様分布であり、標準偏差は Afull/(32b) である。これが量子化雑音の標準偏差である。b を 1 から始めて徐々に増やすとき、ある be を超えると量子化雑音が雑音信号を下回る。この be が ENOB であり、次式が成り立つ。

Afull32be=An2eb=Afull3Anbe=log2Afull3An=log10AfullAnlog103log102=10log10Afull22An210(log102log103)20log102rSN1.766.02

参考文献

  1. dBFS – Wikipedia

投稿者: motchy

DSP and FPGA engineer working on measuring instrument.

コメントを残す