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
Riconoscere cambio di fase
5 messaggi
• Pagina 1 di 1
0
voti
1
voti
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!
P.S. da buon elettrotecnico ho ragionato a 50 Hz, forse sbagliando!
0
voti
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
Andrea
3
voti
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
e
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.
Una particolarmente semplice e unbiased è la seguente :
Link
L'equazione [11] ti da la stima dove


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.
Ingegneria : alternativa intelligente alla droga.
-
dimaios
26,9k 6 10 12 - G.Master EY
- Messaggi: 2975
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
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
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
5 messaggi
• Pagina 1 di 1
Torna a Elaborazione numerica ed analogica dei segnali
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite