Domanda

Ho un segnale in MATLAB e cosa calcolare la fase istantanea per una banda specifica. Voglio filtrare il segnale in questo intervallo (utilizzando un filtro passa-banda) e quindi ottenere la fase istantanea. So che ci sono problemi con alcuni filtri con le risposte di fase non lineari, non v'è alcun modo per aggirare questo? Ho trovato alcune informazioni online sulla schiena filtrare il segnale, ma è ancora un po 'poco chiaro. Vorrei evitare di usare wavelets (sono probabilmente eccessivo qui). Grazie.

È stato utile?

Soluzione

A meno che non si ricorre a tecniche noncasual (come il filtfilt suggerito nella commento di nibot), si sempre avere una certa distorsione di fase. FIR a fase lineare con un ritardo D aggiungerà una fase di 2 pi * * f * D, mentre IIRS fase lineare aggiungerà fase che non è linearmente dipendente f.

In entrambi i casi, è facile calcolare la distorsione di fase (ad esempio, l'uso freqz(num, den) per IIRS) e conto di tale distorsione nell'interpretazione misura risultante. Naturalmente, avrete risultati privi di significato quando la fase di modifica in modo significativo nel campo di frequenza che ti interessa - ma questo è un problema diverso

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top