実務で使うデシベル計算式まとめ
このページは、Excelで騒音計算をしたい方のための実務メモです。
理屈の説明は最小限にして、「こうしたい時はこの式を使う」という形でまとめています。必要な式を、そのままコピーしてお使いください。
このページで紹介している内容を、Excelファイルでも配布しています。実際に入力しながら確認したい方は、こちらからダウンロードしてください。
Excelファイルをダウンロードするうまく保存できない場合は、ボタンを右クリックして保存してください。
デシベルを足したい・引きたい
60dB と 60dB を足したい
=10*LOG10(10^(60/10)+10^(60/10))
- 結果:63dB
- 2つの値を直接入れる基本形です。
A1:A10 のデシベルを全部足したい
=10*LOG10(SUMPRODUCT((ISNUMBER(A1:A10))*10^(A1:A10/10)))
- 空白・文字は無視します。
- 0 は数値として計算されます。
- 範囲内にエラー値があると結果もエラーになります。
同じデシベルを n 個まとめたい
=10*LOG10(10^(A1/10)*B1)
- A1 にデシベル、B1 に個数を入れます。
- 例:60dB を 10 個なら 70dB です。
- B1 は 1 以上の数値を入れてください。
大きいデシベルから小さいデシベルを引きたい
=10*LOG10(10^(A1/10)-10^(B1/10))
- A1 が合成値、B1 が差し引く値です。
- 必ず A1 > B1 にしてください。
- A1 ≦ B1 の場合は計算できません。
平均を出したい
エネルギー平均と算術平均は意味が異なります。やりたいことに合わせて使い分けてください。
A1:A10 のデシベルのエネルギー平均値を出したい
=10*LOG10(SUMPRODUCT((ISNUMBER(A1:A10))*10^(A1:A10/10))/COUNT(A1:A10))
- 空白・文字は無視します。
- 0 は数値としてカウントされます。
- COUNT が 0 の範囲では使えません。
- LAeq のように、エネルギー平均を出したい時はこちらを使います。
60dB と 60dB のエネルギー平均値を出したい
=10*LOG10((10^(60/10)+10^(60/10))/2)
- 結果:60dB
- 2つの値だけ確認したい時の基本形です。
A1:A10 の算術平均を出したい
=AVERAGE(A1:A10)
- 空白・文字は無視します。
- 0 は平均に含まれます。
- 既に求めた代表値の平均を出したい時はこちらです。
90%レンジ上端値の平均値を出したい
=AVERAGE(A1:A10)
- 既に求めた上端値の平均を出す場合はこちらです。
- この場合は、エネルギー平均ではなく、算術平均を用います。
中央値の平均値を出したい
=AVERAGE(A1:A10)
- 既に求めた中央値の平均を出す場合はこちらです。
- この場合は、エネルギー平均ではなく、算術平均を用います。
90%レンジ下端値の平均値を出したい
=AVERAGE(A1:A10)
- 既に求めた下端値の平均を出す場合はこちらです。
- この場合は、エネルギー平均ではなく、算術平均を用います。
90%レンジ上端値・中央値・下端値を出したい
90%レンジ上端値・中央値・下端値は、エネルギー平均ではなく、算術的に整理する代表値です。複数回分をまとめる場合も、基本的には算術平均を用います。
A1:A50 の 90%レンジ上端値を出したい
=PERCENTILE.INC(A1:A50,0.95)
- 90%レンジ上端値(P95)です。
- 実データ範囲を指定してください。
- 空白の多い広すぎる範囲は避けた方が安全です。
A1:A50 の中央値を出したい
=MEDIAN(A1:A50)
- 空白・文字は無視します。
- 0 は中央値計算に含まれます。
- 偶数個の場合は中央2つの平均になります。
A1:A50 の 90%レンジ下端値を出したい
=PERCENTILE.INC(A1:A50,0.05)
- 90%レンジ下端値(P05)です。
- 実データ範囲を指定してください。
- 空白の多い広すぎる範囲は避けた方が安全です。
最大値を出したい
=MAX(A1:A50)
- 一番大きい値を返します。
- 空白・文字は通常無視されます。
最小値を出したい
=MIN(A1:A50)
- 一番小さい値を返します。
- 空白・文字は通常無視されます。
最大値と最小値の差を出したい
=MAX(A1:A50)-MIN(A1:A50)
- レベル範囲を見たい時に使えます。
- 空白・文字は通常無視されます。
dB と Pa を変換したい
60dB を Pa に直したい
=20*10^-6*10^(60/20)
- 結果:0.02Pa
- 音圧レベルから音圧へ変換します。
A1 の dB を Pa に直したい
=20*10^-6*10^(A1/20)
- A1 にデシベルを入れて使います。
- A1 が空白なら空白表示にしたい場合は IF と組み合わせてください。
0.02Pa を dB に直したい
=20*LOG10(0.02/(20*10^-6))
- 結果:60dB
- Pa から dB へ戻す式です。
A1 の Pa を dB に直したい
=20*LOG10(A1/(20*10^-6))
- A1 は 0 より大きい値にしてください。
- 0 や負の値では計算できません。
音圧の2乗比で dB を出したい
=10*LOG10(A1^2/(20*10^-6)^2)
- A1 に Pa を入れて使います。
- 上の Pa→dB と意味は同じです。
周波数分析結果から騒音レベルを求めたい
ここから先は、1/1オクターブ分析・1/3オクターブ分析・FFT分析など、周波数分析結果を実務で扱っている方向けの内容です。周波数分析結果をそのままエネルギー和すると音圧レベルになり、各帯域にA特性補正値を加算してからエネルギー和すると、A特性音圧レベル、すなわち騒音レベルになります。
1/1オクターブ分析結果から A特性音圧レベルを出したい
=10*LOG10(SUMPRODUCT(10^((B2:B12+C2:C12)/10)))
- B2:B12 = 1/1オクターブ分析結果
- C2:C12 = A特性補正値
- 各帯域の値をそのまま足さず、A特性補正後にエネルギー和します。
- 補正なしで合成すると音圧レベル、補正後に合成するとA特性音圧レベル(騒音レベル)です。
1/3オクターブ分析結果から A特性音圧レベルを出したい
=10*LOG10(SUMPRODUCT(10^((B2:B37+C2:C37)/10)))
- B2:B37 = 1/3オクターブ分析結果
- C2:C37 = A特性補正値
- 1/1用と1/3用の補正値を混在させないでください。
周波数分析結果をそのまま合成して OA を出したい
=10*LOG10(SUMPRODUCT(10^(B2:B37/10)))
- B2:B37 = 周波数分析結果
- 補正を行わずにエネルギー和した値です。
- 音圧レベルとしての合成値です。
指定した周波数範囲だけ合成して POA を出したい
=10*LOG10(SUMPRODUCT((A2:A37>=D1)*(A2:A37<=E1)*10^(B2:B37/10)))
- A2:A37 = 周波数軸[Hz]
- B2:B37 = 周波数分析結果[dB]
- D1 = 下限周波数、E1 = 上限周波数
- 指定した範囲だけを合成した値です。
1/1オクターブ用 A特性補正値(そのままコピペ用)
- 1/1オクターブ分析結果用です。
- 補正値列へそのまま貼り付けて使えます。
1/3オクターブ用 A特性補正値(そのままコピペ用)
- 1/3オクターブ分析結果用です。
- 補正値列へそのまま貼り付けて使えます。
注意点
- 各帯域の dB をそのまま足してはいけません。必ずエネルギー和します。
- A特性補正値を各帯域へ加算してからエネルギー和すると、A特性音圧レベル(騒音レベル)になります。
- 補正を行わずにそのままエネルギー和した値は、音圧レベルとしての合成値です。
- OA は分析レンジ全体の総和、POA は周波数範囲を限定した総和です。
- 分析後に補正して求めた A特性音圧レベルは、騒音計の A特性回路で直接測定した値と完全には一致しないことがあります。
- 理由は、帯域分割、周波数範囲、アナログ回路による補正とデジタル後処理による補正の違いなどにより、求め方そのものが異なるためです。
- したがって、計算自体が正しくても、求め方や回路が違えば一定の誤差は生じます。
難しい式の意味を一つひとつ理解しなくても、実務では「やりたいこと」に合った式をそのまま使えれば十分な場面が多いと思います。
必要な式をコピーして、そのまま試してみてください。