ヘルムホルツ(Helmholtz)共鳴器

はじめに

ビンの開口部に横から注意深く息を吹きかけると,澄んだ音が生成される.この音は気流が開口部の向こう側に届く際の振動によって生まれる.

ビンは口という開口部,首という細い部分,胴という太い部分から成る.概念上は,ビンの口の上に息を吹きかけることで,首にある不活性な空気塊が胴に押し込まれる.これが胴内の空気を圧縮してその中の圧力を増加させる.ある点で胴内の圧力は非常に高くなり,首の不活性な空気塊は押し戻され,外側のもとの位置を超える.これが口を横切る空気の流れを移動させ縁を超えて流れる.その後ビンの上の気流は空気を再び首に押し戻して循環が繰り返される.気流は素早く交互にビン内部に流れ込み,ビンから出,音を出している.

1.gif

気流の振動はビンの形によって定義される特定の周波数で起こる.この周波数はヘルムホルツ共鳴の周波数と言う.この現象をモデル化するためにヘルムホルツ共鳴を説明する理論を使うことができる.ヘルムホルツ共鳴器の形状はビンとは異なるが,同じ理論的概念が適用できる.

ヘルムホルツ共鳴器は換気システムのダクトや燃焼機関の排気管の騒音を抑えるために広く使われる[Li, et al., 2017].

ヘルムホルツ共鳴器機能を理解する別の方法として,機械力学のバネ質量系や電気のインダクタンス・キャパシタンスになぞらえて説明することもできる.質量(インダクタンス)とバネ(キャパシタンス)は並列である.この概念モデルでは,首の空気が質量(インダクタンス)の働きをし,胴内の空気はバネ(キャパシタンス)のようなものである[Rahim & Johari, 2016].

抵抗の値は共鳴周波数に影響を与えないため,このノートブックでは抵抗のない軸対称ヘルムホルツ共鳴器のシミュレーションを行い,共鳴器の周波数応答を再生する.

有限要素パッケージをロードする:

領域

ビンの形状は長さ で半径 の首,半径 の球状の胴でできている.振動器は 軸について回転対称であり,形状は 平面の2D横断面で近似することができる.以下の図はシミュレーション領域を表している.

7.gif

使用する形状パラメータを定義する:
首と胴の横断面の間のRegionUnionを定義する:

モデルの設定

この系は,その周波数応答を解析するために周波数領域でモデル化する.周波数領域における音響の主なPDEモデルはヘルムホルツ方程式である.領域と境界条件は 軸について回転対称なので,軸対称PDEモデルが使える.軸対称ヘルムホルツ方程式は,の圧力場 について解き,さまざまな周波数における高調波の伝搬を記述するために使う.

軸対称ヘルムホルツ方程式は次で与えられる:

ここで は密度(単位), は媒体内の音速(単位), は角周波数(単位)である.

軸対称ヘルムホルツ方程式は,円筒座標系ではなく,独立変数を持つ切断された円筒座標系を使う.この系は 軸について回転対称であるため,円筒座標変数 はなくなる.

AcousticPDEComponent関数はヘルムホルツ方程式の軸対称形式を生成することができる.このためにはパラメータ"RegionSymmetry""Axisymmetric"に設定する.

使用される音の媒体は空気である.

音の媒体である空気の密度と音速を求める:
2Dの軸対称ヘルムホルツ方程式を設定する:

目標は発振器の周波数応答を得ることである.このために,この系はさまざまな周波数で解析され,これらの周波数における圧力レベルが記録される.周波数掃引はからの範囲で等区間の500の周波数であり,対数スケールを使う.この周波数の範囲により,系のさまざまな高調波が見られる.

周波数範囲を設定する:

次のセクションでは,系の周波数応答の計算方法と可視化方法を説明する.

共振周波数

先に述べた通り,ヘルムホルツ共鳴器は発振系と同等と見ることができる.電気用語では系は直列の 回路のように動作する.よって 回路に例えると,共振周波数は以下で与えられることが分かる[Blackstock, 2001]:

ここでパラメータ

および

で与えられる.ここで は媒体の密度, は媒体内の音速, は首の横断面積, は音響胴の体積, は首の全長である.

前述の通り,空気塊が首から出す復元力が存在しており,空気が首内部に常にあるかのように,空気塊で覆われたこの短い距離は理論的にまだ管の一部と考えらる.この距離は補正因子としてもとの首の長さに加える.したがって,もとの首の長さが ならば,全長 ということになる.

40.gif

首の補正長は首と胴の間の接続の形状による.ここでは補正長は と想定する[Pierce, 2019].

上の定義を使うと,ヘルムホルツ共振周波数は以下で与えられる:

この最後の方程式で,体積 は球から,首の横断面積は と想定される.

全長 を定義する:
共振周波数 を計算する:

共振周波数 fr は,周波数掃引について,周波数範囲 fRange の一部である.

共振周波数に最も近い周波数値を求める:

境界条件

発振器の口では,調和振動圧力 で適用される.残りの境界ではsound hard境界条件が適用される.これは自然のデフォルトの境界条件なので,これは省略される.

における圧力を指定する:

音響モデル

モデルパラメータと境界条件でPDEを指定する:

音響シミュレーションでは,音波の波長 は正確な数値結果を得るために十分細かいメッシュによって解く必要がある.ここではヘルパー関数を使ってMaxCellMeasureを設定する.詳細は周波数領域における音響学モノグラフに記載されている.

最大の格子サイズを計算するためのヘルパー関数を指定する:
さまざまな周波数でPDEを設定して解く:

次に特定の周波数における圧力分布を可視化する.このために,クエリ周波数に最も近い周波数を返す関数を作成する.

指定された入力に対して最も近い周波数指標を求める関数を作成する:

における圧力分布を可視化したいとすると,周波数リストから最も近い対応する周波数を求める.

に対応する解の位置を得る:
最も近い周波数の値をチェックする:

における圧力分布の実数値を可視化する.

DensityPlotを使って における圧力分布をプロットする:

便宜上音圧レベルを可視化することもできる.音圧レベルは基準値に対する音の有効圧力の対数測定である.空気中では圧力の基準値はである.この値は人間の聴力の絶対閾値近くであり,人間に聞こえる最小音圧レベルである. で表され単位で測定される音圧レベルは次で与えられる.

ここで は基準値, は音圧の二乗平均平方根であり,以下で与えられる.

基準値を定義する:

における音圧レベルを可視化する.

に対応する位置を得る:
プロットする:

発振器の周波数応答を可視化するためには,以下で与えられる胴体積にかかる平均圧力を得る必要がある.

ここでは圧力の絶対値である.

まず,積分領域(この場合は胴)を定義する必要がある.積分の極限を解の極限と一致させるためには,関心領域をメッシュに変換しなければならない.

関心領域をメッシュとして定義する:
胴の体積 を計算する:

最後に積分を定義して,NIntegrateを使ってすべての周波数に対する平均圧力を得る.

積分を計算する:
両対数スケールを使ってモデルの周波数応答を可視化し,それを理論的な共鳴周波数 と比較する:

プロットで示されているピークは,最高のピークを持つ基本周波数を含む,系のさまざまな高調波を表している.

数値的な共鳴周波数と理論的な共鳴周波数の間の差は,より正確な比較をすることで得られる.

数値解の共鳴周波数の指標を得る:
周波数を求める:
誤差をパーセントで計算する:

追加のステップとして,高調波関係で解を時間領域に変換することによって,系が実際に振動していることを検証することができる.

領域内のある点 で共鳴周波数 で一定期間評価された圧力の値のリストを生成する:
ListLinePlotを使って値のリストをプロットする:

点における時間的な圧力変化は周波数 の正弦波のように動作する.つまり振動運動を示している.

数値的な共鳴周波数を使うと,ビンで生成される音が再生できる.

数値的な共鳴周波数を使って正弦波を3秒再生する:

ヘルムホルツ共鳴器としてのワインボトル

このセクションでは,ヘルムホルツ共鳴器をさらに深く考える.このセクションではワインボトルの音響共鳴の解析方法を説明する.このセクションの目的は,数値結果と実験結果を比較するこtでFEMモデルを検証することでもある.実験データは,ビンの口に息を吹きかけたときに録音した音声に信号処理を施すことで得られた.モデルを構築するためには,前のセクションと同じステップが使われている.

ワインボトルの幾何モデルの設定から開始する.

ボトルの幾何パラメータをメートルで定義する:

ワインボトルは 軸について回転対称なので,形状は 平面の2D横断面で近似することができる.

以下はメッシュを作成するためのモデルとして使用したワインボトルの画像である.原理上はImageMesh等の関数を使って物理的オブジェクトから形状を構築することは可能である.そのためにはボトルの写真を撮らなければならない.口のカーブやビン底の変形を避けるために,テレセントリックレンズという特殊なレンズを使わなければならない.

76.gif

ここでは形状を手動で作成する.ボトルの横断面積は首と胴の2つの部分からなる.首は長方形のプリミティブ領域,胴は直線と曲線でできている.

LineBSplineCurveを使って胴の境界を作成する:
胴の境界をグラフィックスにして,それを離散化する:
Rectangleを使って首を構築する:

両方の領域を接合するために,まずそれぞれを境界要素メッシュに変換してBoundaryElementMeshUnionを使う.この関数はリソース関数FEMAddOnsInstallと一緒にインストールできるFEMAddOnsパクレットで提供されている.

胴と首の境界メッシュを生成する:
FEMAddOnsパクレットをインストールする:
FEMAddOnsパクレットをロードする:
関数BoundaryElementMeshUnionを使って両方の境界要素メッシュを接合する:
境界メッシュを可視化する:
境界要素メッシュを要素メッシュにする:

ここで,前のセクションと同じ設定を使ってモデルを解く.

PDEを設定し,からまでのさまざまな周波数で解く:

共鳴周波数を得るためには,胴の体積に対する平均圧力を計算する必要がある.

まず積分の領域をメッシュとして定義する:
ワインボトルの胴の体積を計算する:
平均圧力を計算する:

実験結果に加え,理論的な値とも比較する.

全体の高さと胴の高さを定義する:
方程式で共鳴周波数,および で与えられる円筒の体積を計算する:
両対数スケールを使って周波数応答を可視化し,それを理論的な共鳴周波数 と比較する:
数値解の共鳴周波数の指標を得る:
共鳴周波数を求める:
数値的な共鳴周波数と理論的な共鳴周波数の間の誤差を計算する:

最後に音声信号を解析して実験的な共鳴周波数を得る.使用する音声は,組込みのマイクなどの音声入力デバイスを使うAudioCaptureを使って録音された.

録音されたサウンドを定義する:

Audioオブジェクトは任意の計算で直接使うことができる.

音声を可視化する:

Periodogramを使うと単位の音声の離散フーリエ変換(パワースペクトル)の二乗振幅の可視化が得られる.

パワースペクトルを可視化して,最も高いピークを理論的な共鳴周波数 (赤),数値周波数 fnumerical(茶)と比較する:

スペクトルで示されたピークはビンの実験的共鳴周波数(約121 )を表す.

共鳴周波数の厳密な値を得るために,信号をフーリエ空間に変換する.このためにPeriodogramArrayを使うこともできる.

デシベルでパワースペクトルを計算する:

パワースペクトルを周波数の関数として正しく可視化するためには,周波数のリストを作成する必要がある.この周波数のリストは,周波数空間とにおける信号のサンプルレートおよび音声の長さに基づく.

サンプルレートを抽出する:
音声の長さを抽出する:
周波数空間における信号のサンプルに対応する表を作成する:
の形式で値を入れる:

この変換により周波数のミラーコピーが生成される.これら余分な周波数は信号の負の周波数成分なので省略する.

スペクトルから最初の 要素を取る:

パワースペクトルを周波数の関数としてプロットすると信号の周波数成分が可視化される.ピークは大きいパワーに当たる.

パワースペクトルをプロットする:

パワースペクトルは,音声は付近の周波数成分を持っていることを示している.

パワースペクトルのピークを求める:
ピークの位置を対応する周波数に変換する:

共鳴周波数に対して,シミュレーション値,測定値,理論値の3つの異なる値を得た.

この3つの値を比較する:
数値の共鳴周波数と測定された共鳴周波数の間の誤差を計算する:

用語集

記号説明単位
ρ溶媒の密度[kg/m3]
c溶媒内の音速[m/s]
p音圧[Pa]
ω音波の各周波数[rad/s]
f音波の周波数[Hz]
rneck首の半径[m]
rcavity胴の半径[m]
l首の長さ[m]
lt首の全長[m]
Ω計算領域N/A
V胴の体積 [m3]
S首の横断面積 [m2]
Lp音圧レベル [dB]

参考文献

1.  Blackstock, D. T. (2001). Fundamentals of physical acoustics.

2.  Li, L., Liu, Y., Zhang, F., & Sun, Z. (2017). Several explanations on the theoretical formula of Helmholtz resonator. Advances in Engineering Software, 114, 361-371.

3.  Pierce, A. D. (2019). Acoustics: an introduction to its physical principles and applications. Springer.

4.  Rahim, R. A., & Johari, M. J. B. (2016). Design and Simulation of MEMS Helmholtz Resonator for Acoustic Energy Harvester. 2016 International Conference on Computer and Communication Engineering (ICCCE).