Chaohuangには良い答えがありますが、使用できるもう1つの方法は、Haar Wavelet変換、その後のウェーブレット係数の縮小、および時間領域に戻る逆Haar変換を使用することです。
Haarウェーブレット変換は、スケールは異なりますが、信号を平方係数と差関数の係数に分解します。ここでの考え方は、元の信号に最もよく一致するように新しい正方形の信号表現を「強制」し、エッジが存在する場所を最も適切に表現するというものです。
係数の縮小を実行すると、Haar変換関数の特定の係数をゼロに設定するということだけです。(他にも複雑な方法がありますが、それが最も簡単です)。Haar変換ウェーブレット係数は、異なるスケールの異なる平方/差関数に関連付けられたスコアです。Haar変換された信号のRHSは、最小スケールで平方/差の基底を表すため、「最高周波数」で解釈できます。したがって、ほとんどのノイズエネルギーはここにあり、VSのほとんどの信号エネルギーはLHSにあります。Isは、ゼロにされた基底係数であり、結果は時間領域に逆変換されます。
添付されているのは、AWGNの大きなノイズによって破損した正弦波の例です。目的は、パルスの「開始」と「停止」がどこにあるかを把握することです。従来のフィルタリングは、その中心部ではフィルタリングがL-2手法であるため、高周波(および時間的に高度に局所化された)エッジを塗りつぶします。対照的に、次の反復プロセスはノイズを除去し、エッジを保持します:
(ここに映画を添付できると思っていましたが、できないようです。このプロセスで作成した映画をここからダウンロードできます)。(右クリックして「名前を付けてリンクを保存」)。
MATLABでプロセスを「手動」で作成しましたが、次のようになります。
- 重いAWGNによって破損した正弦波パルスを作成します。
- 上記のエンベロープを計算します。(シグナル')。
- すべてのスケールで信号のHaarウェーブレット変換を計算します。
- 反復的な係数のしきい値処理によるノイズ除去。
- インバースハール縮小された係数ベクトルを変換します。
係数がどのように縮小されているか、およびそれから生じる逆Haar変換が明確にわかります。
ただし、この方法の1つの欠点は、エッジが所定のスケールで正方形/差のベース内または周囲にある必要があることです。そうでない場合、変換は次に高いレベルにジャンプするように強制されるため、エッジの正確な配置が失われます。これに対処するために使用される多重解像度の方法がありますが、それらはより複雑です。