LabVIEW備忘録

National Instruments社のグラフィカル言語 LabVIEWに関する学習Blogです。

アナログ波形データのデータ量最適化(0)

NI社のCompatDAQシリーズを用いてアナログデータ収録を行う際のデータサイズについて検討する。簡単のため構成はNI cDAQ-9172 / NI 9221(±60 V、アナログ入力、800 kS/秒、8 Chモジュール)とする。

検証用として以下のコードを作成した。(もう少し複雑な処理を追加する場合は収録ループと記録ループを生産者/消費者デザインパターン化する必要がある。)

f:id:labviewtips:20170812094624p:plain

ここで想定しているアナログ入力NI9221は12bitの分解能だが、DAQmxでアナログ波形を何も考えずに読み取るとループ上段のようにデータが32bitの倍精度小数(BDL)になってしまうのである。ループ中段のように16bitの単精度小数(SGL)に変換するのが望ましく、これによりファイルサイズを50%改善できる。

NI社のCモジュールで16bit以上の分解能のあるものは熱電対がほとんどで、これらは低速サンプリングしかできないため、DBLのまま使用してもファイルサイズ上ほとんど問題がない。タイムスタンプ/DBL変換と同じく、このあたりが初心者のひっかかりポイントな気がする。