Come stimare una funzione di trasferimento da una risposta in frequenza solo magnitudo?


11

Data una risposta in frequenza arbitraria, quali potrebbero essere i metodi di elaborazione del segnale che potrebbero indovinare, stimare o determinare una funzione di trasferimento (polo e costellazione zero) che fornisce un'approssimazione "ragionevolmente buona" (per alcuni dati criteri di qualità della stima) a quella data risposta in frequenza? Quali mezzi esistono per stimare il numero di poli e zeri richiesti per una determinata funzione di trasferimento più una determinata tolleranza di errore di approssimazione? O come è possibile determinare se questi vincoli non possono essere soddisfatti, se possibile?

Se la risposta in frequenza data è stata effettivamente prodotta da una funzione di trasferimento nota, qualcuno di questi metodi converge su quella funzione di trasferimento originale? Che ne dite se la risposta in frequenza data fosse soggetta ad errori di misurazione (presunti gaussiani)?

Supponiamo di lavorare sul piano Z con spettro campionato, anche se le risposte continue del dominio potrebbero anche essere interessanti.

Aggiunto: i metodi di soluzione sono diversi se viene fornita solo l'entità della risposta in frequenza (ad es. È consentita una soluzione con una risposta di fase)?

Aggiunto: l'ultimo problema è quello che mi interessa di più, data una risposta di magnitudine nota attorno al cerchio dell'unità, ma una risposta di fase sconosciuta / non misurata, è possibile stimare il sistema misurato, e in caso affermativo a quali condizioni?


Stai tentando di approssimare una risposta in frequenza arbitraria come uno spettro razionale? Cioè (b [0] + b [1] z ^ -1 ...) / (1 + a [1] z ^ -1 ...)? In tal caso, questo è generalmente indicato come modellazione ARMA. È più difficile della modellazione AR perché l'autocorrelazione di un segnale tende ad essere non linearmente correlata ai coefficienti della media mobile (la b [] o zeri). Se la mia ipotesi è corretta, posso scrivere una risposta più formale.
Bryan,

@Bryan: Sì. Ho cercato di insinuare che affermando che una soluzione "polo e zero" (una funzione di trasferimento razionale) era adatta (preferibilmente solo se migliore di una soluzione / stima tutto polo o tutto zero dello stesso grado).
hotpaw2,

Quale significato è associato alla risposta in frequenza ? Alcune persone distinguono tra la funzione di risposta in frequenza o H ( f ) e la funzione di trasferimento H ( s ) e alcune persone no. Vedi ad esempio la discussione che segue questa risposta a una domanda precedente. H(ω)H(f)H(s)
Dilip Sarwate,

@Dilip Sarwate: Dato H (w) solo per il cerchio unitario (è ridondante?), Risolvi / stima una rappresentazione completa del piano z. Spero che sia coerente con la mia affermazione originale della domanda.
hotpaw2,

1
L'aggiunta cambia le cose. I poli e gli zeri possono cambiare con la risposta di magnitudine che rimane invariata. L'esempio più comune di ciò è quando si sta progettando un filtro di fase minima. Questo in genere implica prendere un sistema esistente e riflettere i poli e gli zeri all'interno del cerchio dell'unità. Questo cambia solo la risposta di fase, non la risposta di grandezza.
Bryan,

Risposte:


14

Un approccio sarebbe quello di utilizzare il metodo dei minimi quadrati di frequenza (FDLS) . Dato un insieme di campioni (complessi) della risposta in frequenza di un sistema a tempo discreto e un ordine di filtro scelto dal progettista, il metodo FDLS utilizza l' ottimizzazione dei minimi quadrati lineari per risolvere l'insieme di coefficienti (che si associano direttamente a insiemi di poli e zeri) per il sistema la cui risposta in frequenza corrisponde alla risposta desiderata con un errore al quadrato totale minimo.

N

H(ω)=H(z)|z=ejω

H(z)z

H(z)=k=0Nbkzk1+k=1Nakzk

La risposta in frequenza è quindi:

H(ω)=k=0Nbkejkω1+k=1Nakejkω

Riorganizza quanto sopra per ottenere:

k=0NbkejkωH(ω)(1+k=1Nakejkω)=0

2N+1bkakH(ω)ω

ωm[0,2π),m=0,1,,M1M>2N+1M2N+1)ωk

k=0NbkejkωkH(ωk)(1+k=1Nakejkωk)=0

H(ωk)ωkbkakH(ω)

Questa tecnica presenta alcuni vantaggi:

  • Qualsiasi modello di risposta di frequenza complessa arbitraria (magnitudo e fase) può essere utilizzato come modello. Se hai solo un vincolo di grandezza, puoi semplicemente scegliere una risposta di fase, come una fase lineare.

  • ak

  • La tecnica è molto semplice da implementare ed è facilmente parametrizzabile in base all'ordine di sistema desiderato.

  • N

È possibile estendere un po 'questo metodo per utilizzare l'ottimizzazione dei minimi quadrati ponderata, se necessario; ciò consentirebbe di specificare le regioni della risposta in frequenza il cui errore di approssimazione è ponderato più di altri. Ciò consente di controllare più strettamente le aree passband / stopband, consentendo nel contempo maggiore inclinazione nelle aree "non preoccupanti".


1
Ottima risposta !! L '"arte" nel realizzare progetti di filtri con errore minimo quadrato è definire correttamente qual è esattamente l' "errore". Questo viene controllato scegliendo la giusta griglia di frequenza, ponderando i fattori a frequenze specifiche e aggiungendo più vincoli per il comportamento fuori banda e anche per mantenere i poli all'interno del cerchio dell'unità.
Hilmar,

Il problema con questa potenziale soluzione è che, se la fase non è nota su una funzione di trasferimento esistente, FDLS può convergere sulla soluzione sbagliata se si assume la fase sbagliata, indipendentemente da quanto accuratamente l'ordine sia correttamente indovinato o se la risposta di magnitudo sia misurata.
hotpaw2,

@ hotpaw2: è prevedibile. Se non sai nulla della risposta di fase, allora ci sono un numero infinito di soluzioni ugualmente valide (cioè avrebbero la risposta di magnitudine corretta). Avrai bisogno di alcune informazioni per orientarti verso quella che ritieni sia la soluzione più appropriata.
Jason R,

@JasonR: Le uniche soluzioni corrette dovrebbero essere le permutazioni di capovolgere i poli / zeri dentro / fuori, che è un numero finito per qualsiasi sistema (esistente) di ordine finito.
hotpaw2,

6

I miei colleghi hanno ottenuto grandi risultati con l' adattamento vettoriale :

Vector Fitting è un solido metodo numerico per l'approssimazione razionale nel dominio della frequenza. Permette di identificare i modelli dello spazio degli stati direttamente dalle risposte in frequenza misurate o calcolate, sia per sistemi di input / output singoli o multipli. L'approssimazione risultante ha garantito poli stabili che sono reali o che si presentano in coppie coniugate complesse.

Lo usiamo per la conversione da FIR a IIR.

Per applicazioni meno impegnative, è possibile utilizzare solo adattamenti dei minimi quadrati non lineari per un numero fisso di poli e zeri. Questo è implementato in Matlab come invfreqse invfreqz.


0

Un altro approccio: tracciare la risposta in frequenza e adattare al meglio un diagramma di Bode. Questo potrebbe essere fatto molto rapidamente per una soluzione approssimativa, o in qualche senso elaborato dei minimi quadrati per una migliore vestibilità. GTH

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.