Rilevazione della fase tra segnali a onda quadra e sinusoidale


9

Ho un circuito che ha un ingresso digitale ad onda quadra (generato da PLD, 1,8 Vp) e un'uscita sinusoidale (0,5 - 3,5 Vp). Entrambi i segnali hanno una frequenza di 100 kHz, tuttavia la fase è diversa.

Qual è un buon modo per rilevare la differenza di fase tra questi due segnali? I rilevatori di fase che ho visto finora sono per tutti i segnali digitali o analogici? Ce n'è uno per il circuito dei segnali misti come quello che ho?

Aggiornare

Conoscere la differenza di fase con 1 grado è sufficiente per la mia applicazione. Le frequenze sono sempre bloccate l'una rispetto all'altra e non cambiano mai. L'onda quadra guida l'elettronica analogica e gli analoghi producono l'onda sinusoidale che contiene un segnale modulato AM. L'ampiezza del segnale è, tuttavia, molto bassa rispetto all'ampiezza del vettore. A causa della variabilità della produzione, gli analoghi (inclusi alcuni induttori a carica manuale) presentano un'elevata variabilità da fase a unità della fase e sto provando a trovare un metodo di auto-tuning per il DSP che elabora l'onda sinusoidale in uscita.


2
Con quale precisione è necessario conoscere la differenza di fase? E devi farlo come un esperimento una tantum o come parte della funzione in corso del tuo circuito? Le due parti sono effettivamente bloccate insieme in frequenza (o derivano la loro frequenza da un riferimento comune) o sono entrambe nominalmente 100 kHz?
Il fotone

Risposte:


11

Il rilevamento di fase è il più semplice per i segnali digitali; è fondamentalmente un cancello XOR. Vorrei convertire il seno in un'onda quadra. Alimenta un comparatore con il seno su un ingresso e il seno mediato (LPF) sull'altro, in modo che il comparatore dia un'onda quadra del ciclo di lavoro del 50%. Quindi utilizzare un rilevatore di fase digitale.


Ho preso in considerazione l'uso di un comparatore per creare un'onda sinusoidale da un'onda quadra, ma il problema è che l'ampiezza dell'onda sinusoidale può variare tra 0,5 e 3,5 V. Questa è una variabilità della produzione e non c'è nulla che io possa fare al riguardo. Tuttavia, in questo caso la rilevazione incrociata zero può essere una soluzione ... Vale la pena considerare.
udushu,

1
@udushu - La media LPF lo risolve. Si occuperà di variare l'ampiezza e l'offset CC.
Stevenvh,

@stevenvh, non penso che l'LPF sia sufficiente a garantire che l'ampiezza del segnale di ingresso non influenzi la misurazione della fase. I comparatori hanno una proprietà chiamata dispersione che significa che il ritardo di propagazione cambia al variare dell'ampiezza di input. Sembra che un comparatore in grado di soddisfare le esigenze di OP per errore di fase (circa 40 ns) senza ulteriore compensazione dovrebbe avere una dispersione abbastanza bassa; ma sarà una cosa importante verificare quando si sceglie un comparatore per questo uso.
Il fotone

@ThePhoton - Hai ragione, ma OP non aveva ancora menzionato la sua precisione 1 ° quando ho risposto. OTOH ci sono comparatori con una dispersione molto inferiore a 100 ps, ​​che è di qualche ordine di grandezza migliore del 1 °.
Stevenvh,

@ThePhoton - Sembra che il comparatore zero-cross sia una soluzione. Grazie a tutti per la discussione.
udushu,

4

Dato che dici di avere un DSP che elabora l'onda sinusoidale, puoi usare una complessa trasformata di Fourier per misurare la fase (devi solo valutare il DFT alla frequenza nota).

Questo è in realtà strettamente correlato a ciò che Curd ha suggerito sulla miscelazione: un singolo punto DFT è un tipo di mixer seguito da integratori o filtri passa basso. La differenza è che facendolo nel dominio complesso (o usando un mixer IQ in quello analogico) è possibile determinare l'angolo dell'uscita complessa. Utilizzando solo i componenti reali o solo un singolo mixer, non è possibile distinguere il piombo dal ritardo e la sensibilità dell'ampiezza sarebbe più una sfida.


Vorrei che potessi. Ciò avrebbe risolto molti problemi al momento. Sfortunatamente, il DSP che devo usare non ha nulla vicino alla potenza necessaria per realizzare DFT in tempo reale su un segnale a 100kHz.
udushu,

Devi solo calcolare un bin di frequenza - non i normali # bins = # campioni che le persone associano a una trasformata di Fourier. Inoltre, con quale frequenza devi misurare la fase? Se raramente, la vera domanda è se il tuo sistema può campionare e archiviare a quel ritmo, non se può elaborarlo.
Chris Stratton,

Il DSP è attualmente configurato per campionare a 20kHz e viene campionato solo il segnale demodulato, non il vettore 100kHz. Non credo che l'umile dsPIC33 che sto usando sarà in grado di campionare un segnale a 100kHz.
udushu,

@udushu una rapida ricerca suggerisce che dsPIC potrebbe essere in grado di fare circa un megasample / secondo. Ma se la larghezza di banda analogica è sufficiente e conosci la frequenza, puoi anche sotto-campionare e sfruttare intenzionalmente l'aliasing.
Chris Stratton,

0

Supponendo che le ampiezze di entrambi i segnali di ingresso siano costanti (in caso contrario, potrebbero essere rese costanti da un circuito AGC) è possibile utilizzare un mixer (moltiplicatore) come rilevatore di fase:

Se i segnali sono in fase l'uscita sarà positiva.
Se i segnali sono sfasati di 180 °, l'uscita sarà negativa.
Per altre differenze di fase l'uscita sarà da qualche parte tra questi valori.

Ad esempio, il rilevamento di fase è menzionato nel foglio dati come una delle applicazioni dell'analizzatore multiplo analogico IC AD633 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.