2

アナログ入力を使用してPICマイクロコントローラーから測定している1KHZの三角波発生器があります。三角波の周波数ソースとアナログ キャプチャは別の周波数ソースです。ADC は 12 [編集:10] ビットの精度で 100ksps でキャプチャします。

真の乱数を生成する目的で、アナログ サンプルに含まれるエントロピーを推定したいと考えています。私が特定したエントロピーの 2 つのソースは、ケルビン ノイズと周波数ソース オフセットです。

キャプチャした波形から、1 秒あたり約 2 つの周波数を継続的に区別でき、平均して 1 秒あたり 1 つのケルビン入力しきい値アップセット イベントをキャプチャできます。したがって、私の推定では、1 秒あたり約 2 ビットのエントロピーです。

より大きなエントロピー推定値を正当化する方法を考えられる人はいますか?

SO に既に投稿されている同様の質問への回答に基づいて、次の説明を追加します。

エントロピー ソースの他のアイデアには特に興味はありません。これらの代替ソースについても同じ質問に答える必要があるからです。

自己相関またはその他のランダム性の測定のためのデータ自体の分析は、非常に楽観的であるため、正しい答えではありません。

4

3 に答える 3

1

私は他の人を助けるかもしれないいくつかの進歩を遂げました。

主なリソース http://en.wikipedia.org/wiki/Johnson%E2%80%93Nyquist_noise

ピン容量は、測定可能な熱ノイズの量を ADC の帯域幅内で 20uV に制限します。これは、さまざまな種類のコントローラーで多かれ少なかれ同じはずです。信号とピンの間に約 10K の抵抗を使用します。値を小さくするとノイズが減少しますが、可能なサンプル レートが増加します。

信号はランダムである必要はありません。少なくともいくつかの個別の入力ステップの範囲内で均等に分散する必要があります。入力と同じクロック ドメインの GPIO への出力は、この要件を満たさない可能性があることに注意してください。

ダイナミック レンジが 3.3V の 10b ADC では、各離散ステップは 3mV です。サンプルあたりのエントロピーは、約 20uV / 3mV = サンプルあたり 0.006 ビットです。

また、これはアナログ入力を必要としないことに注意してください。デジタル入力でそれを行うこともできますが、ビンのサイズははるかに大きくなり (1V?)、答えはサンプルあたり 0.000018 ビットに近くなります。そのため、ミリ秒ごとに入力サンプルを取得し、64 ビットのランダム シードを生成するには約 1 時間かかります。

于 2012-03-13T17:54:42.567 に答える
0

NIST Publication SP800-90Bは、エントロピー測定値として最小エントロピーを推奨しています。ただし、エントロピーソースの最小エントロピーをテストすることは簡単ではありません。このようなテストを実行する1つの方法については、NISTSP800-90Bを参照してください。

于 2012-10-20T07:26:01.037 に答える
-1

「物理学」エントロピーについて話している場合、あなたの質問はトピックから外れています。しかし、アナログ信号を簡単にサンプリングしてデジタル波形に変換し、情報理論の文脈でエントリオピーについて議論することもできます。

デジタル信号のエントロピーを測定するための簡単で驚くほど正確な方法は、利用可能な最良の方法を使用して圧縮を試みることです。圧縮率が高いほど、情報量は少なくなります。

ランダムなビットを生成してシードを生成することが目標である場合 (他の回答のいずれかで言及されているように)、一般的な圧縮を使用して、環境 (キーボード ストローク、マウスの動き、アナログ システム) からサンプリングされたランダム性を圧縮することが有用なアプローチです。アルゴリズム、辞書を破棄します。残っているものには、重要な情報コンテンツがあります。

于 2012-03-14T00:39:10.280 に答える