Berechnung der geglätteten Ableitung eines Signals unter Verwendung der Differenz mit größerem Schritt = Faltung mit rechteckigem Fenster

9

Ich habe ein Signal, das bei abgetastet ist : f i ( t i = i & Dgr ; t ), wobei i = 0 ... n - 1 ist. Ich möchte die erste Ableitung des Signals finden: f '(t).Δt:fi(ti=iΔt)

Mein erster Gedanke war, dies durch einen zentralen Unterschied abzuschätzen:

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

Das Signal kann jedoch viel Hochfrequenzrauschen aufweisen, das schnelle Schwankungen in f 'verursachen kann. Ich denke, das Richtige könnte sein, das Signal durch Falten mit einer Fensterfunktion, z. B. Hann, zu glätten und dann die Ableitung aus den Unterschieden zu finden.

Ein Kollege schlug einen schnelleren Weg vor, um eine geglättete Schätzung der Ableitung zu finden: Verwenden Sie eine zentrale Differenz über 2n Stichproben, wobei n >> 1:

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

Dies wäre natürlich rechnerisch schneller als das erste Falten mit einer Fensterfunktion, aber ist es eine gute Lösung?

Wenn wir die Summe bilden:

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)

Alle Begriffe außer zwei Stornierungen:

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

Deshalb:

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

Die zentrale Differenz über 2n Proben zu nehmen ist also gleichbedeutend damit, zuerst durch ein rechteckiges Fenster der Größe 2n - 2 zu falten und dann eine zentrale Differenz über +/- 1 Probe zu nehmen.

Wie "schlecht" ist es, mit einem rechteckigen Fenster zu glätten?

Wenn wir die FFT nehmen, führt dies zu einem "Klingeln", aber wir müssen die FFT nicht nehmen.

Vielen Dank im Voraus für alle Antworten!

Andy
quelle

Antworten:

4

Dies ist im Allgemeinen eine schwierige Frage. Die Glättung mit einem rechteckigen Fenster wird ständig verwendet (oft als "gleitender Durchschnitt" bezeichnet), daher ist dies nicht unbedingt ein Problem. Ich bin mir nicht sicher, auf welches Klingeln Sie sich beziehen, vielleicht auf die Nebenkeulen des Frequenzgangs des rechteckigen Fensters.

Die Differenzierung ist von Natur aus eine Hochpassoperation. Der ideale zeitkontinuierliche Differenzierer hat eine Übertragungsfunktion von:

H(s)=s

Damit ist seine Größenantwort:

|H(jω)|=ω

Die Verstärkung eines Differenzierers nimmt daher monoton mit der Frequenz zu. Wenn Ihr Signal hochfrequentes Rauschen enthält, kann es durch Anwenden eines Differenzierers verstärkt werden. Um dem entgegenzuwirken, sind zwei Ansätze offensichtlich:

  • Entwerfen Sie ein ausgefeilteres Differenzierungsfilter, das über den Teil des Bandes, der Ihr interessierendes Signal abdeckt, die gewünschte lineare Größenantwort aufweist und dann höhere Frequenzen stark abschwächt. Sie können einen solchen Filter beispielsweise mit der Methode der kleinsten Quadrate oder der Frequenzabtastmethode entwerfen.

  • Verwenden Sie einen kaskadierten Ansatz, bei dem Sie zuerst das gesamte Hochfrequenzrauschen unterdrücken, das Sie mit einem Tiefpassfilter erzeugen können, und dann das Differenzierungsmerkmal verwenden. Die Frequenzabdeckung des Differenzierers muss nicht so eng sein, da das Tiefpassfilter das Außerbandrauschen beseitigt.

Die Methoden sollten ungefähr gleichwertig sein, wenn Sie lineare Filter verwenden. Sie können sich den ersten Einzelfilter-Ansatz nur als eine Kaskade eines Differenzierers und eines Tiefpassfilters vorstellen. Wie Sie bereits bemerkt haben, kann der Ansatz der zentralen Differenz auf diese Weise modelliert werden. Es ist schwer für jemanden zu sagen, dass es "schlecht" ist, ohne Kenntnis von Ihrer Anwendung. Mein Hauptgedanke wäre, dass es "schlecht" ist, wenn die Glättungsoperation Ihr interessierendes Signal spürbar abschwächt, so dass die Ableitungsschätzung nicht mehr nützlich ist. Wenn die Parameter des Signals jedoch so sind, dass Sie das Rauschen glätten können, ohne das Signal merklich zu verzerren (dh wenn das Signal gut überabgetastet ist), könnte dies ein Gewinn sein.

Jason R.
quelle