このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
PWM
ライブラリ:
Simulink /
Discontinuities
説明
PWM ブロックを使用して、理想的なパルス幅変調信号を生成します。
パルス幅変調 (PWM) は、矩形パルスを使用してアナログ信号をエンコードする手法です。このエンコードは、高く設定されている矩形波の 1 つの周期の割合を制御することで行われます。この割合は、信号のデューティ比です。変調信号と入力デューティ比の関係を簡単に記述すると、次のようになります。
ここで、ymax と ymin は、それぞれ出力信号の上限と下限です。PWM ブロックの場合、デューティ比は [0,1]
に制約されます。理想的な PWM 信号はデューティ比 D に比例します。
端子
入力
D — デューティ比
スカラー
パルス P の目的のデューティ比。範囲 [0,1] 内のスカラーとして指定します。
データ型: double
出力
Port 1 — 出力パルス
スカラー
入力デューティ比に対応する PWM 信号。
データ型: double
パラメーター
周期 — パルス幅
1 (既定値) | 実数スカラー
出力信号の連続するパルスの立ち上がりエッジ間の時間。小さい値は高周波数パルスを表します。
プログラムでの使用
ブロック パラメーター: Period
|
型: string | 文字ベクトル |
値: 実数スカラー |
既定の設定: '1'
|
初期遅延 — 初期遅延
0 (既定値) | 実数スカラー
生成される PWM 信号の初期遅延または位相遅延 (秒数) を指定します。
プログラムでの使用
ブロック パラメーター: InitialDelay
|
型: string | 文字ベクトル |
値: 数値スカラー |
既定の設定: 0
|
ゼロのデューティ比を許可しない — 代数ループを回避
off
| on
このパラメーターを有効にして、PWM ブロックを含む代数ループを回避します。
メモ
このパラメーターを有効にすると、信号値が 0 以下の場合にデューティ比入力のでエラーが発生するようになります。
プログラムでの使用
ブロック パラメーター: DisallowZeroDutyCycle |
型: string | 文字ベクトル |
値: 'on' | 'off'
|
既定の設定: 'off'
|
固定の時間間隔で実行 — 離散時間の動作の選択
on
(既定値) | off
ブロックを実行するタイミングと出力信号のサンプル時間を指定します。
off
— 入力サンプルの遅延が経過するたびにブロックが実行されます。出力信号は固定マイナー サンプル時間になります。on
— [サンプル時間] パラメーターを使用して指定する固定レートでブロックが実行されます。出力信号は [サンプル時間] パラメーターを使用して指定するサンプル時間になります。
[固定の時間間隔で実行] を選択する場合:
遅延信号の値は [サンプル時間] パラメーターで指定する値よりも大きくなければなりません。
遅延信号の値が指定されたサンプル時間の整数倍でない場合、それよりも小さい最も近いサンプル時間の整数倍に丸められます。たとえば、サンプル時間が
0.1
の場合、遅延信号の値が0.68
であれば、その遅延は0.6
に丸められます。
プログラムでの使用
ブロック パラメーター: RunAtFixedTimeIntervals
|
型: string | 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off'
|
サンプル時間 — パルスの分解能の設定
0.1 (既定値) | スカラー
ブロックの実行レートと出力信号のサンプル時間。遅延信号の値は指定されたサンプル時間よりも大きくなければなりません。
遅延信号の値が指定されたサンプル時間の整数倍でない場合、それよりも小さい最も近いサンプル時間の整数倍に遅延の値が丸められます。たとえば、サンプル時間が 0.1
の場合、遅延の値が 0.68
であれば、その遅延は 0.6
に丸められます。
依存関係
このパラメーターを有効にするには、[固定の時間間隔で実行] を選択します。
プログラムでの使用
ブロック パラメーター: SampleTime
|
型: string | 文字ベクトル |
値: 数値スカラー |
既定の設定: 0.1
|
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
アルゴリズム
連続サンプリング モード
時間 tk から始まるパルスは、次のようになります。
ここで pw はパルス幅です。特定の周期 P について、pw はデューティ比 D
に比例します。
離散サンプリング モード
離散サンプリング モードでは、入力デューティ比信号は [固定の時間間隔で実行] パラメーターで指定されたレートでサンプリングされます。
指定されたサンプリング レート tS について、幅 pw のパルスに必要なサンプル数は次のとおりです。
ここで、nP は、周期 P のパルスをシミュレーションするために必要なサンプル数です。
ブロックのサンプリング レートが tS= 0.25 P に設定されている周期 P のノミナル パルスについて考えます。パルスの 1 つの周期に必要なサンプル数は nP= 4 です。したがって、入力デューティ比 D= 0.47 については、サンプル数 n pw は負方向に丸められて = 1 となります。したがって、パルスは周期内の 4 つのサンプルのうち 1 つのサンプルで高くなります。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
量産品質のコードには推奨しません。組み込みシステムでよく見られる速度とメモリに関するリソースの制限と制約に関連します。生成されたコードには動的な割り当て、メモリの解放、再帰、追加のメモリのオーバーヘッド、および広範囲で変化する実行時間が含まれることがあります。リソースが十分な環境ではコードが機能的に有効で全般的に許容できても、小規模な組み込みターゲットではそのコードをサポートできないことはよくあります。
通常、量産コード生成をサポートする等価な離散ブロックに連続ブロックをマッピングするには、Simulink モデルの離散化の使用を検討してください。モデルの離散化を開始するには、Simulink® エディターの [アプリ] タブにある [アプリ] で、[制御システム] の [モデルの離散化] をクリックします。1 つの例外は Second-Order Integrator ブロックで、モデルの離散化はこのブロックに対しては近似的な離散化を行います。
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)