Estimation de l'ordre des filtres

9

Supposons un nombre inconnu mais petit et fini de pôles et de zéros dans le plan Z complexe, tous avec des conjugués complexes, produisant une certaine réponse. Strictement à partir de la valeur absolue d'un ensemble de points également espacés autour du cercle unitaire, disons supérieur à 2X le nombre de pôles et de zéros, de cette réponse, est-il possible d'estimer ou de calculer le nombre de pôles et de zéros qui ont produit cette amplitude échantillonnée réponse?

Ajout: plus de 2X points d'échantillonnage sont-ils nécessaires pour déterminer le nombre de pôles et de zéros? (lorsque le total est inférieur à X).

Ajouté: S'il y a plus d'une solution, une solution minimale (comme le nombre minimum de pôles et de zéros au total) peut-elle être trouvée ou estimée?

hotpaw2
la source
C'est un problème beaucoup plus facile sans poteaux. Cela deviendrait essentiellement l'algorithme de la commande matlab / octave firls.
Mark Borgerding
Je me demande si vous pourriez analyser le numérateur et le dénominateur de la réponse en fréquence en fonction du problème des valeurs propres généralisées. Vous devrez probablement assumer la phase (linéaire pour les débutants)
Mark Borgerding
Je suppose que les filtres passe-tout sont exclus! Si les pôles et les zéros sont «assez proches», je pense que vous aurez des problèmes lorsque les échantillons de la réponse seront également espacés. Quoi qu'il en soit, disons que vous avez une réponse plate, à l'exception d'une petite bosse quelque part pas trop basse en fréquence. Selon vos préférences, vous pouvez ensuite modéliser cela à l'aide d'un biquad (2 zéros et 2 pôles) ou vous pouvez le modéliser à l'aide de 4 à 6 zéros à la place. Une question connexe est la suivante: étant donné un ensemble de pôles et de zéros, quel est le nombre minimum de points de la réponse en amplitude requise pour calculer avec précision le nombre de pôles et de zéros.
niaren
1
Je pense que le problème, comme indiqué, n'est pas résoluble. Vous pouvez prendre n'importe quel système arbitraire et le cascader avec un ou plusieurs filtres passe-tout; cela n'affecterait pas sa réponse en amplitude mais cela changerait le nombre de pôles / zéros de la cascade. Pour une réponse d'amplitude donnée, il y aurait donc une infinité de nombres de pôles et de zéros correspondants. Ce pourrait être une autre histoire si vous aviez accès à la réponse de phase du système. À défaut, vous pouvez certainement estimer l'ordre du système (en utilisant un schéma non spécifié). Beau problème à penser.
Jason R
Correction de la question de supprimer un zoo infini de filtres passe-partout de la solution.
hotpaw2

Réponses:

1

Théoriquement, il est possible de le faire, bien que ce ne soit souvent pas pratique.

zkzk

n=02Nbnzk-n-H(zk)n=12Nunenzk-n=H(zk)
zkω

Si M est plus grand que N, le système d'équations est linéairement dépendant. Vous pouvez trouver l'ordre du filtre en commençant à N = 1 et en augmentant N jusqu'à ce que le système d'équation devienne linéairement dépendant. Le plus grand N auquel le système est linéairement indépendant est l'ordre réel du filtre. Pour cette approche, peu importe les fréquences que vous choisissez. Tant qu'ils sont différents, n'importe quel ensemble de fréquences fonctionnera.

Cependant, c'est un problème numériquement très délicat. La représentation polynomiale pour des ordres de filtre plus importants est numériquement très fragile et la plus petite quantité de bruit ou d'incertitude conduit à de très grandes erreurs numériques. Par exemple, si vous déterminez les valeurs de la fonction de transfert échantillonnée par la mesure, la précision de mesure requise sera prohibitive à moins qu'il ne s'agisse d'un filtre d'ordre inférieur très bénin.

Hilmar
la source