現在のシミュレーション時間、サンプル時間、パルス周期、デューティー比を利用し、パルスの出力値を逐次切り替えるモデリング方法が考えられます。
以下にモデリング例(pulse_gen.mdl)を示します。
※モデルは、"関連ドキュメント"よりダウンロードすることができます。
ここでサブシステム Pulse_Generator with Variable_Duty_Ratio はマスク化されており、内部はつぎのようにモデリングされています。
変数Am, period, Tsはマスクダイアログパラメータとしてつぎのように設定されています。
シミュレーション実行結果は以下のようになり、入力されるデューティー比[%]に応じてパルス出力が変化していることが確認できます。
このモデルのポイントを以下にまとめます。
- デューティー比を入力とし、ON/OFF信号を出力
- 設計パラメータは振幅(変数Am)、周期(変数period)、サンプル時間(変数Ts)の3種類
- OFF時のパルス出力値はゼロ
- ON時のパルス出力値は1で、現時点から (パルス周期)*(デューティー比[%]) だけ時間が経過したらOFFへ切り替え
- デューティー比はパルス周期(変数period)毎に更新