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

離散時間信号

時間と周波数の用語

Simulink® モデルは離散時間信号と連続時間信号をどちらも処理できます。DSP System Toolbox™ ソフトウェアを使用して作成されたモデルは、多くの場合、離散時間信号のみを処理することを目的としています。離散時間信号は特定の時点に対応する一連の値です。信号が定義される時点がその信号の "サンプル時間" であり、関連する信号値がその信号の "サンプル" です。従来、離散時間信号はサンプル時間とサンプル時間の間の時点では未定義であると見なされています。定期的にサンプリングされた信号の場合、連続するサンプル時間の任意のペア間の等間隔がその信号の "サンプル周期" Ts です。"サンプルレート" Fs はサンプル周期の逆数、つまり 1/Ts です。サンプルレートは信号の 1 秒あたりのサンプル数です。

下に示している 7.5 秒の三角波セグメントは、サンプル周期が 0.5 秒で、サンプル時間は 0.0、0.5、1.0、1.5、...、7.5 です。そのため、シーケンスのサンプルレートは 1/0.5、つまり 2 Hz です。

Simulink モデルで検出される離散時間信号の特性を説明するために、多くの異なる用語が使用されています。次の表にリストされている用語は、さまざまなブロックがサンプルベースおよびフレームベースの信号で動作する方法を説明するために頻繁に使用されます。

用語シンボル単位メモ

サンプル周期

Ts
Tsi
Tso

ブロックへの入力 (Tsi) またはブロックからの出力 (Tso) で示す、シーケンスにおける連続するサンプル間の時間間隔。

フレーム周期

Tf
Tfi
Tfo

ブロックへの入力 (Tfi) またはブロックからの出力 (Tfo) で示す、シーケンスにおける連続するフレーム間の時間間隔。

信号周期

T

周期信号が 1 回反復する間の経過時間。

サンプル周波数

Fs

Hz (1 秒あたりのサンプル)

単位時間あたりのサンプル数、Fs = 1/Ts

周波数

f

Hz (1 秒あたりのサイクル数)

周期信号または信号成分の単位時間あたりの反復回数、f = 1/T。

ナイキスト レート

 

Hz (1 秒あたりのサイクル数)

エイリアシングを回避する最小サンプルレート。通常は、サンプリングされている信号の最も高い周波数の 2 倍。

ナイキスト周波数

fnyq

Hz (1 秒あたりのサイクル数)

ナイキスト レートの半分。

正規化周波数

fn

サンプルあたり 2 サイクル

サンプルレートの半分に正規化された周期信号の周波数 (線形)、fn = ω/π = 2f/Fs

角周波数

Ω

1 秒あたりのラジアン

角度単位での周期信号の周波数、Ω = 2πf。

デジタル (正規化された角) 周波数

ω

サンプルあたりのラジアン

サンプルレートに正規化された周期信号の周波数 (角度)、ω = Ω/Fs = πfn

メモ

ブロック パラメーター ダイアログ ボックスでは、"サンプル時間" という用語は "サンプル周期" Ts を指すために使用されます。たとえば、Signal From Workspace ブロックの [Sample time] パラメーターはインポートされた信号のサンプル周期を指定します。

離散時間シミュレーション用の推奨設定

Simulink では、複数の異なるシミュレーション ソルバー アルゴリズムから選択できます。これらのソルバー アルゴリズムには Simulink モデルからアクセスできます。

  1. Simulink モデル ウィンドウの [シミュレーション] メニューから [モデル コンフィギュレーション パラメーター] を選択します。[コンフィギュレーション パラメーター] ダイアログ ボックスが開きます。

  2. [選択] ペインで、[ソルバー] をクリックします。

    ここでの選択によって、Simulink での離散時間信号の処理方法が決まります。信号処理シミュレーション用に推奨される [ソルバー オプション] 設定は次のとおりです。

    • [タイプ]: [固定ステップ]

    • [ソルバー]: [離散 (連続状態なし)]

    • [固定ステップ サイズ (基本サンプル時間)]: [auto]

    • [各離散レートを個別のタスクとして扱う]: [オフ]

DSP Simulink モデル テンプレートを使用して、すべての新しいモデルに対して上記のソルバー オプションを自動的に設定することができます。詳細については、信号処理モデル向け Simulink 環境の構成を参照してください。

固定ステップのシングルタスク モードでは、離散時間信号は、サンプル時間とサンプル時間の間が定義済みのままになっていて、時間と周波数の用語で説明されているプロトタイプと異なっています。たとえば、離散時間の三角波を表現すると次のようになります。

t=3.112 秒の時点での上記の信号値は、t=3 秒の時点での信号値と同じになります。固定ステップのシングルタスク モードでは、信号のサンプル時間は、信号が定義されている時点ではなく、信号が値を変化させることができる時点です。サンプル時間とサンプル時間の間では、信号は前のサンプル時間の値を取ります。

その結果、Simulink で固定ステップのシングルタスク モードにおける、レートが異なる 2 つの信号の加算などのクロスレート処理が許可されます。この詳細については、クロスレート処理で説明しています。

離散時間シミュレーションに関するその他の設定

Simulink で利用可能なその他のソルバー オプションが離散時間信号に与える影響を把握しておくと便利です。特に、次の設定における離散時間信号のプロパティに注意してください。

  • [タイプ:] [固定ステップ][モード:] [マルチタスキング]

  • [タイプ:] [可変ステップ] (Simulink の既定のソルバー)

  • [タイプ:] [固定ステップ][モード:] [自動]

固定ステップのマルチタスク ソルバーが選択されている場合、Simulink の離散信号はサンプル時間とサンプル時間の間で定義されていません。たとえば、異なるサンプルレートを持つ信号が追加される場合など、信号の未定義領域を参照しようとする操作が行われると、Simulink によってエラーが生成されます。

[可変ステップ] ソルバーが選択されている場合、離散時間シミュレーション用の推奨設定で説明した固定ステップのシングルタスクの場合と同様に、サンプル時間とサンプル時間の間の離散時間信号は定義されたままです。[可変ステップ] ソルバーが選択されている場合、クロスレート処理を Simulink で行うことができます。

タスク モードを設定するために Simulink で使用される基準の説明については、Simulink Tasking Modeを参照してください。複数のレートが含まれる標準的なモデルの場合、Simulink によってマルチタスク モードが選択されます。

クロスレート処理

固定ステップのマルチタスク ソルバーが選択されている場合、Simulink の離散信号はサンプル時間とサンプル時間の間で未定義です。そのため、クロスレート処理 (サンプルレートが異なる 2 つの信号の加算など) を実行するには、2 つの信号を共通のサンプルレートに変換しなければなりません。Signal Operations ライブラリと Multirate Filters ライブラリのいくつかのブロックがこのタスクを実行できます。詳細は、Convert Sample and Frame Rates in Simulinkを参照してください。診断設定に応じて、レート変更を暗黙的に行うことができます。マルチタスク レート変換 (Simulink)、シングルタスク レート変換 (Simulink)を参照してください。ただし、これは推奨されません。離散モードのクロスレート処理に対して明示的なレート変換を要求することにより、Simulink ではサンプルレートの変換に関する問題を設計プロセスの早い段階で特定することができます。

[可変ステップ] ソルバーまたは固定ステップのシングルタスク ソルバーが選択されている場合、離散時間信号はサンプル時間とサンプル時間の間で定義されたままです。そのため、信号独自のレートおよび位相とは異なるレートや位相を持つ信号をサンプリングする場合であっても、意味のある値を測定することになります。

  1. MATLAB® コマンド ラインで、ex_sum_tut1 と入力します。

    Cross-Rate Sum Example モデルが開きます。このモデルは、サンプル周期が異なる 2 つの信号を合計します。

  2. 上の Signal From Workspace ブロックをダブルクリックします。[ブロック パラメーター: Signal From Workspace] ダイアログ ボックスが開きます。

  3. [Sample time] パラメーターを 1 に設定します。

    これにより、サンプル時間 1、2、3、... で高速信号 (Ts=1) が作成されます。

  4. 下の Signal From Workspace ブロックをダブルクリックします。

  5. [Sample time] パラメーターを 2 に設定します。

    これにより、サンプル時間 1、3、5、... で低速信号 (Ts=2) が作成されます。

  6. [情報表示] メニューから、[サンプル時間][色] を選択します。

    [色] オプションをオンにすると、実行中のさまざまなサンプリングレートを確認することができます。サンプル時間の色分けの詳細については、サンプル時間情報の表示 (Simulink)を参照してください。

  7. モデルを実行します。

    メモ

    クロスレート処理で DSP Simulink モデル テンプレートを使用すると、固定ステップのシングルタスク ソルバーが選択されている場合でも、エラーが生成されます。これは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [診断] セクションの [サンプル時間] ペインで、[シングルタスク レート変換][エラー] に設定されているという事実によるものです。

  8. MATLAB コマンド ラインで dsp_examples_yout と入力します。

    次の出力が表示されます。

    dsp_examples_yout =
         1     1     2
         2     1     3
         3     2     5
         4     2     6
         5     3     8
         6     3     9
         7     4    11
         8     4    12
         9     5    14
        10     5    15
         0     6     6
    

    行列の最初の列が高速信号です (Ts=1)。行列の 2 列目が低速信号です (Ts=2)。3 列目は 2 つの信号の和です。予想どおり、低速信号は 2 秒ごとに 1 回変化します。これは、高速信号の半分の頻度です。それにもかかわらず、Simulink では、ブロックが実行されない時間インスタンスの間、低速信号の前の値が保持されるため、低速信号が常に定義されています。

一般に、[可変ステップ] および固定ステップのシングルタスク モードの場合、サンプル時間とサンプル時間の間の離散信号の値を測定するとき、前のサンプル時間の信号の値が観測されています。