筋電波形解析用FFTプログラム 資料のページ

Last update: <2004/05/09 15:26:05 +0900>


筋電測定をしていたときに作成したFFT,ディジタルフィルタのプログラム.


手順にそってリンクをたどると必要なプログラムが表示される.


データ処理手順
  1. データを連番で測定する.
  2. MVCを測定するため,数秒間最大随意収縮を測定する
  3. データを連番でFFTにかける.
  4. 最大随意収縮データよりMVCを算出する.
  5. データをつなげる.
  6. APDF解析をおこなう.


新しいプログラムによるデータ処理手順

  1. データを連番で測定する.
  2. MVCを測定するため,数秒間最大随意収縮を測定する
  3. データを連番でFFTにかける.
  4. 最大随意収縮データよりMVCを算出する.
  5. データをつなげる.
  6. APDF解析をおこなう.


計測用プログラム
/addma/

ADボード(PCI-9112)を介して筋電データを毎秒SAMPLING_RATE(=1024)回計測する.利用方法は

main filename sec

filename:連番ファイルの名前
sec:1つのファイルに記録されるデータの時間(秒)

sec(秒)毎にビープ音がなり,出力ファイルの連番がインクリメントされる.ファイルの命名法則は"filename.#"で.#には0から連続して自然数が入る.キーボードを押された時点で,現在のsec(秒)分の測定が終了するとプログラムを終了する.




/addma-DASK/

ADボード(PCI-9112)を介して筋電データを毎秒SAMPLING_RATE(=1024)回計測する.利用方法は

addsk filename range sec

filename:連番ファイルの名前
range:ADボードのレンジ,
0=[-0.625:0.625]
1=[-1.250:1.250]
2=[-2.500:2.500],単位は全て[Volt]
sec:測定時間(単位:10秒)

このプログラムでは10秒のバッファを用意し,5秒間のダブルバッファを繰り返し利用することで,継ぎ目のないデータ記録を実現している.60秒おきにファイル名の拡張子がインクリメントされる.





解析用プログラム


/analysis/

連番ファイルを一つの連続データにまとめる.また振幅データファイルはMVC値で正規化したものを出力する.利用方法は

analysis.exe filename filenum MVC値

filename:連番ファイルの名前
filenum:連番ファイル数
MVC値:レンジを揃えた後のMVC振幅値

例)
filename.0.mpf
filename.1.mpf
filename.2.mpf
filename.0.pow
filename.1.pow
filename.2.pow
というファイルがある場合,

analysis.exe filename 3 3000.0
とすると,

filename.mpf
;出力フォーマットは 開始からの時間(秒と等価) MPF
filename.pow
;出力フォーマットは 開始からの時間(秒と等価) POWER





/dataanalysis/

生データを再現してCG表示する.利用方法は

cg.exe filename

filename:測定した生データファイル名





/fft-conp/

生データをFFT解析し,平均周波数(MPF)とパワー(POWER)を表示する.
表示は時間(DFT_N=1024おきに1増加,秒と等価),MPF(フィルタ後),POWER

fftp.exe filename filenum

filename:測定した生データファイル名
filenum:連番ファイル数




/fft-main/

生データをFFT解析し,平均周波数(MPF)とパワー(POWER)をファイルに出力する.また5秒間のスペクトル分布が出力される.平均周波数はDFT_N(=1024)おきに算出される.生データのサンプリングが1024[Hz]であれば1秒おきとなる.パワーは実効値で,平滑化する刻み幅は平均周波数と同じである.

fft.exe filename

filename:測定した生データファイル名

例)
filenameというファイルがあるとき,

fft filename

とすると,

filename-10.fft ;5-10秒のスペクトル分布の合計
filename-30.fft ;25-30秒のスペクトル分布の合計
filename-60.fft ;55-60秒のスペクトル分布の合計
;出力フォーマットは周波数,IIRフィルタ後スペクトル,IIRフィルタ前スペクトル

filename.mpf

;出力フォーマットは時間,IIRフィルタ後のMPF,IIRフィルタ前のMPF

filename.pow

;出力フォーマットは時間,IIRフィルタ後のPower,IIRフィルタ前のPower





/fft-cont/

生データを連番でFFT解析し,平均周波数(MPF)とパワー(POWER)をファイルに出力する.また5秒間のスペクトル分布が出力される.パワーは実効値で,平滑化する刻み幅を指定する.平均周波数はDFT_N(=1024)おきに算出される.生データのサンプリングが1024[Hz]であれば1秒おきとなる.

fftc.exe filename filenum along

filename:測定した生データファイル名
filenum:連番ファイル数
along:パワーを算出するためのデータの刻み幅

例)
filename.0
filename.1
filename.2
というファイルがあるとき,

fftc.exe filename 3 512
とすると,

filename.0-10.fft ;5-10秒のスペクトル分布の合計
filename.0-30.fft ;25-30秒のスペクトル分布の合計
filename.0-60.fft ;55-60秒のスペクトル分布の合計
filename.1-10.fft
filename.1-30.fft
filename.1-60.fft
filename.2-10.fft
filename.2-30.fft
filename.2-60.fft

;出力フォーマットは周波数,IIRフィルタ後スペクトル,IIRフィルタ前スペクトル

filename.0.mpf
filename.1.mpf
filename.2.mpf

;出力フォーマットは時間,IIRフィルタ後のMPF,IIRフィルタ前のMPF

filename.0.pow
filename.1.pow
filename.2.pow

;出力フォーマットは時間,IIRフィルタ後のPower,IIRフィルタ前のPower




/fft-max/

生データをIIRフィルタにかけ,そこでの最大瞬間振幅値および指定された刻み幅における平均の最大値を算出し,MVCとする.

fftmax.exe filename along

filename:測定した生データファイル名
along:パワーを算出するためのデータの刻み幅





/histgramAPDF/

analysis.exeより得られた振幅データよりAPDF解析にかける.

histapdf.exe filename

出力はfilename.apdf,フォーマットは0.0から1.0までの0.001刻みで確率密度関数,確率分布関数である.




/fft-cal/

生データを連番でFFT解析し,平均周波数(MPF)とパワー(POWER)をファイルに出力する.パワーとは実効値である.平均周波数はDFT_N(=1024)おきに算出される.またパワーは指定された刻み幅での算出となる.生データのサンプリングが1024[Hz]であれば1秒おきとなる.

fftcal.exe filename filenum range along

filename:測定した生データファイル名
filenum:連番ファイル数
range:測定時のレンジ
along:パワーを算出するためのデータの刻み幅

例)
filename.0
filename.1
filename.2
というレンジを[-0.675:0.675]で計測したデータがあるとき,

fftc.exe filename 3 0 1024
とすると,

filename.mpf
;出力フォーマットは時間,IIRフィルタ後のMPF,IIRフィルタ前のMPF

filename.pow

;出力フォーマットは時間,IIRフィルタ後のPower,IIRフィルタ前のPower