BV(Arbitrary behavioral voltage)の電圧源が利用できます。BVで正弦波を得るための指定は、前回確認したように次の式で指定します。
V=A*SIN(2*PI*time*S) (1)
A:正弦波のピーク電圧値
S:正弦波の周波数
時間の経過と共に、発振周波数を変えるためには(1)式のSの値を時間と共に変化させます。
S=((SE-SS)/t)×time+SS
SE : 開始周波数 Hz
SS : 終了周波数 Hz
t : シミュレーション時間 秒
LTspiceでこの設定を次のように行いました。
開始周波数100Hz で3秒間かけて1000Hz まで周波数を増加するように設定してみました。この回路でシミュレーションすると次に示すように、波形が正確に再現されませんでした。再生音もひずみの大きいものとなっています。
500msくらいにシミュレーション時間を短くすると、周波数の変化するシミュレーション結果がきれいな正弦波で表示されます。シミュレーション時間を短くするとデフォルトのシミュレーション間隔でも相対的に信号の波形を再現するために必要なサンプリング間隔を満足しますので、次のような結果が得られます。
シミュレーションの開始時の部分を拡大すると、次に示すようにきれいな波形が確認できます。
前回ステップ動作で作成した1/3オクターブごとの信号も、BVの電圧を次のように設定して再生することで、時間の経過ごとに1/3オクターブずつ変化する音が出力されます。
V=sin(2*pi*time*1000*pow(2,int(time*3)/3))
int(time*3)で時間の値から1/3秒ごとに1、2、3、・・と整数値が得られます。次に示すように1000Hzを基準にした1/3オクターブの周波数が得られます。
1000*pow(2,int(time*3)/3)
このように、BVなどを利用すると、いろいろな信号源を作成することが可能です。回路をテストするための入力信号も多様なものが用意できます。
シミュレーションの計算ポイントの最大間隔
シミュレーションの計算ポイントの最大間隔を設定することができます。過渡解析の設定ウィンドウのMaximum timestepの欄にtimestepの最大値を設定すると、シミュレーションの計算ポイントの間隔がこの値以下になります。シミュレーションをより精密に行いたい場合は、この値を設定することでより精密なシミュレーションが行えます。しかし、その分シミュレーションの計算時間は増大します。
BVを使用したオーディオ信号の作成を今回で終えて、次に進みます。
