Рекурзивни алгоритам најмањих квадрата (RLS) је адаптивни филтер који рекурзивно утврђује коефицијенте који смањују пондерисани линеарни најмањи квадрат функција трошкова у вези улазних сигнала. Ово је за разлика у односу на друге алгоритме као што је алгоритам најмањих средњих квадрата (LMS) чији је циљ да смањи средње квадратне грешке. У извођење рекурзивног алгоритма најмањих квадрата, улазни сигнал се сматра детерминистичким, док се алгоритам најмањих средњих квадрата и слични алгоритми сматрају стохастичком. У поређењу са већином својих конкурената, експонати рекурзивног алгоритма најмањих квадрат изузетно брзо конвергирају. Међутим, ова корист долази по цену високог рачунарске комплексности.
RLS је открио Карл Фридрих Гаус али остаје неискоришћен или игнорисан до 1950. године, када Плацкет открива оригинални рад Гауса од 1821. У принципу, RLS алгоритми могу да се користе за решавање сваког проблема који могу да реше адаптивни филтери, На пример, претпоставимо да је сигнал d(n) који се преноси преко еха, бучни канал који узрокује да буде примљен као
где v ( n ) {\displaystyle v(n)} представља додатну буку. Ми ћемо покушати да опоравимо жељени сигнал d ( n ) {\displaystyle d(n)} употребом p + 1 {\displaystyle p+1} -tap импулса коначних одзива, w {\displaystyle \mathbf {w} } :
где x n = [ x ( n ) x ( n − 1 ) … x ( n − p ) ] T {\displaystyle \mathbf {x} _{n}=[x(n)\quad x(n-1)\quad \ldots \quad x(n-p)]^{T}} је вектор који садржи p + 1 {\displaystyle p+1} Најновији узорци x ( n ) {\displaystyle x(n)} . Наш циљ је да се процени параметре филтера w {\displaystyle \mathbf {w} } , и у сваком тренутку n мислимо на нове најмањих квадрата процена w n {\displaystyle \mathbf {w} _{n}} . Како време пролази, желимо да се у потпуности избегну преправке алгоритма најмањих квадрата и да пронађу нову процену за w n + 1 {\displaystyle \mathbf {w} _{n+1}} , у смислу w n {\displaystyle \mathbf {w} _{n}} .
Корист од RLS алгоритма је да нема потребе обрнути матрицу, чиме се штеди рачунарска снага. Још једна предност је у томе што даје интуицију иза таквих резултата као Калман филтер.
Идеја РЛС филтера је да минимизира функцију трошкова C {\displaystyle C} и адекватно одабира филтер коефицијенти w n {\displaystyle \mathbf {w} _{n}} , ажурирање филтера кад стигну нови подаци. Сигнал грешке e ( n ) {\displaystyle e(n)} и жељени сигнал d ( n ) {\displaystyle d(n)} су дефинисани у дијаграму негативне повратне спреге :
Грешка имплицитно зависи од коефицијента филтера путем процене. d ^ ( n ) {\displaystyle {\hat {d}}(n)} :
Најмања функција квадрата грешка C {\displaystyle C} — желимо да се цена функција минимизира-као функција e(n) стога такође зависи од коефицијента филтера: C ( w n ) = ∑ i = 0 n λ n − i e 2 ( i ) {\displaystyle C(\mathbf {w} _{n})=\sum _{i=0}^{n}\lambda ^{n-i}e^{2}(i)} где је 0 < λ ≤ 1 {\displaystyle 0<\lambda \leq 1} " фактор заборављања " који даје експоненцијално мању тежину старијим узорцима грешака.
Функција трошкова је сведена на минимум узимањем парцијалног извода за све ставке k {\displaystyle k} коефицијента вектора w n {\displaystyle \mathbf {w} _{n}} и постављање резултата на нулу: ∂ C ( w n ) ∂ w n ( k ) = ∑ i = 0 n 2 λ n − i e ( i ) ∂ e ( i ) ∂ w n ( k ) = − ∑ i = 0 n 2 λ n − i e ( i ) x ( i − k ) = 0 k = 0 , 1 , ⋯ , p {\displaystyle {\frac {\partial C(\mathbf {w} _{n})}{\partial w_{n}(k)}}=\sum _{i=0}^{n}\,2\lambda ^{n-i}e(i)\,{\frac {\partial e(i)}{\partial w_{n}(k)}}={-}\sum _{i=0}^{n}\,2\lambda ^{n-i}e(i)\,x(i-k)=0\qquad k=0,1,\cdots ,p} Даље, замени e ( n ) {\displaystyle e(n)} са дефиницијом сигнала грешке
Преуређивање једначине приноса
Овај облик може да се изрази у смислу матрице
where R x ( n ) {\displaystyle \mathbf {R} _{x}(n)} је измерен узорак коваријанси матрица за x ( n ) {\displaystyle x(n)} , и r d x ( n ) {\displaystyle \mathbf {r} _{dx}(n)} је еквивалентна процена за попречну-коваријансу од d ( n ) {\displaystyle d(n)} и x ( n ) {\displaystyle x(n)} На основу овог израза налазимо коефицијенте који минимизирају трошкове функције као:: w n = R x − 1 ( n ) r d x ( n ) {\displaystyle \mathbf {w} _{n}=\mathbf {R} _{x}^{-1}(n)\,\mathbf {r} _{dx}(n)} Ово је главни резултат дискусије.
Мањи λ {\displaystyle \lambda } је, мали допринос претходним узорцима. То чини филтер више осетљивим на недавне узорке, што значи више флуктуације у филтеру коефицијента. За λ = 1 {\displaystyle \lambda =1} случај се узима као пример растућег РЛС алгоритма. У пракси, λ {\displaystyle \lambda } се обично бира између 0,98 и 1.[1]
Расправа је резултирала у једној једначини да се одреди коефицијент вектор који минимизира функцију трошкова. У овом одељку желимо да изведемо рекурзивно решење у облику
где Δ w n − 1 {\displaystyle \Delta \mathbf {w} _{n-1}} је корективни фактор у времену n − 1 {\displaystyle {n-1}} . Истражујемо порекло рекурзивног алгоритма изражавајући унакрсно коваријансу r d x ( n ) {\displaystyle \mathbf {r} _{dx}(n)} поводом r d x ( n − 1 ) {\displaystyle \mathbf {r} _{dx}(n-1)}
где је x ( i ) {\displaystyle \mathbf {x} (i)} p + 1 {\displaystyle {p+1}} димензионални вектор података: x ( i ) = [ x ( i ) , x ( i − 1 ) , … , x ( i − p ) ] T {\displaystyle \mathbf {x} (i)=[x(i),x(i-1),\dots ,x(i-p)]^{T}} Слично изражавамо R x ( n ) {\displaystyle \mathbf {R} _{x}(n)} У погледу R x ( n − 1 ) {\displaystyle \mathbf {R} _{x}(n-1)} од
Да би генерисали коефицијент вектора ми смо заинтересовани за супротност од детерминистичке матрице. Из тог задатка идентитет матрица долази у комбинацији. Са
Следи идентитет матрица
У складу са стандардном литературом, дефинишемо
где је "добијен вектор" g ( n ) {\displaystyle g(n)}
Пре него што кренемо даље, неопходно је да се донесе g ( n ) {\displaystyle \mathbf {g} (n)} у другом облику
Одузимањем другог мандата на левој страни приноса
Са рекурзивном дефиницијом P ( n ) {\displaystyle \mathbf {P} (n)} жељена форма прати
Сада смо спремни да завршимо рекурзију. Као што је наведено
Други корак произлази из рекурзивне дефиниције r d x ( n ) {\displaystyle \mathbf {r} _{dx}(n)} . Затим смо уградили рекурзивно дефиниције P ( n ) {\displaystyle \mathbf {P} (n)} заједно са алтернативним обликом g ( n ) {\displaystyle \mathbf {g} (n)} и добијамо
Са w n − 1 = P ( n − 1 ) r d x ( n − 1 ) {\displaystyle \mathbf {w} _{n-1}=\mathbf {P} (n-1)\mathbf {r} _{dx}(n-1)} долазимо до једначине за ажурирање
Где је α ( n ) = d ( n ) − x T ( n ) w n − 1 {\displaystyle \alpha (n)=d(n)-\mathbf {x} ^{T}(n)\mathbf {w} _{n-1}} Грешка израчунавања "после" филтера се ажурира:: e ( n ) = d ( n ) − x T ( n ) w n {\displaystyle e(n)=d(n)-\mathbf {x} ^{T}(n)\mathbf {w} _{n}} То значи да смо нашли фактор корекције: Δ w n − 1 = g ( n ) α ( n ) {\displaystyle \Delta \mathbf {w} _{n-1}=\mathbf {g} (n)\alpha (n)}
Овај интуитивно задовољавајући резултат указује да је корективни фактор директно пропорционалан грешкама и појачањима вектора, и да контролише колика осетљивост се жели.
RLS алгоритам за pсе помоћу RLS филтера може сумирати на:
x ( n ) = [ x ( n ) x ( n − 1 ) ⋮ x ( n − p ) ] {\displaystyle \mathbf {x} (n)=\left[{\begin{matrix}x(n)\\x(n-1)\\\vdots \\x(n-p)\end{matrix}}\right]}
Имајте на уму да рекурзија за P {\displaystyle P} следи алгебарска Рикатијева једначина и тако повлачи паралеле до Калман филтера.[2]
Рекурзивне решетке најмањих квадрата филтера се односи на стандардни RLS, осим да је потребно мање аритметичких операција . Она нуди додатне предности у односу на конвенционалне LMS алгоритме као што су брже стопе конвергенције, модуларне структуре, и неосетљивост на варијацијама у ширења улазне корелационе матрице.LRLS алгоритам заснован је на грешкама и укључује нормализовани облик. Извођење је слична стандардном RLS алгоритму и заснива се на дефиницији d ( k ) {\displaystyle d(k)\,\!} . У предикционом случају, имамо d ( k ) = x ( k ) {\displaystyle d(k)=x(k)\,\!} са улазним сигналом x ( k − 1 ) {\displaystyle x(k-1)\,\!} као највиши узорак. Предвиђање заосталих случајева d ( k ) = x ( k − i − 1 ) {\displaystyle d(k)=x(k-i-1)\,\!} , где индекс узорка у прошлости желимо да предвидимо, а улазни сигнал x ( k ) {\displaystyle x(k)\,\!} је најновији узорак.[3]
Алгоритам за LRLS филтер се може сажети у
Нормализована форма LRLS има мање рекурзије и променљивих. Може се израчунати применом нормализације интерних варијабли алгоритма који ће задржати своју величину. Ово се углавном не користи у реалном времену апликације због броја одељења и квадратног корена операција која долази са високим рачунарским оптерећењем.
Алгоритам за NLRLS филтер се може сажети у