Pagina 1 di 1

Riconoscere cambio di fase

MessaggioInviato: 2 ott 2017, 9:22
da addre91
Ciao a tutti,

immaginando di campionare una sinusoide, che algoritmo utilizzereste per riconoscerne un cambio di fase in tempo reale? Io ho trovato qualcosa basato sulla trasformata di Hilbert ma dovendo l'algoritmo essere implementato su un microcontrollore non vorrei che fosse troppo oneroso.

Idee?

Andrea

Re: Riconoscere cambio di fase

MessaggioInviato: 2 ott 2017, 9:43
da EcoTan
Il Comparator Module non potrebbe riconoscere i passaggi per lo zero e attivare la lettura di un timer? Poi dipende dal tipo di risposta che ti occorre.
P.S. da buon elettrotecnico ho ragionato a 50 Hz, forse sbagliando!

Re: Riconoscere cambio di fase

MessaggioInviato: 2 ott 2017, 10:29
da addre91
In realtà l'onda sinusoidale è circa a 40KHz, mi ero dimenticato di specificarlo. Un metodo molto più semplice potrebbe sicuramente essere quello da te descritto!

Andrea

Re: Riconoscere cambio di fase

MessaggioInviato: 2 ott 2017, 21:53
da dimaios
Esistono varie tecniche per l'identificazione della fase di un segnale a frequenza fissa.
Una particolarmente semplice e unbiased è la seguente :

Link
L'equazione [11] ti da la stima dove T_1 e T_2 sono definiti sopra al paragrafo 2.

Una buona spiegazione del perché funziona è anche riportata in un paper più semplice dal punto di vista teorico:

Link

Con un MCU in floating point a 32 bit potresti farcela tranquillamente ma dipende ogni quanti campioni la vuoi calcolare. Se il calcolo lo effettui a 40 kHz potrebbe non essere banale ma con un Cortex-M4F ben carrozzato è fattibile. Dipende anche dalla frequenza di campionamento che intendi utilizzare.
Ti ho indicato una tecnica abbastanza robusta rispetto al rumore perché non hai specificato l' SNR e neppure quanti bit possiede l'ADC.

Come vedi per suggerire cosa bisogna fare chi pone la domanda dovrebbe specificare meglio le condizioni di esercizio.

Re: Riconoscere cambio di fase

MessaggioInviato: 3 ott 2017, 16:04
da addre91
Ciao Dimaios,

grazie per le indicazioni. Avevo trovato anche io qualcosa di simile.
Attualmente si tratta di una dissertazione più teorica che pratica ma, se in futuro verrà realizzato qualcosa, si utilizzeranno ADC a 12 bit.

Andrea