11-27-2011 08:09 PM
大学院の研究でlabviewを用いた信号の周波数解析のプログラミングをしています。
使用目的は、ロードセルで得られた信号をセンサインターフェース(PCD-300A、共和)を通し、ノイズの周波数帯を表示するといったものです。
ライブラリのFFTやexpress VIのスペクトル計測をつないだりしているのですが、どうもうまく表示することができません。
開発中のブロックダイアグラム画像とviを添付しましたので、アドバイス等いただければと思います。
初歩的な質問ですが、
ご指導ご鞭撻のほどお願いいたします。
11-28-2011 02:41 AM
>ライブラリのFFTやexpress VIのスペクトル計測をつないだりしているのですが、
>どうもうまく表示することができません。
添付のダイアグラムで赤矢印を付けた関数ですが、「配列次元変更」で良いですか?
この使い方だと、どんな2D配列でも、「1次元で要素2つだけ」の配列に切り詰められてしまいます。
「指標配列」か何かの間違いでしょうか。
11-30-2011 03:45 AM
M.Shiraishiさん返信ありがとうございます。
ご指摘の箇所は、配列次元変更です。
というのも取得データが4チャンネルあり、そのうちの1チャンネルだけを取り出し、表示解析したいと思っています。
その場合は、どのように配列変更を行えばよろしいのでしょうか。
元データの配列と4チャンネル(元データ)の画像を添付しました。
11-30-2011 07:09 AM
>ご指摘の箇所は、配列次元変更です。
>というのも取得データが4チャンネルあり、そのうちの1チャンネルだけを取り出し、表示解析したいと思っています。
>その場合は、どのように配列変更を行えばよろしいのでしょうか。
・・ですので、「配列次元変更」ではなく「指標配列」をお使い下さい。
配列次元変更は、御所望の動作の目的で使うものではないため。
(両者の動作の違いは、ヘルプでご確認下さい)
2D配列を「指標配列」のアイコンの左上の入力につなぐと、その下に、指標を指定する端子が2つ、現れるはずです。
この端子の上の方に数値(指標)をつなげば「行」が、下の方に数値(指標)をつなげば「列」が、指定できます。
チャンネルが列方向に並んでいるか、行方向に並んでいるか、に合わせ、どちらかに指標の数値をつないで下さい。
(片方だけつなげば、その列なり行なりが取り出されて「1D」が抜き出されます。
両方数値をつなぐと「○行×列」の「要素」が抜き出されます。なお、指標は0番からスタートします)
>元データの配列と4チャンネル(元データ)の画像を添付しました。
「Meas Data」と書いてある2D配列部分が、元データの画像と対応しているように見えないのですが・・・
Meas Dataの2D配列は、列が2つしかなく、行は5つ(以上)ありますが、どのように「4チャンネル」なのか、
対応していないように見えます。
(行方向にチャンネルが並んでいるのなら、各チャンネル2つしか数値が入っていないことになり、
4チャンネルの画像と合いませんで)
12-02-2011 01:28 AM
>「Meas Data」と書いてある2D配列部分が、元データの画像と対応しているように見えないのですが・・・
>Meas Dataの2D配列は、列が2つしかなく、行は5つ(以上)ありますが、どのように「4チャンネル」なのか、
>対応していないように見えます。
>(行方向にチャンネルが並んでいるのなら、各チャンネル2つしか数値が入っていないことになり、
>4チャンネルの画像と合いませんで)
ソフトは、最大16チャンネルまで対応しており、今回使用しているセンサーインターフェイスが4チャンネルまでの対応なので、実際には上4行のみ使用可能です。
>2D配列を「指標配列」のアイコンの左上の入力につなぐと、その下に、指標を指定する端子が2つ、現れるはずです。
>この端子の上の方に数値(指標)をつなげば「行」が、下の方に数値(指標)をつなげば「列」が、指定できます。
指標配列を使用し、今回必要と思われる第1行を指定しました。
ですが、このままスペクトル解析vi.に結線しても解析結果が表示されません。
配列に不備があるのでしょうか?
12-02-2011 06:16 AM
>実際には上4行のみ使用可能です。
とすると、添付の絵のように、行がチャンネルに相当しますから、「第1行」にあたるチャンネルの
データを抜き出すと、列方向に2個しかありませんから、「305, 290」という2個しかないデータで
パワースペクトルを求めるのでしょうか?
「モニタデータ取得」というところにある関数は、具体的に何を出力するのか分かりませんが、
基本的には1回の呼び出しで、各チャンネルにつき2つしか数値を出さない、ということになり、
そしてそれのパワースペクトルを求める・・・のでしょうか。
(今はそうなっているようです)
>このままスペクトル解析vi.に結線しても解析結果が表示されません。
>配列に不備があるのでしょうか?
2個しか数値のない配列でスペクトル解析.viに結線してパワースペクトルを求めるのは
おそらく正しい要求ではないと思いますので、配列に不備がある、ということになります。
実際には、「モニタデータ取得」のところにある関数が送り出す配列の仕様を、今一度確認し、
それと、自分がスペクトルを求めたいデータとの関係を確認するのが必要と思います。
(例えば、短いサイクルで関数が呼び出されて、逐一コマ切れのデータが取得され、それが
一定数集まってからスペクトルを見るのであれば、そう書かなければなりません)