NI製品ディスカッション

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

スペクトル計測のX軸の値(起点とdt)と平均回数のカウントはどのような定義になっているのでしょうか?

「スペクトル計測」というアイコンを使用してFFTを行ったグラフとデータを
得たいのですが、このアイコンの出力からはY軸の値のみしか取り出せないようです。
現時点でグラフの表示はできるのですがデータ(数値)で取り出せません。
そこでYの値というのは一体何Hzのときの値なのかを知りたいのですが、
どのようにしたらX軸の値がわかるのでしょうか?
すでに投稿されているものの中にX軸の値は起点が0でdtが1と記載されている
記事を見たのですが、それはサンプルのときのみに当てはまるようで、
今回私が使用したものだと当てはまらないように思います。
そこでこの「スペクトル計測」で得られるY値に対応するXの値はどのように
決まるのかを教えていただけないでしょうか?
 
また、平均回数を指定して解析することができるのですが、
ヘルプを見ると指定したパケット数を読み取ると平均化する
となっているのですが、もっと具体的に詳細をお教え願えないでしょうか?
 
現在私が使用しているviを添付いたしますのでご検討よろしくお願いいたします。
 
 
0 件の賞賛
メッセージ1/11
5,517件の閲覧回数
hama様、
平素よりNI製品をご利用頂きまして誠に有難うございます。
日本ナショナルインスツルメンツ技術部 木村と申します。

スペクトル計測関数の出力の解析に関しての質問に対して以下の通り回答いたします。

スペクトル計測関数でパワースペクトルを作成される際に出力は
ダイナミックデータとして出てきます。これはデータタイプとしては波形を
含むいくつかの情報が結合されたデータタイプです。このダイナミックデータの
中身をご覧になるためにはハイライト実行時にプローブを配線に置いていただくと
ご覧になれます。このダイナミックデータの中にある波形を取り出すためには
「ダイナミックデータから変換」という関数が必要になります。この関数の中の
設定で結果データタイプを単一波形に設定していただきます。出てくる波形を
「波形要素取得」関数で要素別に扱えるようにしていただくと、Yの情報が配列として
ご覧になれまして、dtの情報でその配列の指標ごとの増分がご覧になれると
思います。dtとt0の値はおっしゃる通り、この場合では1と0とは限らないので
上記のようにお調べください。

平均回数がどのように使用されているかは具体的にスペクトル計測関数の中で
使用されている「FFTパワースペクトル」関数のヘルプを参照していただくと
もう少し詳しくこのように書いてあります。

「平均の数は、RMS平均化およびVector平均化に使用される平均数を指定します。
重み付けモードがExponentialの場合、平均化処理は連続になります。重み付けモードが
Linearの場合、選択した平均の数を計算すると平均化処理は停止します。」

以上の内容でなにかご不明な点がありましたら、ご連絡願います。
今後とも宜しく御願いします。
0 件の賞賛
メッセージ2/11
5,494件の閲覧回数
日本ナショナルインスツルメンツ 木村様
 
ご回答ありがとうございます。
アドバイスいただいたようにハイライト実行して
「スペクトル計測」の出力中にプローブを設けて
dtの値を調べることができました。
非常に基本的な質問で申し訳ないのですが、dtとは
なんでしょう?時間の変化量なのか、周波数の変化量なのか?
どちらなのでしょうか??いままで勝手に周波数の変化量として
扱ってしまったのですが、今回しっかりと確認しておきたいので、
よろしくお願いいたします。
これに付随することですが、dtが周波数の変化量とすると、周波数の
最大値と最小値はいくつになるのでしょうか?
また、dtが時間の変化量だとするとdtの値ごとにFFT処理をしているということでしょうか?
 
「ダイナミックデータから変換」(単一波形を選択)を使用してその後
「波形要素取得」でYの値を配列として扱えるとのことでしたが、
「ダイナミックデータから変換」と「配列要素取得」の間に何か配線するのでしょうか?
直接配線しようとしたらエラーになりました。
 
 
平均回数のことですが、1回平均するのにどのくらいの時間が
かかるかが知りたいのですが、どうしたらわかるでしょうか?
 
以上よろしくお願いいたします。
 
0 件の賞賛
メッセージ3/11
5,479件の閲覧回数
hama様、

お世話になっております。
日本ナショナルインスツルメンツ技術部 木村です。

私の返答を参考にしていただきありがとうございます。しかしながら
説明の方で不十分な点があったようです。大変失礼いたしました。

ご質問に対して下記の通り回答いたします。

波形データのdt値の詳細なのですが、波形データタイプは普通の
数値配列と違い、時間軸の情報を含みます。この時間軸の情報を
dtとt0という形で記録しています。このdtはデータポイント間の
時間の変化量を示します。

ですが、「スペクトル計測」からの出力の中にある波形データは
ダイナミックデータタイプであり、そのデータタイプの中に補足情報が
含まれてます。先ほど設置していただいたダイナミックデータ上の
プローブを再度ご覧になっていただきたいと思います。プローブ表示の
左下を見ていただくと、X次元という項目があり、その中に「周波数(Hz)」と
表示されていると思いますが、このようにダイナミックデータタイプの補足情報により、
Xの説明がされております。ですので、この場合はdtを周波数の変化量として
扱われております。

配線をする際に「ダイナミックデータから変換」関数と「波形要素取得」関数を
直接つなげることが可能ではないと仰いましたが、ひとつ確認していただきたい点が
ございます。タイプミスでしたら申し訳ありませんが
    「ダイナミックデータから変換」と「配列要素取得」の間に何か配線するのでしょうか?

と書いていただいた質問の二つ目の関数が実際に「波形要素取得」関数であることを
再度ご確認していただけますか。「配列要素取得」関数では扱うデータタイプが異なるので
配線はできません。またこちらで作成したサンプルのスクリーンショットをメッセージの下に
添付させていただきますので、ご確認後まだ配線に問題がございましたらこちらをご覧ください。

平均をする際にかかる時間に関してのご質問ですが、こちらはPCの性能やCPUの使用度などに
影響されるので、実際的には存じかねます。関数の実行にかかる時間を計測する方法としては、
シーケンスストラクチャとタイミング関数を使用する方法があります。しかしながら、
エクスプレスVIの中で平均を行うコードの部分を計測することはできないため、
計測はエクスプレスVI全体にかかる時間を計測することになります。こちらでお調べした結果、
平均回数を大幅に変えてもエクスプレスVI全体の実行にかかる時間に大きな変化がないため、
平均の計算はほとんど時間がかかっていないと思います。こちらも作成したVIのスクリーンショットを
添付しますので参考にしていただくようお願い申し上げます。

以上の内容でなにかご不明な点がありましたら、ご連絡願います。
宜しく御願いいたします。

日本ナショナルインスツルメンツ技術部
木村

すべてをダウンロード
0 件の賞賛
メッセージ4/11
5,448件の閲覧回数
NI 木村様 
 
たびたびの質問にもご解答いただきありがとうございます。
アドバイスいただいたとおり配線してみたところやはりエラーがでます。
画像を添付いたします。
また、配列要素取得と書いて混乱を招いてしまい申し訳ありませんでした。
単なる私のタイプミスです。
 
また、実行中にダイナミックデータ内容をプローブで
みたところ私のviにはX次元の項目に周波数と表示されませんでした。
これも画像で添付いたします。
 
解析している波がSI READで読見込んだ場合、ダイナミックデータから変換と
波形要素取得が配線できなかったり、プローブでダイナミックデータを観測
したときにX次元の表記がなくなったりしてしまうのでしょうか?
 
 
以上よろしくお願いいたします。
 
0 件の賞賛
メッセージ5/11
5,399件の閲覧回数
NI 木村様 
 
たびたびの質問にもご解答いただきありがとうございます。
アドバイスいただいたとおり配線してみたところやはりエラーがでます。
画像を添付いたします。
また、配列要素取得と書いて混乱を招いてしまい申し訳ありませんでした。
単なる私のタイプミスです。
 
また、実行中にダイナミックデータ内容をプローブで
みたところ私のviにはX次元の項目に周波数と表示されませんでした。
これも画像で添付いたします。
 
解析している波がSI READで読見込んだ場合、ダイナミックデータから変換と
波形要素取得が配線できなかったり、プローブでダイナミックデータを観測
したときにX次元の表記がなくなったりしてしまうのでしょうか?
 
 
以上よろしくお願いいたします。
すべてをダウンロード
0 件の賞賛
メッセージ6/11
5,399件の閲覧回数
 hama様、

お世話になっております。
日本ナショナルインスツルメンツ技術部 木村です。

詳しい状況の報告をありがとうございます。

配線エラーの問題ですが、こちらは「ダイナミックデータから変換」関数の
設定を変えていただくと回避されると思います。設定の中で結果データタイプを
「シングル波形」または「単一波形」にしてください。関数のアイコンが
ブロックダイアグラム上で少し見かけがかわりますので設定が変わっていることを
確認できます。
画像を添付しますのでご確認願います。

また、dtに関して私の回答があまり適してなく、誠に申し訳ありませんでした。

Hama様が仰るとおり、ダイナミックデータにはX次元が表示されるときと
表示されないときがございます。Hama様のようにスペクトル計測関数に波形データを
入力されるときには表示されません。波形データには補足情報が含まれていないため
スペクトル計測関数は新規ダイナミックデータを作成します。これは「SI Read」関数とは関係なく、
波形データを扱う際に発生します。その際にはダイナミックデータに含まれる
補足情報はデフォルト設定でX次元は無記名のまま出力されます。X次元の情報が
無記名であっても先ほどご説明させていただいた内容は変わりません。
「スペクトル計測」関数から出力されるFFTデータのX次元は周波数であります。

以上の内容で何かご不明な点がございましたらご連絡願います。
宜しくお願いいたします。

日本ナショナルインスツルメンツ技術部
木村
メッセージ7/11
5,382件の閲覧回数


NI 木村様 

たびたびお世話になっております。

ダイナミックデータにはX次元の表記の件について疑問点が

だいぶ解決いたしました。ありがとうございました。

1つわからないことがあるのですが、

X次元が周波数ということですが、この場合0~22040Hz

帯域を示していると考えてよいのでしょうか?

私の使用しているviではdtが10でYの要素が2204個ですので単純に考えると

そう思ってしまうのですが、はたしてこのように考えてよいのでしょうか?

その様子がわかる画像を添付いたします。


配線エラーの問題ですが、アドバイスいただいたように

「シングル波形」を選択してみました。しかし困ったことに添付いただいた画像のように関数のアイコンの

みかけがかわりません。


 

よろしくおねがいいたします。

すべてをダウンロード
0 件の賞賛
メッセージ8/11
5,368件の閲覧回数
hama様、

日本ナショナルインスツルメンツ技術部の木村です。

確認のご報告をいただきありがとうございました。

なお、周波数の計算はhama様の仰るとおりでdtが10、Yが2204要素あるということで
周波数のデータ帯域は0~22040Hzです。

配線の問題については、こちらで確認ができました。なぜかhama様がお作りになった
「Sound Card Auto Power Spectrum.vi」ではこの変更が認識されないようです。
新規VIで作り、設定を行なった「ダイナミックデータから変換」関数は正常に作動し、またこの関数を
「Sound Card Auto Power Spectrum.vi」にその新規VIから移すことも可能なことがこちらでは確認できました。
hama様がご利用になっているLabVIEWのバージョンをお教え願います。
またこの「Sound Card Auto Power Spectrum.vi」の中にある関数すべてを新規VIに
コピーしていただき、その新規VIで同じ現象が起こるかを確認の後、ご報告お願いできますか?
その間に、こちらのほうでさらにお調べいたしますのでご連絡のほうを宜しくお願いいたします。

日本ナショナルインスツルメンツ技術部
木村

このメッセージは 02-27-2007 11:33 PMに N.Kimura が編集しています。

メッセージ9/11
5,360件の閲覧回数
NI 木村様
 
お世話になっております。
アドバイスいただいたとおり、新規viにコピーして
配線をしてみたところ上手くいきました。
ありがとうございました。
 
私の使用しているのはLabVIEW7.1です。
 
これで問題は全てクリアーになりました。
ありがとうございました。
 
しかし、なぜこのviだと配線できず、新規viにコピーすると配線できるように
なるのかがわかりませんので、もし原因がわかるようでしたら
お教え願えますでしょうか?
 
よろしくお願いいたします。
また、何度もしつこく質問いたしましてすみません。
本当に助かりました。ありがとうございました。
 
 
0 件の賞賛
メッセージ10/11
5,342件の閲覧回数