Hallo Gringo,
in der Praxis wird das in einer klassischen PLL (Phase Locked Loop) im
Zeitbereich erledigt, indem ein Mischer/Multiplizierer als
Phasenvergleicher eingesetzt wird. Da das Ergebnis auch eine
Frequenzkomponente bei der Summenfrequenz hat, muß diese mit einem
Tiefpassfilter unterdrückt werden. Das könnte in Matlab ungefähr so
aussehen:
PDout = x.*y; %phase detector
a = 0.001; %filter coefficient for
simplest IIR low pass filter
PDoutf = filter(a, [1 -(1-a)],PDout); %low pass filter
Der gefilterte Gleichanteil entspricht der Phasenverschiebung der beiden
Eingangssignale und kann dann in ganze und Bruchteile von Abtastperioden
umgerechnet werden. Es ergibt sich ein Offset von genau Pi/2, die
berücksichtigt werden müssen. Die Einschwingzeit des Tiefpaßfilters ist
natürlich von seiner Grenzfrequenz abhängig und begrenzt die
"Meßgeschwindigkeit". Hier macht es schnell Sinn, ein breiteres Filter
mit höherer Flankensteilheit einzusetzen, damit trotz genügend hoher
Unterdrückung der Summenfrequenzkomponente ein schnelles Einschwingen
realisiert wird.
Am Ende ist das natürlich die praktische Realisierung eines Korrelators
im Zeitbereich.
Viele Grüße!
Gerrit, DL9GFA
P.S.
Bei verrauschten Signalen sollte man Bandpass-Filter in beide Pfade vor
dem Phasenvergleich einsetzen. Aber bitte darauf achten, daß die
Gruppenlaufzeiten identisch sind. Durch Einsatz identischer Filter ist
das natürlich automatisch sicher gestellt.