このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Waveform Generator
信号表記を使用した波形の出力

ライブラリ:
Simulink /
Sources
説明
Waveform Generator ブロックは、[波形の定義] テーブルに入力した信号表記に基づいて波形を出力します。
このブロックは、信号表記に対して以下の構文をサポートします。
このブロックは、ノーマル モード、アクセラレータ モードおよびラピッド アクセラレータ モードと高速リスタートをサポートします。
サポートされる演算子
演算 | 演算子 |
---|---|
絶対値 | abs() |
加算 | + |
除算 | / |
乗算 | * |
小かっこ | () |
減算 | - |
単項マイナス | - |
Waveform ブロックは、演算子の優先順位について、次のような規則に従います。
( )
+ -
(unary)* /
+ -
サポートされている演算
Waveform Generator ブロックは、一度に 1 つの信号を出力します。この出力信号は変更できます。周波数および位相オフセットのパラメーターをラジアン単位で表します。以下も実行できます。
信号表記の入れ子。たとえば、以下のようになります。
sin('Amplitude',sin('Amplitude',1,'Frequency',1,'Phase',0),'Frequency',1,'Phase',1)
ベース ワークスペースまたはモデル ワークスペースの実数のスカラー変数の参照。たとえば、以下のようになります。
sin('Amplitude',x,'Frequency',y,'Phase',z)
x、y および z はベース ワークスペースに存在します。
波形の詳細については、「アルゴリズム」の節を参照してください。
さまざまな入力タイプに対するシステムの反応をすばやく確認するには、シミュレーションの実行中に Waveform Generator ブロックの出力信号を変更します。
制限
Simulink® Coder™ を使用して生成したコードの実行中に、周波数や振幅など、波形のパラメーターを調整することはできません。代わりに、指定した波形バリアント間を切り替え可能なコードを生成できます。詳細については、Waveform Generator ブロックでのコードの実行中の出力波形間の切り替え (Simulink Coder)を参照してください。
端子
出力
Port_1 — 生成された出力信号
スカラー | ベクトル
[波形の定義] テーブルのエントリによって指定された出力信号
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| bus
パラメーター
メイン
出力信号 — 出力信号の波形
1 (既定値) | 整数
出力信号を指定する波形定義を選択します。数値は、[波形の定義] テーブルの行項目に一致します。シミュレーションの実行中にこのパラメーターを変更できます。
プログラムでの使用
ブロック パラメーター: SelectedSignal |
型: 文字ベクトル |
値: スカラー |
既定の設定: '1' |
波形定義 — 波形の信号表記
定数 | gaussian(mean,variance,seed)
| pulse(amplitude,trigger_time,duration)
| sawtooth(amplitude,frequence,phase_offset)
| sin(amplitude,frequence,phase_offset)
| square(amplitude,frequence,phase_offset)
| step(step_time,initial_value,final_value)
各行が 1 つの波形定義を示す [波形の定義] テーブルに信号表記を入力します。構文の詳細については、「アルゴリズム」を参照してください。
信号属性
[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。
出力の最小値 — 範囲チェックの最小出力値
[]
(既定値) | スカラー
Simulink がチェックする出力範囲の下限値。
Simulink は、最小値を使って以下を行います。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[出力の最小値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: OutMin |
型: 文字ベクトル |
値: '[ ]' | スカラー |
既定の設定: '[ ]' |
出力の最大値 — 範囲チェックの最大出力値
[]
(既定値) | スカラー
Simulink がチェックする出力範囲の上限値。
Simulink は、最大値を使って以下を行います。
一部のブロックに対するパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定およびシミュレーション範囲のチェックの有効化を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[出力の最大値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: OutMax |
型: 文字ベクトル |
値: '[ ]' | スカラー |
既定の設定: '[ ]' |
出力データ型 — 出力データ型を指定
double
(既定値) | 継承: 逆伝播による継承
| single
| int8
| int32
| uint32
| int64
| uint64
| fixdt(1,16,2^0,0)
| <data type expression>
| ...
出力のデータ型を選択します。型は継承されるか、直接指定されるか、Simulink.NumericType
などのデータ型オブジェクトとして表現されます。
プログラムでの使用
ブロック パラメーター: OutDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: Inherit via back propagation' 、'single' 、'int8' 、'uint8' 、int16 、'uint16' 、'int32' 、'uint32' 、'int64' 、'uint64' 、fixdt(1,16,0) 、fixdt(1,16,2^0,0) 、fixdt(1,16,2^0,0) 。'<data type expression>' |
既定の設定: 'Double' |
固定小数点ツールによる変更に対して出力データ型の設定をロックする — 固定小数点ツールがデータ型をオーバーライドするのを防止
off
(既定値) | on
固定小数点ツールや固定小数点アドバイザーによる変更を避けるために、このブロックの出力データ型の設定をロックします。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
固定小数点ツールによる変更に対してデータ型の設定をロックする — 固定小数点ツールがデータ型をオーバーライドするのを防止
off
(既定値) | on
固定小数点ツールや固定小数点アドバイザーによる変更を避けるために、このブロックのデータ型の設定をロックします。詳細については、出力データ型設定のロック (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
値: 'off' | 'on' |
既定の設定: 'off' |
整数丸めモード — 固定小数点演算の丸めモードを指定
負方向
(既定値) | 正方向
| 最も近い偶数方向
| 最も近い正の整数方向
| 最も近い整数方向
| 最も簡潔
| ゼロ方向
次のいずれかの丸めモードを選択します。
正方向
正の無限大方向に正負の値を丸めます。MATLAB® 関数
ceil
と等価です。最も近い偶数方向
最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、最も近い偶数の整数に丸めます。Fixed-Point Designer™ 関数
convergent
と等価です。負方向
負の無限大方向に正負の値を丸めます。MATLAB 関数
floor
と等価です。最も近い正の整数方向
最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、正の無限大方向に丸めます。Fixed-Point Designer 関数
nearest
と等価です。最も近い整数方向
最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、正の数値を正の無限大方向、負の数値を負の無限大方向に丸めます。Fixed-Point Designer 関数
round
と等価です。最も簡潔
下限値への丸めとゼロへの丸めのいずれかを自動的に選択し、できるだけ効率の高い丸めコードを生成します。
ゼロ方向
ゼロ方向に数値を丸めます。MATLAB 関数
fix
と等価です。
プログラムでの使用
ブロック パラメーター: RndMeth |
型: 文字ベクトル |
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
既定の設定: 'Floor' |
参考
詳細については、丸め (Fixed-Point Designer)を参照してください。
整数オーバーフローで飽和 — オーバーフロー アクションの方法
off
(既定値) | on
オーバーフローで飽和するかラップするかを指定します。
動作 | 根拠 | オーバーフローの影響 | 例 |
---|---|---|---|
このチェック ボックスをオンにする ( | モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。 | オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。 |
|
このチェック ボックスをオンにしない ( | 生成コードの効率を最適化することをお勧めします。 ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。 | オーバーフローは、データ型によって表現される適切な値にラップされます。 |
|
このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
サンプル時間 — サンプルの時間間隔。
0.1
(既定値) | スカラー
サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1
に設定します。詳細については、サンプル時間の指定を参照してください。
プログラムでの使用
ブロック パラメーター: SampleTime |
型: 文字ベクトル |
値: スカラー |
既定の設定: '0.1' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
アルゴリズム
各行が 1 つの波形定義を示す [波形の定義] テーブルに信号表記を入力します。波形の定義を追加するには、[追加] をクリックします。新しい波形は空の文字ベクトルとして表示されます。ブロックは空の文字ベクトルまたは空白の文字ベクトルを接地として解釈します。
波形の定義を削除するには、[削除] をクリックします。複数の波形を選択するには、Ctrl キーを押したままクリックするか、Shift キーを押したままクリックします。
定数
定数値は以下のいずれかになります。
数値
ワークスペース変数
スカラー、実数変数のみ
組み込み MATLAB 定数
pi
1
1.1
x
pi
ガウス ノイズ
gaussian(mean
,variance
,seed
)
gaussian('Mean',mean
,'Variance',variance
,'Seed',seed
)
mean
— 確率変数出力の平均値。既定の設定: 0
variance
— 確率変数出力の二乗の標準偏差。既定の設定: 1
値: 正の定数または正の実数のスカラー変数
seed
— 乱数発生器の初期シード値既定の設定: 0
値: 定数または実数のスカラー変数
gaussian('Mean',0,'Variance',10,'Seed',1)
パルス
pulse(amplitude
,trigger_time
,duration
)
pulse('Amplitude',amplitude
,'TriggerTime',trigger_time
,'Duration',duration
)
amplitude
— パルスが高い場合の信号の値。既定の設定: 1
trigger_time
— 信号が振幅に変わるときのシミュレーションの経過時間 (秒単位)。既定の設定: 1
値: 定数または実数のスカラー変数
duration
— 信号が接地に戻るまで特定の振幅で維持される時間の長さ (秒単位)。既定の設定: 1
値: 正の定数または正の実数のスカラー変数
pulse('Amplitude',1,'TriggerTime',1,'Duration',1)
ノコギリ
sawtooth(amplitude
,frequency
,phase_offset
)
sawtooth('Amplitude',amplitude
,'Frequency',frequency
,'Phase',phase_offset
)
amplitude
— ノコギリ波のピーク値。既定の設定: 1
frequency
— 波形周波数 (rad/s)。既定の設定: 1
phase_offset
— シミュレーションの経過時間 (秒単位) に基づく水平方向の信号シフト。既定の設定: 0
sawtooth('Amplitude',1,'Frequency',1,'Phase',0)
正弦波
sin(amplitude
,frequency
,phase_offset
)
sin('Amplitude',amplitude
,'Frequency',frequency
,'Phase',phase_offset
)
amplitude
— 正弦波の振幅。既定の設定: 1
frequency
— 波形周波数 (rad/s)。既定の設定: 1
phase_offset
— 位相オフセット (rad)。既定の設定: 0
sin('Amplitude',1,'Frequency',1,'Phase',0)
余弦の波形を取得するには、次のように指定します。
sin('Amplitude',1,'Frequency',1,'Phase',pi/2)
矩形
square(amplitude
,frequency
,phase_delay
,duty_cycle
)
square('Amplitude',amplitude
,'Frequency',frequency
,'Phase',phase_delay
,... 'DutyCycle',duty_cycle
)
amplitude
— 信号の振幅。既定の設定: 1
frequency
— 波形周波数 (rad/s)。既定の設定: 1
phase_delay
— シミュレーションの経過時間 (秒単位) に基づく水平方向の信号シフト。既定の設定: 0
duty_cycle
— 期間あたりの高信号の割合 (0 ~ 100%)。最小信号は 0%、最大信号は 100%。既定の設定: 50
square('Amplitude',1,'Frequency',1,'Phase',0,'DutyCycle',50)
ステップ
step(step_time
,initial_value
,final_value
)
step('StepTime',step_time
,'InitialValue',initial_value
,'FinalValue',final_value
)
step_time
— 信号がinitial value
からfinal value
に変わる場合のシミュレーションの経過時間 (秒単位)。既定の設定: 1
値: 定数または正の実数のスカラー変数。
initial_value
— シミュレーションの経過時間がstep_time
(秒単位) よりも短い場合の信号の値。既定の設定: 0
final_value
— シミュレーションの経過時間がステップ時間 (秒単位) 以上の長さである場合の信号の値。既定の設定: 1
step('StepTime',1,'InitialValue',0,'FinalValue',1)
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
量産コードには推奨されません。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2015b で導入
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)