目次

    オクターブバンド解析ガイド:FFTビニング vs フィルタバンク方式

    This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction. This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.This is a long personal introduction.

    オクターブバンド解析は、基本的に 2 つの方法で実装できます.FFT ビニング(PSD/FFT ビンを 1/1 および 1/3 オクターブバンドに統合する方法)と、真のオクターブフィルタバンク(規格準拠志向のバンドパスフィルタ + RMS/Leq 平均化)です. 本記事では、2 つの手法の動作原理、それぞれの結果が一致する条件、差異が生じるポイント(スケーリング、窓 ENBW、バンド端での重み付け、レイテンシ、過渡応答)、そして OpenTest が音響・NVH・規格適合測定のために両方式をどのようにサポートしているかを比較します.

    概念の詳細な説明については、こちらを参照してください → オクターブバンド解析:数学的および工学的根拠

    オクターブバンドフィルタバンク(真のオクターブ/CPB フィルタバンク)

    並列バンドパスフィルタ + エネルギ検出器 + 時間平均

    フィルタバンク(真のオクターブ)アナライザは通常、次のように動作します:

    1. 各バンドの中心周波数ごとに、バンドパスフィルタ H_b(z)(または H_b(s))を設計する.
    2. フィルタを並列に動作させて、バンド信号 y_b(t) を取得する.
    3. 各バンドの平均二乗値/電力を計算し、時間平均を適用してバンドレベルを出力する.

    機器間で結果を比較可能にするには、指定されたフィルタセットについて、フィルタの振幅特性が IEC/ANSI の許容マスク(クラス)を満足していなければなりません. [1][3]

    IIR vs FIR:実務で IIR(カスケード接続のバイクアッド)が一般的な理由

    • IIR の利点:所望のロールオフに対して次数を低く抑えられる、計算量が少ない、リアルタイム/組み込み用途に適する、SOS/バイクアッドとして実装すれば数値的に安定しやすい.
    • FIR の利点:線形位相が実現可能(波形形状が重要な場合に有用);設計・検証がより扱いやすい場合がある.

    バンドレベル出力では位相は通常主な関心事ではないため、IIR フィルタバンクが一般的です.

    マルチレート処理:CPB フィルタバンクの「秘密兵器」

    低周波数側の CPB バンドは非常に帯域が狭くなります. それらを元のサンプリング周波数のまま実装するのは非効率です. 一般的な戦略として、バンドをオクターブごとにグループ化し、低周波数グループについてダウンサンプリングを行います:

    • 低周波数グループについて、ローパスフィルタ後にデシメーション(例:オクターブごとに 2 倍の間引き)を行う.
    • 対応するバンドパスフィルタを、低減したサンプリング周波数で実装する.
    • デシメーションの前に十分なアンチエイリアシングを確保する.

    時間平均/時間重み付け:バンドレベルは統計量であり、瞬時値ではない

    バンドレベルは通常、時間平均を必要とします. 一般的な手法として、ブロック RMS、指数移動平均、Leq(エネルギ等価レベル)などがあります. 騒音計の文脈では、IEC 61672-1 が Fast/Slow の時間重み付け(Fast 約 125 ms、Slow 約 1 s)を定義しています. [5][6]

    工学的含意:時間定数が異なれば指示値も異なるため、報告書には時間重み付けを明記する必要があります.

    フィルタバンクが「規格どおり」に動作しているかを検証する方法

    • サインスイープ:通過帯域特性と隣接バンドの分離を確認し、時間遅延の影響を観察する.
    • ピンクノイズ/ホワイトノイズ:平均バンドレベルと分散/安定化時間を確認し、有効帯域幅の挙動をチェックする.
    • インパルス/ステップ:リンギングと時間応答を観察する(過渡信号用途では特に重要).
    • 既知の規格準拠リファレンス機器/実装とクロスチェックする.

    バンド定義から規格準拠デジタルフィルタまで:エンドツーエンドのワークフロー(概念)

    1. バンド体系を選択する:base-10/base-2、分数 1/b(一般に b=3)、正確な fm および f1/f2 を生成する.
    2. 性能目標を選択する:どの規格版と、どのクラス/マスク許容差を対象にするか?
    3. フィルタ構造を選択する:リアルタイム用途には IIR SOS、位相特性/ゼロ位相が必要な場合は FIR または前後処理フィルタリング.
    4. 各バンドパスを設計する:f1/f2 をデジタル領域へ正しく写像する(例:双一次変換では事前ワープを行う).
    5. 必要に応じてマルチレートを実装する:十分なアンチエイリアシングを施したうえで、低周波数グループをデシメートする.
    6. 検証:振幅特性をマスクと比較する;ノイズ試験で有効帯域幅を確認する;スイープ/インパルス試験で時間応答を確認する.
    7. 較正と報告:単位と基準量、平均化/時間重み付け、手法の詳細を明記する.

    時間応答の解説:群遅延、リンギング、平均化が指示値をどのように形作るか

    バンドレベルアナライザは時間領域システム(フィルタ → エネルギ検出器 → 平滑器)であるため、指示値は複数の時間スケールに支配されます:

    • フィルタの群遅延:事象が各バンドにどれだけ遅れて現れるか.
    • フィルタのリンギング/減衰:短いパルスがバンド内でどれくらい「鳴り続ける」か.
    • エネルギ平均化/時間重み付け:出力レベルの時間分解能と変動のトレードオフ.

    したがって、過渡現象(インパクト、開始/停止イベント、スイープ)では、規格に適合している実装同士であっても、ピークレベルや時間履歴が異なる場合があります.これは ANSI による注意喚起と整合しています. [3]

    経験則:定常的な寄与を評価する場合は、安定性を得るために長めの平均化を使用する.過渡の位置特定には平均化を短くするが、ばらつきの増加を受け入れ、アルゴリズムの詳細を固定する.

    リアルタイム処理でよくある落とし穴

    • デシメーションチェーンでアンチエイリアシングを忘れると、低周波数バンドがエイリアシングにより汚染されます.
    • 高 Q の低周波数 IIR セクションにおける数値不安定性:SOS/バイクアッドと十分な数値精度を使用する.
    • Averaging in dB: 必ずエネルギ/平均二乗値で平均し、その後 dB に変換する.
    • バンドエネルギが全エネルギに必ず厳密に一致すると仮定すること:標準フィルタは必ずしも電力補完的ではありません.代わりに、規格に整合した評価基準で検証してください.

    OpenTest におけるオクターブバンドフィルタバンク解析

    OpenTest はフィルタバンク方式によるオクターブバンド解析をサポートします:
    1) デバイス、例えば SonoDAQ Pro を接続します
    2) チャンネルを選択し、パラメータ設定を調整します. 外付けマイクロホンを使用する場合は、IEPE を有効にし、音響信号測定モードに切り替えます.
    3) 「測定モード」の「オクターブバンド解析」セクションで、IEC 61260-1 アルゴリズムを選択します. リアルタイム解析、線形平均、指数平均、ピークホールドに対応しています.
    4) パラメータの設定後、Test ボタンをクリックして測定を開始します.
    5) 1 回の記録から、1/1 オクターブ、1/3 オクターブ、1/6 オクターブ、1/12 オクターブ、1/24 オクターブ、および 1/24 オクターブバンドを同時に解析できます.

    図 1:OpenTest におけるオクターブバンドフィルタバンク解析

    FFT ビニングと FFT シンセシス

    FFT ビニング:ナローバンドスペクトルを CPB バンド積分に変換する

    1. スペクトルを推定する(単一 FFT、Welch PSD、または STFT).
    2. 各オクターブ/分数オクターブバンド内で積分/合計して、バンド電力を求める.

    この方法はソフトウェア/オフライン処理で一般的です.単一の FFT で高分解能スペクトルを取得し、それを任意のバンド体系(1/1、1/3、1/12 など)にリビンできます.

    主要な課題 1:FFT のスケーリングと窓補正

    FFT 後のスケーリングは、1/N 正規化、振幅 vs 電力 vs PSD、一側/両側スペクトル、窓関数など、定義に依存します. ノイズ測定では ENBW が極めて重要であり、これを無視すると系統的なオフセットが生じます. [7]

    実用的な PSD 正規化(ピリオドグラム形式)

    # 片側 PSD に変換:DC(および存在する場合はナイキスト)を除き、2 倍する

    これにより PSD の単位は(入力単位)²/Hz となり、PSD を周波数で積分することでエネルギ整合性を確認できます.

    スケーリングを確認するための簡単な自己チェック

    • ホワイトノイズチェック:既知の分散 σ² をもつノイズを生成し、片側 PSD を 0..fs/2 で積分して ≈σ² を回復する(×2 ルールを考慮).
    • 純音チェック:振幅 A の正弦波(RMS=A/√2)を生成し、スペクトルエネルギを積分して ≈A²/2 を回復する(漏れおよび窓選択の影響を受ける).

    両方のチェックを満たせば、FFT のスケーリングはおそらく正しく、そのうえで部分ビン重み付けやオクターブビニングが意味をもつようになります.

    主要な課題 2:バンド端がビン中心にほとんど揃わない → 部分ビン重み付け

    バンド端で単純に「含める/除外する」を決めると、特にバンドが狭い低周波数では段階的な誤差が発生します. 境界ビンには、オーバラップに基づく重み付け(セクション 4.2.4)を用いてください.

    ゼロパディングは端部のミスマッチを解決するか? (よくある誤解)

    ゼロパディングは表示されるスペクトルを補間するだけであり、真の周波数分解能(元の窓長で決まる)は向上しません. 視覚的な段差を減らすことはできますが、1~2 ビンしか含まない低周波数バンドを信頼できるバンドレベル推定に変えることはできません. 根本的な対策は、窓長を長くするか、マルチレート処理/フィルタバンクを用いることです.

    主要な課題 3:時間―周波数トレードオフ(窓長が低周波数精度と遅延を決める)

    FFT 分解能は Δf = fs/N です. 低周波数の 1/3 オクターブバンドはわずか数 Hz 幅しかないことがあり、十分なビン数を確保するには非常に大きな N が必要になり、レイテンシが増加し、過渡が平滑化されます.

    根本原因:1/3 オクターブは定 Q ですが、STFT は一定 Δf のビンを用います

    CPB では、バンド幅は周波数に比例してスケールします(Δf_band ∝ f、定 Q). STFT では、ビン間隔は一定です(Δf_bin は一定). そのため、低周波数側の CPB では極めて細かい Δf_bin(長い窓)が必要となり、高周波数側は過剰に高分解能になります.

    解決アプローチ:長窓 STFT vs マルチレート STFT vs CQT/ウェーブレット

    • 長窓 STFT:最も単純ですが、レイテンシが大きくなり過渡がぼやけます.
    • マルチレート STFT:低周波数成分をダウンサンプリングして低い fs で FFT を行い、マルチレートフィルタバンクに類似した動作にします.
    • 定 Q 変換(CQT)/ウェーブレット:自然に対数周波数分解能になりますが、IEC/ANSI マスクに合わせるには追加の較正/検証が必要です. [4]

    規格適合測定では、規格志向のフィルタバンクが好まれます.研究や特徴抽出には、CQT/ウェーブレットも有望です.

    FFT シンセシス:周波数領域でバンド別フィルタリングを構成する

    FFT シンセシスは、FFT アプローチをフィルタバンクに近づける手法です:

    • 各バンドごとに周波数領域の重み W_b[k] を定義します(ブリックウォールまたは滑らかな/マスク類似の形状).
    • Y_b[k] = X[k]・W_b[k] を計算し、IFFT で y_b[n] を得ます.
    • y_b[n] からバンドごとの RMS/平均値を計算します.

    この方法では、ゼロ位相(非因果)フィルタリングを容易に実装できます. IEC/ANSI と厳密に整合させるには、W_b と正規化を慎重に設計し、検証する必要があります.

    FFT シンセシスをストリーム的にする:OLA、二重窓、および振幅正規化

    バンドごとに連続した時間信号を出力するには、オーバーラップ加算(OLA)を用います.すなわち、フレーム分割、分析窓、FFT、W_b の適用、IFFT、合成窓、そして OLA を行います. 解析窓/合成窓は COLA(constant overlap-add)条件(例:ハン窓+ 50% オーバーラップ)を満たすように選び、周期的なレベル変調を避けます.

    規格フィルタに合わせることが目標の場合、W_b はどのように選ぶべきでしょうか?

    W_b[k] は、何を一致させたいかによって決まります:

    • ブリックウォール積分に合わせる:W_b は [f1,f2] 内で 0/1 のハードな特性とする.
    • IEC/ANSI フィルタ挙動に合わせる:|W_b(f)| が標準マスクおよび有効帯域幅(∫|W_b|² が一致)を近似するようにする.
    • 再構成のためにエネルギ補完性を合わせる:Σ_b |W_b(f)|² ≈ 1 となるように設計する(セクション 7.6).

    これらすべてを同時に完全に満たすことは通常できないため、優先順位(規格適合か、分解/再構成か)をあらかじめ決めておく必要があります.

    エネルギ保存型周波数領域フィルタバンク:なぜ Σ|W_b|² が重要か

    バンドエネルギを(数値誤差の範囲で)全エネルギに合計させたい場合、一般的な設計では電力補完性をおおよそ満たすことを目指します:

    IEC/ANSI マスクは必ずしも厳密な補完性を保証しないため、規格適合の文脈ではエネルギの厳密な加法性を前提とすべきではありません.

    Welch/平均化戦略:FFT バンドレベルを安定させる方法

    • Welch 平均(セグメント分割、窓掛け、オーバーラップ、電力スペクトルの平均)を使用します.
    • パワー領域(|X|² または PSD)で平均し、その後 dB に変換します.
    • 非定常信号には、STFT による時間―バンド行列の取得を検討します.
    • 窓の種類、オーバーラップ率、平均回数、ENBW/CG の取り扱いを報告します.

    OpenTest における FFT ビニング解析

    OpenTest は FFT ビニングに基づくオクターブバンド解析をサポートします:
    1) デバイス、例えば SonoDAQ Pro を接続します
    2) チャンネルを選択し、パラメータ設定を調整します. 外付けマイクロホンを使用する場合は、IEPE を有効にし、音響信号測定モードに切り替えます.
    3) 「測定モード」の「オクターブバンド解析」セクションで、FFT ベースのアルゴリズムを選択します.
    4) 1 回の記録から、1/1 オクターブ、1/3 オクターブ、1/6 オクターブ、1/12 オクターブ、1/24 オクターブバンドを同時に解析できます.

    図 2:OpenTest における FFT ビニング・オクターブバンド解析

    フィルタバンク vs FFT/FFT シンセシス:相違点、一致条件、トレードオフ

    比較表
    項目フィルタバンク(真のオクターブ/CPB)FFT ビニング/FFT シンセシス
    規格適合性IEC/ANSI の振幅マスクを満たしやすく、ハードウェア計測器で主流の方式です. [1][3]単純なビニングはバンド積分として振る舞うが、マスクを一致させるには追加の重み付けや、規格準拠のデジタルフィルタが必要です.
    リアルタイム性/レイテンシ因果的なリアルタイム処理が可能で、レイテンシはフィルタ次数と平均化によって決まります.ブロック処理では、少なくともウィンドウ 1 枚分の遅延が加わります.低周波数分解能の確保のために、しばしば長いウィンドウが必要になります.
    過渡応答出力は連続ですが、群遅延やリンギングの影響を受けます.規格に適合した実装同士でも結果が異なる場合があります. [3]STFT の窓により応答が決まり、過渡は窓で平滑化され、窓の種類と長さに敏感です.
    リーケージ & 補正フィルタ設計により制御され、リーケージは管理可能です.窓と ENBW/スケーリングに強く依存し、バンド端ビンのミスマッチには部分重み付けが必要です. [7]
    解釈しやすさバンドパスフィルタ通過後の RMS であり、騒音計やアナライザの考え方と整合しています.スペクトル推定+ビニングであり、より統計的な性格を持ちます.解釈は窓や平均化設定に依存します.
    計算量多数のフィルタを並列に実装しますが、マルチレートにより計算量を削減できます.単一の FFT で全バンドを賄えるため、オフライン/バッチ処理に効率的です.
    位相 & 再構成IIR は通常非線形位相(レベル評価には支障ありません).周波数重みはゼロ位相とでき、再構成には補完性や遷移部の扱いに注意が必要です.

    両方式が(ほぼ)同じ結果を与えるのはどんなときか?

    バンド平均結果は、次の条件を満たすときに一般に良く一致します:

    • 比較対象が、過渡のピークトラックではなく、平均化されたバンドレベル(not transient peak tracks)である.
    • 信号がおおよそ定常であり、観測時間が十分に長い.
    • FFT 分解能が十分に細かく、各バンド(特に最低バンド)が十分なビン数を含んでいる.
    • FFT のスケーリングが正しい(一側スペクトルの扱い、Δf、窓正規化 U、必要に応じた ENBW/CG).
    • バンド端で部分ビン重み付けを使用している.

    過渡および短時間イベントで差が大きくなる理由

    差異は時間スケールの不整合に起因します.フィルタバンクはバンド依存の群遅延とリンギングを持ちながら連続出力を行う一方、STFT は固定窓を用い、その窓が周波数分解能と時間平滑の両方を決めます. イベントの継続時間が窓長やフィルタインパルス応答と同程度になると、結果は実装の詳細に強く依存します.

    エラーバジェット:不一致が生じやすい要因(とその迅速な切り分け方法)

    1. Wrong averaging/combination in dB: 平均・加算は必ずエネルギ領域で行う必要があります.
    2. FFT スケーリングの不整合:1/N の取り扱い、一側/両側、Δf、窓正規化 U など.
    3. 窓補正の欠如:ノイズでは ENBW、トーンではコヒーレントゲイン/リーケージ補正が必要です.
    4. 厳密な定義ではなく、公称周波数からバンド端を計算している.
    5. バンド境界で部分ビン重み付けを行わないこと(特に低周波数では致命的).
    6. フィルタバンクでのマルチレート/アンチエイリアス処理の問題.
    7. 方式間で平均化時間定数/窓が異なること.
    8. 手法そのものの違い:ブリックウォールビニングと標準フィルタのスカート/ロールオフの違いにより、系統的なオフセットが生じます.

    有効なデバッグ手順としては、まずホワイトノイズで全平均二乗値を一致させ(スケーリング/ENBW/部分ビンの整合)、その後スイープやトーンを用いてバンド中心と隣接バンド分離を検証する方法が挙げられます.

    エンジニアリング・チェックリスト:1/3 オクターブ解析を正確・安定・再現可能にする

    手法の選択:規格適合 → フィルタバンク、オフライン統計 → FFT ビニング

    • 規制/型式試験/機器間比較には、IEC/ANSI 準拠フィルタバンクを優先し、規格の版およびクラスを報告してください. [1][3]
    • オフライン処理、大規模データセット、柔軟なバンド定義が必要な場合には、FFT ビニングが効率的ですが、スケーリングとバンド端の重み付けは厳密でなければなりません.
    • バンドごとの時間領域信号(変調、エンベロープなど)が必要な場合は、FFT シンセシスまたは明示的なフィルタバンクを検討してください.

    最低バンドから FFT パラメータを選ぶ(例)

    例:fs = 48 kHz、関心のある最低バンドは 20 Hz(1/3 オクターブ). このバンド幅は数 Hz 程度しかありません. 少なくとも M=10 個のビンを各バンドに含めたい場合、Δf_bin ≤ 帯域幅/10 が必要となり、非常に大きな N(例:およそ 100k ポイント;2^17=131072)を意味します. これは、リアルタイムの規格準拠解析でフィルタバンクがしばしば好まれる理由を示しています.

    結果の一致を妨げる典型的な誤り

    • |X| の大きさを合計してしまい、|X|² または PSD を合計しないこと.
    • 線形の電力/平均二乗値ではなく、dB で平均してしまうこと.
    • ノイズに対して ENBW/窓スケーリングを無視すること. [7]
    • バンド端を公称周波数から計算してしまうこと.
    • 時間重み付け/平均化の条件(Fast/Slow/Leq)を明示しないこと. [5][6]

    Recommended validation flow(実装に依存しない)

    • 中心周波数トーン試験(またはスイープ):エネルギが正しいバンドでピークになり、隣接バンドの抑圧が期待どおりであることを確認する.
    • ホワイト/ピンクノイズ:バンドレベルの期待されるスペクトル形状を確認し、安定性/平均化時間を評価する.
    • 実装間比較:同一信号で既知のリファレンス実装と比較し、スケーリング/定義/フィルタスカートの違いを切り分ける.
    • パラメータ(バンド定義、窓処理、平均化)をテストレポートに記録し、固定します.

    再現性チェックリスト:他者がレベルを再計算できるよう、レポートに必ず含める項目

    • バンド定義:base-10 か base-2 か? 1/b における b? 計算には厳密値を用いたか、公称値を用いたか? 基準周波数 fr?
    • 実装:標準的なフィルタバンク(IIR/FIR、マルチレート)か、FFT ビニング/シンセシスか;ソフトウェア/ライブラリのバージョン.
    • サンプリング/前処理:fs、ドリフト除去/直流成分除去、アンチエイリアスフィルタ、リサンプリング.
    • 時間平均:Leq/ブロック RMS/指数平均;時間定数、ブロックサイズ、オーバーラップ、平均フレーム数;必要に応じて Fast/Slow の文脈.
    • FFT の詳細(使用する場合):窓の種類、N、ホップ長、ゼロパディング、PSD 正規化、一側スペクトルの扱い、ENBW/CG、部分ビン重み付け.
    • 較正/単位:入力単位と基準量(例:20 µPa)、センサの較正係数と実施日.
    • 出力定義:RMS かピークかバンド電力か;10log か 20log かの規約;バンド集約手順の有無.

    覚えておくべきことを 1 行にまとめると、「バンド定義+時間平均+FFT スケーリング/窓処理(使用している場合)」を文書化することです. これだけで、ほとんどの論争は消えてしまいます.

    Quick formulas and numeric example(すぐにコード/レポートに使える)

    Base-10 の 1/3 オクターブ定数
    G = 10^(3/10) ≈ 1.995262
    r = 10^(1/10) ≈ 1.258925 # adjacent center-frequency ratio
    k = 10^(1/20) ≈ 1.122018 # edge multiplier about center
    f1 = fm / k
    f2 = fm * k
    例:1 kHz の 1/3 オクターブバンド
    fm = 1000 Hz
    f1 = 1000 / 1.122018 ≈ 891.25 Hz
    f2 = 1000 * 1.122018 ≈ 1122.02 Hz
    Δf ≈ 230.77 Hz
    Q ≈ 4.33

    OpenTestは両方の手法を統合しています.今すぐダウンロードして使い始めましょう -> または、下のフォームに入力してライブデモの予約を行ってください.

    www.opentest.comで、さらに多くの機能やアプリケーション事例をご覧ください.

    参考

    [1] IEC 61260-1:2014 PDF サンプル(iTeh):https://cdn.standards.iteh.ai/samples/13383/3c4ae3e762b540cc8111744cb8f0ae8e/IEC-61260-1-2014.pdf

    [3] ANSI S1.11-2004 プレビューPDF(ASA/ANSI):https://webstore.ansi.org/preview-pages/ASA/preview_ANSI%2BS1.11-2004.pdf

    [4] HEAD acoustics アプリケーションノート:FFT - 1/n オクターブ解析 - ウェーブレット(フィルタバンクの説明):https://cdn.head-acoustics.com/fileadmin/data/global/Application-Notes/SVP/FFT-nthOctave-Wavelet_e.pdf

    [5] IEC 61672-1:2013(IEC ページ):https://webstore.iec.ch/en/publication/5708

    [6] NTi Audio Know-how:Fast/Slow 時間重み付け(IEC 61672-1 の文脈):https://www.nti-audio.com/en/support/know-how/fast-slow-impulse-time-weighting-what-do-they-mean

    [7] MathWorks: ENBW定義の例:https://www.mathworks.com/help/signal/ref/enbw.html

    オクターブ帯域分析:その数学的・工学的根拠

    お問い合わせ

    弊社製品にご興味をお持ちの方、またはご不明点のある方は、デモをご予約ください.製品の動作や、どのようなソリューションに貢献できるかをご紹介し、お客様のニーズや組織にどのように適合するかをご相談させていただきます.

    Downloads ダウンロード
    Cart 0
    カート
    +86-571-88225128 +86-571-88225128
    Experience Demo デモを体験
    Ask an Expert 専門家に相談