A/D変換結果を何回平均すればいいか。
調べてみると標準誤差がこの判断によさげ。
標本誤差=標準偏差/√標本数
だそうな。
エクセルで計算してみる。
A/D変換誤差が±3LSBとする。
標準偏差の計算を正規分布する乱数で行う。
=NORMINV(RAND(),0,1)
これで大体±3の正規分布する乱数ができる(99.73%が±3に入る)。
3σだからわかりやすい。
標本数を2,4,8,16,32,64,128,256とする。
各標本に対して標準偏差を求めて標本数のルートで割る。
=STDEV(N個の乱数範囲)/SQRT(N個)
乱数を変えて50回分平均してみた。
0.586236917 0.461962255 0.343433668 0.244178051 0.17491674 0.12441633 0.089293353 0.062873792
信頼区間は平均値±3×標準誤差で99.73%になるので3を掛ける。
1.758710751 1.385886765 1.030301005 0.732534153 0.524750219 0.37324899 0.267880058 0.188621376
図にするとこんな感じ。

つまり1回だと±3LSBの誤差が、2回平均で±1.8LSB、8回平均で±1LSBになる。
なので精度が±3LSBじゃ足りないよ、±1LSB以下じゃないとだめだよ・・・ってときは
大体±0.7LSBの16回くらい平均すればいいかな~と。
問題は誤差が偶然誤差じゃなくてA/D変換器固有の誤差だった場合だな。。。
正規分布してないならこの計算使いもんにならんぞ。
R8CのA/D変換器は内部でノイズ除去やってるっぽいから
平均の意味ないんだよな~。
精度上げるなら外部からホワイトノイズ与えるしかないな。。。
参考文献:
統計解析道具箱
標準偏差(SD)と標準誤差(SE)シリウス先生の心理統計学
標準偏差と標準誤差National Semiconductor
A/D, D/Aコンバータ 日本語アプリケーション・ノート
ディザ信号付加による A/D コンバータの性能改善
[0回]
PR