大きいステップとの差を使用して信号の平滑化された微分を計算する=長方形ウィンドウでのたたみ込み


9

私はでサンプリングされた信号有しここで、i = 0..N-1。信号の1次導関数を求めたい:f '(t)。Δt:fi(ti=iΔt)

私の最初の考えは、これを中心的な違いによって推定することでした:

f(ti)=f(ti+1)f(ti1)2Δt

ただし、信号には高周波ノイズが多く、f 'が急激に変動する可能性があります。私は、Hannなどのウィンドウ関数とのたたみ込みによって信号を平滑化し、その差から導関数を見つけるのが適切だと思います。

同僚は、微分の平滑化された推定値を見つけるより速い方法を提案しました:2n個のサンプルで中心差を使用します。ここで、n >> 1です。

f(ti)=f(ti+n)f(tin)2nΔt

もちろん、これは最初にウィンドウ関数でたたみ込むよりも計算的に高速ですが、それは良い解決策ですか?

合計を計算する場合:

S=2Δt[f(tin+1)+f(tin+2)+..+f(ti+n1)]

Δt

S=f(tin+2)f(tin)+f(tin+3)f(tin+2)+..+f(ti+n)f(ti+n2)

2つを除くすべての条件がキャンセルされます。

S=f(ti+n)f(tin)=2nΔtf(ti)

したがって:

f(ti)=1n[f(tin+1)+f(tin+2)+..+f(ti+n1)]

したがって、2n個のサンプルの中央差を取ることは、最初にサイズ2n-2の長方形のウィンドウで畳み込み、次に+/- 1個のサンプルの中央差を取ることと同じです。

長方形のウィンドウで滑らかにするのはどのくらい「悪い」のでしょうか。

FFTを取得すると、「リンギング」が発生しますが、FFTを取得する必要はありません。

どんな答えも事前にありがとう!

回答:


4

これは一般的に扱うのが難しい質問です。長方形のウィンドウを使用したスムージングは​​常に使用されるため(しばしば「移動平均」と呼ばれます)、これは必ずしも問題ではありません。どのリンギングを参照しているのかわかりません。おそらく、長方形のウィンドウの周波数応答のサイドローブです。

微分は本質的にハイパス演算です。理想的な連続時間微分には、次の伝達関数があります。

H(s)=s

したがって、その振幅応答は次のようになります。

|H(jω)|=ω

したがって、微分器のゲインは周波数とともに単調に増加します。信号に高周波ノイズが含まれている場合、微分器を適用することで増幅できます。これに対処するために、2つのアプローチが明らかです。

  • 目的の信号をカバーする帯域の部分にわたって望ましい線形振幅応答があり、より高い周波数を急激に減衰させる、より洗練された微分フィルターを設計します。たとえば、最小二乗法や周波数サンプリング法を使用して、このようなフィルターを設計できます。

  • カスケードアプローチを使用します。最初に、ローパスフィルターを使用して高周波ノイズをすべて抑制し、次に微分器を使用します。ローパスフィルターは帯域外ノイズを排除するため、微分器の周波数カバレッジはそれほど厳密である必要はありません。

線形フィルターを使用している場合、メソッドはほぼ同等になるはずです。最初の単一フィルターアプローチは、微分器とローパスフィルターの単なるカスケードと考えることができます。お気づきのように、中央差分アプローチはこの方法でモデル化できます。アプリケーションの知識がなければ、だれでも「悪い」とは言いがたいです。私の主な考えは、平滑化操作が対象の信号を明確に減衰させて、微分推定がもはや役に立たなくなる場合は、「悪い」ことです。ただし、信号のパラメータが、信号を著しく歪ませることなくノイズを平滑化できるようなものである場合(つまり、信号が十分にオーバーサンプリングされている場合)は、成功する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.