14ビットADCがあります。ただし、データシート(5ページの表2を参照)を見ると、有効ビット数(ENOB)は常に 12ビット未満です。
DACが12ビットの精度しか持たないのに14ビットADCであると主張するのはなぜですか?意味がない場合、2つの余分なビットを持つことのポイントは何ですか?
14ビットADCがあります。ただし、データシート(5ページの表2を参照)を見ると、有効ビット数(ENOB)は常に 12ビット未満です。
DACが12ビットの精度しか持たないのに14ビットADCであると主張するのはなぜですか?意味がない場合、2つの余分なビットを持つことのポイントは何ですか?
回答:
あなたは竹にされました!
14ビットはマーケティングの話であり、ハードウェアもそれを提供するので、文句を言う必要はないと言うでしょう。データシートのENOBのすぐ上に、SINAD(Signal to Noise and Distortion)番号が示されています。これは72 dBであり、1ビットは6 dBレベルに対応するため、72 dBは実際には12ビットです。最下位2ビットはノイズです。
ノイズフロアより低いデータを取得することは可能ですが、非常に良好な相関が必要です。つまり、非常に予測可能でなければなりません。
各測定で8ビット値を返すADCを使用して、可能な限り正確に安定した電圧を測定したいとします。さらに、ADCが指定されているため、(N-0.5)/ 100から(N + 0.5)/ 100ボルトまでの電圧に対してNのコードが名目上返されると仮定します(したがって、47のコードは名目上0.465から0.475の間を表します)ボルト)。正確に0.47183ボルトの定常状態の電圧が供給される場合、ADC出力に何を望みますか?
ADCが常に入力が該当する上記の範囲を表す値(この場合は47)を出力する場合、どれだけ多くの読み取り値を取得しても、値は47のように見えます。不可能な。
代わりに、整数に変換する前に各読み取り値に-0.5から+0.5まで直線的に分布するランダムな「ディザー」値が追加されるようにADCが構築されたとしますか?そのシナリオでは、47.183ボルトの電圧は48の読み取り値を返し、約18.3%の時間、47の値は他の81.7%の時間を返します。10,000の読み取り値の平均を計算した場合、約47.183と予想されるはずです。ランダムであるため、わずかに高くも低くもなりますが、かなり近いはずです。十分な読み取り値を取得すると、予想される任意のレベルの精度を達成できる場合がありますが、ビットを追加するたびに読み取り値の数が2倍を超える必要があることに注意してください。
線形分散ディザリングのLSBを正確に1つ追加することは、ADCにとって非常に良い動作です。残念ながら、このような動作を実装するのは簡単ではありません。ディザリングが線形に分布していない場合、またはその大きさが正確に1 LSBでない場合、使用するサンプル数に関係なく、平均化によって得られる実際の精度の量は厳しく制限されます。1つのLSBの線形分布ランダム性を追加する代わりに、複数のLSBの価値を追加する場合、特定のレベルの精度を達成するには、理想的な1 LSBランダム性を使用する場合よりも多くの読み取り値が必要になりますが、達成できる精度の究極の限界任意の数の読み取り値を取得することにより、ディザリングソースの欠陥に対する感度が大幅に低下します。
一部のアプリケーションでは、結果をディザリングしないADCを使用するのが最善であることに注意してください。これは、正確な値自体よりもADC値の変化を観察することに関心がある場合に特に当てはまります。+3ユニット/サンプルと+5ユニット/サンプルの増加率の違いをすばやく解決することが、定常状態の電圧が正確に13.2または13.4ユニットであるかどうかを知ることよりも重要な場合、ディザリングのないADCが優れている可能性がありますディザリング1。一方、ディザリングADCの使用は、1回の読み取りで許容されるよりも正確に測定したい場合に役立ちます。
追加の警告...時には、実際にランダム性が必要になることがあります。
例えば:
暗号化(セキュリティ/認証)アプリケーションでは、純粋な「利用できない」ランダム性が必要です。コンバーターのLSB(ノイズフロア以下)を使用すると、純粋に乱数をすばやく生成できます。
ADCハードウェアが他の目的(センサーなど)に使用できる場合、安全な通信をシードするための迅速かつ簡単な方法です。利用可能な場合は入力アンプのゲインを最大化し(多くのMCUがこのような機能を提供します)、入力をフローティングにすることで、効果を高めることができます。
ADCのランダム性は主に、量子化ノイズと熱ノイズという2つの物理的原理に由来します。
これらの効果には、巨視的なレベルでのしきい値があります。たとえば、ビット境界から十分離れた数値は丸める必要がないため、量子化エラーやランダム性は発生しません。ほとんどのシナリオでは、熱ノイズは変換の上位ビットに影響しません。
拡張により、変換パラメーター(サンプリング時間、深さ、レート、基準電圧)を変更すると、ランダム性のしきい値を移動することで結果のランダム性の変化に影響を与えることがわかります(しきい値を下げることで値を上げるか下げることで増加させます) )。環境/システムパラメーター(温度、電源など)を変えることで、同様の効果が得られます。
とはいえ、多くの成功した市販のハードウェア乱数ジェネレーターは、外部の効果がランダム性を低下させるだけであるため、この手法に依存しています。
より多くの変換を行い、結果を追加することにより、ランダム性の低下を補うことができます。このビット拡張のプロセス(連続変換の低ビットの連結)は、STM32 Nucleoドングル、FST-01(NeuG 1.0を含む)、LE TechのGrangファミリデバイス、および他の多くで使用されています。
Grangデバイスは、1秒あたり4億回以上の変換(変換あたり1ビット)で変換することによりビットを生成します。十分な変換を行うと、環境条件に直面しても高いランダム性を保証できます。