Forum: Analoge Elektronik und Schaltungstechnik Phasenverschiebungsmessung bei 50kHz


von Fritz K. (Gast)


Lesenswert?

Hallo,

ich stoße bei einer meiner Hobby-Basteleien zurzeit etwas an meine 
Grenzen.
Ich habe zwei Sinus-Signale, welche beide die selbe Frequenz (50kHz) und 
800µA haben und sich im Bereich von ca. 1-3V befinden.
Eines der Signale hat ungefähr eine Phasenverschiebung von 0-8°, und 
sollte relativ genau (0.1°) bestimmt werden.
Da dies bei dieser Frequenz ungefähr einen ADU bzw. µC mit ca. ~100MHz 
erfordert, wäre eine analoge Schaltung, sofern sie relativ simpel ist, 
vielleicht eine bessere Alternative.
Meine Überlegungen wären zurzeit, dass ich beide Signale via 
Nichtinvertierender-OPV Schaltung so stark verstärke, dass ein 
Rechtecksignal entsteht (es wird so stark verstärkt, dass das Signal 
sehr schnell in den Sättigungsbereich kommt - daher ungefähr ein 
Rechtecksignal ergibt). Danach würde ich beide Signale mit einer 
einfachen Phasendetektorschaltung bestehend aus zwei FlipFlops und einem 
AND-Gatter analysieren.

Leider stoße ich dabei bei meinen Simulationen in Multisim auf den 
Fehler, dass ich beim Simulieren angeblich keine "Konvergenz" erziele.

Könnte mir Jemand weiterhelfen, wie ich den Simulationsfehler behebe, ob 
die Überlegen funktionieren kann oder bzw. hat Jemand eine bessere Idee?

von Uwe B. (uwe_beis)


Lesenswert?

Hallo Fritz,

ich kommentiere und korrigiere erst einmal etwas:

Fritz K. schrieb:
> Ich habe zwei Sinus-Signale, welche beide die selbe Frequenz (50kHz) und
> 800µA haben und sich im Bereich von ca. 1-3V befinden.
Die 800 µA haben hier nichts zu suchen.

> Eines der Signale hat ungefähr eine Phasenverschiebung von 0-8°
Und das andere? Na ja, du meinst: Die Phasen der beiden Signale sind 
zueinander ca. um 0-8° verschoben.

> Da dies bei dieser Frequenz ungefähr einen ADU bzw. µC mit ca. ~100MHz
> erfordert
Das ist nicht richtig. Genau genommen spielt die Abtastfrequenz fast gar 
keine Rolle. Selbst bei Unterabtastung geht die Phaseninformation nicht 
verloren. Aber das geht etwas weit, und ich weiß nicht, ob du einen 
solchen Lösungsweg beschreiten wolltest oder könntest.

> Nichtinvertierender-OPV Schaltung so stark verstärke, dass ein
Was du jetzt beschreibst ist ein Komparator. Aber ein 
Operationsverstärker ist zum einen deutlich langsamer und zum anderen, 
was viel wichtiger ist, er kommt bei weitem nicht so schnell aus der 
Sättigung heraus wie du es brauchst.

Immer wenn z. B. durch einen Komparator oder einen ADC (fast das 
gleiche, der Komparator ist ein zeitkontinuierlicher 1-Bit ADC) ein 
Signal "vereinfacht" wird, gehen auch Informationen verloren. Wenn mit 
einem aufwändigeren Algorithmus das komplette Signal verarbeitet wird, 
werden die Ergebnisse besser.

> einfachen Phasendetektorschaltung bestehend aus zwei FlipFlops und einem
> AND-Gatter analysieren.
Wie soll die aussehen? Was macht die, wenn beide Signale exakt in Phase 
liegen? Das ist generell ein mögliches Problem bei einer analogen 
Schaltung.

> Leider stoße ich dabei bei meinen Simulationen in Multisim auf den
> Fehler, dass ich beim Simulieren angeblich keine "Konvergenz" erziele.
Das ist doch fast eine digitale Schaltung - wo gibt's da Konvergenz? -> 
Schaltung posten.

> hat Jemand eine bessere Idee?
Na klar, z. B. für den nächsten Grillabend. Aber ernsthaft: Welche Idee, 
also welcher Lösungsweg besser ist, hängt doch, wie eigentlich immer, 
von deiner Situation ab. Soll das ein superbilliges Massenprodukt 
werden, oder eine einmaliger Hobbyversuch, der danach in der 
Bastelschublade verschwindet, magst du lieber analoge Bauteile löten 
oder stecken, kleine Prozessoren in C oder gar Assembler programmieren, 
ein Raspi einsetzen um ja keine Hardware gestalten zu müssen oder darf 
es gleich auf dem PC (über Soundkarte) sein?

von Max (Gast)


Lesenswert?

Wie wäre es Komparatoren verwenden, die den Nulldurchgang als Schwelle 
nehmen und dann mittels Zählern von Flanke zu Flanke zu zählen?

von eric (Gast)


Lesenswert?

Uwe B. schrieb:
> Aber ein Operationsverstärker ist zum einen deutlich langsamer
> und zum anderen, was viel wichtiger ist,
> er kommt bei weitem nicht so schnell aus der Sättigung heraus
> wie du es brauchst.

Durch die Differenzbildung hebt sich der Fehler heraus.

von Frank (Gast)


Lesenswert?

Ich werfe mal ein paar Ideen in den Raum:

1)Abtasten und über Goerzel berechnen.
2)Abtasten und über Kreuzkorrelation berechnen.
3)Die Idee aus 2) müsste doch auch analog gehen wenn man die Signale 
Multipliziert und Aufsummiert (Tiefpass). So eine Art analoge KKF?

von Possetitjel (Gast)


Lesenswert?

Frank schrieb:

> 2)Abtasten und über Kreuzkorrelation berechnen.
> 3)Die Idee aus 2) müsste doch auch analog gehen wenn
> man die Signale Multipliziert und Aufsummiert (Tiefpass).
> So eine Art analoge KKF?

Selbstverständlich geht das. I/Q-Mischer = Vier-Quadranten-
Demodulator = Synchrongleichrichter.
Referenzfrequenz muss zweifach vorhanden sein, nämlich mit
0° und 90° Phasenverschiebung (PLL mit Oszillator auf 4facher
Frequenz; 2 D-Flipflop).
Wenn das Messsignal spektral rein ist (=guter Sinus), kann
man Schaltermischer statt Analogmultiplizierern einsetzen,
weil dann keine Oberwellenmischung stattfinden kann, die zu
Fehlern führen würde.
Die Gleichspannungen hinter den Tiefpässen sind der Inphase-
und der Quadratur-Anteil; über den Pythagoras bekommt man
die Amplitude, durch Division des I- und Q-Anteils durch
die Amplitude erhält man den Koeffizienten für Sinus- und
Cosinus-Anteil.
Aufgrund der vier möglichen Vorzeichenkombinationen deckt man
alle vier Quadranten ab, d.h. der Phasenwinkel kann irgendwo
im Vollkreis liegen. Der Arcustangens liefert dann den
Winkel.

von Henrik (Gast)


Lesenswert?

Ab in die Soundkarte 196kHz und dann Sinusfit. SAM.

von Hp M. (nachtmix)


Lesenswert?

Fritz K. schrieb:
> Eines der Signale hat ungefähr eine Phasenverschiebung von 0-8°, und
> sollte relativ genau (0.1°) bestimmt werden.

Wichtig wäre zu wissen, ob du das Ergebnis als Digitalwert oder analog 
brauchst, und wie schnell es vorliegen muss.

von Henrik (Gast)


Lesenswert?

Ab in die Soundkarte 196kHz und dann Sinusfit. SAM.

von Tobias P. (hubertus)


Lesenswert?

Man könnte auch eines der Signale um 90° in der Phase schieben. Danach 
dieses phasenverschobene Signal und das andere Signal auf einen Mischer 
geben und dessen Ausgangssignal tiefpassfiltern. Das Resultat ist eine 
Gleichspannung, die sich wie der Sinus der Phasenverschiebung verhält. 
Da nur sehr kleine Phasenverschiebungen bis 8° messen willst, kann man 
das als näherungsweise linear betrachten.
Die 90° Phasenschiebung sollte auch relativ einfach zu realisieren sein, 
da deine Frequenz konstant ist könnte man das z.B. mit RC-Gliedern tun.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://web.archive.org/web/20140121093530/http://www.ulrich-bangert.de/AMSAT-Journal.pdf 
auf Seite 12 ist eine Prinzipschaltung mit zwei Mischern und einem 
Hilfsoszillator gezeigt. Damit lassen sich auch sehr kleine 
Phasenunterschiede in relativ kurzer Messzeit nachweisen.

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Hi, Fritz,

das ist das passende Meßgerät:
http://www.ebay.de/itm/Vektor-Analyzer-ZPV-mit-reichlichem-Zubehor-/171956060329?hash=item28096140a9:g:1ykAAOSw~gRVtd6Z

0,1° ist aber schon eine stolze Forderung.

> Danach würde ich beide Signale mit einer einfachen
> Phasendetektorschaltung
Oder nimm die eines handelsüblichen PLL-Schaltkreises wie CD4046. Da ist 
der Komparator auch mit drin.

Auch möglich: Phasenvergleich am 2-Kanal-Oszilloskop, getriggert auf 
eins der Signale.

Ciao
Wolfgang Horn

von Fritz K. (Gast)


Lesenswert?

So, habe mir das nochmal gründlich alles überlegt, eure Vorschläge auch 
mit einer Privatperson diskutiert, welche sich da auch etwas auskennt.

Haben nun folgenden Lösungsansatz entwickelt, welcher vielleicht 
funktionieren könnte:

Beide Signale werden durch Komparatoren in Rechtecksignale gewandelt 
(Schaltschwelle so gut wie möglich bei 0 - somit wird das Signal dann 
high, wenn ein 0-Durchgang im Sinus stattfindet).
Danach werden beide Signale durch ein EXOR insofern gefiltert, dass am 
EXOR Ausgang der Bereich durch ein High dargestellt wird, welcher 
zwischen dem 0-Durchgang des ersten Signales und dem 0-Durchgang des 
zweiten liegt - also der Zeitbereich welcher der Phasenverschiebung 
entspricht.
Dieses EXOR-Signal wird dann mit einem sehr schnellen Takt verundet 
(AND), und dann mit einem Zähler gezählt wie viele Perioden dieses 
Taktes sich in der High-Phase des EXOR Signals ausgehen -> dadurch kann 
die Zeit der High-Phase und somit auch der Phasenwinkel errechnet werden 
- theoretisch.

Findet ihr diese Idee plausibel? Wenn nicht, warum?

Elektrische Grüße,
Fritz

von Anselm 6. (anselm68)


Lesenswert?

Klingt gut, Vorraussetzung dafür ist dass deine Frequenz von 50kHz nicht 
variabel ist.
Aber davon hast du ja auch nix gesagt ;)

Anselm

von Peter R. (pnu)


Lesenswert?

Früher hat man beide Signale in Rechteckspannung umgewandelt und auf ein 
XOR gegeben. Den Mittelwert der Ausgangsspannung hat man dann gemessen.

Das funktioniert auch bei variabler Frequenz bezüglich Phase: bei =Grad 
0V bei 90 Grad 1/2 Vcc bei 180 Grad Vcc.

Es kommt halt drauf an, ob ein Mittelwert genügt, oder ob man die 
Phasenverschiebung für jede Schwingung braucht.

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

Fritz K. schrieb:
> Findet ihr diese Idee plausibel? Wenn nicht, warum?

Ein Zähler mit zwei Capture-Einheiten zusammen in einem µC liefert 
genauere Ergebnisse. Dabei ist es zweckmäßig, eines der Signale zu 
invertieren damit die Phasenlage 180 - 188° beträgt.
Ich habe das mal auf einem STM32F407 gemacht, was aber für Hobbyzwecke 
wahrscheinlich zu aufwendig ist. Dabei werden Phasenlage und Frequenz 
immer gleichzeitig erfaßt.

von Possetitjel (Gast)


Lesenswert?

Fritz K. schrieb:

> Haben nun folgenden Lösungsansatz entwickelt, [...]

Worin besteht der Neuheitswert?

Das ist exakt die Lösung, die Du im Originalbeitrag vor
sechs Tagen schon vorgeschlagen hast.

von Fritz K. (Gast)


Lesenswert?

Peter R. schrieb:
> Früher hat man beide Signale in Rechteckspannung umgewandelt und
> auf ein
> XOR gegeben. Den Mittelwert der Ausgangsspannung hat man dann gemessen.
>
> Das funktioniert auch bei variabler Frequenz bezüglich Phase: bei =Grad
> 0V bei 90 Grad 1/2 Vcc bei 180 Grad Vcc.
>
> Es kommt halt drauf an, ob ein Mittelwert genügt, oder ob man die
> Phasenverschiebung für jede Schwingung braucht.

Danke erstmal für die Idee, hab mir das mal durchgedacht.
Da ich Verschiebungen im Bereich von ca. ~ 1-8° messen muss (High-Phase 
des XOR Signals sehr klein), würden sich die ermittelten Mittelwerte bei 
diesen geringen Gradunterschieden wahrscheinlich kaum unterscheiden 
(mV-Bereich), weswegen ich denke dass es dann bei der Errechnung der 
Phasenverschiebung etwas schwierig werden könnte.

> Ein Zähler mit zwei Capture-Einheiten zusammen in einem µC liefert
> genauere Ergebnisse. Dabei ist es zweckmäßig, eines der Signale zu
> invertieren damit die Phasenlage 180 - 188° beträgt.
> Ich habe das mal auf einem STM32F407 gemacht, was aber für Hobbyzwecke
> wahrscheinlich zu aufwendig ist. Dabei werden Phasenlage und Frequenz
> immer gleichzeitig erfaßt.

Denke, dass das für mein Projekt etwas aufwendig ist..zumal ich die 
Frequenz ja nicht messen muss (beide Signale 50kHz). Danke trotzdem!

Elektronische Grüße,
Fritz

von m.n. (Gast)


Lesenswert?

Fritz K. schrieb:
> Denke, dass das für mein Projekt etwas aufwendig ist..zumal ich die
> Frequenz ja nicht messen muss (beide Signale 50kHz).

Gut, aber wenn Du mit einfachen Zählern arbeiten willst, mußt Du 
sicherstellen, daß die Frequenz geberseitig 50,00 kHz ist.
Sofern man mit µC arbeitet, mißt man automatisch die Periodendauer und 
damit auch die Frequenz ;-)
Für Deinen Bedarf würde sich sogar noch ein Arduino Uno eignen.

von Peter R. (pnu)


Lesenswert?

Bei 1...10 Grad Wertebereich gehts halt per sample-and-hold:

Das geht z.B. in der Form dass bei pos.Flke des ersten Signals ein 
Schalter geöffnet wird und per C und Stromquelle am C die Spannung 
ansteigt.
Bei pos. Flke. des zweiten Signals wird die Stromquelle gesperrt und die 
Spannung am C einem Folgespeicher übergeben.
Dafür gibts sample and hold-ICs und elektronische Schalter.



Nebenbei:
Bei XOR und VCC=10V ist der ansteigende Kennlinienbereich zwschen 0 und 
90 Grad. Da entspricht 9 Grad einem Volt. Das ist doch durchaus ein 
praktikabler Spannungswert? auch die 0,5V , bei Vcc = 5V, sind doch kein 
großes Problem. Es gibt ja Verstärker die bei 500kHz (Zehnfaches von 
50k, wegen Rechteckimpulsform)ganz wunderbar verstärken.

: Bearbeitet durch User
von Peter R. (pnu)


Lesenswert?

Ein andrer Weg wäre die "Spektralanalyse": Die Amplitude der Grundwelle 
des XOR-Ausgangssignal wächst linear zur Dauer der H-Zeit des XOR.

Also XOR mit Schwingkreis als Folgeelement.

von Hans (Gast)


Lesenswert?

Ich würde einfach die beiden Signale multiplizieren und dann integrieren 
über eine Periode:

  

von S. K. (hauspapa)


Lesenswert?

>Da dies bei dieser Frequenz ungefähr einen ADU bzw. µC mit ca. ~100MHz
>erfordert,

wo ist das Problem?

Jeder Kanal mit 12Bit/2,4MHz abgetastet währe im STM32F4 Discovery sogar 
noch der 3. ADC unbenutzt. 48fache Überabtastung und knapp 200k RAM 
sollten für ein paar Perioden reichen. Der Rest ist ein wenig 
Mathematik. Man muss ja nicht gleich mit FFT & Co schiessen (könnte aber 
natürlich).

Muss man nicht selber löten, gibts für kleines Geld.

Auch wenn klassich diskret seinen Reiz hat:
50kHz entspricht 20us Periodendauer. 0.1° s sind knapp über 5ns. Ich 
hätte insbesondere bei unterschiedlichen Signalamplituden Sorgen 
hinsichtlich Offsetspannungen und Laufzeittoleranzen gerade im analogen 
Pfad. Das gilt insbesondere auch wenn die Signale noch gefiltert werden 
müssen, was bisher aber nicht gefordert worden ist.

viel Erfolg
hauspapa

: Bearbeitet durch User
von S. K. (hauspapa)


Lesenswert?

>Ich würde einfach die beiden Signale multiplizieren und dann integrieren
>über eine Periode:

Coole Idee mit einem kleinen Haken: Einen Zahlenwert für die 
Phasenverschiebung bekommt man nur wenn man neben dem berechneten 
Integral auch T, A1 und A2 hinzeichend genau bestimmt hat.

viel Erfolg
hauspapa

: Bearbeitet durch User
von Hans (Gast)


Lesenswert?

S. K. schrieb:
> T, A1 und A2 hinzeichend genau

Ja da hast du recht, aber T folgt ja direkt aus der Frequenz, die ja 
ziemlich genau 50khz sein soll und A1 und A2 sollten auch ziemlich 
konstant sein und einfach mit einem Oszilloskop zu messen.

Gruss Hans

von Hans (Gast)


Lesenswert?

Ok habe gerade gelesen, dass die Amplitude auch um bis zu 2V schwankt, 
dann wird diese Methode schon schwieriger.

von Loog (Gast)


Lesenswert?

Hans schrieb:
> S. K. schrieb:
>> T, A1 und A2 hinzeichend genau
>
> Ja da hast du recht, aber T folgt ja direkt aus der Frequenz, die ja
> ziemlich genau 50khz sein soll und A1 und A2 sollten auch ziemlich
> konstant sein und einfach mit einem Oszilloskop zu messen.

Da ist es einfacher die Phasenverschiebung gleich mit dem Oszilloskop zu 
bestimmen.

von Hans (Gast)


Lesenswert?

Loog schrieb:
> Da ist es einfacher die Phasenverschiebung gleich mit dem Oszilloskop zu
> bestimmen.

Nein, wenn A1 und A2 auch konstant sind, muss man die nur einmal messen!

von Der Andere (Gast)


Lesenswert?

S. K. schrieb:
> 50kHz entspricht 20us Periodendauer. 0.1° s sind knapp über 5ns. Ich
> hätte insbesondere bei unterschiedlichen Signalamplituden Sorgen
> hinsichtlich Offsetspannungen und Laufzeittoleranzen gerade im analogen
> Pfad.

Genau das ist die Crux. Die geforderte Genauigkeit ist verdammt happig. 
Da braucht auch nur ein Komparator ein klein wenig einen andere 
Schwellwert haben als der 2. und schon ist die Genauigkeit ausserhalb 
des geforderten Bereichs.

von Bernhard (Gast)


Lesenswert?

>> 50kHz entspricht 20us Periodendauer. 0.1° s sind knapp über 5ns.

>Genau das ist die Crux. Die geforderte Genauigkeit ist verdammt happig.

Man kann auf eine tiefere Frequenz runtermischen, die Phase bleibt 
erhalten. Bei z.B. 100Hz sind 0.1° schon fast 3µs, die lassen sich 
bequemer messen.

von m.n. (Gast)


Lesenswert?

Bernhard schrieb:
>>> 50kHz entspricht 20us Periodendauer. 0.1° s sind knapp über 5ns.
>
>>Genau das ist die Crux. Die geforderte Genauigkeit ist verdammt happig.
>
> Man kann auf eine tiefere Frequenz runtermischen,

Wozu den schütteln, rühren oder mischen? Einfach 1000 Messungen machen 
und den Mittelwert bilden.

Der Andere schrieb:
> Da braucht auch nur ein Komparator ein klein wenig einen andere
> Schwellwert haben als der 2. und schon ist die Genauigkeit ausserhalb
> des geforderten Bereichs.

Wenn man ein Signal an beide Eingänge legt, kann man wunderbar auf 0,0° 
abgleichen.

von S. K. (hauspapa)


Lesenswert?

>Wozu den schütteln, rühren oder mischen? Einfach 1000 Messungen machen
>und den Mittelwert bilden.

Hilft gegen zufällige Fehler aber nicht (in jedem Fall) gegen 
Systematische.

>Wenn man ein Signal an beide Eingänge legt, kann man wunderbar auf 0,0°
>abgleichen.

Das hilft wirklich (gegen Laufzeitunterschiede).

wird schon werden
hauspapa

von Henrik V. (henrik_v)


Lesenswert?

Es ist möglichm die Phase von 5kHz Sinus per Soundkarte 96kHz 16bit auf 
0.01° zu messen. BTDT
n* 20ms mit Sinusfit (SAM) .... Mittelwert
also runterteilen , Bandpass, Soundkarte, ....

Test? Soundkartenausgang 5kHz ->( linein L) und R(Poti)C Verzögerung -> 
(linein R)

Nur das Übersprechen macht ggf. Probleme, je nach Soundkarte.

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.