NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

2つの信号に畳み込み演算を行い、DAQアシスタントで信号を出力

初めて質問させていただきます。LabVIEW初心者です。

 

この度LabVIEW2010において2つの信号を畳み込みをし、DAQアシスタントを用いてスピーカから音を出力するようなプログラムを作りたいと考えています。

 

信号の1つは信号シュミレーションで正弦波やホワイトノイズを出しています。これに計測したインパルス応答のテキストファイルがあり、正弦波やホワイトノイズに畳み込み演算を行い、この2つをconvolution関数に接続して1つになった信号としてDAQアシスタントにいれて、スピーカから音を出したいと考えています。

 

convolution関数を利用すれば実現できると考え自分なりに作ってみました。が、うまく行きません。

 

添付ファイルのtemp1.viは連続に信号シュミレーションが動き、畳み込みが行われた信号を見ることまでは出来るのですが、

temp2.viのようにDAQアシスタントを接続すると、信号シュミレーションがなぜか一瞬しか動かない為、止まった波形は一応出るのですが音がスピーカから出ないという状況です。

 

temp2.viの信号シュミレーションはなぜ止まってしまうのでしょうか?また、信号シュミレーションを連続的に動かして、スピーカから音を出すにはどうすればいいのでしょうか?

 

.txtファイルは拡張子を書き換え.lvmファイルとして読み込んでいます。

NI-DAQmxのテストパネルで信号を出し音が出たので、DAQアシスタントからスピーカまでの接続は問題ないと思います。

初めての質問で分かりずらいかもしれませんが、よろしくお願いします。

すべてをダウンロード
0 件の賞賛
メッセージ1/5
5,252件の閲覧回数

こんにちは。

 

実機がないと問題がありそうなところを指摘しにくいプログラムなので、

プログラムの動作を部分部分でわけて想定通りの動作をしているか確認してみてください。

 

例えば、temp1.viでデータ作成が問題ないことが確認できるみたいなので、

次にDAQアシスタントが正常に動作しているのか?などですね。

DAQアシスタントに適当な正弦波のデータを渡して、スピーカーから音がでるかといった動作確認はされましたか?

 

ちなみにひとつ気になったのですが、temp2.vi のDAQアシスタントのトリガ設定の部分で

デジタルトリガの設定が適用されていますが、トリガ信号はちゃんと入力されていますか?

0 件の賞賛
メッセージ2/5
5,181件の閲覧回数

doradorachan様
ご返事ありがとうございます。

 

正弦波をそのまま渡したり、もう一度テストパネルでのDAQアシスタントの動作確認をしたところ、動作自体は正常に行えていると思います。
ただ、temp2.viのようにconvolution関数とDAQアシスタントを同じプログラム内で動作させることはなぜかできないという感じです。エラーとかは出ていないので自分では原因の検討がつかないという状況で困っています。

 

個人的には信号シュミレーションも動いていないので、プログラムはずっと実行されているが、なんらかの原因でプログラム全体が動いていないのかなと感じました。
デジタルトリガの設定ですが、知らずのうちに設定してしまっていたようです。設定をなしにしましたが、状況は変わりませんでした。

 

伝わりづらい文章かもしれませんが、なにかアドバイスなどあればよろしくお願いいたします。

0 件の賞賛
メッセージ3/5
5,125件の閲覧回数

sgrrr

 

temp2.viではDAQアシスタントの"停止"の入力端子へ接続がありませんので、デフォルトでFALSEが入力され、構成されたチャンネルが解放されないままとなっております。

そのため1度出力がされ、プログラムの動作が止まってしまっています。

今回はプログラムが動くことを目的とされているようですので、"停止"の入力端子へブール定数のTRUEを接続されれば解決できると思います。

 

DAQアシスタントは簡易的に計測のviを作成するものです。

今後プログラムの性能や拡張性を求められるのであれば、LabVIEWからヘルプ→サンプルプログラムの検索からサンプルファインダを立ち上げ、その中にありますサンプルを参考にされてください。

DAQによるアナログ出力のサンプルviはハードウェア入力と出力→DAQmx→アナログ出力の中にございます。

0 件の賞賛
メッセージ4/5
5,113件の閲覧回数

S.Ohara様

ご返事ありがとうございます。

 

アドバイス通りにTRUEを接続したら、temp2.viのプログラムは音は出ないけれど動作するようになりました。

そして、サンプルを少し改良してプログラムを作ってみたら、望み通りの音ではないですけどスピーカから出力することができました。

 

いまのところなぜ望み通りの音が出ないか分かりませんが、すこし自分で改良をしていきたいと思います。

 

ありがとうございました。

 

0 件の賞賛
メッセージ5/5
5,072件の閲覧回数