お願い 大学,研究所,メーカーの方々から多くのアクセスをいただいています。このサイトが有用であると思われましたら,LabVIEW TOPページへのリンクをよろしくお願いします。
本ページの内容をLabVIEW 2014用に改訂したミラーサーバーを作りました。こちらの方がお役に立つと思います。

「LabVIEWを用いた教育用サンプル」

(Since 2003/10/10,最終更新日:2004/05/28)
サイト全体の改定履歴

「サイトマップ」

LabVIEW TOPに戻る


 LabVIEW 6.1を用いて実物の動作を模擬したり,数式的な処理結果をわかりやすく明示して,教育に用いるための例題集です。各VIの太字名称をクリックすると,ブラウザでVIの詳細説明を表示し,必要ならばVIをDownloadできます。(順次,改訂版で数を増やしていきます。)
 このサイトの内容は逐次更新されていますので,最新の内容にアクセスするには「サイト全体の改定履歴」を参考にしてください。

5. FFT周波数解析の説明

FFTによる周波数解析に関して,わかりにくいことをまとめます。
(1) フーリエ変換

フーリエ級数
FFT(Fast Fourier Transform 高速フーリエ変換)という名前ですが,実際には計測を行なうことにより,有限周期で繰り返される時間関数データが仮定されるので,得られるのは時間関数をフーリエ級数展開した時の係数です。
(2) FFT結果の
多様性
元々の測定対象である連続した時間関数信号のスペクトルがFFTで正しく得られるとは限りません。計測時間の違いでFFT結果はいく通りにもなりますし,元信号のスペクトルが隠されてしまう場合もあります。
(3) 窓関数と
フーリエ変換
/FFT
通常,元信号は離散スペクトルを持っていますが,有限時間の計測を行なうことにより,必ずウィンドウ処理されることになります。「窓関数」をNoneにしても,Uniform Windowと呼ばれる矩形窓関数を使ったことになります。
窓関数にはいろいろありますが,周期無限大の孤立波であり,窓関数のスペクトルは-∞〜∞周波数までの連続スペクトルとなります。
そのため,元信号を窓関数で切り出した信号のフーリエ変換処理は,もとの離散スペクトルと窓関数スペクトルの畳み込み積分となります。
フーリエ変換結果は,窓関数スペクトルのメインローブピークを,元信号の各々の離散スペクトル周波数位置に置いたような,拡散した連続スペクトルとなります。
FFTでは,このフーリエ変換された連続スペクトルを,計測時間によって一意に決まる周波数ピッチをもったスペクトルスリット群の窓を通して見ることになります。これは,垣根のスリット群から外の景色を眺めるのと似ており,元の信号のスペクトルがすべて見えるとは限らず,また,正しく見えるとも限りません。
(4) スペクトルの
周期と整合
しない
計測時間
元信号に含まれるスペクトルの周期と整合しない計測時間にもとづいて窓関数処理してフーリエ変換連続スペクトルを求めると,メインローブピーク位置は元信号の各スペクトル周波数位置にありますが,サイドローブの拡散の様子が異なります。
それを計測時間によって一意に決まるスペクトルスリット群の窓を通して見ると,拡散した連続スペクトルのメインローブピーク位置ではなく,少しずれた位置を見ることになります。そのため,ピーク値が低下します。
また,連続スペクトルのサイドローブの,本来なら0値となる周波数位置ではなく,ずれた位置を見るため,サイドローブをリーケージとして観測することになります。
整合した
計測時間
元信号に含まれるスペクトルの周期と整合した計測時間とは,含まれるすべてのスペクトル周期の整数倍になっていることをいい,単に計測データの始点値と終点値に不連続がないというだけではありません。
しかしながら,もともと未知の信号に対して,整合した計測時間を設定すること自体に無理があり,窓関数の選択が重要になります。
(5) 周波数分解能

計測時間長
/窓関数処理
計測時間長はFFTの表示周波数分解能に直結しています。FFTで最終的に得られる計測分解能は,このFFT表示周波数分解能と,窓関数処理で得られるフーリエ変換連続スペクトラムの形に依存します。本来,見えるべきスペクトルが見えないのは計測時間が短すぎる可能性があり,本来,存在しないと思われるスペクトルが見えるのは,リーケージが発生している可能性があります(A/D変換のエリアシングの可能性もあります)。
(6) 0パッディング
(計測データへ
0値の追加)
計測データに対して0パッディングを行なうと,元々のデータ部分に等価的にUniform Windowがかかります。
FFTでは,それを0パッディング後の全体のデータ時間で決まる表示周波数分解能で見ることになり,スペクトルがきわめて拡散します。
0を追加することにより,みかけの計測時間が伸びるのでFFTの表示周波数分解能は,見かけだけは高くなりますが,元の信号の周波数分解能は,最初の等価的Uniform Window処理で得られるフーリエ変換連続スペクトルで決まります。すなわち,元々のデータの長さで決まってしまうので,結果的には周波数分解能を高める効果はありません。
0パッディングと窓関数処理を行なう場合には,0パッデングする前のデータに対して希望の窓関数をかけてから,0パッディングを行なったほうがリーケージが少なくなります。
以上のことを読んでも,まだまだわかりにくいと思いますので,VIサンプルを実際に動かし,周波数や計測時間をいろいろ変えて試してください。なお,以下の資料を参考にさせていただきました。
 (1)The Fundamentals of FFT-Based Signal Analysis and Measurement (Application Note 041),NI社
 (2)Zero Padding Does Not Buy Spectral Resolution,NI社
 (3)FFTと時間窓(ウィンドウ),株式会社 小野測器
 (4)Time window functions Category,Dew Research社

 5.1 周波数解析でのリーケージとウィンドウ処理の説明 (Leakage.vi フロントパネルとダイアグラムの説明)

 周波数解析を行なう場合の,データ収集時間と波形周期のミスマッチによるリーケージの影響と,これを減らすためのウィンドウ処理について調べる例題です。(Download 163 kB)

 5.2 周波数解析でのウィンドウ処理の詳細 (FFTWindow.vi フロントパネルとダイアグラムの説明)

 周波数解析の際の窓関数の働きを,時間領域と周波数領域を対比させながら調べるVIです。内容は,NI社のよくまとまっている「The Fundamentals of FFT-Based Signal Analysis and Measurement」 (Application Note 041)を少し補足するものです。理論に沿って順次,計算を行なっているため,計算誤差の累積があるようで,直接FFTした結果とは少し値が異なる場合があります。
 また,Exact BlackmanとFlat Top Windowに関しては,NI社のApplication Note 041のTable1 (P14)に書かれている特性値と一致しません。調べたところ,Flat Top Windowに関しては複数の窓関数定義があるようで,LabVIEWに使われているのは,「Flat Top Window.vi」関数のHelpに記述されているもので,メインローブ幅がさらに広いものです。(Download 730 kB)

 5.3 窓関数の時暦と連続周波数スペクトラム

 7種類の窓関数 (Uniformフロントパネルとダイアグラムの説明Hanningフロントパネルとダイアグラムの説明Hammingフロントパネルとダイアグラムの説明Othersフロントパネルとダイアグラムの説明)の時間関数式を使って,机上でフーリエ変換して連続周波数スペクトラムを求めたものです。時間関数式内部の+/-符号は,計測が(-T/2)から始まる場合に合わせてあります。VIでの計算結果はNI社のApplication Note 041のTable1 (P14)に書かれている特性値とほぼ一致します。ダウンロードする場合は,Uniform Window.viとHanning Window.vi,Hamming Window.vi,Other Window.viの4つを圧縮した自己解凍ファイルです。(Download 220 kB)
 また,窓関数のフーリエ変換の式展開を(FourierCalc.pdf)に示します。

 5.4 FFT計測データへの0パディングの影響 (FFT0Padding.viフロントパネルとダイアグラムの説明)

 FFTに用いる計測データに対して,後ろに0を追加する0paddingは,データの長さをそろえるのに使われます。
このVIは、この0paddingの影響について調べるものです。(Download 309 kB)

 5.5 FFTスペクトラムの縦軸値の説明 (Spectrum.vi フロントパネルとダイアグラムの説明)

 FFTスペクトラム解析を行った場合,展開された周波数値については理解しやすいのですが,縦軸に現れる数値の意味はわかりにくいものです。このVIはこれについて調べる例題です。(Download 189 kB)

4. 各種のアナログ変調方式の説明 (Modulation.vi フロントパネルとダイアグラムの説明)

 各種のアナログ変調方式 (AM, DSB, USB, LSB, VSB, PM, FM) による信号波形と,変調された信号の周波数スペクトルを説明する例題です。(Download 176 kB)
 なお,VIを動作させて,位相変調や周波数変調された信号のスペクトルが,無限離散スペクトルになることがおかしいと思われる方は,(FM計算.pdf)を参照してみてください。

3. 油圧アクチュエータの位置制御の説明

 3.1 メカニカル制御による油圧アクチュエータの位置決め (MechACT.vi フロントパネルとダイアグラムの説明)

 昔から使われているメカニカルコントロールバルブによる,油圧2系統のタンデムアクチュエータの位置決めを説明する例題です。Downloadする場合は,MechACT.viと,フィードバックリンクの動きを表現するSUB VIであるdrawSpan2.viを圧縮した自己解凍ファイルです。(MechACT.exe 90kB)

 3.2 電気制御によるアクチュエータの位置決め (Act_Cont.vi フロントパネルとダイアグラムの説明)

 耐故障性のために多重化された制御装置を持つ,最新のDDV(Direct Drive Valve)による油圧アクチュエータ位置決め制御系の説明です。
 カスタム制御器がLabVIEW 6.1で作られているので,制御弁の周囲の領域が白くマスクされています。
LabVIEW 7でカスタム制御器を作る場合には,透明GIFフォーマットの画像が使えるので,マスクされません。
(Download 122kB)

2. ナイキスト(Nyquist)周波数の説明

 2.1 通常のA/D変換の際のナイキスト条件 (Nyquist.vi フロントパネルとダイアグラムの説明)

 アナログ信号をA/D変換した信号を処理するデジタル制御系のコントローラの演算周波数と,そのコントローラで正しく処理できる最高周波数の関係,いわゆる,ナイキスト定理を説明するための例題です。また,入力信号がナイキスト周波数以下でもデジタル化した場合に発生する高調波歪のスペクトルを表示します。(Download 81kB)

 2.2 全デジタル領域でのナイキスト条件 (DigitalNyquist.vi フロントパネルとダイアグラムの説明)

 ナイキスト条件は帯域幅の問題なので,アナログ信号をA/D変換した場合に限りません。
全てデジタル信号の機器を扱う場合にも発生します。たとえば,高応答のデジタルセンサの信号を,低い転送レートのバスに接続して情報伝送する場合にも発生します。これに気づかないと本来の計測帯域にノイズが乗っているのだと誤解する場合があります。(Download 115kB)

1. 航空機の高度保持制御系 (AltHold.vi フロントパネルとダイアグラムの説明)

 航空機における高度保持制御の方法を簡単に説明するための例題です。(Download 67kB)

LabVIEW TOPに戻る

Presented by ALS-CI CO., LTD.