Question

J'ai un signal dans Matlab et ce pour calculer la phase instantanée pour une bande spécifique. Je veux filtrer le signal dans cette plage (en utilisant un filtre passe-bande), puis obtenir la phase instantanée. Je sais qu'il ya des problèmes en utilisant des filtres avec des réponses de phase non-linéaire, est-il un moyen de contourner ce problème? J'ai trouvé des informations en ligne sur retour filtrage du signal, mais il est encore un peu clair. Je voudrais éviter d'utiliser des vaguelettes (ils sont probablement surpuissant ici). Merci.

Était-ce utile?

La solution

Sauf si vous avez recours à des techniques noncasual (comme le filtfilt suggéré dans le commentaire par nibot), vous toujours avoir une certaine distorsion de phase. phase linéaire FIR avec un retard D ajoutera une phase de 2 * pi * f * D, tandis que la phase non linéaire rapport d'inventaire ajoutera phase qui ne dépend pas linéairement f.

Dans les deux cas, il est facile de calculer la distorsion de phase (par exemple, l'utilisation freqz(num, den) pour un rapport d'inventaire) et compte pour cette distorsion lors de l'interprétation de la mesure qui en résulte. Bien sûr, vous aurez des résultats sans signification lorsque la phase change de manière significative sur la plage de fréquences qui vous intéresse - mais c'est un autre problème

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top