Frage

Ich habe ein Signal in Matlab und was die sofortige Phase für ein bestimmtes Band berechnet werden soll. Ich möchte das Signal in diesen Bereich filtern (unter Verwendung eines Bandpassfilters) und dann die sofortige Phase erhalten. Ich weiß, dass es Probleme gibt, einige Filter mit nichtlinearen Phasenreaktionen zu verwenden. Gibt es eine Möglichkeit, dies zu umgehen? Ich habe online einige Informationen über das Rückfilter des Signals gefunden, aber es ist immer noch ein wenig unklar. Ich möchte nicht Wavelets verwenden (sie sind hier wahrscheinlich übertrieben). Vielen Dank.

War es hilfreich?

Lösung

Es sei denn, Sie greifen auf nichtkasuelle Techniken (wie die filtfilt Im Kommentar von Nibot vorgeschlagen), werden Sie stets haben einige Phasenverzerrungen. Lineare Phase FIRs mit einer Verzögerung D fügt eine Phase von 2*pi*f*d hinzu, während nichtlineare Phase -IIRs eine Phase hinzufügen, die nicht linear von F abhängt.

In beiden Fällen ist es einfach, die Phasenverzerrung zu berechnen (z. B. Verwendung freqz(num, den) für IIRs) und erklären diese Verzerrung bei der Interpretation der resultierenden Messung. Natürlich haben Sie bedeutungslose Ergebnisse, wenn sich die Phase erheblich über den Frequenzbereich ändert, an dem Sie interessiert sind - aber das ist ein anderes Problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top