08-18-2010 09:42 PM
はじめましてボウズです。
現在シャーシPXI1033にボードをPXI4461を5枚入れている状態で音響の測定を行う予定です。
測定内容は、4461ボード4枚から8chのアナログ出力、4461ボード1枚から1chのアナログ入力を行います。
今現在はLabView上に、まずForループを作成しました。
そのForループ内に別々の信号を出力するため信号生成を8つ作成し、それぞれDAQmxによって出力しました。
同様にForループ内にマイクロホンで(DAQmxを用いて)入力し、フィルタをかけた後時間波形を見ています。
しかし、入力される信号の位相が実行するたびにずれてしまいます。(実行押してから立ち上がりまでの時間がずれる)
実行ごとのずれを極力減らしたいのですがどのようなプログラムを組めばよろしいのでしょうか?
説明が分かりにくいと思いますが、viを添付いたしますのでよろしくお願いします。
08-24-2010 01:02 AM
ボウズ 様
平素よりNI製品をご利用頂きまして誠に有難うございます。
日本ナショナルインスツルメンツ技術部 池田英広と申します。
「入力の位相がずれる」と「立ち上がり時間がずれる」とあります。
1) 集録開始時刻と出力開始時刻の時差を問題にしておりますでしょうか。
(0.03秒ずれたり、0.025秒ずれたりすることが問題)
2) 集録開始時刻に対し、相対的な出力開始時刻が毎回ずれることが問題
(0.03秒と0.025秒の時の差0.005秒の時差が問題)
3) 8ch出力の開始が個々にずれる(出力波形の位相がずれる)事が問題と考えてよろしいでしょうか
現在、問題点として考えておられるのは、どの部分になりますでしょうか
お客様は、DAQの制御に「DAQアシスタント」をご使用になっており、プログラム中で複数のDAQアシスタント
をお使いになっております。この際の各動作の開始タイミングは、個々のDAQアシスタントがVI上で呼び出された
タイミングになります。
このタイミング制御は、ソフトウェア実行処理で決定されます。このため、厳密にはWindowsの負荷状況により、
実行タイミングが毎回異なります。 (これを「ソフトウェアタイミング」と呼んでおります)
1)、2)が問題の場合
出力開始のタイミングと集録タイミング開始のタイミングを合わせる必要があります。
DAQmx トリガ関数等を使用して、開始タイミングをハードウェア的に合わせる事で
対処が可能です。(ハードウェアタイミング)
3) が問題の場合
どの程度まで、時間間隔のずれが許容できるかによりますが、簡単な方法としては、
出力のDAQアシスタントを一つにまとめる方法が考えられます。
(これですと、開始タイミング制御はソフトウェアのままですが、個々のDAQアシスタントが
VI上で呼び出される際の「ズレ」は排除する事ができます)
また、もっと精度よく合わせこみたい場合(ミリ秒以下のオーダーで合わせたい場合)
は、1)と同じようにDAQmxの関数を使用し、プログラムを構築する必要がございます。
問題点として、認識されているものは、どれに当たりますでしょうか。
お手数をおかけしますが、よろしくお願いいたします。
+---+---+---+---+---+---+---+---+---+---+---+---+
日本ナショナルインスツルメンツ株式会社
技術部 池田 英広
弊社のサポートに関する情報は以下のサイトをご覧ください。
http://www.ni.com/support/ja
技術データベース: http://www.ni.com/kb
お問い合わせフリーダイヤル 0120-527196
+---+---+---+---+---+---+---+---+---+---+---+---+
08-24-2010 04:34 AM
日本ナショナルインスツルメンツ技術部 池田英広 様
回答ありがとうございます。
現在、問題としているものは池田様があげてくれた選択肢の
2) 集録開始時刻に対し、相対的な出力開始時刻が毎回ずれることが問題
(0.03秒と0.025秒の時の差0.005秒の時差が問題)
となっております。わかりにくい説明ですみません。
本件の場合、DAQmxアシスタント自身がソフトウェアタイミングとなっているため、
他のDAQmxにより出力と入力(DAQmx書き込み、DAQmx読み込み?)を行い、
さらにそれらをDAQmxトリガによってハードウェアタイミングにするといった形でよろしいのでしょうか?
よろしくお願いします。