Erfassungsphase zwischen Rechteck- und Sinuswellensignalen

9

Ich habe eine Schaltung mit einem digitalen Rechteckwelleneingang (erzeugt durch PLD, 1,8 Vp) und einem Sinuswellenausgang (0,5 - 3,5 Vp). Beide Signale haben eine Frequenz von 100 kHz, die Phase ist jedoch unterschiedlich.

Was ist ein guter Weg, um die Phasendifferenz zwischen diesen beiden Signalen zu erfassen? Phasendetektoren, die ich bisher gesehen habe, sind entweder für alle digitalen oder alle analogen Signale? Gibt es eine für die gemischte Signalschaltung wie die, die ich habe?

Aktualisieren

Für meine Bewerbung reicht es aus, die Phasendifferenz mit 1 Grad zu kennen. Die Frequenzen sind immer relativ zueinander gesperrt und ändern sich nie. Die Rechteckwelle treibt die analoge Elektronik an und Analoga erzeugen die Sinuswelle, die ein AM-moduliertes Signal enthält. Die Amplitude des Signals ist jedoch im Vergleich zur Amplitude des Trägers sehr gering. Aufgrund der Produktionsvariabilität weisen die Analoga (einschließlich einiger handgewickelter Induktoren) eine hohe Variabilität der Phase von Einheit zu Einheit auf, und ich versuche, eine Auto-Tuning-Methode für den DSP zu entwickeln, die die Ausgangssinuswelle verarbeitet.

udushu
quelle
2
Wie genau müssen Sie die Phasendifferenz kennen? Und müssen Sie dies als einmaliges Experiment oder als Teil der laufenden Funktion Ihrer Schaltung tun? Sind die beiden Teile tatsächlich frequenzverriegelt (oder leiten sie ihre Frequenz aus einer gemeinsamen Referenz ab) oder sind sie beide nur nominal 100 kHz?
Das Photon

Antworten:

11

Die Phasendetektion ist für digitale Signale am einfachsten. Es ist im Grunde ein XOR-Gate. Ich würde den Sinus in eine Rechteckwelle umwandeln. Führen Sie einen Komparator mit dem Sinus an einem Eingang und dem gemittelten Sinus (LPF) am anderen Eingang ein, so dass der Komparator eine Rechteckwelle mit einem Tastverhältnis von 50% liefert. Verwenden Sie dann einen digitalen Phasendetektor.

stevenvh
quelle
Ich habe überlegt, einen Komparator zu verwenden, um aus einer Rechteckwelle eine Sinuswelle zu machen, aber das Problem ist, dass die Amplitude der Sinuswelle innerhalb eines Bereichs von 0,5 bis 3,5 V variieren kann. Dies ist eine Produktionsvariabilität, und ich kann nichts dagegen tun. In diesem Fall kann die Nulldurchgangserkennung eine Lösung sein ... Kann eine Überlegung wert sein.
Udushu
1
@udushu - Der gemittelte LPF löst das. Es wird sich um die Änderung der Amplitude und des DC-Offsets kümmern.
Stevenvh
@stevenvh, ich denke nicht, dass der LPF ausreicht, um zu gewährleisten, dass die Eingangssignalamplitude die Phasenmessung nicht beeinflusst. Komparatoren haben eine Eigenschaft namens Dispersion , die bedeutet, dass sich die Ausbreitungsverzögerung ändert, wenn sich die Eingangsamplitude ändert. Es sieht so aus, als ob ein Komparator, der die Anforderungen des OP an Phasenfehler (ca. 40 ns) ohne weitere Kompensation erfüllen kann, auch eine ausreichend geringe Streuung aufweisen sollte. Es ist jedoch wichtig, dies zu überprüfen, wenn Sie einen Komparator für diese Verwendung auswählen.
Das Photon
@ThePhoton - Du hast einen Punkt, aber OP hatte seine 1 ° Genauigkeit noch nicht erwähnt, als ich antwortete. OTOH gibt es Komparatoren mit einer Dispersion von weniger als 100 ps, ​​was einige Größenordnungen besser ist als die 1 °.
Stevenvh
@ThePhoton - Es scheint, dass der Nulldurchgangskomparator eine Lösung ist. Vielen Dank für die Diskussion.
Udushu
4

Da Sie sagen, dass Sie einen DSP haben, der die Sinuswelle verarbeitet, können Sie eine komplexe Fourier-Transformation verwenden, um die Phase zu messen (Sie müssen die DFT nur bei der bekannten Frequenz auswerten).

Dies hängt tatsächlich eng mit dem zusammen, was Curd über das Mischen vorgeschlagen hat - eine Einzelpunkt-DFT ist eine Art Mischer, gefolgt von Integratoren oder Tiefpassfiltern. Der Unterschied besteht darin, dass Sie den Winkel der komplexen Ausgabe bestimmen können, indem Sie dies im komplexen Bereich tun (oder einen IQ-Mischer im analogen verwenden). Wenn Sie nur die realen Komponenten oder nur einen einzelnen Mischer verwenden, können Sie das Blei nicht von der Verzögerung unterscheiden, und die Amplitudenempfindlichkeit wäre eine größere Herausforderung.

Chris Stratton
quelle
Ich wünschte, ich könnte. Das hätte viele Probleme gelöst, die ich derzeit habe. Leider hat der DSP, den ich verwenden muss, bei weitem nicht die Leistung, die für Echtzeit-DFTs mit einem 100-kHz-Signal erforderlich ist.
Udushu
Sie müssen nur einen Frequenzbereich berechnen - nicht die normalen # bins = # Stichproben, die Personen mit einer Fourier-Transformation verknüpfen. Wie oft müssen Sie die Phase messen? In seltenen Fällen stellt sich die eigentliche Frage, ob Ihr System mit dieser Geschwindigkeit abtasten und speichern kann und nicht, ob es mit dieser Geschwindigkeit verarbeiten kann.
Chris Stratton
Der DSP ist derzeit so konfiguriert, dass er mit 20 kHz abtastet, und nur das demodulierte Signal wird abgetastet, nicht der 100-kHz-Träger. Ich glaube nicht, dass der bescheidene dsPIC33, den ich verwende, überhaupt ein 100-kHz-Signal abtasten kann.
Udushu
@udushu Eine schnelle Suche deutet darauf hin, dass der dsPIC möglicherweise etwa ein Megasample / Sekunde ausführen kann. Wenn jedoch die analoge Bandbreite ausreicht und Sie die Frequenz kennen, können Sie das Aliasing auch absichtlich unterabtasten und ausnutzen.
Chris Stratton
0

Unter der Annahme, dass die Amplituden beider Eingangssignale konstant sind (wenn sie nicht durch eine AGC-Schaltung konstant gemacht werden könnten), können Sie einen Mischer (Multiplikator) als Phasendetektor verwenden:

Wenn die Signale in Phase sind, ist der Ausgang positiv.
Wenn die Signale um 180 ° phasenverschoben sind, ist der Ausgang negativ.
Bei anderen Phasendifferenzen liegt der Ausgang irgendwo zwischen diesen Werten.

Beispielsweise wird die Phasendetektion im Datenblatt als eine der Anwendungen des analogen Multiplikators IC AD633 erwähnt .

Quark
quelle