CAEデータ処理サンプル事例:オクターブバンド処理・1/3 オクターブバンド処理

CAEデータ処理サンプル事例:オクターブバンド処理・1/3 オクターブバンド処理

Altair Composeデータ処理サンプル集 > 5 オクターブバンド処理・1/3 オクターブバンド処理

<Composeのデータ処理サンプル集>
CAEの大量の計算結果の処理に苦労していませんか?騒音分析として、オクターブ分析を行いたい場合は、Altair Composeを利用しましょう。
Altair ComposeはMatlab互換のスクリプト処理言語で、HyperMesh等のAltair製品を既にご利用の場合は追加契約は不要。
*本スクリプトは2017.3で作成しております

Altair Compose 製品概要

FFT結果を用いた1/3オクターブバンド処理

オクターブバンド処理は、通常バンドパスフィルタを用いて行われますが、今回は、FFT結果を元に簡易的に処理するサンプルスクリプトファイルsTC_octave_band.omlを紹介します。別事例で紹介したFFT処理のスクリプトにオクターブバンド処理を追加したスクリプトとなります。

 

FFT処理

入力ファイルとして1列目に時刻、2列目以降に計測データが記録されているとします(oscillation.csv)。

Compose-入力ファイル(oscillation.csv)
入力ファイル(oscillation.csv)
Compose-入力ファイル(oscillation.csv)のグラフ
入力ファイル(oscillation.csv)のグラフ

スクリプトsTC_octave_band.omlの9行目のfilenameで入力ファイル名を指定します。データの列数は自動で取得します。また、20、21行目のstおよびedでFFT処理の開始時刻および終了時刻を指定します。ここでは、0.005sec~0.01secの波形をFFT処理します。

Compose-入力ファイル名およびFFT処理の開始、終了時刻の設定
入力ファイル名およびFFT処理の開始、終了時刻の設定(sTC_octave_band.oml)

FFT処理を行い基準圧力p0=2E-5で除算の後、20logのデシベルに変換すると音圧レベルとなります。

Compose-音圧レベル
音圧レベル

1/3オクターブバンド処理

FFT処理では、周波数刻みが線形となりますが、人が感じる騒音は対数に比例すると言われていることから、騒音の評価では1/3オクターブバンド処理したものが用いられます。 47~52行目で1/3オクターブバンドの中心周波数および切断周波数を定義しています。 48行目のoct=3で1/3オクターブバンドを定義しています。Oct=1とすると、オクターブバンド処理となります。上限周波数と下限周波数はFFTの周波数軸から自動で取得しています。中心周波数は1000Hzが基準となるよう2^(n/3)×1000Hzで定義しています。

Compose-オクターブバンドの中心周波数、切断周波数の設定
オクターブバンドの中心周波数、切断周波数の設定(sTC_octave_band.oml)

54~59行目で、各オクターブバンド内の振動エネルギを合算する処理を行います。FFTで得られた振幅の2乗和をとっています。

Compose-各オクターブバンドの振動エネルギの算出
各オクターブバンドの振動エネルギの算出(sTC_octave_band.oml)

72~73行目で振動エネルギを音圧レベルに変換します。基準圧力p0=2E-5の2乗で除算の後、10logでデシベルに変換しています(すでに2乗されているので、20logではなく10logとしています)。

Compose-音圧レベルの算出
音圧レベルの算出

FFT処理の音圧レベルと1/3オクターブバンド処理後の音圧レベルを比較します。

Compose-FFT処理の音圧レベルと1/3オクターブバンド処理後の音圧レベル
FFT処理の音圧レベルと1/3オクターブバンド処理後の音圧レベル

最後に処理したデータをテキストファイルに書き出します。

Compose-出力ファイル
出力ファイル(ocsillation.csv_oct.out)

まとめ

今回はCSVファイルを読み込み、FFT処理の後、1/3オクターブバンド処理を行うスクリプトを紹介しました。本サンプルスクリプトおよびサンプル入出力ファイルは下の[サンプルデータのダウンロード]ボタンよりダウンロード可能です。是非、オクターブバンド処理が必用な場合は、Composeおよび本サンプルスクリプトを利用してみてください。

サンプルデータのダウンロード

サンプル事例一覧に戻る

これ以外にも、さまざまなスクリプトや、スクリプトを応用した便利な使い方があります。より詳細な情報をご希望の方は、お問い合わせください。

問い合わせフォーム