2.2.Excel関数として使用
本ソフトウエアは、フーリエ変換を関数として実行できるよう以下3つの関数を準備しました。
- 離散フーリエ変換:FuncDFT
- 高速フーリエ変換:FuncFFT
- 高速フーリエ逆変換:FuncIFFT
これら3つの関数の使い方サンプルをFunction_sampleシートに記述していますので、ご参照ください。
なお本関数は、ソフトウエアに定義されているマクロの標準モジュール“M60_CalcFourier”が必要になります。
このマクロが定義されていないExcelファイルでは動作しませんのでご注意願います。
2.2.1.FuncDFT関数
= FuncDFT ( セル範囲, 出力点数, 窓関数, 出力形式 )
(1)入力
セル範囲 |
セル範囲は1列のみで指定します。また、とびとびのセルは選択できません。
例)D4 : D156→○、D4 : E120→×、D4 : D5, D10 : D150→
|
出力点数 |
データ出力数を指定します。
指定しない場合は“データ点数”(偶数の場合)、または“データ点数+1”(奇数の場合)として実行されます。
また、窓関数や出力形式を指定する場合は、“,”を必ず入力指定ください。
|
窓関数 |
窓関数の種類を番号により指定します
(番号と窓関数の対応は2.3節を参照してください)。
指定しない場合は“0”(=矩形)として実行されます。
また、出力形式を指定する場合は“,”を必ず入力指定ください(計算例2、3参照)。
|
出力形式 |
下記(2)に従い出力形式を指定します。
指定しない場合は“0”で実行されます。
|
(2)出力(二次配列)
一次配列 |
実軸の振幅(出力形式=0) または 振幅スペクトル(出力形式=1) |
二次配列 |
虚軸の振幅(出力形式=0) または 位相スペクトル(出力形式=1) |
<計算例1> = FuncDFT ( D4 : D153, 150 , 1, 1 )
セル範囲=D4~D153、出力点数=150、窓関数=ハニング、出力形式=振幅および位相スペクトルとして離散フーリエ変換を実施します。
出力は2列150行分を選択した上で、上記関数をセル1か所に入力してください。
また、最後は“Enter”ではなく、“Ctrl + Enter”を押してください(配列関数のため)。
1列のみ選択した場合は、実軸または振幅スペクトルのみ出力されます。
<計算例2>= FuncDFT ( D4 : D153 )
<計算例3>= FuncDFT ( D4 : D153, , , 1 )
2.2.2.FuncFFT関数
= FuncFFT ( セル範囲, 出力点数, 窓関数, 出力形式 )
(1)入力
セルh囲 |
セル範囲は1列のみで指定します。また、とびとびのセルは選択できません。
例)D4 : D156→○、D4 : E120→×、D4 : D5, D10 : D150→×
|
出力点数 |
データ出力数を“2のべき乗値”(例えば512、1024など)で指定します。
指定しない場合は“データ点数”を含む最も小さい2のべき乗値として実行されます。
例えば、257点のセルデータを選択した場合、出力点数は512になります。
また、窓関数や出力形式を指定する場合は、“,”を必ず入力指定ください。
|
窓関数 |
窓関数の種類を番号により指定します
(番号と窓関数の対応は2.3節を参照してください)。
指定しない場合は“0”(=矩形)として実行されます。
また、出力形式を指定する場合は“,”を必ず入力指定ください(計算例2、3参照)。
|
出力形式 |
下記(2)に従い出力形式を指定します。
指定しない場合は“0”で実行されます。
|
(2)出力(二次配列)
一次配列 |
実軸の振幅(出力形式=0) または 振幅スペクトル(出力形式=1) |
二次配列 |
虚軸の振幅(出力形式=0) または 位相スペクトル(出力形式=1) |
<計算例1> = FuncFFT ( D4 : D153, 150 , 1, 1 )
セル範囲=D4~D153、出力点数=128、窓関数=ハニング、出力形式=振幅および位相スペクトルとして高速フーリエ変換を実施します。
出力は2列128行分を選択した上で、上記関数をセル1か所に入力してください。
また、最後は“Enter”ではなく、“Ctrl + Enter”を押してください(配列関数のため)。
1列のみ選択した場合は、実軸または振幅スペクトルのみ出力されます。
<計算例2>= FuncFFT ( D4 : D153 )
<計算例3>= FuncFFT ( D4 : D153, , , 1 )
2.2.3.FuncIFFT関数
= FuncIFFT ( セル範囲, 入力形式 )
(1)入力
セル範囲 |
セル範囲は2列で指定します。また、とびとびのセルは選択できません。
例)D4 : E156→○、D4 : D5, E10 : E150→×
|
入力形式 |
0の場合 → 一列目:実軸振幅、二列目:虚軸振幅
1の場合 → 一列目:振幅スペクトル、二列目:位相スペクトル
|
(2)出力(二次配列)
一次:実軸の振幅、二次:虚軸の振幅
<計算例1> = FuncIFFT ( D4 : E133, 1 )
セル範囲=D4~E133、入力形式=振幅スペクトル(D列)および位相スペクトル(E列)として高速フーリエ逆変換を実施します。
出力は1列128行分を選択した上で、上記関数をセル1か所に入力してください。
また、最後は“Enter”ではなく、“Ctrl + Enter”を押してください(配列関数のため)。
1列のみ選択した場合は、実軸または振幅スペクトルのみ出力されます。
<計算例2> = FuncFFT ( D4 : D153 )
この場合は、D列に実軸振幅、E列に虚軸振幅を入力する必要があります。
2.3.窓関数
本ソフトウエアでは、以下の窓関数を準備しています。
指定No |
窓関数 |
0 |
矩形(指定なし) |
1 |
ハニング |
2 |
ハミング |
3 |
ガウス1σ |
4 |
ガウス2σ |
5 |
ガウス3σ |
6 |
ブラックマンハリス |
7 |
フラップトップ |
8 |
半正弦波 |