Hallo, ich implementiere momentan für eine Datenauswertung einen Lock-In-Amplifier in Python (da so weit ich das gefunden hab hier keine passende Lib existiert). Als Referenzsignal dient ein Rechtecksignal. Die Verstärkung des Messsignals ist hardwareseitig mit einem einfachen Verstärker durchgeführt. In Python hab ich bisher die Multiplikation der Signale und das anschließende tiefpassfiltern implementiert. Ich scheitere gerade allerdings an der Demodulation bzw. der Gewinnung der Phase und Amplitude aus dem gefilterten Signal. Bisher konnte ich dazu nur Erläuterungen für den Fall eines sinusförmigen Referenzsignals finden. Hat jemand einen Tipp, wie die Demodulation für ein Rechtecksignal aussehen würde (oder ggf. sogar eine passende Lib-Empfehlung)? Danke schon mal. Grüße
bilalj schrieb: > In Python hab ich bisher die Multiplikation der > Signale und das anschließende tiefpassfiltern implementiert. Ich > scheitere gerade allerdings an der Demodulation bzw. der Gewinnung der > Phase und Amplitude aus dem gefilterten Signal. Die Demodulation besteht schon gerade darin, dass du die Messwerte mit den Werten der Referenzspannung multiplizierst (also "auf 0 Hz heruntermischst") und anschließend tiefpassfilterst. Das liefert dir schon die "demodulierte Amplitude" bzw. den Anteil der Amplitude, der in Phase mit deiner Referenzspannung ist. Wenn du nicht nur den Anteil haben willst, der genau in Phase mit deiner Referenzkurve ist, sondern die volle Amplituden- und Phaseninformation (bzw. sin- und cos-Anteil der Amplitude), dann musst du mit zwei um 90° verschobenen Referenzsignalen arbeiten. Oder du googelst nach Goertzel-Algorithmus und implementierst das. bilalj schrieb: > In Python hab ich bisher die Multiplikation der > Signale Du schreibst nicht, was genau du mit deinem Messsignal multiplizierst. Die "sauberere" Demodulation bekommst du, wenn du mit einem Sinus multiplizierst, der phasenstarr an deiner Rechecktfunktion hängt. Du kannst auch mit dem Rechteck arbeiten, aber dann musst du darauf achten, dass das symmetrisch zur Nulllinie genommen wird. (Also nicht 1 und 0 als Werte des Rechecks nehmen sondern +1 und -1).
Hallo Achim, danke für die Rückmeldung! Das mit dem gefilterten Signal macht natürlich Sinn. Geht also ohne das bspw. verschobene Referenzsignal Information verloren? bzw. mit der Methode nur mit dem Tiefpass zu filtern. Ich wollte das Mess-Signal mit dem Referenz-Signal, also einem Rechtecksignal, multiplizieren. Das Referenz-Signal ist nämlich ein Laser (der an und ausgeschaltet wird) und das Mess-Signal die Intensität an einer Fotodiode. Kann ich auch ohne angelegtes Sinus-Signal mit einem Sinus-Signal arbeiten?
bilalj schrieb: > Kann ich auch ohne angelegtes Sinus-Signal mit einem > Sinus-Signal arbeiten? "Klassische" Lock-In Amplifier (noch in den analogen Zeiten) hatten dazu oft eine PLL mit verbaut. Die konnte man auf das rechteckförmige Signal des Laser-Coppers locken und hatte den gewünschten Sinus. Ggf. kannst du sowas in deiner Software "nachbauen". bilalj schrieb: > Geht also ohne das bspw. verschobene Referenzsignal > Information verloren? Wenn du nur mit einem Referenz-sinus multiplizierst, dann bekommst du auch nur eine Komponente (die, die in Phase mit dem Sinus ist). Um beide Quadraturkomponenten zu erhalten (bzw. die komplexe Amplitude) brauchst du auch zwei Auswertungen für beide Quadraturkomponenten. Wenn es dir nur darum geht, den Betrag der Ampltude zu bestimmen, dann ist die übliche Lösung, das Referenzsignal gegenüber dem Choppersignal so weit zu verschieben, dass der modulierte Ausgang deines Photodiodenverstärkers genau in Phase zum Referenzsignal ist. (Praktisch gesagt: du verschiebst die Phase des Referenzsignals so, dass das demodulierte Signal maximal wird.) bilalj schrieb: > Ich wollte das Mess-Signal mit dem Referenz-Signal, also einem > Rechtecksignal Was heißt "Rechtecksignal". Ein Rechteck hast du auch, wenn es zwischen 0 und 1 hin und herschaltet. Dein Rechteck muss aber symmetrisch zur Nulllinie sein. In der On-Phase müssen die Werte des Messsignals addiert werden. Aber in der Off-Phase müssen sie auch abgezogen werden - es reicht nicht, sie auf 0 zu setzen.
bilalj schrieb: > Geht also ohne das bspw. verschobene Referenzsignal > Information verloren? Ja. Du bekommst nur den I- oder den Q-Anteil. Um die Amplitude phasenunabhängig zu ermitteln, kann man beide Signale quadratisch addieren: Amp = sqrt( I^2 + Q^2) Das dürfte gegenüber der einfachen Methode eine Verbesserung von 3dB beim SNR bringen.
Hallo, danke für eure Erläuterungen, jetzt ist das ganze klar geworden! Grüße
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.