Hallo Leute, mir liegt ein gedämpftes, sinusförmiges Signal vor. Das ganze hat einen Gleichanteil, nennen wir ihn mal g und sagen wir dieser beträgt 50. Also: g = 50 Diesen Gleichanteil will ich nun entfernen. Soweit ich mich eingelesen habe macht man das meistens so: (Signal ohne Gleichanteil) = (Signal mit Gleichanteil) - (Runden(Mittelwert(Signal mit Gleichanteil))) oder als Matlabcode: sig = sig - round(mean(sig)); Soweit so gut, funktioniert auch. Jetzt habe ich aber eine Dämpfung auf dem Signal, was dazu führt, dass mir der Mittelwert nicht zu 50 sondern zu z.B. 50,06 bestimmt wird. Jetzt zum eigentlichen Problem. Nachdem ich den Gleichanteil vom Signal weggenommen habe muss ich dieses im Zuge der weiteren Verarbeitung multiplizieren. Jetzt ist es aber leider entscheidend mit welchem Vorzeichen ich multipliziere. Ziehe ich jetzt einen etwas zu großen Gleichanteil ab führt das demnach zu einem Fehler. Erster Ansatz war jetzt den Mittelwert nicht über das gesamte, sondern nur über die zweite Hälfte des Signals zu bilden um so die krassen "Überschwinger" aus der ersten Hälfte herauszubekommen. Leider brachte auch das keinen Erfolg. Selbes Problem. Hat irgendjemand eine Idee wie ich das Abfangen kann bzw den Gleichanteil anders entfernen kann ohne dieses Problem zu haben? Danke für jede Meinung und Hilfe!
Warum denn das Runden? Der DC-Offset ist genau dann weg wenn du genau den Mittelwert vom Signal abziehst, quasi per Definition. Wenn du den rundest, wird's natürlich falsch ... Das mit dem Vorzeichen erschließt sich mir auch nicht, das ist nicht verständlich ohne zu wissen wie genau dein Signal aussieht und was du vor hast.
Hm, eigentlich suchst du nicht nach dem Gleichanteil, sondern nach dem Endwert eines Einschwingvorgangs, oder? Beide Werte sind sich zwar ähnlich, aber halt nicht gleich (die erste Auslenkung ist halt immer die größte). Was mir so in den Sinn käme: - Einschwingvorgang anfitten. Entweder den Fitparameter "Endwert" von der Messkurve abziehen und dann die korrigierten Messwerte weiter verwenden, oder gleich die gefittete Theoriekurve weiter verwenden - Den Einschwingvorgang vor der Mittelwertbildung und Weiterverarbeitung "entdämpfen" (also mit exp. ansteigender Funktion multiplizieren, so dass die Extrema der Kurve immer den gleichen Wert erreichen. Nach hinten raus wird dann halt auch das Rauschen ziemlich groß, aber so ist das halt bei der Kurvenform. Auf theoretisch-idealen Kurven sollten beide Ansätze dir helfen. Ob es bei deinen realen Messkurven auch hilft, ist natürlich nicht sicher.
Danke erstmal. Das mit dem "entdämpfen" versuche ich bereits hier: Beitrag "Hüllkurve überlagertes Signal" Grob umschrieben: Maxima finden, Kurve anfitten -> f(x) dann Signal mit 1/f(x) multiplizieren Leider bisher ohne großen Erfolg. finde leider auch wenig brauchbares dazu auf google. Das mit dem stationären Endwert muss ich mal anschauen, vielleicht hilft das weiter, danke!
Ich könnte mir vorstellen, dass eine ganz klassische Tiefpassfilterung 1. Ordnung hier weiterhelfen könnte. => Je länger eine starke Abweichung her ist, desto weniger wird sie gewichtet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.