Vector Fitting
Algoritme
VF-formuleringen unngår de dårlig betingede problemene (ill-conditioning) som oppstår med enkelte alternative tilnærminger, siden formuleringen er gitt i form av enkle brøker (i stedet for polynomer). Ustabile poler flippes over i venstre halvplan for å håndheve stabile poler. Dette gjør VF anvendelig for høyordens systemer og brede frekvensbånd.
VF identifiserer polene {am}, residuene {rm}, og leddene d og h (valgfritt) i minste kvadraters problem.
1
Polene identifiseres ved å løse det lineære problemet.
2
Der polene i (2) er et sett med initielle poler. Det kan vises at dersom (2) holder, må polene {am} til f(s) være lik nullpunktene til σ(s). Nullpunktene beregnes ved å løse et egenverdiproblem, se PDF. De nye polene settes inn i (2), og polflyttingsprosessen gjentas inntil konvergens. I tillegg skaleres kolonnene i systemmatrisen til enhetslengde for ytterligere å forbedre betingelsestallet.
Til slutt beregnes residuene og leddene d, h i (2) ved å løse (2) med kjente poler, som igjen er et lineært problem.
VF er også anvendelig for vektorer av frekvensresponser (derav navnet), noe som resulterer i en approksimasjon med et felles polsett.
Merknad 1:
Den nyeste versjonen av Vector Fitting (vectfit2.m) bruker en modifisert versjon av (2) som har et mer avslappet ikke-trivialitetskrav (PDF).
Merknad 2:
Det har nylig blitt vist [1.12] at VF-iterasjonsprosessen i hovedsak er en omformulering av Santhanan-Koerner-iterasjonen [1.13], men med partialbrøker som basisfunksjoner i stedet for polynomer. Den eksplisitte bruken av partialbrøker gir det forbedrede betingelsestallet og muliggjør også enkel håndheving av stabile poler gjennom polflipping.