Remez-algoritmen (även Remez-ersättningsalgoritmen) är en iterativ algoritm för enhetlig approximation av funktioner f ∊ C[ a , b ], baserad på P. L. Chebyshevs alternanssats. Föreslagen av E. Ya Remez 1934 [1] .
Remez-algoritmen används vid utformningen av FIR-filter [2] .
Den teoretiska grunden för Remez-algoritmen är följande teorem [3] .
För att något polynom av grad som mest ska vara ett polynom som avviker minst från , är det nödvändigt och tillräckligt att åtminstone ett system av punkter hittas där skillnaden :
Ett sådant system av poäng kallas Chebyshev alternance . |
Låt E n vara värdet av den bästa approximationen av funktionen f ( x ) med polynom av grad n . E n uppskattas underifrån av följande teorem [4] :
Om för en funktion f ∊ C[ a , b ] något polynom P ( x ) av grad n har egenskapen att skillnaden f ( x ) - P ( x ) på något system med n + 2 ordnade punkter x i tar värden med alternerande tecken alltså |
Betrakta ett system av funktioner , en sekvens av punkter och leta efter ett approximativt polynom
.I det andra steget kan vi leta efter inte bara en punkt ξ , utan en uppsättning Ξ av punkter där lokala maxima | f - P |. Om alla fel vid punkterna i mängden Ξ har samma absoluta värde och växlar i tecken, så är P ett minimaxpolynom. Annars ersätter vi punkter från X med punkter från Ξ och upprepar proceduren igen.
Som initialsekvens X kan du välja punkter likformigt fördelade på [ a , b ]. Det är också lämpligt att ta poäng [6] :
Om den approximerande funktionen söks i form av ett polynom, kan du istället för att lösa systemet i det första steget av algoritmen använda följande metod [7] :
Sedan upprepas stegen enligt huvudschemat.
Sedan av de la Vallée-Poussin-satsen | d | ≤ E n ( f ) ≤ D , då kan stoppvillkoret för algoritmen vara D — | d | ≤ ε för vissa förtilldelade ε .
Remez-algoritmen konvergerar i takt med en geometrisk progression i följande mening [8] :
För alla funktioner f ∊ C[ a , b ] finns det siffror A > 0 och 0 < q < 1 så att de maximala avvikelserna från funktionen f ( x ) för polynom konstruerade av denna algoritm kommer att tillfredsställa olikheterna där E n ( f ) är värdet av den bästa approximationen på [ a , b ] av funktionen f ( x ) med användning av polynom P n ( x ). |
Steg 1. |
|
|||||||||
Systemets lösning ger P = 1,175 x + 1,272, d = 0,272. D = max|e ξ - P ( ξ )| = 0,286 vid ξ = 0,16. | ||||||||||
Steg 2 |
|
|||||||||
Systemets lösning ger P = 1,175 x + 1,265, d = 0,279. D = max|e ξ - P ( ξ )| = 0,279 vid ξ = 0,16. |
Eftersom samma punkt erhölls inom den givna noggrannheten, bör det funna polynomet betraktas som den bästa approximationen av den första graden av funktionen e x .
Weierstrass approximationssats