Stima dell'ordine del filtro


9

Assumi un numero sconosciuto ma piccolo e finito di poli e zeri nel piano Z complesso, tutti con coniugati complessi, producendo una risposta. A rigor di termini dal valore assoluto di un insieme di punti equidistanti attorno al cerchio unitario, ad esempio maggiore di 2 volte il numero di poli e zeri, di quella risposta, è possibile stimare o calcolare il numero di poli e zeri che hanno prodotto quella grandezza campionata risposta?

Aggiunto: per determinare il numero di poli e zeri sono necessari più di 2 punti campione? (se indicato che il totale è inferiore a X).

Aggiunto: se esiste più di una soluzione, è possibile trovare o stimare una soluzione minima (come nel numero minimo di poli e zeri totali)?


Questo è un problema molto più semplice senza poli. Quello diventerebbe essenzialmente l'algoritmo nel comando firla matlab / octave.
Mark Borgerding,

Mi chiedo se sia possibile analizzare il numeratore e il denominatore della risposta in frequenza in termini di problema di autovalore generalizzato. Probabilmente avresti bisogno di assumere la fase (lineare per i principianti)
Mark Borgerding,

Immagino che i filtri allpass siano esclusi! Se i poli e gli zeri sono "abbastanza vicini", penso che avrai problemi quando i campioni della risposta sono equidistanti. Ad ogni modo, supponiamo che tu abbia una risposta piatta, ad eccezione di un piccolo urto da qualche parte non troppo basso in frequenza. A seconda delle tue preferenze puoi quindi modellarlo usando un biquad (2 zeri e 2 poli) oppure puoi invece modellarlo usando da 4 a 6 zeri. Una domanda correlata è: dato un insieme di poli e zeri, qual è il numero minimo di punti della risposta di magnitudine richiesti per calcolare con precisione il numero di poli e zeri.
niaren

1
Penso che il problema, come affermato, non sia risolvibile. Potresti prendere qualsiasi sistema arbitrario e collegarlo in cascata con uno o più filtri allpass; questo non influirebbe sulla sua risposta in grandezza ma cambierebbe il numero di poli / zeri della cascata. Per una data risposta di magnitudine, quindi, ci sarebbero infiniti numeri di poli e zeri corrispondenti. Potrebbe essere una storia diversa se si avesse accesso alla risposta di fase del sistema. In caso contrario, potresti sicuramente stimare l'ordine di sistema (usando uno schema non specificato). Bel problema a cui pensare.
Jason R,

Risolto il problema relativo alla rimozione di uno zoo infinito di filtri allpass dalla soluzione.
hotpaw2

Risposte:


1

Teoricamente è possibile farlo, anche se spesso non sarà pratico.

zKzK

Σn=02*NBnzK-n-H(zK)Σn=12*Nun'nzK-n=H(zK)
zKω

Se M è maggiore di N del sistema di equazioni dipende linearmente. Puoi trovare l'ordine dei filtri partendo da N = 1 e aumentando N fino a quando il sistema di equazioni diventa linearmente dipendente. La N più grande in corrispondenza della quale il sistema è linearmente indipendente è l'effettivo ordine del filtro. Per questo approccio, non importa nemmeno quali frequenze scegli. Finché sono diversi, qualsiasi serie di frequenze funzionerà.

Tuttavia, questo è un problema numericamente molto complicato. La rappresentazione polinomiale per ordini di filtri più grandi è numericamente molto fragile e la minima quantità di rumore o incertezza porta a errori numerici molto grandi. Ad esempio, se si determinano i valori della funzione di trasferimento campionata attraverso la misurazione, l'accuratezza della misurazione richiesta sarà proibitiva a meno che non sia un filtro di basso ordine molto favorevole.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.