モアモア対策をデジタルフィルターで vega
2004.08.29
2004,10. 7 改
2005. 1.20 改
ゾーン位置の測定でフーコー像が気温や温度変化でモアモア(モヤモヤ?)してナイフ位置がさっぱり
決まらない場合があります。
この対策にはデジタルフィルターがたぶん有効と思います。(当方はまだ測定していません)
測定ソフトでは対策に、いままで複雑(怪奇)なことやってました(効果は今一つ)が、デジタルフィルター一本で行く予定です。
処理がシンプルで効果大と期待してます。
(1) マイコンでもデジタルフィルター!?
デジタルフィルターといえば、CDプレーヤーの中に在ってオーバーサンプリングしてデジタルノイズを取り除く
いたり、16ビットデータを20ビットにしたりすることは知っていました。(今は違うかな?)
演算量が膨大で高速である必要があるため、専用のDSPを使用していました。
ところが雑誌(トラ技2004.05 p147)でマイコン(H8/3694)のADコンバーターのノイズ対策でローパスフィルターを
デジタルフィルターで実現する方法が紹介されていました。演算量はわずか。
マイコンでできるのですから、パソコンなら楽勝なはず。
よく分からないのでネットで検索してみると参考になりそうなのがありました。
http://www2s.biglobe.ne.jp/~h-kamei/elehand/elehand_index.html
http://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/basic/index.htm
理屈は不勉強であまり分かりませんが、使い方はとても簡単。(1次フィルター)
y[k+1] = (1-w)*y[k] + w*u[k] (無限インパルス応答
IIR (Infinite Impulse Responce) 形と呼ぶそうです。)
前回の決定値(フィルター出力)(y[k])と今回の測定値(u[k] )を使用して今回の決定値(y[k+1])を求めます。
係数を上手く選べは、ノイズ(モアモア)を上手く排除(軽減?)出来るかもしれません。
(2) excelで試してみました。
RCで作ったローパスフィルター(1次)のシミュレーションです。
横軸は時間軸です。
系列1がノイズを含んだデータと思ってください。(フーコーテスターではモアモアがノイズ)
デジタルフィルターで処理した値が系列2です。
少しノイズが残っていますが係数を調整すれば、応答が遅くなりますがノイズはもっと減らせます。
係数を変えた場合の矩形波の応答はこんな感じです
実際のフーコーテスターの場合、ナイフを動かした後はこんな感じです。(たぶん)
青色がCCDからのデータでモアモアを含んでいます。モアモアが無ければ、CCDからのデータは階段状
で即、ゾーン位置の輝度差が判別できます。
上記wの値によりデジタルフィルターの出力が異なります。(黄色とピンク)
wの値が大きいと反応(立ちあがり)が速いですが、ノイズが取りきれません。
wの値が小さいと反応(立ちあがり)が遅くなりますが、ノイズは小さくなります。但し反応が遅いとゾーン位置の
輝度が同じか否か調べるまで時間かかかります。
(黄色がw=0.2、ピンクがw=0.08)
(オーディオ的に言うと、wを大きくするとカットオフ周波数が上がり、高周波(ノイズ)が通過しやすくなる。)
ですから、実際にwの値を使いやすい値に調整する必要がありそうです。
グラフ上に点々の一つ一つがデジタルデータで、qcamを使用したフーコーテスターでは輝度グラフの
点滅(チカチカ)に対応します。
エクセルシートはここ
(係数を変えて遊びたい人はどうぞ)
実装する場合は、今回のqcamからの生の輝度グラフと前回の計算した輝度グラフから、今回のデジタルフィルターを
通した輝度グラフが求まります。
(3) 実装しました! 2004.9.01
測定ソフトに実装しました。 Ver2.6です。
上記wを指定するようにしました。具合の良い値に微調整して下さい。
実際に鏡面測定をしていませんが、効果はたぶんあると思います。
使い方の説明は、ここ。
(4) 改定しました! 2004.9.04
3次のフィルターに変更しました。 Ver2.7です。
Excelのグラフを見る限りでは、1次より効果がありそうですが、実際はどうなりますか。
次数を上げるのは、5次でも10次でも簡単に改造できますが、悪影響もあるかもしれません。
qcamftのフィルターは、3次のつもりが実は何の効果もなく、1次と全く同じ結果でした。(209.8.21判明)
(5) 改定しました。 (Ver2.8k) 2005.1.20
デジタルフィルターをONにした場合では、ナイフを大きく動かした場合でも輝度グラフが安定するまで時間がかかり
待ちきれない場合があります。
そこで、デジタルフィルターをかける前後のデータを2本建ての表示にしました。
グラフ、ゾーン位置の輝度値、中心の輝度値、輝度差の値、輝度差のグラフ、●のマーク 全部両方表示しました。
オリジナルデータ(デジタルフィルター処理前)
グラフなどの色は黄緑色
ナイフを前後どちらに動かすべきかは、●に注目する。
デジタルフィルター処理後
グラフなどの色は水色
ナイフを前後どちらに動かすべきかは、■に注目する。
私の意図としては、
・ナイフを大きく動かしている場合はオリジナルデータを見る。
・ナイフ位置の最後の詰めの段階や画像のユラユラが大きい場合は少し待って、デジタルフィルターを通した値を使用する。
となります。
記録ボタンで測定値を記録する場合の輝度の値は、デジタルフィルターをONにした場合デジタルフィルター処理後
の値を使用します。