卒 業 研 究 報 告
題目

自由空間における２重音源圧力分布の解析〜よりよい「音」を求めて〜

指

平成

14

導

教

員

成沢

忠

教授

報

告

者

飯田

雄希

年

2

月

5

日

高知工科大学 電子・光システム工学科

目次

１

２

はじめに
１—１

背景

P4

１—２

ねらい

P4

問題提案
問題提案

３

４

５

P4

基礎理論
３—１

音圧についてP5

３—２

音圧レベルの定義

P6

４—１

解析モデルの設定

P7

４—２

空間の設定

P7

４—３

音源の設定

P7

４—４

圧力変化の式P8

４—５

発音時間の設定P8

４—６

伝送周波数の設定

P9

４—７

測定位置の設定P9

４—８

数値的解析法の提案

P10

４—８—１

音圧レベル最大最小値差幅を算出

P10

４—８—２

平均音圧レベルを算出

P11

研究

結果
５—１

音圧レベル最大最小値差幅の変化について

P12

５—２

観測点における平均音圧レベルの変化について

P14

2

６

７

考察
６—１

求められる特性P15

６—２「理想的音源位置」

P15

聴覚の心理について

P17

７—１—１

耳に聞こえる音の３要素

P17

７—１—２

聴覚に関係する各効果

P17

７—２

これからの AV 機器設計思想音楽鑑賞について

P18

７—３

本研究での設計思想を備えた AV 機器について

P19

１

２重音源の音圧レベル数値計算用ソフトウエアについて

P20

２

平均音圧レベル数値計算用ソフトウエアについて

P22

３

音圧レベル描画用シミュレータソフトウエアについて

P24

まとめ
７—１

８

参考文献

付録

謝辞

3

１

はじめに

１—１

背景
現在、テレビ番組は衛星デジタル放送が開始され今までより遥かに高画質で迫力のあるものが放送されるようになりました。今後は地上放送でもその高画質を実現する地上波デジタル放送開始も予定されています。そこで、放送には欠かせない音声に着目し、今後期待される
新型テレビやオーディオ機器の開発の指針となる一石を投じたいと思っています。

１—２

ねらい
この研究では、音源（スピーカー）から発生された音波による現象に着目し、その音波強度の空間での分布について探究したものです。
再生音質向上に対する探究ではありますが、音声圧縮技術や雑音対策を施す回路技術などについて研究、実験、記述したものではありませ
ん。

２

問題提案

人がテレビ画面に向かって鑑賞する場合、最も「いい音」で鑑賞できるスピーカーの配置は何処だろうか？という私自身が抱いている疑問を今回の研究の主題として提案します。

4つまり、二つの音源から発生される音波の圧力を周波数ごとにある観測点にて計測します。そしてその周波数の圧力のレベルの最大値と最小値の幅が狭い音源位置である「理想的音源位置」を探すということです。最大最小幅の小さい箇所を探す理由は観測点において、できるだけ均一な各周波数音圧レベルの再生ができる事が望ましいからで
す。

３

基礎理論

この章では、今回の研究に必要な基礎的な理論について記述します。
３—１

音圧の説明
音波は流体媒質の中を伝搬する疎密波であり、音波によって媒質の圧力は平均圧力の上下に振動的に変化します。この変化分を「音圧」といい P(Pa)で表します。単純に空気の疎密波とも言い換えることができると思います。また、音圧 P は時間と空間の関数になります。また、音速 c は室温 20 度で 343m/s です。温度が 1 度変化すると、音速は±0.6m/s の変化があります。音速は 0 度、１気圧（1013hPa）
で 331.5km/s です。
無限剛壁面にはめ込まれた円形ピストン板における放射音の音圧は次の式で表されます。

図３—１：円形ピストン板による音圧と観測点との関係

5

P(r , ,t ) =r
2 f a v a 2  2J1( kaSin )  j (t − c )e kaSinrP(r , ,t )：円板中心からの角度θ[rad]、半径 r[m]点の時刻 t[s]の音圧 P[Pa]v ：ピストン板の振動振幅[m/s]a：ピストン板の半径[m]k ：波長定数 = 2 f [rad/m]c
J1：第１種第１次ベッセル関数：角速度 ( = 2 f ) [rad/s]a：空気密度[kg/㎥]

c ：音速[m/s]
音圧は気圧と次の関係があります。
人間が音として聴くことのできる可聴範囲は、気圧(ヘクトパスカルhPa)で表現すると最低で 0.0000002hPa つまり 2 ×10−5 Pa とされています。逆に音として感じられる最大のものは 0.2hPa つまり 20Pa の気圧とされています。この気圧（音圧）以上になると騒音として認識される可能性のある大きすぎる音となります。
３—２「音圧レベル」の定義
音圧は 2 ×10−5 Pa を基準とした dB（デシベル）の値で表し、音圧レベル(Sound Pressure Level ,SPL)として定義されます。人間が聞こえる最小の音圧レベルは 0dB です。

SPL(dB) = 20log

P= 20log P + 94
2 × 10−5

最小音圧値 2 ×10−5 Pa は 0dB、最大音圧値 20Pa は 120dB です。この
最大最小幅 120dB というのが自然界における人間の可聴領域を示す
ダイナミックレンジです。

6

４

解析方法

この章では、今回の研究での各種設定、解析モデルと解析方法について記述します。
４—１

解析モデルの設定
以下に解析空間のモデルを示します。

図４—１：２重音源と観測点との関係
４—２

空間の設定
空間は反射や吸収のない自由空間とします。また、空間内の温度は20 度、その時の音速 C は 343m/s、空気密度aは 1.18kg/㎥としま

す。
４—３

音源の設定
任意の振動姿態で振動している有限の板などの放射音は板上の微少点から空間の特定点への寄与を波動的に積分することで数式的に与えられます。しかし、今回は簡単化のため、無限剛壁面にはめ込まれた
円形ピストン板の周期的振動によってモデル化します。また、振動板
は理想的に空気に圧力を加えるものとします。ピストン板半径 a は25mm、振動振幅 v は 10μm とします。

４—４

圧力変化の式
３—１の音圧を示す式から今回の解析モデルに当てはめ２重音源に

7

おける音圧を示す式を示します。その式は以下の様になります。
ピストン板 1 の音圧 P1
r1 = X 2 + Y − d
Sin 1 =

2

Y −d
r1

r
2
2 f a v a  2J1 ( kaSin 1 ) j (t− c1 )

e
P1 =
 kaSin 1 
r1

ピストン板 1 の音圧 P2
r2 = X 2 + Y + d
Sin 2 =
P2 =

2

Y +d
r2

r
2 f a v a 2  2J1 (kaSin 2 ) j (t− c2 )e kaSin 2 r2

よって、２重音源における音圧 P は以下の式で示されます。
P = P1 + P2
４—５

発音時間の設定
実際人間の耳には連続的に音波は到来するため、後に行う ANSI C
言語によるプログラミング言語をもちいたシミュレーションソフトウ
エア上での数値的解析では発生された音圧の実効値を音圧レベルとして計算します。
ただし、現在は CD（コンパクト・ディスク・オーディオ）に代表されるデジタル信号処理を施した音声が主流となっています。衛星と将来開始が予定されている地上波の両デジタル放送でもデジタル音声信号を採用することになっています。デジタル信号処理は標本化定理に基づき、なかでも広く普及している CD は標本化周波数 44.1kHz

8

と規格化されています。従って、今回の測定時間は 1/44.1k 秒間に発音された音について測定することにします。この発音時間は Basic 言
語によって開発するシミュレーションソフトウエアにおいての発音時間と設定します。
４—６

伝送周波数の設定
測定用に提唱されている周波数は、伝送周波数と呼ばれます。それの一つとして IEC（国際電気標準会議）Pub.268-1C(1982)で決められている 20Hz˜20kHz という音声信号のパワースペクトルがあります。他には音圧測定で広く用いられている 63Hz˜8kHz 帯域のピンク
ノイズがあります。ピンクノイズ（または１／ｆ雑音）とは、周波数に反比例して、高い周波数の音ほど弱くなるような音のことです。
また、あらゆる周波数の成分をほぼ同量ずつ含む音をホワイトノイ
ズ（白色雑音）と呼びます。白色光がすべての波長の光を含むことにちなんだ呼び方です。ピンクノイズは周波数が低い（波長が長い）音
を、波長が長い赤い光になぞらえて、 白色より赤みがかっているとの例えから生まれた言葉です。今回の解析は簡単の為 63Hz˜8kHz 帯
域のホワイトノイズで解析します。
その伝送周波数特性分析には定比バンド幅分析に則って 1/3 オクターブバンド分析を採用します。定比バンド幅分析とは対象とする周波数範囲を対数軸上にとり、それを等間隔に分割する方法です。1/3 オ
クターブバンド分析は定比バンド幅分析に属し、下・上の周波数( f1, f 2) とは次の関係となります。
f2
= 2n
f1
n =1 3(n=1/3 は 1/3 オクターブバンドの時)
４—７

測定位置の設定
特に視覚を必要とする画面がある場合は最大視野角を考慮する必要があります。この視野角に基づいて観測点の位置を決定します。一般

9

的テレビの場合最大視野角は 120 度です。従って、x 軸と原点 O からの直線 X が示す角度の最大幅が 60 度であり、この角度以下を満たす
観測点が観測点 P の Y 成分の最大値と仮定します。以下にそのモデル
図を示します。

図４—７：最大視野角と観測点との関係
Y = X ⋅ tan
４—８

数値的解析法の提案
設定、決定した条件や数値をつかって４ —４で示した圧力関数に対し、数値を代入することで解析（シミュレーション）を行うこととします。今までの式より音圧レベルを求める式を記述します。まず、一般的最大視野角 120 度より(−60 ≤ ≤ 60 )°Y = X ⋅ tan°となり、観測点 P の位置を(X.Y)と定めます。観測点 P の位置(X.Y)を定めた式を P = P1 + P2 から導きだされる代入する事によって圧力 P を求めます。今回この圧力 P を求める式 P = P1 + P2 に代入される周波数 f
は 63˜8kHz 帯域のホワイトノイズです。その帯域を 1/3 オクターブ
バンド分析にそって解析します。また、αは 30 度ずつ変化させます。
４—８—１

音圧レベル最大最小値差幅を算出計算された結果をもとに、X の値を固定し角度αの値を変10化させた Y である各測定点(X,Y)での音圧レベルを周波数ごとに考察し、最大値と最小値の幅を調べます。よって中心か
ら各音源中心までの距離dと観測点までの距離Xに関係した、各周波数での音圧レベルの最大最小値差幅の関係を導きだします。これを音圧レベル最大最小値差幅を求めると呼びます。
求める目的は、この差幅が狭い理想的な特性を示す、X とd の関係を探すことにあります。
４—８—２

平均音圧レベルを算出

同様に X の値を固定し角度αY の値を変化させた Y である各測定点(X,Y)での全ての音圧レベルを求めます。それからその位置での音圧レベルの平均を求めます。これを平均音圧レベルを求めると呼びます。
求める目的は、個々の周波数を区別せず、観測点に実際到達するであろう音圧レベルを示すことにあります。
音圧最大最小値差幅と平均音圧レベルそれぞれの関係を数値的に解析するために C 言語によって音圧 P の実効値を数値解析するシミュレ
ーションソフトウエアを開発します。そのソースコードを付録として掲載します。また、自由空間であるため音量感、広がり感と空間印象、エコーを考慮しません。各用語の説明はのちに示します。
Basic 言語では C 言語とは異なり、２つの音源から自由空間への1/44.1k 時間の発音によって示される音圧レベルの空間分布を視覚的に描画するソフトウエアを開発します。同じくそのソースコードを付録として掲載します。同様に自由空間であるため音量感、広がり感と空間印象、エコーを考慮しません。

５

結果

この章では、今回の研究における数値的解析の結果をグラフにて示します。特11に注目される点以外は破線にてその結果を示しています。
５—１

音圧レベル最大最小値差幅の変化について

この変化をみるために、横軸に伝送周波数(Hz)をとり、縦軸に音圧レベル最大最小値差幅(dB)をとってある距離 d のとき距離 X を変化させた特性を示しています。この図５—１—１では d=0.5m のときに Xを 0.5˜3.5m まで変化させたときの音圧レベル最大最小値差幅をグラフにしたものです。
このグラフから X=1.0m のときに、音圧レベル最大最小値差幅が狭く、理想的な特性をしめしています。この特性を実線にて示しています。この音圧差幅関係は、<２章

問題提案>で提案した観測点を見つける指針としての「音圧レベルの最大値と最小値の幅を狭くする」という点を満たしています。
他の特性を示すグラフについての考察は必要であり、音圧レベル差幅の特徴を理解するために重要なことだと思います。しかし、今回は最適な観測点を見つけるということが目的です。従って、今回は考慮しない事としたいと思います。
次のページに d をそれぞれ d=0.5m ,d=1.0m ,d=1.5m と変化させたときの原点 O からの距離 X について周波数ごとに表したグラフを並べて示します。特に注目すべき特性について実線にて表しています。

12

13

これら図５—１—１から—３までの音圧レベル最大最小値差幅の結果を示したグラフには共通して特徴的な事があります。それは実線で示された、音圧レベル最大最小値差幅に注目するとそれぞれ良く似た特性を示す関係があることです。他の値では特性に大きな幅がありま
すが、実線が示す関係、つまり d = X/2（各音源間距離 d と原点 O から観測点までの x 成分の距離 X）を満たす関係を持った特性では差幅が狭くなっています。他の関係でも音圧レベル差幅の狭い関係を見つける事ができますが、この関係では距離 d、X が変化しても、同じ差幅の関係があります。よって注目すべきだと考えます。
そして注目すべきこれらの音圧差幅関係は、<２章

問題提案>で提案した観測点を見つける指針としての「音圧レベルの最大値と最小値の幅を狭くする」という点を満たしています。
従って、音圧レベル最大最小値差幅が狭い d = X/2 という式を満たす関係を、理想的な音圧レベル最大最小値差幅を満たす関係として「理想的音圧差幅関係」と呼ぶ事ができます。

５—２

観測点における平均音圧レベルの変化について

次に、「理想的音圧差幅関係」をみたす点での平均音圧レベルの結果を示した図５ —２について特徴をみることにします。このグラフは理想的音圧差幅関係を満たす点にて平均音圧レベル（実際に観測者に14到来するであろう音圧レベル）を表します。
グラフで示されるように、たとえ理想的音圧差幅関係を満たしていても、平均音圧レベルは指数関数的に減少していくためその音は聴きづらくなっていくことが分かります。
この解析では自由空間で雑音騒音が発生しないとしていますが、もし一般的な生活空間での雑音音圧レベルである 10dB を考慮すると、およそ観測点が 3m 離れてしまうと音は聞き取りづらくなると考えられます。
この減少を少なくするためには振動振幅 v や音源半径 a の値を変化させる必要がありますが、120dB を超えるようなことがあってはもはや騒音となります。また 10dB を下回ることも避けることが重要です。

６

考察

この章では、今回の研究での結果をまとめ、その特性を考察します。
６—１

求められる特性
５—１のグラフ群で注目すべき点である実線の結果が示すように、理想的音圧差幅関係 d = X/2 を満たす距離で音圧を観測した場合、各周波数の音圧レベル最大最小値差幅が狭くなっています。しかし、５—２のグラフから音源幅 d と観測点までの距離 X が広がると観測点で得られる平均音圧レベル値は減少し、音声が聞き取りにくくなります。
これらのことより、測定周波数幅での周波数最大最小値差幅を少なくすることができる音源位置と、観測位置までの距離の関係を導き出すことができます。

６—２「理想的音源位置」
理想的音圧差幅関係にあり、鑑賞位置で平均音圧レベルが雑音中でも十分な値を得られてなおかつ、その平均値の最大は人間心理において騒音にならないという繊細な位置関係を満たす、「理想的音源位

15

置」の考え方を定義します。
つまり「理想的音源位置」とは、「音圧レベル最大最小値差幅が観測点にて極端なばらつきが発生する
ことがない位置 d=X/2 を満たし、音源半径 a と最大振動振幅 v のピ
ストン板音源から発生される音波が示す平均音圧レベルが 10dB 以上
120dB 以下という特性を満たす位置である」と定めることができると考えています。
テレビや音楽鑑賞者（観測者）は画面や音源位置が存在する方向に距離をおいて鑑賞（観測）する傾向があります。特にテレビ画面など
視覚をともなって鑑賞する場合は、画面の大きさと最大視野角 2αなどからその鑑賞位置は個人差を含めてもかなり限定されます。従って、その鑑賞位置にもっとも音圧レベル最大最小値差幅が少ないように音声（音波）を発生するように各音源間距離 d を設定することによって、よりよい「音」が鑑賞者の耳に到達すると思います。

また、テレビやオーディオ機器などはその市場においてある程度その本体の大きさが決まっています。よって d や X という距離に加えて音源半径 a を本体の大きさからある程度設定することが可能です。そして、その鑑賞位置での平均音圧レベルが雑音音圧レベル 10dB に影響されないようになおかつ 120dB 以上のような騒音にならないように(10dB 以上 120dB 以下)今回のシミュレーションでは変化させなかった振動振幅 v について考慮することが必要です。その結果、その必要条件に応じた「理想的音源位置」を割り出すことができます。

16

７

まとめ

この章では、今回の研究には無視しましたが、これから考慮の必要な聴覚についての要素を説明し、今回の研究の成果とこの応用をまとめます。
７—１

聴覚の科学について
実際音楽鑑賞において「音圧」だけを考慮すれば理想的な観測点が示されるわけではありません。なぜなら、以下の要素も極めて重要な意味をもっているからです。
７—１—１

耳に聞こえる音の３要素

要素１：音色主に波形に依存します。
要素２：大きさ
主に音圧レベルに依存します。
しかし、音圧が同じでも、周波数が違えば音が同じ大きさに聞こえるとは限らないことが実験的に調べられ知られています。
そこで、1kHz の純音を基準にしてその音と同じ大きさに聞こえる音圧レベルすなわち同じラウドネ
ス(Loudness)の音圧レベルを表す曲線という意味で
等ラウドネス曲線(Equiloudness Contour)があります。これは ISO（国際標準化機構）が規定しているものです。
要素３：高さ
主に周波数に依存します。
しかし、高さを感じるのは周期性のある音、または周波数スペクトルが狭い帯域幅に限られた音であり、単純に高さを決定できないのが現状です。
７—１—２

聴覚に関係する各効果

方向感

17

異なった方向の音源から出た同じ信号音を聞く場
合に、二つの信号に時間的差があると音源は時間的に早く到来する先行音の方向に定位される効果のことです。一番最初に到来する波面の方向に定位することから「第一波面の法則」とも呼ばれています。
音量感
聴覚的に、遅れ時間にも影響を受けますが二つの音が続けて到来する時に音が大きく聞こえるという効果のことです。
広がり感と空間設定
反射音の時間的遅れが 10ms 以上で音源が広がり、音楽が豊かで量感を伴ったものとなる効果のことです。
エコー
直接耳に到来する直接音と、壁などで反射して遅れてきた反射音が別々に分離して聞こえる現象をさします。直接音に対して 50ms 程度遅れて到来する反射音によって生ずる効果のことです。
理想的音源位置に音源を配してその環境で音楽鑑賞を行ったとしても、これら聴覚の科学を考慮していないため理想的な鑑賞ができるとは限りません。テレビなどの視覚を必要とするような音響機器では画面の大きさから割り出される観測点までの距離 X などからある程度が設定出来るでしょう。しかし、一般的な音響機器において理想的音源
位置は確定しても、理想的鑑賞位置はまだ未確定なのです。
とくに音の時間的遅れによって変化する各効果においては、鑑賞位置に大きな影響を与えます。したがって今後、より研究と考慮を必要
とします。
７—２

これからの AV 機器設計思想と音楽鑑賞について
聴覚の科学や関係する各効果によりただ単純に音圧レベルを考慮して理想的音源位置に音源を配しても、鑑賞位置が問題として残ります。

18しかし、音が良くなる一つの要素として鑑賞最適音源位置の探究でもある今回の理想的音源位置研究は重要なことであると認識しています。
従って、これからの音楽鑑賞やテレビ鑑賞など２重音源を使うような環境での鑑賞では、今回提案した観測点（鑑賞席）で、音圧レベル最大最小値差幅が観測点にて極端なばらつきが発生することがない位置
d=X/2 を満たし、平均音圧レベルが 10dB 以上 120dB 以下になる「理想的音源位置」という位置に音源を配する設計することが重要です。
スピーカーなどの音源位置を個々に設定できるような音響機器ではこの位置に音源を設置することを強くお勧めします。せっかく高画質な音響機器があるのだから高音質な音が再生できる様に設計された機器があると、よりよい「音」で番組鑑賞が楽しめるのではないかと期待しています。
７—３

本研究での設計思想を備えた AV 機器について新しい付加価値を求められる現在の社会環境において、私はこの設計思想が新たなる要素、つまり付加価値の一つになりえるのではないだろうかと思います。この音圧レベル分布を考慮して設計されたオー
ディオ・ビジュアル製品は、今までの高音質高画質製品に新たなる要素を加えた製品になるものではないだろうかと期待しています。

８

参考文献

城戸健一
永田穂

著「音響工学」電子情報通信学会編
編著「建築音響」日本音響学会編

日本ビクター株式会社音響設計事務所

コロナ社(1982)
コロナ社(1988)

ホームページ

http://www.jvc-victor.co.jp/pro/sound/パイオニア株式会社

ホームページ

http://www.pioneer.co.jp/
ダイナミックオーディオ 5555

ホームページ

http://www.dynamicaudio.com/

19

付録
この章では、今回の研究のために開発したソフトウエアのソースコードを示します。
１

２重音源の音圧レベル数値計算用ソフトウエアについて/*Yuki Iida 2001-2002 All Rights Reserved. */#include <stdio.h>#include <math.h>#include <float.h>

int main(void){/*double c; /*Sound Verlocity*/
double f; /*Freaquency*//*double pa; /*Air Dencity*//*double v; /*Oscillating Amplitude*//*double a; /*Radius*/
double x; /*Distance between Center and Observing point on X-Lay*/double y; /*Distance between Center and Observing point on Y-Lay*/double ytheta; /**/
double d; /*Distance between Center and Baffle center*/double prms1;
double prms2;
double prms; /*Pressure Value Root-Meen-Squarer (Pa)*/
double bsl1;
double bsl2; /*Function of Bessel */double spl; /*Sound Pressure Level (dB)*//*double pi;*/double k;/*Wavelength Constant*/
double agb; /*Algebra*/20

double r1; /*Algebra*/double r2; /*Algebra*/double n; /*Algebra*//*c = 343 (m/s);*//*pa = 1.18;*//*v = 0.00001 (m);*//*a = 0.025 (m);*//*pi = 3.1415;*/
printf("System Set-Up OK! I start ¥n");for (d=0.5; d<=1.6; d=d+0.5){for (x=0.5; x<=3.6; x=x+0.5){for (f= 63; f<=8100; f=f*1.26)/*f2 = f1 * 2^(1/3)*/{for (n=-2; n<=2; n=n+1){
FILE*fp = fopen("MaxMin.txt","a");ytheta = (30*n)/180;
y = x*tan(ytheta);k = (2*3.1415*f)/343; /*k = (2*pi*f)/c;*//*Buffle 1*/
r1 = sqrt((x*x)+(fabs(y-d)*fabs(y-d)));agb = k*0.025*(fabs(y-d)/r1); /*agb = k*a*Sin(Theta);*/bsl1 = 2-(agb*agb/4)+(agb*agb*agb*agb/96)-(agb*agb*agb*agb*agb*agb/4608);/*prms = 2*((f*pa*v*pi*a*a*fabs(bsl))/r);*/prms1 = 2*((f*1.18*0.005*3.1415*0.025*0.025*fabs(bsl1))/r1);/*Buffle2*/
r2 = sqrt((x*x)+(fabs(y+d)*fabs(y+d)));agb = k*0.025*(fabs(y+d)/r2); /*agb = k*a*Sin(Theta);*/bsl2 = 2-(agb*agb/4)+(agb*agb*agb*agb/96)-(agb*agb*agb*agb*agb*agb/4608);/*prms = 2*((f*pa*v*pi*a*a*fabs(bsl))/r);*/prms2 = 2*((f*1.18*0.005*3.1415*0.025*0.025*fabs(bsl2))/r2);21

prms = prms1 + prms2;
spl = 20*log(prms)+94;
printf("%*.*f

%*.*f

%*.*f

%*.*f

%*.*f

%*.*f¥n",DBL̲DIG -10, DBL̲DIG - 10, d , DBL̲DIG -10, DBL̲DIG -10, x, DBL̲DIG -10, DBL̲DIG -10, y,
DBL̲DIG -10, DBL̲DIG -10, f, DBL̲DIG -10, DBL̲DIG -10, prms, DBL̲DIG -10, DBL̲DIG -10, spl);
fprintf(fp,"%*.*f

%*.*f

%*.*f

%*.*f¥n",DBL̲DIG -10, DBL̲DIG - 10, d , DBL̲DIG -10, DBL̲DIG -10, x, DBL̲DIG -10, DBL̲DIG -10, f, DBL̲DIG -10,
DBL̲DIG -10, spl);
fclose (fp);}}}}printf("I finished!! Thank You! ¥n");return 0;}２

平均音圧レベル数値計算用ソフトウエアについて/*Yuki Iida 2001-2002 All Rights Reserved. */#include <stdio.h>#include <math.h>#include <float.h>

int main(void){/*double c; /*Sound Verlocity*/
double f; /*Freaquency*//*double pa; /*Air Dencity*//*double v; /*Oscillating Amplitude*//*double a; /*Radius*/
double x; /*Distance between Center and Observing point on X-Lay*/double y; /*Distance between Center and Observing point on Y-Lay*/double ytheta; /**/
double d; /*Distance between Center and Baffle center*/double prms1;
double prms2;
double prms; /*Pressure Value Root-Meen-Squarer (Pa)*/22

double bsl1;
double bsl2; /*Function of Bessel */double spl; /*Sound Pressure Level (dB)*//*double pi;*/double k;/*Wavelength Constant*/
double agb; /*Algebra*/double r1; /*Algebra*/double r2; /*Algebra*/double n; /*Algebra*//*c = 343 (m/s);*//*pa = 1.18;*//*v = 0.00001 (m);*//*a = 0.025 (m);*//*pi = 3.1415;*/
printf("System Set-Up OK! I start ¥n");for (d=0.5; d<=1.6; d=d+0.5){for (x=0.5; x<=3.6; x=x+0.5){ for (n=-2; n<=2; n=n+1){ for (f= 63; f<=8100; f=f*1.26)/*f2 = f1 * 2^(1/3)*/{
FILE*fp = fopen("Average.txt","a");ytheta = (30*n)/180;
y = x*tan(ytheta);k = (2*3.1415*f)/343; /*k = (2*pi*f)/c;*//*Buffle 1*/
r1 = sqrt((x*x)+(fabs(y-d)*fabs(y-d)));agb = k*0.025*(fabs(y-d)/r1); /*agb = k*a*Sin(Theta);*/bsl1 = 2-(agb*agb/4)+(agb*agb*agb*agb/96)-(agb*agb*agb*agb*agb*agb/4608);/*prms = 2*((f*pa*v*pi*a*a*fabs(bsl))/r);*/prms1 = 2*((f*1.18*0.005*3.1415*0.025*0.025*fabs(bsl1))/r1);/*Buffle2*/23

r2 = sqrt((x*x)+(fabs(y+d)*fabs(y+d)));agb = k*0.025*(fabs(y+d)/r2); /*agb = k*a*Sin(Theta);*/bsl2 = 2-(agb*agb/4)+(agb*agb*agb*agb/96)-(agb*agb*agb*agb*agb*agb/4608);/*prms = 2*((f*pa*v*pi*a*a*fabs(bsl))/r);*/prms2 = 2*((f*1.18*0.005*3.1415*0.025*0.025*fabs(bsl2))/r2);

prms = prms1 + prms2;
spl = 20*log(prms)+94;
printf("%*.*f

%*.*f

%*.*f

%*.*f

%*.*f

%*.*f¥n",DBL̲DIG -10, DBL̲DIG - 10, d , DBL̲DIG -10, DBL̲DIG -10, x, DBL̲DIG -10, DBL̲DIG -10, y,
DBL̲DIG -10, DBL̲DIG -10, f, DBL̲DIG -10, DBL̲DIG -10, prms, DBL̲DIG -10, DBL̲DIG -10, spl);
fprintf(fp,"%*.*f

%*.*f

%*.*f

%*.*f¥n",DBL̲DIG -10, DBL̲DIG - 10, d , DBL̲DIG -10, DBL̲DIG -10, x, DBL̲DIG -10, DBL̲DIG -10, f, DBL̲DIG -10,
DBL̲DIG -10, spl);
fclose (fp);}}}}printf("I finished!! Thank You! ¥n");return 0;}

３

音圧レベル描画用シミュレータソフトウエアについて
このプログラムでは Basic 言語を用いて音源から一定時間発生された音圧が自由空間中でどのような分布を示すか画面に描画するものです。この一定時間は初期の設定で、1/44.1k 秒だけ発生された音としています。そしてその時間の音圧レベル分布が視覚的に理解できるよ
うになっています。以下に主要なソースコードを示します。この Basic
言語によるソフトウエアは REAL Software ,Inc.（日本代理店

株式会社アスキー http://www.ascii.co.jp/realbasic/）に基づく REAL
Basic 2.0.2 にて書かれたものです。付録図はそのソフトウエアの写真です。

24

付録図１：Basic 言語での音圧分布シミュレーター
周波数 f=1000Hz のとき

付録図２：Basic 言語での音圧分布シミュレーター
周波数 f=440Hz のとき//主要ソースコード、描画ボタンに埋め込むもの//Yuki Iida 2001-2002 All Rights Reserved.
Dim Ppercent, P,Pmax, f, Pa, v, SinTheta, a, r, BsL, t, c, k, Center, x, y, Q ,agb as Double //単一音源についての変数
Dim Ppercent12, P1, P2,Pmax1, Pmax2, f, SinTheta1, SinTheta2, d1, d2, d1Center, d2Center, r1,25

r2 , BsL1, BsL2 , y1, y2, agb1, agb2 as Double //二重音源についての変数
Dim xall, yall as Integer
f = Val(EditField1.Text)/ / 解 析 周 波 数 1kHz

Pa = Val(EditField2.Text)//空気密度v = Val(EditField3.Text)//振動振幅a = Val(EditField4.Text)//円形ピストン板半径 m

t = Val(EditField5.Text)//時刻 sc = Val(EditField6.Text)//音速 m/s

k = (2 * 3.1415 * f) / c //波長定数Center = Canvas1.Height / 2

Canvas1.Graphics.forecolor=rgb(255,255,255)
Q = (2 * a * f) / c//指向特性EditField7.Text = Str(Q)For yall = 1 to Canvas1.HeightFor xall =1 to Canvas1. Width//x = 0.01 * xall//y = 0.01 * yallr = 0.01 * Sqrt(xall*xall + Abs(yall - Center)*Abs(yall - Center))
SinTheta = ((0.01*Abs(yall-Center)) / r )agb = k*a*SinTheta
BsL = 2 - ((agb*agb) / 4) + ((agb*agb*agb*agb) / 96) - ((agb*agb*agb*agb*agb*agb) / 4608)
Pmax = ((Sqrt(2) * f * Pa * v * 3.1415 * a*a) * BsL)/ r
P = Pmax * (1 + (Sin(2 * 3.1415 * f * (t - (r / c)))))//音圧最大値をバイアスとしてかけて音圧値の最低を０とする
Ppercent = (510*P)/Pmax
Canvas1.Graphics.forecolor=rgb(Ppercent-255,0,-Ppercent+255)
Canvas1.Graphics.DrawLine xall, yall, xall, yall
Next
Next
//グリットラインの描画
Canvas1.Graphics.forecolor=rgb(100,100,100)
Canvas1.Graphics.DrawLine 0, 0, 0, Canvas1.Height
Canvas1.Graphics.DrawLine 0, Canvas1.Height / 2, Canvas1. Width, Canvas1.Height / 2//音源の描画26

Canvas1.Graphics.forecolor=rgb(100,255,100)
Canvas1.Graphics.DrawLine 0, Center- 100*a, 0, Center+ 100*a//以下 Canvas2 に対しての描画について
d1 = 100 * Val(EditField8.Text)
d2 = 100 * Val(EditField9.Text) //二つの音源の中心からのずれの距離
For yall = 1 to Canvas1.HeightFor xall = 1 to Canvas1. Width//x = 0.01 * xall//y1 = 0.01 * yall//y2 = 0.01 * yall//y1 の音圧
d1Center = Abs(Center - d1)
r1 = 0.01 * Sqrt(xall*xall + Abs(yall - d1Center)*Abs(yall - d1Center))
SinTheta1 = ((0.01*Abs(yall-d1Center)) / r1 )agb1 = k*a*SinTheta1
BsL1

=

2

-

((agb1*agb1)

/

4)

+

((agb1*agb1*agb1*agb1)

/

96)

-

/

96)

-

((agb1*agb1*agb1*agb1*agb1*agb1) / 4608)
Pmax1 = ((Sqrt(2) * f * Pa * v * 3.1415 * a*a) * BsL1) / r1
P1 = Pmax1 * (1 + (Sin(2 * 3.1415 * f * (t - (r1 / c)))))//y2 の音圧
d2Center = Abs(Center + d2)
r2 = 0.01 * Sqrt(xall*xall + Abs(yall - d2Center)*Abs(yall - d2Center))
SinTheta2 = ((0.01*Abs(yall-d2Center)) / r2 )agb2 = k*a*SinTheta2
BsL2

=

2

-

((agb2*agb2)

/

4)

+

((agb2*agb2*agb2*agb2)((agb2*agb2*agb2*agb2*agb2*agb2) / 4608)
Pmax2 = ((Sqrt(2) * f * Pa * v * 3.1415 * a*a) * BsL2) / r2
P2 = Pmax2 * (1+ (Sin(2 * 3.1415 * f * (t - (r2 / c)))))

Ppercent12 = (510*(P1+P2))/(Pmax1+Pmax2)
Canvas2.Graphics.forecolor=rgb(Ppercent12-255,0,-Ppercent12+255)
Canvas2.Graphics.DrawLine xall, yall, xall, yall
Next
Next

27

//グリットラインの描画
Canvas2.Graphics.forecolor=rgb(100,100,100)
Canvas2.Graphics.DrawLine 0, 0, 0, Canvas1.Height
Canvas2.Graphics.DrawLine 0, Canvas2.Height / 2, Canvas2. Width, Canvas2.Height / 2//音源の描画
Canvas2.Graphics.forecolor=rgb(100,255,100)
Canvas2.Graphics.DrawLine 0, d1Center- 100*a, 0, d1Center+ 100*a
Canvas2.Graphics.DrawLine 0, d2Center- 100*a, 0, d2Center+ 100*a

謝辞
最後にこの研究を行うにあたり御理解御協力いただいた成沢忠教授に深く御礼申し上げます。
また、研究に協力してくれた鶴野哲生君、鳥井智正君、能勢義和君、渡辺啓太
君、大橋渉君、平尾智将君、森泰隆君、石川美津朗君、成沢研究室の西本豊君に感謝の意を表します。

28