Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Find Delay

2 つの信号間の遅延を検出

  • ライブラリ:
  • Communications Toolbox / Utility Blocks

  • Find Delay block

説明

Find Delay ブロックは、ある信号とその信号が遅延して歪んだ可能性のある信号との間の遅延を検出します。これは、伝送済み信号と受信信号を比較してビット誤り率を検出するのに便利ですが、受信信号の遅延はわかりません。このブロックは列ベクトルまたは行列の入力信号を受け入れます。行列入力の場合、このブロックは行ベクトルを出力し、行列の各チャネルの遅延を個別に検出します。信号遅延の詳細は、遅延のヘルプを参照してください。

端子

入力

すべて展開する

元の基準信号。ベクトルまたは行列として指定します。[sRef][sDel] の次元とサンプル時間は一致しなければなりません。

データ型: double

遅延した、または歪んだバージョンの基準信号。ベクトルまたは行列として指定します。[sRef][sDel] の次元とサンプル時間は一致しなければなりません。

データ型: double

出力

すべて展開する

[delay] というラベルの出力端子がサンプル単位で遅延を出力します。

行列入力の場合、この出力は行ベクトルであり、行列の各チャネルの遅延を個別に検出します。

遅延出力は、[Correlation window length] よりも小さい非負整数です。

データ型: double

[chg] 出力端子は、前のサンプルで計算された遅延から変更がある場合 1 を出力し、変更がない場合 0 を出力します。

依存関係

この出力端子は [Include "change signal" output port] が選択されている場合にのみ表示されます。

データ型: Boolean

パラメーター

すべて展開する

ブロックが 2 つの信号の相互相関を計算するために使用するサンプルの数。

[Correlation window length] が増えるにつれて、計算された遅延の信頼性も向上します。ただし、遅延計算の処理時間も増えます。

このオプションを選択した場合、ブロックは現在計算された遅延が前に計算された遅延と異なる場合に値 1 を出力し、遅延がない場合は値 0 を出力する追加の出力端子をもちます。

このオプションを選択すると、ブロックが同じ遅延値を指定されたサンプル数計算した後、遅延の計算を停止します。

更新を終了するまでにブロックが同じ遅延を計算しなければならない回数を指定する正の整数。

依存関係

このフィールドは [Disable recurring updates] が選択されている場合にのみ表示されます。

ブロックの特性

データ型

double | enumerated | integer[a] | single

多次元信号

なし

可変サイズの信号

なし

[a] 符号付き整数のみ。

詳細

すべて展開する

ヒント

  • [Correlation window length] を十分に大きく設定して、計算された値がその都度、一定の値で安定するようにします。このようにすれば、オプションの chg 出力端子からの値が一定の値 0 で安定します。計算された遅延が一定でない場合は、[Correlation window length] を増やしてください。[Correlation window length] を増やした値がシミュレーション時間を超える場合は、それに応じて、シミュレーション時間も延ばしてください。遅延をおおまかに推定できる場合、[Correlation window length] は安定した遅延推定をその値の 4 倍で生成します。

  • 2 つの信号間の相互相関が広い場合は、[Correlation window length] 値が予期される遅延よりもはるかに大きくなるか、アルゴリズムで誤った値に安定させられる可能性があります。たとえば、CPM 信号が広範囲の自己相関の場合、この遅延した信号には広範囲の相互相関があります。この場合、[Correlation window length] 値を予想される遅延値よりも大幅に大きくしてください。

  • ブロックが [Correlation window length] の 75% よりも大きい遅延を計算する場合、信号 sRef はおそらく、信号 sDel に対して遅延します。この場合、信号線を 2 つの入力端子につながるように切り替えてください。

  • Find Delay ブロックで指定された数のサンプルの同じ遅延値を計算した後、遅延の更新を停止することができます。これは、[Disable recurring updates] を選択し、[Number of constant delay outputs to disable updates] フィールドに正の整数を入力して行います。たとえば、[Number of constant delay outputs to disable updates]20 に設定した場合、ブロックは同じ値を 20 回連続して計算した後、遅延の再計算と更新を停止します。更新の繰り返しを無効にすると、目標の定常遅延に達した後、シミュレーションの実行が高速化されます。

アルゴリズム

Find Delay ブロックは、1 番目の信号と時間シフトした 2 番目の信号の相互相関を計算し、相互相関が最大となるインデックスを検出することで、遅延を求めます。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

R2006a より前に導入