Detecção de fase entre sinais de onda quadrada e onda senoidal

9

Eu tenho um circuito que possui uma entrada digital de onda quadrada (gerada por PLD, 1,8Vp) e uma saída de onda senoidal (0,5 - 3,5 Vp). Ambos os sinais têm frequência de 100kHz, porém a fase é diferente.

Qual é uma boa maneira de detectar a diferença de fase entre esses dois sinais? Os detectores de fase que vi até agora são para todos os sinais digitais ou analógicos? Existe um para o circuito de sinais mistos como o que eu tenho?

Atualizar

Conhecer a diferença de fase com 1 grau é suficiente para minha aplicação. As frequências são sempre bloqueadas uma em relação à outra e nunca mudam. A onda quadrada aciona a eletrônica analógica e os análogos produzem a onda senoidal que possui sinal modulado AM. A amplitude do sinal é, no entanto, muito baixa em comparação com a amplitude da portadora. Devido à variabilidade da produção, os análogos (incluindo alguns indutores de corda manual) têm alta variabilidade de unidade para unidade da fase, e estou tentando criar um método de autoajuste para o DSP que processa a onda senoidal de saída.

udushu
fonte
2
Com que precisão você precisa saber a diferença de fase? E você precisa fazer isso como um experimento único ou como parte da função contínua do seu circuito? As duas partes estão realmente bloqueadas por frequência (ou derivam sua frequência de uma referência comum) ou são apenas nominalmente 100 kHz?
O fóton

Respostas:

11

A detecção de fase é a mais fácil para sinais digitais; é basicamente um portão XOR. Eu converteria o seno em uma onda quadrada. Alimente um comparador com o seno em uma entrada e o seno médio (LPF) na outra, para que o comparador dê uma onda quadrada de 50% no ciclo de trabalho. Em seguida, use um detector de fase digital.

stevenvh
fonte
Eu considerei usar um comparador para criar uma onda senoidal a partir de uma onda quadrada, mas o problema é que a amplitude da onda senoidal pode variar dentro da faixa de 0,5 a 3,5 V. Essa é uma variabilidade da produção e não há nada que eu possa fazer sobre esse fato. No entanto, a detecção cruzada zero pode ser uma solução nesse caso ... Pode valer a pena considerar.
Udushu
11
@udushu - O LPF médio resolve isso. Ele cuidará da amplitude variável e do deslocamento DC.
stevenvh
@stevenvh, não acho que o LPF seja suficiente para garantir que a amplitude do sinal de entrada não afete a medição de fase. Os comparadores têm uma propriedade chamada dispersão que significa que o atraso de propagação muda à medida que a amplitude de entrada muda. Parece que um comparador que pode atender às necessidades do OP de erro de fase (cerca de 40 ns) sem compensação adicional também deve ter dispersão baixa o suficiente; mas será importante verificar ao escolher um comparador para esse uso.
The Photon
@ ThePhoton - Você tem razão, mas a OP ainda não havia mencionado sua precisão de 1 ° quando respondi. OTOH existem comparadores com dispersão muito menor que 100 ps, ​​o que é algumas ordens de magnitude melhor que o 1 °.
Stevenvh
@ ThePhoton - Parece que o comparador zero-cross é uma solução. Obrigado a todos pela discussão.
Udushu
4

Como você diz que possui um DSP processando a onda senoidal, você pode usar uma transformada de Fourier complexa para medir a fase (você só precisa avaliar a DFT na frequência conhecida).

Na verdade, isso está intimamente relacionado ao que Curd sugeriu sobre a mistura - um DFT de ponto único é um tipo de misturador seguido por integradores ou filtros passa-baixo. A diferença é que, ao fazê-lo no domínio complexo (ou usando um misturador de QI no analógico), é possível determinar o ângulo da saída complexa. Usando apenas os componentes reais ou apenas um único mixer, você não pode distinguir o lead do atraso e a sensibilidade da amplitude seria mais um desafio.

Chris Stratton
fonte
Gostaria que eu pudesse. Isso teria resolvido muitos problemas que estou tendo atualmente. Infelizmente, o DSP que tenho que usar não está nem perto da potência necessária para realizar DFTs em tempo real em um sinal de 100kHz.
Udushu
Você só precisa calcular um compartimento de frequência - não os # compartimentos normais = # amostras que as pessoas associam a uma transformação de Fourier. Além disso, com que frequência você precisa medir a fase? Se não for frequente, a verdadeira questão é se o seu sistema pode amostrar e armazenar nessa taxa, e não se ele pode processar.
Chris Stratton
O DSP está atualmente configurado para amostrar a 20kHz e apenas o sinal desmodulado está sendo amostrado, não a portadora de 100kHz. Eu não acho que o humilde dsPIC33 que eu estou usando possa amostrar um sinal de 100kHz.
Udushu
@udushu uma pesquisa rápida sugere que o dsPIC pode fazer cerca de uma megasample / segundo. Mas se a largura de banda analógica for suficiente e você souber a frequência, também poderá intencionalmente subamostrar e explorar o alias.
22630 Chris Stratton
0

Supondo que as amplitudes de ambos os sinais de entrada sejam constantes (caso contrário, elas podem ser tornadas constantes por um circuito AGC), você pode usar um misturador (multiplicador) como detector de fase:

Se os sinais estiverem em fase, a saída será positiva.
Se os sinais estiverem fora de fase a 180 °, a saída será negativa.
Para outras diferenças de fase, a saída estará em algum lugar entre esses valores.

Por exemplo, a detecção de fase é mencionada na folha de dados como uma das aplicações do mutliplier analógico IC AD633 .

Coalhada
fonte