goo blog サービス終了のお知らせ 

Sim's blog

電子工作はじめてみました

LTspiceでwaveファイルを読む

2008-03-07 01:01:15 | 電子工作
LTspiceでwaveファイルを作るの続きです。

LTspiceのデモのwavein.ascにwaveファイルを読み込む方法があります。


voltageという部品のVと書かれているところ右クリックして編集します。+から.wavの中身が出てきます。
部品を右クリックしたときに出るDCの所にいれても入力できますが再編集がなぜかできません。編集したいときはwavefile=...となっているあたりを右クリックして編集します。

この例ではvm11.wavというファイルを読み込んでいます。PC-9801VM11という機種の起動音です。このファイルは「PC-98のブート音比較!」というページからもらってきました。VM11以外にも色々な型番の起動音をコレクションされています。今となってはとても貴重ですね。

シミュレートした結果です。


前半がピ(約125ミリ秒)で後半がポ(約107ミリ秒)です。

前半をFFTしました。

ほぼ2kHzが支配的です。

LTspiceではFFTしたい部分を拡大してから、Use current zoom ExtentにチェックをいれてFFTすることで表示している部分だけをFFTすることができます。

後半部分のFFTです。

1kHzと3kHzが支配的です。

想像するに元々は2kHzの矩形波と1kHzの矩形波だったのが、矩形波だと出るはずの奇数倍の高調波がいないということはローパスフィルターがかかっているのではないかと思いました。.wavファイルを作るときに高調波が切られてしまった可能性もあります。PC-9801のスピーカーにローパスフィルターが実際についていたのかもしれません。そのあたりは分かりません。

↑の波形を参考に.wavファイルを作ってみました。


前半(125ミリ秒)は2kHzの矩形波、後半(107ミリ秒)は1kHzの矩形波で、CRのローパスフィルタを通して出力しています。フィルタの定数はいいかげんに決めました。

一応、フィルタの特性も調べてみます。


こんな感じに作って、シミュレートすると次のようになります。

右下がりなのでローパスフィルタになっています。
720Hzくらいで-3dBになっています。フィルタかかりすぎかな。もっと抵抗を減らさないといけませんね。1/√2倍が-3dBで-3dBになる周波数をカットオフ周波数と言うみたいです。
抵抗を390Ωにするとカットオフ周波数が4kHzになります。

なんか、ここまでやるとマイコンで鳴らしてみたくなりますね。

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
WAVファイルの素性を調べると (のりたん)
2008-03-08 00:48:07
件のWAVファイルを私もダウンロードしてみました。

ダウンロードしたファイルの上で右クリックして、プロパティを開くと、このファイルの素性がわかります。「概要」タブから「詳細表示」をすると、「オーディオ サンプル レート 11 KHz」と書いてあります。

つまり、このファイルは、一秒間に壱万壱千回ほど値を取ってきていることがわかります。従って、このファイルに入っている理論的な上限周波数は、5.5kHzです。実際には、サンプリングの前に何らかのフィルタがかかっているはずなので、帯域幅は4kHzがいいところではないでしょうか。

このことから考えると、録音機でサンプリングしている段階で帯域が制限されてしまい、1kHzの5倍高調波や2kHzの3倍高調波などは記録されていないのだと思われます。

もうちょっと、サンプル・レートを上げたら、違う音が聞こえたのだろうと思います。
返信する
re:WAVファイルの素性を調べると (Sim)
2008-03-08 21:37:56
のりたんさん、いつもコメントありがとうございます。

なるほどサンプリングレートの可能性大ですね。私がセーブしたファイルも、もっとレートをあげないといけませんね。
返信する

コメントを投稿