Forum: Mikrocontroller und Digitale Elektronik Amplitude von Signal mit var. "DC" - Anteil


von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe ein Signal welches in etwa so aussieht wie die Skizze im Anhang 
(rot = Signal)

Nun möchte ich die relative Amplitude des Signals zu der (hier als Hilfe 
eingezeichneten) "imaginären" schwarzen Linie berechnen, in der Skizze 
beispielhaft in Blau.

Wie löst man soetwas am besten?

Ich hätte zwei Ansätze:
1) Das Signal stark Tiefpassfiltern, somit erhält man ca. die hier 
schwarze "Grundlinie", dann die Differenz rot-schwarz berechnen. So hab 
ichs bisher gemacht und funktioniert nicht schlecht, dauert aber immer 
eine zeitlang bis sich das Tiefpasssignal ans echte Signal angenähert 
hat und bis dahin ist das Ergebnis der Amplitudenberechnung wertlos. Hab 
ich bisher so gemacht und funktioniert nicht schlecht, aber eben mit der 
angegebenen Einschränkung.

2) Das Signal hochpassfiltern um den langsam wechselnden Gleichanteil 
wegzubekommen. Hier hab ich aber Angst, zu viel vom Nutzsignal zu 
verlieren (zwischen den Signalpeaks liegt jeweils ca. eine Sekunde) und 
außerdem kenne ich noch keinen guten Softwarealgorhytmus für einen 
Hochpass (ich will das ganze Software- und nicht Hardwaremäßig lösen).

Was sagt ihr zu 1) und 2) bzw. kann mir jemand einen anderen Weg 
vorschlagen?

Bin für Hilfe dankbar,
Sebastian.

zur Info: Es handelt sich um ein Pulssignal mit Fotodiode gemessen @ 
280Hz Abtastfrequenz auf Atmega 328P. Ich hoffe keine relevante Info 
vergessen zu haben.

von Sebastian (Gast)


Lesenswert?

Sorry, einmal möchte ich den post noch aus der Versenkung retten, da ich 
mir nicht vorstellen kann, dass es hierzu nicht eine elegante Lösung 
gibt, die hier sicherlich wo in einem eurer Hirne hier herumschwirrt :)

Falls mir wirklich keiner helfen kann/will entschuldige ich mich für das 
re-posten.

Danke
Sebastian

von Matthias (Gast)


Lesenswert?

Das Problem bei soetwas ist: Woher bekommt deine Erkennung die 
Untergrundlinie. Du mußt dein Nutzsignal irgendwie von dem 
Untergrundsignal trennen. Einfach geht es, wenn Nutz- und 
Untergrundsignal im Frequenzbereich gut getrennt sind. Dann reicht ein 
Tiefpaß. Die allgemeinste Lösung wäre wahrscheinlich, das ganze Signal 
zu digitalisieren, den Untergrund mit einem mathematischen Modell zu 
berechnen und dann vom Gesamtsignal abzuziehen. Vorteil ist, dass man 
damit mehr Vorwissen über den Prozess in die Analyse reinstecken kann 
und ggf. zu einer besseren Trennung kommt.
MfG

von Sebastian (Gast)


Lesenswert?

Hallo Matthias!

Das mit dem Untergrundsignal ist leider nicht so leicht zu beschreiben. 
Wie schon beschrieben handelt es sich um das Signal eines Pulsoximeters. 
Das Untergrundsignal kommt im Wesentlichen durch minimales Verrutschen 
des Sensors am Finger, durch leichte Unterschiede im Anpressdruck des 
Sensors an den Finger etc. zustande, es ist also stochastischer Natur 
und damit nicht mathematisch beschreibbar. Bei langsam Verrutschen (was 
meist der Fall ist) ist der Frequenzbereich des Störsignals gut von dem 
des Nutzsignals getrennt. Das heißt mit einem Tiefpass sehr niedriger 
Grenzfrequenz kann ich dieses Driften ganz gut heraus extrahieren, aber 
wie schon gesagt dauert das dann immer eine Zeit lang, zb. beim 
Einschalten, wenn sich der Tiefpass erst von 0V auf die ca. 2,5V 
annähern muss.

Danke für weitere Inputs
Sebastian

von Jens A. (nepi)


Lesenswert?

Zum Einschaltproblem. Initialisiere den Tiefpass mal mit dem ersten 
Messwert. Das "Tau" dann Schritt für Schritt mit jedem Sample bis auf 
den Endwert erhöhen. Damit wird das Einschwingen schon mal deutlich 
fixer.

Um die Schwankungen des "DC" Anteils gering zu halten, ist vielleicht 
eine andere Körperstelle zur Messung besser geeignet, oder vielleicht 
kannst du auch den Fingerclip modifizieren, das er gleichmäßiger drückt?

von Guru (Gast)


Lesenswert?

Hm. Vielleicht kann man das ganze nochmal mit etwas Abstand, abstrakter 
betrachten, wenn Du schreibst, warum Du das "Untergrundsignal" überhaupt 
isolieren möchtest. Evtl. könnte man auch anders vorgehen.

von Sebastian (Gast)


Lesenswert?

Ich "möchte" das Untergrundsignal nicht unbedingt isolieren, ich hätte 
eben nur gerne die Amplitude des Signals (in der Skizze blau), und da 
ist mir halt Signal minus Untergrundsignal als einfachste Lösung in den 
Sinn gekommen.

Auch wenn man den Fingerclip fixiert und nicht mehr bewegt kommt es zu 
so einem leichten wandern des Signals, nicht sehr stark, aber genug um 
die doch sehr sensible Berechnung des SpO2 Werts zu beeinflussen.

Vermutlich werde ich bei der Tiefpassvariante bleiben und etwas mit den 
Werten herumspielen, so wie Jens es vorgeschlagen hat.
LG
Sebastian

von DeltaDepp (Gast)


Lesenswert?

Hm, relative Amplitude fällt mit spontan (u.U adaptive ) Sigma Delta Adc 
ein,
die kann prinzipiell nur AC. Ist das weiteres Grübeln wert, oder steht 
die Hardware schon  ?

von Sebastian (Gast)


Lesenswert?

Hm, ich bin auf einen µC mit nur 16 I/O Pins festgenagelt, von dem ich 
aber schon einige brauche. Gibts die Sigma Deltas mit seriellem 
Interface? Muss ich mich mal ein bisschen schlau machen. Danke für den 
Tip!

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
Noch kein Account? Hier anmelden.