07-08-2009 10:54 AM
フーリエ変換のプログラムの作成についての質問です。
現在、LabVIEWで位置情報の波形を取得し、スプレッドシートでそのファイルを出力しています。
これを再度読み込み、フーリエ変換してスペクトル情報を得てまたそのファイルを制作しようと思っています。
波形のファイルは1列目に位置情報、2列目に信号強度の情報が出力されています。
実数FFTをした後、ファイルにはスペクトル要素の強度が出力されるのですが、
同時にそのスペクトル要素に対応する周波数情報も一緒に出力されるようにしようと思っているのですが、うまくいきません。
初歩的な質問で申し訳ありませんが、よろしければ良い方法をご享受下さい。
LabVIEWのversionは8.5です。
07-12-2009 08:14 PM
frkn25様
日本ナショナルインスツルメンツ技術部 西原でございます。
平素よりお世話になっております。
宜しければ、frkn25様のお作りになられているVIを添付して頂きますと、幸いです。
そちらを参考にさせて頂いて、回答させて頂きたいと存じます。
西原
07-13-2009 12:30 AM
西原さま
返信ありがとうございます。
viを添付させて頂きます。
よろしくお願致します。
07-14-2009 08:07 AM
frkn25様
日本ナショナルインスツルメンツ技術部 西原でございます。
お返事が遅れまして、大変申し訳ございません。
VIを拝見させて頂きましたが、元のファイルには周波数情報がございますでしょうか?
もしございましたら、スプレッドシートファイルから読み取った際に、全ての行から情報を取り出し、
FFTを掛けた配列と、最後に連結させて保存すれば良いと思うのですが。
それとも、周波数情報は別枠で追加みたいな形で保存されたいという事でしょうか?
お時間を頂いて申し訳ございませんが、宜しくお願い致します。
西原
07-14-2009 09:49 PM
西原様
元のファイルにはただの波形情報が入っています。
時間情報のみで周波数情報は入っていません。
ですので自動的に周波数の初期値と分解能(増加量)を、
読み込むデータから自動的に算出できないかと考えています。
周波数情報の保存場所は特に考えていません。
言葉足らずで申し訳ありません。
よろしくお願致します。
07-15-2009 06:43 AM
frkn25様
西原です。
ご返事ありがとうございます。
自動的に周波数の初期値と分解能(増加量)を、
読み込むデータから自動的に算出とは、波形データから周波数を求めるということでしょうか?
波形情報と時間情報から周波数や初期値を算出できるかどうかはデータによると
思いますが、frkn25様のお持ちの波形情報はどのような情報でしょうか?
大変申し訳ございませんが、まだfrkn25様がされたい事が掴みきれてない状況です。
宜しくお願い致します。
西原
07-17-2009 12:36 AM
西原様
波形情報は、一列目に時間情報、二列目に時間情報に対応した信号強度は入った配列です。
これをフーリエ変換すると、スペクトルの形は正しいが、横軸の周波数が意味のない値で出力されます。
これをスペクトルに対応した正しい周波数に計算し、出力できないかと考えています。
少し自分でやってみて、
フーリエ変換したスペクトルの配列の中から、要素数とdtを取り出して計算し
もう一度配列を作りなおすことで、正しい周波数に対応したスペクトルの配列が得られました。
自己解決のような形になってしまいました。
申し訳ございません。
07-17-2009 12:50 AM
frkn25様
平素よりお世話になっております。
西原です。
お忙しい中、ご連絡頂きましてありがとうございます。
この度はお役に立てず申し訳ございませんでした。
今後もまた何かご質問がございましたら、こちらのDFをご利用ください。
宜しくお願い申し上げます。
技術部 西原