10-20-2010 05:59 AM
いつもお世話になっております。
現在、LabVIEWに入力したデータにフィルタをかけてノイズを除去し、ノイズ除去後のデータを書き込むプログラムの作成を試みています。
掲示板や書籍を参考にして、フィルタをかけノイズを除去する段階までは到達したのですが、データの書き込みが思うようにいかない状況で、アドバイスを頂ければ幸いです。
掲示板で「フィルタをかけるには、時間的情報がいる」とのことだったので、「DAQmxタイミング」を用いました。
そして、フィルタを通過したデータをxlsファイルやtxtファイルに書き込んだところ、
あるチャンネルのデータ1 ある別のチャンネルのデータ1
あるチャンネルのデータ2 ある別のチャンネルのデータ2
あるチャンネルのデータ3 ある別のチャンネルのデータ3
あるチャンネルのデータ4 ある別のチャンネルのデータ4
: :
: :
: :
と改行されて書き込まれてほしいのですが、うまく改行ができていませんでした。
あくまで予想ですが、
あるチャンネルのデータ1 あるチャンネルのデータ2 あるチャンネルのデータ3 あるチャンネルのデータ4
:
:
:
ある別のチャンネルのデータ1 ある別のチャンネルのデータ2 ある別のチャンネルのデータ3 ある別のチャンネルのデータ4
:
:
:
:
と並んでいるように感じました。
これも予想なのですが、
DAQmxタイミングのサンプル数を1000にしているので、「あるチャンネルのデータ1000個取得」→「ある別のチャンネルのデータ1000個取得」→改行をwhile文によって繰り返しているように感じています。
ちなみに、同じプログラムでDAQmxタイミングを無くすと
あるチャンネルのデータ1 ある別のチャンネルのデータ1
あるチャンネルのデータ2 ある別のチャンネルのデータ2
あるチャンネルのデータ3 ある別のチャンネルのデータ3
あるチャンネルのデータ4 ある別のチャンネルのデータ4
: :
: :
: :
のようにデータは書き込まれます。
フィルタを用いるには、DAQmxタイミングは必要不可欠と思いますので、
DAQmxタイミングを用いてかつ、データを
あるチャンネルのデータ1 ある別のチャンネルのデータ1
あるチャンネルのデータ2 ある別のチャンネルのデータ2
あるチャンネルのデータ3 ある別のチャンネルのデータ3
あるチャンネルのデータ4 ある別のチャンネルのデータ4
: :
: :
: :
のように書き込むには、どのようにすれば宜しいのでしょうか。
アドバイスを頂ければと思います。
データの入力には、ファンクションジェネレータ(8Hzと1Hz)を用い、NI USB-6008を通してLabVIEW(バージョン2009)に電圧を入力しています。
解決済! 解決策の投稿を見る。
10-21-2010 12:03 AM
YOSI 様
こんにちは、E.Maedaと申します。
お問い合わせいただいた内容を拝見しました。
配列からスプレッドシート文字列に変換 (関数)を用いた 簡単なサンプルをお作りしましたので
こちらをご検討いただき、お手元のviを編集頂けます様お願いします。
E. Maeda
10-21-2010 04:42 AM
E. Maeda様
返信ありがとうございました。
早速実行してみます。
10-21-2010 05:56 AM
E. Maeda様
作って頂きましたプログラムを用いてフィルタ後のデータを書き込んだところ
綺麗に2列に改行されて書き込みが出来ました。
ありがとうございました。
そのデータを元にグラフ化したところ、フィルタにまだ問題点があることも
発覚しました。
LabVIEW上で高周波と低周波のsin波を作り、ノイズに相当する高周波のsin波を除去することは
できるのですが、それをファンクションジェネレータで生データとして入力し同様のことをしようとしても
うまくいきませんでした。
また考えてみて分からなければ、メッセージを投稿する形になると思いますが、その際はアドバイスを頂ければ幸いです。
今回は、本当にありがとうございました。
10-21-2010 07:57 PM
YOSI 様
ご連絡ありがとうございました。
今後もご所望の動作に近づく様、頑張ってください。
ありがとうございました。
E. Maeda