Рекурзивни алгоритам најмањих квадрата

Рекурзивни алгоритам најмањих квадрата (RLS) је адаптивни филтер који рекурзивно утврђује коефицијенте који смањују пондерисани линеарни најмањи квадрат функција трошкова у вези улазних сигнала. Ово је за разлика у односу на друге алгоритме као што је алгоритам најмањих средњих квадрата (LMS) чији је циљ да смањи средње квадратне грешке. У извођење рекурзивног алгоритма најмањих квадрата, улазни сигнал се сматра детерминистичким, док се алгоритам најмањих средњих квадрата и слични алгоритми сматрају стохастичком. У поређењу са већином својих конкурената, експонати рекурзивног алгоритма најмањих квадрат изузетно брзо конвергирају. Међутим, ова корист долази по цену високог рачунарске комплексности.

Мотивација уреди

RLS је открио Карл Фридрих Гаус али остаје неискоришћен или игнорисан до 1950. године, када Плацкет открива оригинални рад Гауса од 1821. У принципу, RLS алгоритми могу да се користе за решавање сваког проблема који могу да реше адаптивни филтери, На пример, претпоставимо да је сигнал d(n) који се преноси преко еха, бучни канал који узрокује да буде примљен као

 

где   представља додатну буку. Ми ћемо покушати да опоравимо жељени сигнал   употребом  -tap импулса коначних одзива,  :

 

где   је вектор који садржи   Најновији узорци  . Наш циљ је да се процени параметре филтера  , и у сваком тренутку n мислимо на нове најмањих квадрата процена  . Како време пролази, желимо да се у потпуности избегну преправке алгоритма најмањих квадрата и да пронађу нову процену за  , у смислу  .

Корист од RLS алгоритма је да нема потребе обрнути матрицу, чиме се штеди рачунарска снага. Још једна предност је у томе што даје интуицију иза таквих резултата као Калман филтер.

Дискусија уреди

Идеја РЛС филтера је да минимизира функцију трошкова   и адекватно одабира филтер коефицијенти  , ажурирање филтера кад стигну нови подаци. Сигнал грешке   и жељени сигнал   су дефинисани у дијаграму негативне повратне спреге :

 

Грешка имплицитно зависи од коефицијента филтера путем процене.  :

 

Најмања функција квадрата грешка  — желимо да се цена функција минимизира-као функција e(n) стога такође зависи од коефицијента филтера:   где је   " фактор заборављања " који даје експоненцијално мању тежину старијим узорцима грешака.

Функција трошкова је сведена на минимум узимањем парцијалног извода за све ставке   коефицијента вектора   и постављање резултата на нулу:  Даље, замени   са дефиницијом сигнала грешке

 

Преуређивање једначине приноса

 

Овај облик може да се изрази у смислу матрице

 

where   је измерен узорак коваријанси матрица за  , и   је еквивалентна процена за попречну-коваријансу од   и   На основу овог израза налазимо коефицијенте који минимизирају трошкове функције као::  Ово је главни резултат дискусије.

Избор   уреди

Мањи   је, мали допринос претходним узорцима. То чини филтер више осетљивим на недавне узорке, што значи више флуктуације у филтеру коефицијента. За   случај се узима као пример растућег РЛС алгоритма. У пракси,   се обично бира између 0,98 и 1.[1]

Рекурзивни алгоритам уреди

Расправа је резултирала у једној једначини да се одреди коефицијент вектор који минимизира функцију трошкова. У овом одељку желимо да изведемо рекурзивно решење у облику

 

где   је корективни фактор у времену  . Истражујемо порекло рекурзивног алгоритма изражавајући унакрсно коваријансу  поводом  

   
 
 

где је  димензионални вектор података:  Слично изражавамо   У погледу   од

   
 

Да би генерисали коефицијент вектора ми смо заинтересовани за супротност од детерминистичке матрице. Из тог задатка идентитет матрица долази у комбинацији. Са

    is  -by- 
    is  -by-1
    is 1-by- 
    is the 1-by-1

Следи идентитет матрица

     
   
 
 

У складу са стандардном литературом, дефинишемо

   
 

где је "добијен вектор" 

   
 

Пре него што кренемо даље, неопходно је да се донесе   у другом облику

   
   

Одузимањем другог мандата на левој страни приноса

   
 

Са рекурзивном дефиницијом   жељена форма прати

 

Сада смо спремни да завршимо рекурзију. Као што је наведено

   
 

Други корак произлази из рекурзивне дефиниције . Затим смо уградили рекурзивно дефиниције   заједно са алтернативним обликом   и добијамо

   
 
 

Са  долазимо до једначине за ажурирање

   
 

Где је  Грешка израчунавања "после" филтера се ажурира::  То значи да смо нашли фактор корекције: 

Овај интуитивно задовољавајући резултат указује да је корективни фактор директно пропорционалан грешкама и појачањима вектора, и да контролише колика осетљивост се жели.

RLS алгоритам резиме уреди

RLS алгоритам за pсе помоћу RLS филтера може сумирати на:

Параметри:   поредак филтера
  фактор заборављања
  вредност да се покрене  
Иницијализација:  ,
 ,
 
  где је   матрица идентитета ранга  
Обрачун: За  

 

 
 
 
 .

Имајте на уму да рекурзија за   следи алгебарска Рикатијева једначина и тако повлачи паралеле до Калман филтера.[2]

Рекурзивне решетке најмањих квадрата филтера (LRLS) уреди

Рекурзивне решетке најмањих квадрата филтера се односи на стандардни RLS, осим да је потребно мање аритметичких операција . Она нуди додатне предности у односу на конвенционалне LMS алгоритме као што су брже стопе конвергенције, модуларне структуре, и неосетљивост на варијацијама у ширења улазне корелационе матрице.LRLS алгоритам заснован је на грешкама и укључује нормализовани облик. Извођење је слична стандардном RLS алгоритму и заснива се на дефиницији  . У предикционом случају, имамо   са улазним сигналом   као највиши узорак. Предвиђање заосталих случајева  , где индекс узорка у прошлости желимо да предвидимо, а улазни сигнал   је најновији узорак.[3]

Преглед параметара уреди

  је напредни коефицијент рефлексије
  је назадан коефицијент рефлексије
  представља тренутно апостериори напредно предвиђање о грешци
  представља тренутно апостериори назадно предвиђање о грешци
  је минимум најмањих квадрата назадно предвиђање грешака
 је минимум најмањих квадрата напредно предвиђање грешака
  је фактор конверзије између априори и апостериори, грешке
  су вишеструки коефицијенти.
  је мала позитивна константа која може бити 0.01

LRLS преглед алгоритма уреди

Алгоритам за LRLS филтер се може сажети у

Иницијализација:
For i = 0,1,...,N
   (if x(k) = 0 for k < 0)
  
  
  
End
Израчунавање:
For k ≥ 0
  
  
  
  
 For i = 0,1,...,N
  
  
  
  
  
  
  
  
 
  
  
  
 End
End

Нормализован рекурзиван филтер најмањих квадрата (NLRLS) уреди

Нормализована форма LRLS има мање рекурзије и променљивих. Може се израчунати применом нормализације интерних варијабли алгоритма који ће задржати своју величину. Ово се углавном не користи у реалном времену апликације због броја одељења и квадратног корена операција која долази са високим рачунарским оптерећењем.

NLRLS преглед алгоритма уреди

Алгоритам за NLRLS филтер се може сажети у

Иницијализација:
For i = 0,1,...,N
   (if x(k) = d(k) = 0 for k < 0)
  
  
End
  
Израчунавање:
For k ≥ 0
   (улазни сигнал снаге)
   (референтни сигнал снаге)
  
  
  For i = 0,1,...,N
  
  
  
 
  
  
 End
End

Референце уреди

  1. ^ Emannual C. Ifeacor, Barrie W. Jervis. Digital signal processing: a practical approach, second edition. Indianapolis: Pearson Education Limited. (2002). стр. 718.
  2. ^ Welch, Greg and Bishop, Gary "An Introduction to the Kalman Filter", Department of Computer Science, University of North Carolina at Chapel Hill, September 17, 1997, accessed July 19, 2011.
  3. ^ Albu, Kadlec, Softley, Matousek, Hermanek, Coleman, Fagan "Implementation of (Normalised) RLS Lattice on Virtex" Архивирано на сајту Wayback Machine (4. март 2016), Digital Signal Processing, 2001, accessed December 24, 2011.

Литература уреди