🔉

音響学-騒音: 測定に関するTipsとオクターブバンド分析

に公開

測定に関するTips

音響や建築音響関係の測定においては、帯域制限したノイズを用いることが多く、中心周波数を定義して測定を行います。一般的に用いられる中心周波数は JIS に定義されており、表に示されています。例えば、騒音や建築音響の測定では 100 Hz から 5000 Hz までの帯域がよく使われます。

オクターブバンドと 1/3 オクターブバンドフィルタの中心周波数

オクターブバンド 1/3 オクターブバンド オクターブバンド 1/3 オクターブバンド
1 1.25 125 100
2 2.5 250 200
4 5 500 400
8 10 1000 800
16 20 2000 1600
31.5 40 4000 3150
63 80 8000 6300

帯域制限フィルタの特性

中心周波数 f_m と、下限帯域端周波数 f_1 および上限帯域端周波数 f_2の関係は以下で与えられます。

f_m = \sqrt{f_1 f_2}

オクターブバンドフィルタの場合、

f_2 = 2 f_1, \quad f_1 = \frac{f_m}{\sqrt{2}}, \quad f_2 = \sqrt{2} f_m

1/3 オクターブバンドフィルタの場合、

f_2 = \sqrt[3]{2} f_1, \quad f_1 = \frac{f_m}{\sqrt[3]{2}}, \quad f_2 = \sqrt[3]{2} f_m

FIR フィルタによる帯域制限信号の生成

Python で FIR フィルタを用いた帯域制限ノイズを生成するには、以下のようなコードが利用できます。

import numpy as np
from scipy.signal import firwin, freqz
import matplotlib.pyplot as plt

sampling = 48000  # サンプリング周波数
fm = 1000  # 中心周波数
len_filter = 254  # フィルタの長さ
oct_band = [fm/np.sqrt(2), fm*np.sqrt(2)]  # 通過帯域の設定

# FIR フィルタ設計
b = firwin(len_filter, oct_band, pass_zero=False, fs=sampling)

# フィルタ特性の確認
w, h = freqz(b, fs=sampling)
plt.plot(w, 20 * np.log10(abs(h)))
plt.xlabel("Frequency (Hz)")
plt.ylabel("Gain (dB)")
plt.title("FIR Filter Frequency Response")
plt.show()

オクターブバンド分析について

音響の帯域分析では、オクターブバンド (Octave Band)や1/3オクターブバンド(1/3 Octave Band) を用いて、音の周波数特性を解析することが一般的です。これらのバンドフィルタは 対数間隔 で周波数を区切る特徴を持ち、音響測定や騒音解析に広く使用されます。

2. オクターブバンドと 1/3オクターブバンドのエネルギー関係

オクターブバンドと 1/3オクターブバンドの関係として、エネルギーの合成時の変換 が重要です。

  • オクターブバンド内のエネルギーを 1/3オクターブバンドに分割すると、各 1/3オクターブバンドのエネルギーは 5dB 減少する
  • 逆に、1/3オクターブバンドのエネルギーをオクターブバンドに合成すると、5dB 増加する

この関係を数式で表すと以下のようになります。

10 \log_{10}(3 \cdot E) = 10 \log_{10} E + 10 \log_{10} 3 = 10 \log_{10} E + 5

3. 複数の帯域のエネルギー合成

ある広帯域の騒音を周波数分析すると、各帯域に対応する バンドレベル L_i[dB] が求められます。これらを 合成 すると、全帯域の音圧レベル (Overall Level) L_{all}が得られます。

合成レベルは次の式で求められます。

L_{all} = 10 \log_{10} \left( \sum 10^{L_i / 10} \right)

また、エネルギー平均値 L_{ave}は以下のように計算できます。

L_{ave} = 10 \log_{10} \left( \frac{1}{N} \sum 10^{L_i / 10} \right)

このように、オクターブバンドや 1/3オクターブバンドを利用することで、騒音の周波数特性を効率的に解析し、エネルギーの加算を容易にする ことができます。

補足

広帯域の騒音のバンドレベルと全体レベルの関係

この内容では、広帯域の騒音(音のエネルギーが広い周波数範囲に分布している)を周波数ごとに分割し、それらのレベルを合成して元の全体の音圧レベルを求める方法 について説明しています。


バンドレベルと全体レベルの関係

騒音を複数の周波数帯域に分割 して、それぞれのバンドレベル L_i(dB単位)を求めることができます。この個々のバンドレベルを合成して元の全体レベル L_{\text{all}}を求める 必要があります。

このとき、音圧レベル(dB)の合成には エネルギーの足し算 が必要になります。なぜなら、dBは対数表記されているため、単純な足し算ではなく、エネルギーに変換してから合計する必要があるためです。

その関係を表すのが次の式です:

L_{\text{all}} = 10 \log_{10} \left( \sum_{i} 10^{L_i / 10} \right)

この式の意味

  • 各バンドレベル L_idB単位 なので、そのまま足し算できません。
  • エネルギーに変換するために 10^{L_i/10} を計算する(dBスケールをリニアスケールに戻す)。
  • すべてのバンドのエネルギーを合計する\sum 10^{L_i / 10}
  • 最後に、再び dB に戻すために 10 \log_{10} を取る

イメージしやすい例

  • 例えば、ある騒音が 100 Hz, 500 Hz, 1000 Hz の3つの周波数帯に分割されていたとします。
  • それぞれのバンドレベルが 70 dB, 75 dB, 80 dB だったとすると:
    1. エネルギーに変換:

      10^{70/10} + 10^{75/10} + 10^{80/10}
    2. これらの合計をとる。

    3. 最後に dBに戻す ために 10 \log_{10} を適用。

    4. これによって、全体のレベル L_{\text{all}}が求まる。


2. エネルギー平均値との違い

また、騒音のバンドレベルのエネルギー平均値 L_{\text{ave}} も求めることができます。

L_{\text{ave}} = 10 \log_{10} \left( \frac{1}{N} \sum_{n=1}^{N} 10^{L_i / 10} \right)

この式の意味

  • L_{\text{all}} は、すべてのバンドのエネルギーを 合成 する計算ですが、L_{\text{ave}}は、それを平均化する処理を追加 したものです。
  • 各バンドのエネルギーを合計した後、Nで割って平均を求める(ここが違い)。
  • 最後に、dBに変換するために 10 \log_{10} を適用。

エネルギー平均値と全体レベルの違い

  • L_{\text{all}} は、バンドごとのエネルギーを合成したもの → 全体の音圧レベル
  • L_{\text{ave}} は、それを バンド数で平均 したもの → 各バンドの代表的な音圧レベル

なぜエネルギーで合成するのか?

dB(デシベル)は対数スケール なので、普通に足し算すると間違いになります。

例:普通に足し算するとおかしくなる

もし L_1 = 70 dB, L_2 = 75dB の 2 つの音があったとき、単純に
$$
L_{\text{all}} = 70 + 75 = 145 \text{ dB}
$$
としてしまうと、明らかに 間違い です。実際には、音のエネルギーを合成する必要があります。

正しい計算

L_{\text{all}} = 10 \log_{10} (10^{70/10} + 10^{75/10})

➡ この方法を使うことで、実際の物理現象に即した 正しい全体レベルが求まる


まとめ

バンドレベルL_iの合成には、エネルギーの足し算を行い、dBに変換する必要がある。
全体レベル(L_{\text{all}}は、すべてのバンドのエネルギーを合成した値。
エネルギー平均値L_{\text{ave}}は、それをバンド数で平均した値。
✅ **dBは対数スケールなので、単純に足し算するのではなく、エネルギーに変換して合成し、dBに戻すのが正しい。

エネルギー加算の計算

ガウス雑音の確率密度関数

音響における「雑音」は通常 ガウス雑音 (正規分布雑音) であり、確率密度関数は次のように与えられます。

p(v) = \frac{1}{\sqrt{2 \pi \sigma^2}} e^{-v^2/(2\sigma^2)}

ここで、v_1v_2 の二つの独立したガウス雑音がある場合、それらの合成雑音 v_3 = v_1 + v_2の確率密度関数は 畳み込み積分 によって求められます。

p(v_3) = \int_{-\infty}^{\infty} p_1(\lambda) p_2(v_3 - \lambda) d\lambda

分散の計算

確率密度関数の性質を利用し、ガウス雑音 v_1, v_2 の和 v_3 = v_1 + v_2の確率密度関数を求めると、合成された雑音 v_3ガウス雑音 となります。その分散は次のようになります。

\sigma_3^2 = \sigma_1^2 + \sigma_2^2

したがって、ガウス雑音のパワーは単純に加算される ことが分かります。

P_{total} = P_1 + P_2

平均パワーの計算

雑音のパワー \sigma^2は、次の式で定義されます。

\sigma^2 = \lim_{T \to \infty} \frac{1}{T} \int_{0}^{T} v^2(t) dt

また、パワーの加算の定義から、独立した雑音の合成パワーは、それぞれのパワーの和となる ことが分かります。

\int_{-\infty}^{\infty} v^2 p(v) dv = \sigma^2
\int_{-\infty}^{\infty} v_3^2 p(v_3) dv_3 = \sigma_1^2 + \sigma_2^2

つまり、ガウス雑音 v_1, v_2 の合成雑音 v_3もガウス雑音となり、その分散 \sigma_3^2は以下のようになります。

\sigma_3^2 = \sigma_1^2 + \sigma_2^2

この関係から、エネルギー (パワー) の合成が可能となります。

音響エネルギーの合成計算

複数の帯域の騒音エネルギーを合成する際には、各帯域のエネルギー E_iを加算し、以下のように総合音響エネルギーを求めます。

E_{total} = \sum_{i} E_i

これを デシベル (dB) で表現する場合、次の関係が成り立ちます。

L_{all} = 10 \log_{10} \left( \sum 10^{L_i / 10} \right)

ここで、

  • L_{all} は全帯域の合成レベル (Overall Sound Level)
  • L_iは各帯域の音圧レベル (Band Level)

また、エネルギー平均値 L_{ave}は以下の式で求められます。

L_{ave} = 10 \log_{10} \left( \frac{1}{N} \sum 10^{L_i / 10} \right)

このように、ガウス雑音のエネルギー加算は、パワー (エネルギー) の単純加算として扱える ことが分かります。

補足

ガウス分布にする必要はあるのか?

結論

必ずしもガウス分布である必要はないが、多くの物理・工学的な応用において、ガウス分布は自然に現れるため、扱いやすく合理的である。


1. なぜガウス分布がよく使われるのか?

(1) 中心極限定理(Central Limit Theorem, CLT)

中心極限定理とは:

「独立した確率変数が多数集まると、その和や平均はガウス分布(正規分布)に近づく」 という統計学の基本的な定理。

具体例

  • どんな形の分布でも、多くの独立した変数を足し合わせると、全体の分布はガウス分布に近づく。
  • 例えば、自然界の雑音(ノイズ)は多くの小さな要因の積み重ねによって生じるため、結果的にガウス分布に従うことが多い。

💡 この理由により、ノイズや信号のモデルとしてガウス分布を使うのは、合理的で一般的な選択肢となる。


(2) ガウス分布は数学的に扱いやすい

ガウス分布には、以下のような便利な性質がある:

  1. 和や積分が解析的に解ける

    • 2つの独立したガウス分布を足し合わせても、新しいガウス分布になる(分散の加法性)。
    • 畳み込み積分が解析的に計算しやすい。
  2. 確率分布の情報が平均値と分散だけで完全に決まる

    • 他の分布(例えば、指数分布やカイ二乗分布など)と異なり、ガウス分布は「平均値」と「分散」だけで完全に記述できる。
    • これにより、パラメータ推定や統計解析がシンプルになる。
  3. 対称性がある

    • 平均値を中心に左右対称であるため、数学的な操作が簡単。

💡 特に、ノイズや信号処理においては、数学的に取り扱いやすいため、ガウス分布が頻繁に採用される。


(3) 実際のノイズはガウス分布に近い

多くの物理現象における雑音(ノイズ)は、ほぼガウス分布に従う。

  • 例えば、電子回路の熱雑音(Johnson-Nyquistノイズ)、電波のフェージングノイズ、測定誤差などは、ガウス雑音に近い性質を持つ。
  • これは、これらのノイズが 多数の独立した小さな要因の合成で生じているため、中心極限定理が働いているため。

💡 そのため、ガウス分布を仮定しても、実際のデータと大きく乖離することが少ない。


2. では、ガウス分布以外ではダメなのか?

(1) 非ガウス性のノイズも存在する

確かに、全てのノイズや信号がガウス分布に従うわけではない。例えば:

  • インパルス性のノイズ(突発的な大きなノイズ) → レヴィ分布やラプラス分布 を使うことがある。
  • 音響信号や画像信号ガンマ分布や対数正規分布 が適用されることもある。

➡ こうした場合は、ガウス分布ではなく、適切な分布を選ぶべき。


(2) 非ガウス分布を使うと計算が難しくなる

  • ガウス分布以外の分布を用いると、畳み込み積分が難しくなり、解析的な解を得にくくなる。
  • 例えば、レヴィ分布や指数分布の足し算 では、新しい確率分布が単純な形にならないため、数値計算が必要になる。

💡 したがって、物理的な現象を説明できる限り、できるだけガウス分布を使う方が解析的に便利。


3. まとめ

ガウス分布にする必要はないが、多くの物理現象でガウス分布が自然に現れるため、実用的な選択肢になる。
中心極限定理により、多くの小さな要因の和はガウス分布に近づくため、ノイズや信号にガウス分布を適用するのは妥当。
ガウス分布は数学的に扱いやすく、統計解析や信号処理で計算が簡単になる。
ただし、インパルスノイズや偏りのあるノイズには、別の分布を使うべき場合もある。


4. 重要ポイント

💡 結論:ガウス分布は必須ではないが、多くの状況で合理的で便利な選択肢である!

Discussion