Wykrywanie fazy między sygnałami fali prostokątnej i sinusoidalnej

9

Mam obwód, który ma cyfrowe wejście fali kwadratowej (generowane przez PLD, 1,8 Vp) i wyjście fali sinusoidalnej (0,5 - 3,5 Vp). Oba sygnały mają częstotliwość 100 kHz, jednak faza jest inna.

Jaki jest dobry sposób na wykrycie różnicy faz między tymi dwoma sygnałami? Detektory fazowe, które do tej pory widziałem, dotyczą wszystkich sygnałów cyfrowych lub wszystkich sygnałów analogowych? Czy istnieje obwód dla sygnałów mieszanych, taki jak ten, który mam?

Aktualizacja

Znajomość różnicy faz z 1 stopniem jest wystarczająca dla mojej aplikacji. Częstotliwości są zawsze zablokowane względem siebie i nigdy się nie zmieniają. Fala kwadratowa steruje elektroniką analogową, a analogi wytwarzają falę sinusoidalną, w której znajduje się sygnał modulowany przez AM. Amplituda sygnału jest jednak bardzo niska w porównaniu z amplitudą nośnej. Ze względu na zmienność produkcji analogi (w tym niektóre ręcznie uzwojone cewki indukcyjne) mają dużą zmienność fazy między jednostkami, a ja próbuję wymyślić metodę autostrojenia dla DSP, która przetwarza wyjściową falę sinusoidalną.

udushu
źródło
2
Jak dokładnie musisz znać różnicę faz? I czy musisz to zrobić jako jednorazowy eksperyment czy jako część ciągłej funkcji twojego obwodu? Czy dwie części faktycznie są razem zablokowane częstotliwościowo (lub czerpią swoją częstotliwość ze wspólnego odniesienia), czy tylko obie są nominalnie 100 kHz?
Photon

Odpowiedzi:

11

Wykrywanie fazy jest najłatwiejsze w przypadku sygnałów cyfrowych; jest to w zasadzie brama XOR. Przekształciłbym sinus na falę kwadratową. Podaj komparator sinusoidą na jednym wejściu i uśrednionym sinussem (LPF) na drugim, tak aby komparator wytworzył falę prostokątną o 50% cyklu pracy. Następnie użyj cyfrowego detektora fazy.

stevenvh
źródło
Rozważałem użycie komparatora do wytworzenia fali sinusoidalnej z fali prostokątnej, ale problem polega na tym, że amplituda fali sinusoidalnej może zmieniać się w zakresie od 0,5 do 3,5 V. Jest to zmienność produkcji i nic nie mogę na to poradzić. Jednak wykrycie zerowego krzyża może być rozwiązaniem w takim przypadku ... Może warto rozważyć.
udushu,
1
@udushu - Uśredniający LPF rozwiązuje to. Zajmie się zmienną amplitudą i przesunięciem prądu stałego.
stevenvh
@ Stevenvh, nie sądzę, że LPF wystarcza, aby zagwarantować, że amplituda sygnału wejściowego nie wpływa na pomiar fazy. Komparatory mają właściwość zwaną dyspersją, co oznacza, że ​​opóźnienie propagacji zmienia się wraz ze zmianą amplitudy wejściowej. Wygląda na to, że komparator, który może zaspokoić potrzeby OP dotyczące błędu fazy (około 40 ns) bez dalszej kompensacji, powinien mieć również wystarczająco niską dyspersję; ale przy wyborze komparatora do tego zastosowania ważne będzie sprawdzenie.
Photon
@ThePhoton - Masz rację, ale OP nie wspomniał jeszcze o swojej dokładności 1 °, kiedy odpowiedziałem. OTOH istnieją komparatory o dyspersji znacznie mniejszej niż 100 ps, ​​która jest o kilka rzędów wielkości lepsza niż 1 °.
stevenvh
@ThePhoton - Wygląda na to, że komparator zero-cross jest rozwiązaniem. Dziękuję wszystkim za dyskusję.
udushu
4

Ponieważ mówisz, że masz DSP przetwarzający falę sinusoidalną, możesz użyć złożonej transformacji Fouriera do pomiaru fazy (wystarczy ocenić DFT tylko na znanej częstotliwości).

Jest to ściśle związane z sugestią Curd dotyczącą miksowania - DFT z jednym punktem jest rodzajem miksera, po którym następują integratory lub filtry dolnoprzepustowe. Różnica polega na tym, że robiąc to w domenie złożonej (lub używając miksera IQ w analogowej) możesz określić kąt złożonej mocy wyjściowej. Używając tylko prawdziwych komponentów lub tylko jednego miksera, nie można odróżnić ołowiu od opóźnienia, a czułość amplitudy byłaby większym wyzwaniem.

Chris Stratton
źródło
Chciałbym móc. To rozwiązałoby wiele problemów, które obecnie mam. Niestety, procesor DSP, którego muszę użyć, nie ma mocy zbliżonej do mocy potrzebnej do wykonywania DFT w czasie rzeczywistym na sygnale 100 kHz.
udushu
Musisz obliczyć tylko jeden przedział częstotliwości - nie normalne # przedziały = # próbki, które ludzie kojarzą z transformacją Fouriera. Jak często musisz mierzyć fazę? W rzadkich przypadkach prawdziwe pytanie brzmi, czy system może próbkować i zapisywać dane w tym tempie, a nie czy może je przetwarzać.
Chris Stratton,
DSP jest obecnie skonfigurowany do próbkowania przy 20 kHz i próbkowany jest tylko demodulowany sygnał, a nie nośnik 100 kHz. Nie sądzę, że skromny dsPIC33, którego używam, będzie w stanie w ogóle próbkować sygnał 100 kHz.
udushu,
@udushu szybkie wyszukiwanie sugeruje, że dsPIC może być w stanie zrobić megasample / sekundę. Ale jeśli analogowe pasmo jest wystarczające i znasz częstotliwość, możesz również celowo rozróżnić i wykorzystać aliasing.
Chris Stratton,
0

Zakładając, że amplitudy obu sygnałów wejściowych są stałe (jeśli nie mogłyby być stałe przez obwód AGC), można użyć miksera (multiplikatora) jako detektora fazy:

Jeśli sygnały są w fazie, sygnał wyjściowy będzie dodatni.
Jeśli sygnały są o 180 ° poza fazą, sygnał wyjściowy będzie ujemny.
W przypadku innych różnic faz moc wyjściowa będzie gdzieś pomiędzy tymi wartościami.

Np. Wykrywanie fazy jest wspomniane w arkuszu danych jako jedno z zastosowań analogowego wzmacniacza IC AD633 .

Twaróg
źródło