主要内容

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

findsignal

類似性検索を使用した信号の位置の検出

説明

istart, istop经销) = findsignal (数据信号は,検索配列信号と最もよく一致するデータ配列数据の開始と終了のインデックスを返します。最もよく一致するセグメントは,经销(セグメントと検索配列の間のユークリッド距離の二乗)が最小のものです。数据信号が行列の場合,findsignalによって,信号に最もよく一致する数据の開始と終了の列が検出されます。その場合,数据信号の行数は同じでなければなりません。

istart, istop经销) = findsignal (数据信号名称,值は,名前と値の組の引数を使用して追加オプションを指定します。オプションには,適用する正規化,レポートされるセグメント数,使用する距離計量などがあります。

出力引数なしのfindsignal (___は,数据をプロットし,信号の識別されたすべてのインスタンスを強調表示します。

  • 配列が実数ベクトルの場合,この関数によって数据がサンプル数の関数として表示されます。

  • 配列が複素数ベクトルの場合,この関数によって数据がアルガン図に表示されます。

  • 配列が実数行列の場合,この関数によって显示亮度图像が使用されて信号がサブプロット上に表示され,数据が別のサブプロット上に強調表示された領域と共に表示されます。

  • 配列が複素行列の場合,関数は実数部と虚数部を各イメージの上半分と下半分にプロットします。

すべて折りたたむ

0.5秒間1 kHzのサンプルレートで,50%の帯域幅をもち5赫兹のガウスパルスで構成されるデータセットを生成します。

fs = 1 e3;t = 0:1 / fs: 0.5;data = gauspuls (0.5 t) 5);

1.5 10 Hzの正弦波のサイクルで構成される信号を生成します。データセットと信号をプロットします。

ts = 0:1 / fs: 0.15;信号= cos(2 *π* 10 * ts);次要情节(2,1,1)情节(t)数据)标题(“数据”)子图(2,1,2)图(ts,信号)标题(“信号”

图中包含2个轴。带有标题数据的轴1包含一个类型为line的对象。带有信号标题的轴2包含一个类型为line的对象。

信号へのユークリッド距離の二乗が最小となるデータのセグメントを検出します。データをプロットし,セグメントを強調表示します。

图findsignal(数据、信号)

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

明らかに値が外れている2つのセクションをデータセットに追加します。最小の絶対距離という観点で信号に最も近いセグメントを検出します。

dt =数据;dt (t > 0.31科技< 0.32)= 2.1;dt (t > 0.32科技< 0.33)= -2.1;findsignal (dt,信号,“指标”“绝对”

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

引き伸ばしにより最も近いデータセグメントと信号との間の距離の絶対値がより小さくなる場合,x軸を引き延ばします。

findsignal (dt,信号,“TimeAlignment”“dtw”“指标”“绝对”

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

値が外れている2つのセクションをさらにデータセットに追加します。

dt (t > 0.1科技< 0.11)= 2.1;dt (t > 0.11科技< 0.12)= -2.1;findsignal (dt,信号,“TimeAlignment”“dtw”“指标”“绝对”

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

信号に最も近い2つのデータセグメントを検索します。

findsignal (dt,信号,“TimeAlignment”“dtw”“指标”“绝对”...“MaxNumSegments”,2)

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。找到标题信号匹配的轴2:2包含2个类型为line的对象。这些对象表示数据、信号。

1つのセグメントの検索に戻ります。“功能”x軸の引き伸ばしの基準として選択します。編集距離の許容誤差に 3 を選択します。一致しないサンプル間の編集距離は、実際の距離の影響を受けないため、“功能”は外れ値に対してロバストになります。

findsignal (dt,信号,“TimeAlignment”“功能”“EDRTolerance”,3,...“指标”“绝对”

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

計算を繰り返します。ただし,今度はデータと信号を正規化します。

  • 各データおよび信号点のいずれかの側に10サンプルの移動ウィンドウを定義します。

  • ウィンドウ内のデータの平均で減算し,局所標準偏差で除算します。

正規化された信号への絶対距離が最小となる正規化されたデータセグメントを検出します。正規化されていないデータと信号,および正規化されたデータと信号を表示します。

findsignal (dt,信号,“TimeAlignment”“功能”“EDRTolerance”,3,...“归一化”“zscore”“NormalizationLength”21岁,...“指标”“绝对”“注释”“所有”

图中包含4个轴。带有信号标题的轴1包含一个类型为line的对象。标题为归一化信号的轴2包含一个类型为line的对象。带有标题数据的轴3包含两个类型为line的对象。这些对象表示数据、信号。标题为归一化数据的轴4包含两个类型为line的对象。这些对象表示数据、信号。

次の条件でランダムなデータ配列を生成します。

  • 平均値は7つの各領域内では一定だが,領域から領域にかけて急激に変化する。

  • 標準偏差は5つの各領域内で一定であり,領域から領域にかけて急激に変化する。

lr = 20;MNS = [0 1 4 -5 2 0 1];纳米长度= (mns);VRS = [1 4 6 1 3]/2;nv =长度(工具);v = randn (lr *纳米* nv);f =重塑(repmat (mns、lr * nv 1), 1, lr *纳米* nv);y =重塑(repmat(工具与lr * nm, 1), 1, lr *纳米* nv);t = v * y + f;

作成の手順を強調しながらデータをプロットします。各領域の平均値と標準偏差を表示します。

次要情节(2、2、1)情节(v)标题(“原始”700) xlim([0])次要情节(2 2 2)情节([f; v + f]”)标题(“手段”700) xlim([0])文本(lr * nv *纳米* ((0:1 / nm: 1 - 1 /海里)+ 1 /(2 *海里)),7 *(1海里),num2str (mns),...“HorizontalAlignment”“中心”[y;v.*y]') title([y;v.*y]')“性病”700) xlim([0])文本(lr * nv *纳米* ((0:1 / nv: 1 - 1 / nv) + 1 / (2 * nv)), 7 * (nv), num2str(工具),...“HorizontalAlignment”“中心”)子地块(2,2,4)“最后一次”700) xlim ([0])

图中包含4个轴。标题为Original的轴1包含一个类型为line的对象。带有标题方法的轴2包含9个类型为line, text的对象。带有标题STD的轴3包含7个类型为line, text的对象。标题为Final的轴4包含一个类型为line的对象。

平均値0と標準偏差1/2のランダムな信号を作成します。信号に最もよく一致するデータ配列のセグメントを検出および表示します。

sg = randn(1、2 * lr) / 2;findsignal (t, sg)

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

平均値0と標準偏差2のランダムな信号を作成します。信号に最もよく一致するデータ配列のセグメントを検出および表示します。

sg = randn(1、2 * lr) * 2;findsignal (t, sg)

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

平均値2と標準偏差2のランダムな信号を作成します。信号に最もよく一致するデータ配列のセグメントを検出および表示します。

sg = randn(1、2 * lr) * 2 + 2;findsignal (t, sg)

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

平均値4と標準偏差3のランダムな信号を作成します。信号に最もよく一致するデータ配列のセグメントを検出および表示します。

sg = randn(1、2 * lr) * 3 - 4;findsignal (t, sg)

图中包含2个轴。带有标题信号的轴1包含一个类型为line的对象。轴2与标题信号匹配发现:1包含2个类型为line的对象。这些对象表示数据、信号。

計算を繰り返します。ただし,今度は信号とデータの両方から平均値を減算します。

findsignal (t, sg,“归一化”“zscore”“注释”“所有”

图中包含4个轴。带有信号标题的轴1包含一个类型为line的对象。标题为归一化信号的轴2包含一个类型为line的对象。带有标题数据的轴3包含两个类型为line的对象。这些对象表示数据、信号。标题为归一化数据的轴4包含两个类型为line的对象。这些对象表示数据、信号。

初期のコンピューターの出力に似た書体を考案します。それを使用してMATLAB®という単語を書きます。

rng默认的装备= @ (x) dec2bin (x ') -48;M = chr([34 34 54 42 34 34 34 34]);A = chr([08 20 34 34 62 34 34]);T = chr([62 08 08 08 08 08 08 08 08 08 08 08]);L = chr([32 32 32 32 32 32 62]);B = chr([60 34 34 60 34 34 60]);Matlab = [m a t l a b];

ランダムな文字の列を繰り返し,間隔を変えて単語を壊します。3元の単語とつの壊れたバージョンを表示します。

C = @(x)x(:,sort([1:6 randi(6,1,2)]));次要情节(4,1,1,“XLim”,[0 60]) spy(MATLAB) xlabel('') ylabel (“原始”subplot(4,1, Kj,)“XLim”, 60[0])间谍([c (M) c (A) c (T) (L) c c (A) (B)))包含('') ylabel (“腐败”结束

图中包含4个轴。Axes 1包含一个类型为line的对象。Axes 2包含一个类型为line的对象。Axes 3包含一个类型为line的对象。Axes 4包含一个类型为line的对象。

壊れたバージョンの単語をさらに1つ生成します。文字“A”のノイズが含まれるバージョンを検索します。検索配列と、最も近いデータ セグメントの間の距離を表示します。横軸が厳格なため、セグメントは "T" まではみ出ます。

= [c(M) c(A) c(T) c(L) c(A) c(B)];胡志明市= c (A);(是,印第安纳州,dst) = findsignal (corr胡志明市);CLF subplot(2,1,1) spy(sgn) subplot(2,1,2) spy(corr) CHK = 0 (size(corr));嗯(:,是:印第安纳)= corr(:,是:印第安纳);持有间谍(嗯,‘* k”)举行

图中包含2个轴。Axes 1包含一个类型为line的对象。axis 2包含2个类型为line的对象。

dst
dst = 11

横軸の引き伸ばしを許可します。最も近いセグメントは,検索配列と“A”の最初のインスタンスの交差部分です。セグメントと配列の間の距離は,0となります。

(是,印第安纳州,dst) = findsignal (corr、胡志明市、“TimeAlignment”“dtw”);Subplot (2,1,1) spy(sgn) Subplot (2,1,2) spy(corr) CHK = 0 (size(corr));嗯(:,是:印第安纳)= corr(:,是:印第安纳);持有间谍(嗯,‘* k”)举行

图中包含2个轴。Axes 1包含一个类型为line的对象。axis 2包含2个类型为line的对象。

dst
dst = 0

findsignalの組み込み機能を使用して計算を繰り返します。局所的な平均で除算し,データと信号を正規化します。対称カルバック・ライブラー距離を使用します。

findsignal (corr、胡志明市、“TimeAlignment”“dtw”...“归一化”“权力”“指标”“symmkl”“注释”“所有”

图中包含4个轴。带有信号标题的轴1包含一个类型为image的对象。标题为归一化信号的轴2包含一个类型为图像的对象。带有标题数据的轴3包含3个类型为image, patch的对象。标题为归一化数据的轴4包含3个类型为image, patch的对象。

入力引数

すべて折りたたむ

データ配列。ベクトルまたは行列として指定します。

データ型:|
複素数のサポート:あり

検索配列。ベクトルまたは行列として指定します。

データ型:|
複素数のサポート:あり

名前と値のペアの引数

オプションの引数名称,值のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:“MaxNumSegments”2“度量”,“方”,“正常化”,“中心”、“NormalizationLength”,11は,検索信号に対してユークリッド距離の最小二乗値をもつデータ配列の2つのセグメントを検出します。データと信号は,スライディングウィンドウの平均を差し引くことによって正規化されます。ウィンドウには,各点の両側に5つのサンプルがあり,全長は5 + 5 + 1 = 11サンプルになります。

正規化統計量。“归一化”と次の値のいずれかで構成されるコンマ区切りペアとして指定します。

  • “没有”——正規化しません。

  • “中心”——局所的な平均を減算します。

  • “权力”——局所的な平均で除算します。

  • “zscore”——局所的な平均で減算し,局所的な標準偏差で除算します。

正規化長。“NormalizationLength”と整数スカラーとで構成されるコンマ区切りペアとして指定します。この値は,データと信号の両方で各サンプルを正規化する対象サンプルの最小数を表します。信号が行列である場合,“NormalizationLength”は列数を表します。

データ型:|

最大セグメント距離。“MaxDistance”と正の実数のスカラーとで構成されるコンマ区切りペアとして指定します。“MaxDistance”を指定した場合,findsignalによって,信号からの距離がどちらも局所的最小値で,“MaxDistance”よりも小さい,数据のすべてのセグメントの開始と終了のインデックスが返されます。

データ型:|

返されるセグメントの最大的数。“MaxNumSegments”と正の整数スカラーとで構成されるコンマ区切りのペアとして指定します。“MaxNumSegments”を指定した場合,findsignalによって,信号からの距離が局所的最小値である数据のすべてのセグメントが検出され,最小距離をもつセグメントが“MaxNumSegments”個まで返されます。

データ型:|

時間の調節手法。“TimeAlignment”と次の値のいずれかで構成されるコンマ区切りペアとして指定します。

  • “固定”——引き伸ばしやサンプルの繰り返しによる距離の最小化を行いません。

  • “dtw”——時間軸の引き伸ばしやデータまたは信号のサンプルの繰り返しによって距離の短縮を試みます。詳細はdtwを参照してください。

  • “功能”——編集の回数を最小化して,残りのデータセグメントの各サンプルと対応する信号との距離が指定した許容誤差内にあるようにします。編集は,データ,信号,または両方からのサンプルの削除で構成されます。“EDRTolerance”引数を使用して許容誤差を指定します。このオプションは,いずれかの入力配列に外れ値がある場合に使用します。詳細は,功能を参照してください。

編集距離の許容誤差。“EDRTolerance”および実数スカラーとで構成されるコンマ区切りペアとして指定します。この引数は,“TimeAlignment”名前と値のペアの引数が“功能”に設定されている場合に,信号を検出するために使用します。

データ型:|

距離計量。“指标”“方”“绝对”“欧几里得”または“symmkl”のいずれかで構成されるコンマ区切りペアで指定します。XYが両方ともK次元の信号である場合,度规Xのm番目のサンプルとYのn番目のサンプルの間の距離dXY)を規定します。dXY)の詳細については,動的タイムワーピングを参照してください。

  • “方”——ユークリッド計量の2乗。距離の二乗和で構成されます。

    d n X Y k 1 K x k y k n x k y k n

  • “欧几里得”——距離の二乗和根。ユークリッド計量または2計量とも呼ばれます。

    d n X Y k 1 K x k y k n x k y k n

  • “绝对”——差の絶対値の総和。マンハッタン計量,街区計量,タクシー計量または1計量とも呼ばれます。

    d n X Y k 1 K | x k y k n | k 1 K x k y k n x k y k n

  • “symmkl”——対称カルバック・ライブラー距離。この計量は,正の実数のXYに対してのみ有効です。

    d n X Y k 1 K x k y k n 日志 x k 日志 y k n

プロットのスタイル。“注释”と次の値のいずれかで構成されるコンマ区切りペアとして指定します。

  • “数据”は,データをプロットし,信号に最もよく一致する領域を強調表示します。

  • “信号”は,信号を別のサブプロットでプロットします。

  • “所有”は,信号,データ,正規化された信号,および正規化されたデータを別のサブプロットにプロットします。

この引数は出力引数でfindsignalを呼び出している場合に無視されます。

出力引数

すべて折りたたむ

セグメントの開始および終了のインデックス。整数スカラーまたは整数ベクトルで返されます。

データと信号との間の最小距離。スカラーまたはベクトルとして返されます。

拡張機能

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

R2016bで導入