FAQ

FAMOS

スペクトラムキット&周波数解析関係

ID.p004

Q. スペクトラムキットを使用しない場合のFFT演算シーケンス

A.



    

;-----------------
;FFTの設定
;-----------------
    FFTOption 2 1        ;Window( 0:Rectangular /1:Hamming /2:Hanning /3:Blackman /4:Black
man/Harris /5:Flat-Top )
                ;Mode( 0:データ低減 /1:データ挿入 )
    NumData = 1024        ;データ数
    Overrap = 50        ;オーバーラップする率 [%]
    RapData = Floor(NumData*(1-Overrap/100) )
;オーバーラップしない部分のデータ数
Delete Overrap

;-----------------
;アベレージ回数の計算
;-----------------
    tempNum = Leng?( Data)
    temp=1
     NumAve=0
    While temp<=tempNum-NumData+1
    temp=temp+RapData
     NumAve=NumAve+1
    End
    if NumAve=0
     NumAve=NumAve+1
    End
        Delete tempNum
    Delete temp

;-----------------
  Result = Leng( 0, NumData) ;結果を格納する変数
 Delta_F = 1/XDel?( Data)/NumData
 Result = XDel( Result, Delta_F)

  F1_Count = 1                ;FFT計算回数
  F1_Start = 1                ;FFT開始ポイント
  While F1_Count <= NumAve
    F1_DataCut = CutIndex( Data, F1_Start, F1_Start+NumData-1 )
    F1_FFT = Spec( F1_DataCut )
      Delete F1_DataCut
    Result = Result+F1_FFT.m
    F1_Count = F1_Count + 1
  F1_Start = F1_Start + RapData
    End
    Result = Result/(F1_Count-1)

;-----------------
;検証
;  スペクトラムキットと比較
;-----------------
  Res_Spec = AmpSpectrumPeak_1( Data, 1024, 2, 50, 1)
    Delete F1_*
    Delete NumData
    Delete NumAve
    Delete RapData
    Delete Delete Delta_F


製品詳細はこちら

<< スペクトラムキット&周波数解析関係に関するFAQ一覧へ戻る