gijyutsu-keisan.com

2.2.Excel関数として使用

本ソフトウエアは、フーリエ変換を関数として実行できるよう以下3つの関数を準備しました。
  1. 離散フーリエ変換:FuncDFT
  2. 高速フーリエ変換:FuncFFT
  3. 高速フーリエ逆変換:FuncIFFT
これら3つの関数の使い方サンプルをFunction_sampleシートに記述していますので、ご参照ください。
作成したExcelフーリエ変換関数 なお本関数は、ソフトウエアに定義されているマクロの標準モジュール“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 半正弦波