@NickS
プロットの2番目の信号が実際には1番目の信号の遅延バージョンにすぎないことは確かではないため、古典的な相互相関以外の他の方法を試行する必要があります。これは、信号が互いに遅延バージョンである場合、相互相関(CC)は最尤推定量にすぎないためです。この場合、それらの非定常性についても言うまでもないことは明らかです。
この場合、うまくいくのは、信号の重要なエネルギーの時間推定だと思います。確かに、「有意」は多少主観的かもしれませんが、統計的観点からあなたの信号を見ることで、「有意」を定量化してそこから進むことができると信じています。
このために、次のことを行いました。
ステップ1:信号エンベロープを計算します。
各ステップのヒルベルト変換の出力の絶対値が計算されるため、このステップは簡単です。エンベロープを計算する方法は他にもありますが、これは非常に簡単です。この方法は、基本的に信号の分析形式、つまりフェーザー表現を計算します。絶対値をとると、エネルギーを失った段階で破壊段階になります。
さらに、信号のエネルギーの時間遅延推定を追求しているため、このアプローチが必要です。
ステップ2:エッジ保存型非線形メディアフィルターによるノイズ除去:
これは重要なステップです。ここでの目的は、しかし、あなたのエネルギーの封筒を滑らかにあるなしに破壊したり、エッジや高速の立ち上がり時間を滑らか。実際にはこれに専念するフィールド全体がありますが、ここでの目的のために、簡単に実装できる非線形Medialフィルターを使用できます。(中央値フィルタリング)。これは強力な手法です。平均フィルタリングとは異なり、中間フィルタリングはエッジを無効にしませんが、同時に重要なエッジを大幅に劣化させることなく信号を「スムーズ」にします。 (ウィンドウの長さが奇数の場合)。ここでのケースでは、ウィンドウサイズ25サンプルの中間フィルターを選択しました。
ステップ3:時間の削除:ガウスカーネル密度推定関数の作成:
上記のプロットを通常の方法ではなく横から見た場合はどうなりますか?数学的に言えば、ノイズ除去された信号のすべてのサンプルをy振幅軸に投影した場合、何が得られるでしょうか?これを行うことで、いわば時間を削除し、信号統計のみを調べることができます。
直感的に何が上の図から浮かび上がりますか?ノイズエネルギーは低いですが、より「人気がある」という利点があります。対照的に、エネルギーを持つ信号エンベロープはノイズよりもエネルギッシュですが、しきい値を超えて断片化されます。「人気」をエネルギーの尺度として考えたらどうでしょうか?これは、ガウスカーネルを使用したカーネル密度関数(KDE)の(粗雑な)実装で行います。
これを行うには、すべてのサンプルを取得し、その値を平均として使用してガウス関数を作成し、事前に選択された事前設定の帯域幅(分散)を使用します。ガウス分布の分散を設定することは重要なパラメーターですが、アプリケーションと一般的な信号に基づいたノイズ統計に基づいて設定できます。(2つのファイルのみを使用できます)。その後、KDE推定を作成すると、次のプロットが得られます。
KDEは、いわばヒストグラムの連続した形であり、分散はビン幅と考えることができます。ただし、滑らかなPDFを保証するという利点があり、1回目と2回目の微分計算を実行できます。ガウスKDEが得られたので、ノイズサンプルの人気のピーク位置を確認できます。ここで、x軸は振幅空間へのデータの投影を表していることに注意してください。したがって、ノイズが最も「エネルギッシュな」しきい値を確認でき、どのしきい値を回避すべきかがわかります。
2番目のプロットでは、ガウス KDEの1次導関数を取得し、ガウス混合のピークの後の1次導関数の後の最初のサンプルの横座標を選択して、ゼロに近い特定の値を取得します。(または最初のゼロ交差)。KDEは適切な帯域幅の滑らかなガウス分布で構成されており、この滑らかでノイズのない関数の一次導関数が採用されているため、この方法を使用して「安全」にできます。(通常、一次微分はノイズを拡大するため、高SNR信号以外では問題となります)。
黒い線は、ノイズフロア全体を回避するために、画像を「セグメント化」するのに賢明なしきい値を示しています。元の信号に適用すると、次のプロットが得られます。黒い線は信号のエネルギーの開始を示しています。
δt =241
これがお役に立てば幸いです。