Rekurencyjna metoda NK

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Wstęp i oznaczenia[edytuj | edytuj kod]

Algorytm ważonej rekurencyjnej metody najmniejszych kwadratów (WRMNK) został wyprowadzony dla obiektu typu ARX, którego postać przytacza się dla wygody:


   y(i) = z^{-k}\frac{ B(z^{-1}) }{ A(z^{-1}) }u(i)\ +\ \frac{ 1 }{ A(z^{-1}) } e(i)

Zakłada się, że znany jest ciąg wejść obiektu u(1), u(2), \ldots oraz ciąg wyjść obiektu y(1), y(2), \ldots, natomiast sekwencja białego szumu modelującego zakłócenie sprowadzone na wyjście obiektu e(1), e(2), \ldots jest nieznana.

Niech \mathbf{\Theta} oznacza wektor nieznanych parametrów obiektu:


   \mathbf{\Theta} = \left\lbrack b_0\ b_1\ldots\ b_{dB}\ a_1\quad 
   a_2\ldots\ a_{dA}\right\rbrack^T.

Niech \mathbf{\hat{\Theta}}(i) oznacza wektor zawierający oszacowania (estymaty) tych parametrów w chwili i, oraz niech \boldsymbol{\varphi}(i-1) oznacza wektor zawierający próbki wejść i wyjść odpowiadające tym parametrom (zwany wektorem regresyjnym):


\begin{matrix}
   \boldsymbol{\varphi}(i-1) & = & \left\lbrack u(i-k)\  
         u(i-k-1)\ldots\  u(i-k-dB)\right.\\
     &&  \left.  -y(i-1)\  -y(i-2)\ldots\  -y(i-dA)  \right\rbrack ^T
\end{matrix}

Niech ponadto wskaźnik jakości będzie dany jako:


   J_N(\mathbf{\hat{\Theta}})=\frac{1}{N} \sum_{i=1}^N \lambda^{N-i}\varepsilon^2(i) =
      \frac{1}{N} \sum_{i=1}^N \lambda^{N-i}\left ( y(i) - 
         \mathbf{\hat{\Theta}}^T(i-1)\boldsymbol{\varphi}(i-1) \right )^2,

gdzie \lambda \in (0,1\rbrack zwany jest współczynnikiem ważenia lub zapominania, a \varepsilon(i) zwany jest błędem predykcji jednokrokowej.

Algorytm WRMNK[edytuj | edytuj kod]

Algorytmem, który minimalizuje tak zdefiniowany wskaźnik jakości, jest algorytm ważonej rekurencyjnej metody najmniejszych kwadratów, dany wzorem:


   \mathbf{\hat{\Theta}}(i) = \mathbf{\hat{\Theta}}(i-1) + \mathbf{k}(i) \varepsilon(i),

gdzie \mathbf{k}(i) zwany jest wektorem wzmocnienia, i liczony jest zgodnie z zależnością:


   \mathbf{k}(i) = \mathbf{P}(i) \cdot \boldsymbol{\varphi}(i-1).

Użyta w powyższym wzorze macierz \mathbf{P}(i) zwana jest macierzą kowariancji. Podstawową zależnością pozwalającą na rekurencyjne wyznaczania tej macierzy jest równanie:


   \mathbf{P}^{-1}(i) = \lambda \mathbf{P}^{-1}(i-1)+
         \boldsymbol{\varphi}(i-1)\boldsymbol{\varphi}^T(i-1).

Ponieważ jednak zastosowanie powyższego wzoru wiązałoby się z koniecznością odwracania macierzy, algorytm byłby niezwykle skomplikowany w implementacji i potencjalnie niestabilny numerycznie. Na szczęście udało się wyprowadzić zależność rekurencyjną pozwalającą na aktualizację macierzy kowariancji z pominięciem odwracania macierzy, która jest dana zależnością:


   \mathbf{P}(i)= \frac{1}{\lambda} \left\lbrack \mathbf{P}(i-1) -
      \frac{\mathbf{P}(i-1)\boldsymbol{\varphi}(i-1)\boldsymbol{\varphi}^T(i-1)\mathbf{P}(i-1)}
         {\lambda+ \boldsymbol{\varphi}^T(i-1)\mathbf{P}(i-1)\boldsymbol{\varphi}(i-1)}
   \right\rbrack

Warunek początkowy[edytuj | edytuj kod]

Warunek początkowy dla macierzy kowariancji dany jest wzorem:


   \mathbf{P}(0) = \beta \mathbf{I},

gdzie \beta jest pewną, dużą wartością dodatnią (np. 1000).

Uwagi[edytuj | edytuj kod]

W przypadku, gdy \lambda=1 o metodzie mówi się, że jest bez ważenia (czyli jest to RMNK). Tak sparametryzowana metoda nie nadaje się do identyfikacji obiektów niestacjonarnych (czyli takich, których parametry zmieniają się w czasie), gdyż w macierzy \mathbf{P} pamiętana jest cała historia zmian wejścia i wyjścia obiektu. W przypadku identyfikacji obiektów niestacjonarnych zazwyczaj wartość parametru \lambda ustala się na nieco mniejszą od jedności (na przykład 0,99).

Bibliografia[edytuj | edytuj kod]

  • Dariusz Bismor: Adaptive Algorithms for Active Noise Control in an Acoustic Duct. Gliwice: Studio Komputerowe Jacka Skalmierskiego, 1999.

Zobacz też[edytuj | edytuj kod]