主要内容

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

对准信号

最初の信号の遅延による 2.つの信号の整列

説明

[Xa,]=校准信号(X,Y)は、2.つの入力信号XYとの間の遅延 Dを推定し、整列された信号Xaおよびを返します。

  • YXに対して遅延した場合、Dは正になり、Xは D個のサンプル分だけ遅延します。

  • YXに対して先行した場合は Dは負になり、Yは –D個のサンプル分だけ遅延します。

ゼロを先頭に付加することでXまたはYの遅延を発生させることができます。

[Xa,]=校准信号(X,Y,maxlag)maxlagを最大ウィンドウ サイズとして使用し、2.つの入力信号XYとの間の推定遅延 Dを求めます。また、整列された信号Xaを返します。

[Xa,]=校准信号(X,Y,maxlag,“截断”)は、整列された信号Xaの長さをそれぞれ入力信号XYの長さと同じに保ちます。

  • 推定遅延 Dが正の場合、Xの先頭に D個のゼロが追加され、Xの最後の D個のサンプルは切り捨てられます。

  • 推定遅延 Dが負の場合、Yの先頭に –D個のゼロが追加され、Yの最後の –D個のサンプルは切り捨てられます。

メモ:

XおよびYは、それぞれ長さ LXと LYの行ベクトルまたは列ベクトルです。

  • D≥ LXの場合、Xaは LX個のゼロで構成されます。Xのサンプルはすべて失われます。

  • –D≥ LYの場合、は LY個のゼロで構成されます。Yのサンプルはすべて失われます。

“截断”オプション使用時に特定の値がmaxlagに代入されるのを回避するには、maxlag[]に設定します。

[Xa,,D]=校准信号(___)は、推定遅延Dを返します。この構文には、前の構文で使用した任意の入力引数を含めることができます。

すべて折りたたむ

信号YXに対して 3.個のサンプル分削除して揃えます。

2.つの信号XYを作成します。XYと同じ信号ですが、Xには先行する 3.つのゼロと後にさらに 1.つのゼロが追加されています。2.つの信号を揃えます。

X=[0 0 1 2 3 0];Y=[1 2 3 0];[Xa,Ya]=alignsignals(X,Y)
Xa=1×80 0 0 1 2 3 0 0
嗯=1×70 0 0 1 2 3 0

YXに対して 2.個のサンプル分遅延する場合、信号Xを揃えます。

2.つの信号XYを作成します。YXと同じ信号ですが、Yには先頭にゼロが 2.つ付きます。2.つの信号を揃えます。

X=[1 2 3];Y=[0 0 1 2 3];maxlag=2;[Xa,Ya,D]=alignsignals(X,Y,maxlag)
Xa=1×50 0 1 2 3
嗯=1×50 0 1 2 3
D=2

信号YXに揃えます。ここで、Yはノイズを含む信号とします。

2.つの信号XYを作成します。Yにはノイズを追加しますが、それ以外はXと同じにします。2.つの信号を揃えます。

X=[0 1 2 3 0];Y=[0.02 0.12 1.08 2.21 2.95-0.09];[Xa,Ya,D]=校准信号(X,Y)
Xa=1×60 0 1 2 3 0
嗯=1×60.0200 0.1200 1.0800 2.2100 2.9500 -0.0900
D=0

出力信号が生成されるように入力信号を変更する必要はありません。遅延Dはゼロです。

関数对准信号を呼び出すときに“截断”オプションを起動します。

2.つの信号XYを作成します。YXと同じ信号ですが、Yには先頭にゼロが 2.つ付きます。2.つの信号を揃えて、“截断”命令を適用します。

X=[1 2 3];Y=[0 0 1 2 3];[Xa,Ya,D]=对准信号(X,Y,[],“截断”)
Xa=1×30 0 1
嗯=1×50 0 1 2 3
D=2

出力信号Xaの長さが、入力信号Xと同じ長さの 3.であることを観測します。

“截断”オプションを使用したためにXの元のデータがすべて切り捨てられた場合、警告が表示されます。このような警告を对准信号で表示させるには、次の例を実行します。

Y=[0 0 0 1 2 3];[Xa,Ya,D]=对准信号(X,Y,[],“截断”)
警告:第一个输入X中的所有原始数据都已被截断,因为X的长度小于估计的延迟D:为避免截断此数据,请不要使用“truncate”选项。
Xa=1×30 0 0
嗯=1×70 0 0 0 1 2 3
D=4

信号YXに揃えます。ここで、YXの周期的反復とします。最小遅延を返します。

2.つの信号XおよびYを作成します。Yは、ゼロで区切られたXの非ゼロ部分 2.つで構成されています。2.つの信号を揃えます。

X=[0123];Y=[1 2 3 0 0 0 1 2 3 0 0];[Xa,Ya,D]=校准信号(X,Y)
Xa=1×40 1 2 3
嗯=1×130 1 2 3 0 0 0 0 1 2 3 0 0
D=-1

入力引数

すべて折りたたむ

長さ LXの数値ベクトルとして指定される最初の入力信号。

例:[1 2 3]

データ型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64
複素数のサポート:あり

長さ LYの数値ベクトルとして指定される 2.番目の入力信号。

例:[0 0 1 2 3]

データ型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64
複素数のサポート:あり

整数値スカラーとして指定される最大ウィンドウ サイズまたは遅れ。既定の設定では、maxlag最大值(长度(X)、长度(Y))-1と等価です。maxlag[]として入力されると、既定値で置換されます。maxlagが負の場合は、絶対値で置換されます。maxlagが整数値でない場合、複素数である場合、あるいはInfまたはである場合、对准信号はエラーを返します。

例:2.

データ型:仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64

出力引数

すべて折りたたむ

2.番目の出力引数に揃えられた数値ベクトルとして返される、整列された最初の信号。入力引数Xが行ベクトルの場合、Xaも行ベクトルです。入力引数Xが列ベクトルの場合、Xaも列ベクトルです。“截断”オプションを指定し、推定遅延 Dが正の場合、Xaは、先頭に D個のゼロが追加され最後の D個のサンプルが切り捨てられた入力信号Xと等価です。

最初の出力引数Xaに揃えられた数値ベクトルとして返される、整列された 2.番目の信号。入力引数Yが行ベクトルの場合、も行ベクトルです。入力引数Yが列ベクトルの場合、も列ベクトルです。“截断”オプションを指定し、推定遅延 Dが負の場合、は、先頭に –D個のゼロが追加され最後の –D個のサンプルが切り捨てられた入力信号Yと等価です。

スカラー整数として返される入力信号間の推定遅延。この整数は、2.つの入力信号XYのオフセットを示す、サンプルの個数を表します。

  • YXに対して遅延した場合、Dは正になり、XD個のサンプル分だけ遅延します。

  • YXに対して先行した場合はDは負になり、Yは –D個のサンプル分だけ遅延します。

  • XYが既に整列されている場合はDはゼロになり、XYのいずれも遅延しません。

入力引数maxlagの値を指定する場合、Dmaxlag以下でなければなりません。

アルゴリズム

  • 遅延推定に関する理論は、関数芬德利の仕様に記されています (アルゴリズムを参照)。

  • 関数对准信号は推定遅延 Dを使用して、2.つの信号の始点が同じになるように先頭にある信号を遅延させます。

  • 関数芬德利に対して指定されているとおり、信号のペアは遅延された互いの正確なコピーである必要はありません。ただし、これらの信号を正しく揃えることができるのは、信号間に相関性が十分にある場合のみです。共分散および相関関数の推定の詳細は、[1]を参照してください。

  • 信号にパルスや遷移などの特徴が含まれる場合、相関関数の代わりに測定関数を使用すれば、より効果的にそれらの信号を揃えることができます。例については、2.つの 2.値波形を揃えるを参照してください。

参照

[1] 最佳信号处理。导论。第二版。新泽西州恩格尔伍德悬崖:普伦蒂斯大厅,1996年。

拡張機能

C/C++コード生成
MATLAB®编码器™ を使用して Cおよび C++コードを生成します。