next up previous
Next: 8.2 Kaskáda IIR prediktorů Up: 8. Cvičení 8: Odhad Previous: 8. Cvičení 8: Odhad

8.1 Kaskáda FIR prediktorů 2. řádu

Ve 3. cvičení jsme již prediktor 2. řádu použili na odhad frekvence harmonického signálu. V tomto cvičení se budeme zbývat obecnější úlohou. Jak postupovat je-li ve vstupním signálu přítomo více harmonických složek? Mohli bychom zachovat transverzální strukturu Obr. 3.2 a pouze zvýšit řád podle toho kolik frekvencí bychom chtěli odhadnout. Problém pak ale nastává při přepočtu hodnot vah na odhady frekvencí (úhly nul filtru), který vyžaduje výpočet kořenů polynomu stupně vyššího než dva (už při stupni 5 neumím řešit pomocí odmocnin). Jedna možnost jak se této komplikaci vyhnout (a tak významě snížit složitost) je použití kaskády filtrů druhého řádu. Nuly celé kaskády jsou pak totiž nulami jednotlivých filtrů druhého řádu a lze je tedy jednoduše určit. Ve 3. cvičení jsem podrobně rozebral vztah vah prediktoru 2. řádu Obr. 3.2 k modulu a úhlům (komplexně sdružených) nul jeho přenosové funkce (za předpokladu pomalé změny vah) viz. (3.6) ( $ (z-r e^{\jmath\Theta})(z-r e^{\jmath\Theta}) = z^2 + w_1 z + w_2$)

\begin{displaymath}
\begin{gathered}
w_1 = - 2 r \cos ( \Theta ), \\
w_2 = r^2
\end{gathered}\end{displaymath}

Zde navíc prediktor ještě zjednodušším. Omezím možné polohy nul na jednotkovou kružnici (jejich modul $ r$ fixuji na 1), takže $ w_2[n]=r^2 = 1$ je fixována a zbýva upravovat pouze Jedinou váhu. Místo označení $ w_1[n]$ zde budu používat názornějšího značení

$\displaystyle c[n] = -\frac{w_1[n]}{2} = \cos(\Theta)$ (8.1)

mající význam kosinu úhlu nuly. V tomto cvičení se omezím pouze na odhad dvou frekvencí (zobecnění na více je přímočaré). K tomu použijeme kaskádu dvou prediktorů 2. řádu viz. Obr. 8.1.

Figure 8.1: Kaskáda FIR prediktorů 2. řádu pro odhad dvou frekvencí
\begin{figure}\begin{center}
\pstexfig{a8kasfir}
\end{center}
\end{figure}

Vztah vah $ c_1,c_2$ a odhadovaných frekvencí je z (8.1)

\begin{equation*}\begin{aligned}c_1[n] &= \cos(\Theta_1), \\ c_2[n] &= \cos(\Theta_2). \end{aligned}\end{equation*}

Z Obr. 8.1 jednoduše napíšeme rovnice filtrace (1. a 2. prediktor)

\begin{equation*}\begin{aligned}x_2[n] = x[n] - 2 c_1[n] x[n-1] + x[n-2], \\ e[n] = x_2[n] - 2 c_2[n] x_2[n-1] + x_2[n-2] \\ \end{aligned}\end{equation*}

Abychom mohli sestavit rovnice pro úpravu vah potřebujeme nejprve určit derivace $ \frac{\partial e[n]}{\partial c_1[n]}$, $ \frac{\partial e[n]}{\partial c_2[n]}$ potřebné pro zapsání gradientu účelové funkce $ e^2[n]$. S derivací $ \frac{\partial e[n]}{\partial c_2[n]}$ není problém

$\displaystyle \frac{\partial e[n]}{\partial c_2[n]} = - 2 x_2[n-1] .$ (8.4)

Případ $ \frac{\partial e[n]}{\partial c_1[n]}$ je trochu komplikovanější neboť 1. prediktor je již dále od chybového výstupu $ e[n]$. Zde ještě samozřejmě můžeme do rovnice pro $ e[n]$ (8.3) dosadit za $ x_2[n]$, ale všiměme si, že členů přibývá. Pro kaskádu IIR 2. řádu toto řešení dokonce aplikovat nelze. V LTI přiblížení8.1mohu ale oba prediktory prohodit aniž by se změnila impulsová odezva celé kaskády 8.2jak je znázorněno na Obr. 8.2 a tak připojit 1. prediktor přímo k chybovému výstupu $ e[n]$.

Figure 8.2: V LTI přiblížení mohu oba prediktory prohodit
\begin{figure}\begin{center}
\pstexfig{a8lti}
\end{center}
\end{figure}

Pro Obr. 8.2 jednoduše sestavím rovnice filtrace

\begin{equation*}\begin{aligned}y_1[n] = x[n] - 2 c_2[n] x[n-1] + x[n-2], \\ e[n] = y_1[n] - 2 c_1[n] y_1[n-1] + y_1[n-2] \\ \end{aligned}\end{equation*}

a již jednoduše určím problematickou derivaci

$\displaystyle \frac{\partial e[n]}{\partial c_1[n]} = - 2 y_1[n-1] .$ (8.6)

Všechno kromě $ y_1[n]$ je již vypočteno v (8.3). Pro výpočet $ y_1[n]$ použijeme (8.5). Celá struktura je znázorněna na Obr. 8.3.

Figure 8.3: Celá struktura
\begin{figure}\begin{center}
\pstexfig{a8str}
\end{center}
\end{figure}

S použitím (8.6) a (8.4) již jednoduše napíšeme rovnice pro úpravu vah

\begin{equation*}\begin{aligned}c_2[n] &= c_2[n-1] - \mu \frac{\partial e^2[n]}{...
...\partial c_1[n]} = c_1[n-1] + \mu e[n] 2 y_1[n-1] . \end{aligned}\end{equation*}


Cvičení 8.0: Vstupní signál $ x[n]$ modelujte jako směs dvou harmonických signálů o jednotkových efektivních hodnotách a frekvencích $ 0.37\pi$ a $ 0.62\pi$ [rad/vzorek]. Délku $ x[n]$ volte $ N=1000$ vzorků.

Napište skript v Matlabu implementující strukturu Obr. 8.1. Konvergenční konstantu $ \mu$ volte mu = 0.003/rxx0. Počáteční podmínku pro $ c_1[n]$ volte $ \cos(\frac{\pi}{4})$ a pro počáteční podmínku pro $ c_2[n]$ volte $ \cos(\frac{3\pi}{4})$.

Vyneste odhady frekvencí na čase a porovnejte je se skutečnými frekvencemi. Dále charakteristiku filtru v ustáleném stavu, a amplitudová spektra vstupního signálu $ x[n]$ a chybového výstupu $ e[n]$.


Výsledky:

Figure 8.4: Kaskáda FIR, žádné aditiví rušení: Spektrogram vstupu $ x[n]$, výstupu $ e[n]$, průběh vah na čase.
\includegraphics[width=10cm]{ada8/obrmat/fig1.ps}

Figure 8.5: Kaskáda FIR, žádné aditiví rušení: (zleva doprava) amplitudová spektra vstupu $ x[n]$ a výstupu $ e[n]$, průběh odhadu frekvencí na čase, modulové frekvenční charakteristiky kaskády a obou prediktorů 2. řádu, polohy nul a pólů přenosové funkce kaskády v z-rovině.
\includegraphics[width=10cm]{ada8/obrmat/fig2.ps}


Cvičení 8.1: K vstupnímu signálu $ x[n]$ navíc oproti předešlému cvičení 8.1 přičtěte aditivní rušení $ u[n]$. Aditivní rušení $ u[n]$ modelujte jako bílý stacionární gausovský proces s nulovou střední hodnotou. Varianci šumu volte nejdříve $ \sigma _u^2 = 0.3^2$ a pak $ \sigma_u^2 = 1$. Vyneste si opět grafy jako ve cvičení 8.1 a pozorujte rozdíly.


Výsledky:

Figure 8.6: Kaskáda FIR, rozptyl adidivního rušení $ \sigma _u^2 = 0.3^2$: (zleva doprava) amplitudová spektra vstupu $ x[n]$ a výstupu $ e[n]$, průběh odhadu frekvencí na čase, modulové frekvenční charakteristiky kaskády a obou prediktorů 2. řádu, polohy nul a pólů přenosové funkce kaskády v z-rovině.
\includegraphics[width=10cm]{ada8/obrmat/fig3.ps}

Figure 8.7: Kaskáda FIR, rozptyl adidivního rušení $ \sigma _u^2 = 1^2$: (zleva doprava) amplitudová spektra vstupu $ x[n]$ a výstupu $ e[n]$, průběh odhadu frekvencí na čase, modulové frekvenční charakteristiky kaskády a obou prediktorů 2. řádu, polohy nul a pólů přenosové funkce kaskády v z-rovině.
\includegraphics[width=10cm]{ada8/obrmat/fig4.ps}


next up previous
Next: 8.2 Kaskáda IIR prediktorů Up: 8. Cvičení 8: Odhad Previous: 8. Cvičení 8: Odhad
Mirek 2006-12-12