ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

System object を使用した MATLAB でのシステム設計

事前定義済みコンポーネント

次の節の例では、ソフトウェアで事前定義されている System object の使用方法を説明します。関数を使用して System object を作成し、使用するには、条件付きコードを使用したオブジェクトの作成を指定します。これにより、ループ内でその関数が呼び出された場合にエラーを回避できます。

また、独自の System object を作成することもできます (「新しい System object の定義」を参照してください)。

システムのコンポーネントの作成

コンポーネントのプロパティ

コンポーネントの構成が必要な場合

オブジェクトのプロパティを作成時に設定しなかった場合に既定値以外の値を使用するには、これらのプロパティを明示的に設定しなければなりません。一部のプロパティはシステムの実行中に値を変更できます。詳細は、オブジェクトの再構成を参照してください。

ほとんどのプロパティは互いに独立しています。ただし、一部の System object™ プロパティによって他のプロパティが有効または無効になったり、他のプロパティの値が制限されたりすることがあります。エラーや警告を避けるために、依存するプロパティを設定する前にコントロール プロパティを設定するようにしてください。

コンポーネントのプロパティ値の表示

オブジェクトの現在のプロパティ値を表示するには、オブジェクトのハンドル名 (たとえば audioIn) をコマンド ラインに入力します。特定のプロパティの値を表示するには objecthandle.propertyname (たとえば audioIn.FileName) と入力します。

コンポーネントのプロパティ値の構成

コンポーネントの作成と構成を同時に実行

この例では、System object™ コンポーネントの作成と必要なプロパティの構成を同時に行う方法を説明します。各プロパティを 'Name'Value 引数のペアで指定します。

ファイル リーダー オブジェクトを作成し、読み取るファイルを指定して出力データ型を設定します。

audioIn = dsp.AudioFileReader('speech_dft_8kHz.wav',...
                              'OutputDataType','single');

フィルター処理を行うオブジェクトを作成し、関数 fir1 を使用してフィルターの分子係数を指定します。関数 fir1 のローパス フィルターの次数とカットオフ周波数を指定します。

filtLP = dsp.FIRFilter('Numerator',fir1(160,.15));

オーディオ プレイヤー オブジェクトを作成し、サンプルレートを入力データと同じレートに設定します。

audioOut = audioDeviceWriter('SampleRate',audioIn.SampleRate);

System object の接続

必要なコンポーネントを決定し、System object を作成および構成したら、システムを組み立てます。System object は他の MATLAB® 変数と同様に使用して、MATLAB コードに含めます。MATLAB 変数は System object に対し受け渡せます。

System object と関数を使用する場合の主な違いは step メソッドです。step メソッドは各 System object の処理コマンドで、特定の System object に対してカスタマイズされています。このメソッドではオブジェクトが初期化され、システムのデータ フローと状態管理が制御されます。通常 step はループ内で使用します。

あるオブジェクトの step メソッドからの出力は別のオブジェクトの step メソッドへの入力として使用します。一部の System object では、オブジェクトのプロパティを使用して入出力の数を変更できます。適切な数の入出力が使用されていることを確認するには、System object に対して getNumInputs および getNumOutputs を使用します。すべての使用可能な System object の詳細は、System object メソッドを参照してください。

システムでのコンポーネントの接続

システムの実行

システムの実行方法

コードを実行するには、コマンド ラインに直接コードを入力するか、プログラムを含むファイルを実行します。システムのコードを実行すると、step メソッドが各オブジェクトにデータを処理するように指示します。

システムの実行中に変更不可能なもの

step メソッドが最初に呼び出されると、オブジェクトが初期化されてロックされます。System object でデータの処理が始まると、処理を中断させるような変更を防ぐために System object はロックされます。オブジェクトがロックされたかどうかを確認するには、isLocked メソッドを使用します。オブジェクトがロックされると、以下を変更することはできません。

  • 入力数または出力数

  • 入力または出力のデータ型

  • すべての調整可能なプロパティのデータ型

  • 可変サイズ データをサポートする System object 以外の入力の次元または調整可能なプロパティ

  • 調整不可能なプロパティの値

システムの実行中に変更を行う方法については、オブジェクトの再構成を参照してください。

オブジェクトの再構成

コンポーネントのプロパティを変更できる場合

System object でデータの処理が始まると、処理を中断させるような変更を防ぐために System object はロックされます。System object がロックされているかどうかを確認するには isLocked を使用します。処理の完了後は release メソッドを使用して System object のロックを解除できます。

オブジェクトの一部のプロパティは "調整可能" で、オブジェクトがロックされている場合でも変更できます。特に指定のない限り、System object のプロパティは調整不可能です。個々のプロパティが調整可能かどうかを確認するには、オブジェクトのリファレンス ページを参照してください。通常、調整可能なプロパティは、System object によるデータ処理には特に重要なものではありません。

入力の実数/複素数または次元の変更

オブジェクトが実数データで初期化された場合、一部の System object ではシミュレーション中に複素数データを使用できません。コード生成中には実数/複素数入力は変更できません。

調整可能なプロパティの値は、警告またはエラーなしで変更できます。実行時におけるその他の変更ではエラーが発生します。

システムの調整可能なプロパティの変更

この情報は役に立ちましたか?