« 連載(1)動く「なまはげ3兄弟」の製作 | メイン | 連載キットで作る(67) ロームのBD6211モータ・ドライバをテストする(4) »

連載(17)LTSPICEで回路の検討 オーディオ用テスト信号を作る(4)

オクターブを12分割する
  スピーカや部屋の音響特性を測定するための信号源として、1kHzの正弦波を中心に1/3オクターブ間隔で20Hzから20kHzの31ポイントの測定点が利用されます。
 また平均律の音階はオクターブ間を1/12分割して半音ずつの音階を作りミとファ、シとドの間を半音としその他は2/12の全音間隔でドレミファの音階が作られています。この音階の周波数に応じた正弦波を生成してみます。

220Hzのラの音から440Hzのオクターブ上の間を等比級数で12分割する
  ここでは、220Hzのラの音から440Hzの1オクターブ上のラの音までを半音ずつ分割する正弦波をLTspiceで作成します。計算は次の計算式で行います。

   220Hz ×2^(n/12) nを0から12まで置き換え計算する
         ^は累乗を示す

LTSPICEで音階の正弦波を作る
  正弦波の生成は一番容易な、voltageの電圧源を使用します。電圧源で正弦波を設定して、周波数の設定を変数で行います。この変数を次に示すように .stepディレクテイブで変化させ1オクターブ間を12等分した周波数の正弦波を作ります。


LTSP2170010.jpg 電圧源で正弦波の発振に指定し、周波数は次に示すように{ }で囲った変数で指定します。

 

LTSP2170020.jpg この変数の内容の定義は次のように、累乗の項目をパラメータXpとして、

       Xp=Xn/12  で求めXnを0から12まで変化させます。

 .paramディレクテイブではXpと変数XHを定義しています。このパラメータの設定では多くの種類の関数、演算が使用できます。pow(x,y)はxのy乗を計算する関数です。
 XpのかわりにXn/12と式をセットすることもできます。ここでは事前に計算した結果をパラメータにセットしpow関数にパラメータを渡しました。

.param Xp=Xn/12 XH=100*pow(2, Xp)

.stepディレクテイブで各周波数のシミュレーション
  各周波数のシミュレーションは .stepディレクテイブで13回行います。シミュレーション結果を次に示します。

 

LTSP2170030.jpg シミュレーション結果のうち、1番目の正弦波、低いほうのラと13番目の高いほうのラのみ表示します。

 

LTSP2170040.jpg ピンクの低いほうの波形が2サイクルの間に水色の高いほうの周波数の波形が4サイクルあるのが確認できます。

 次回、分割した音階について確認します。
<神崎康宏>

カテゴリ:

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/2912

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1