next up previous
Next: 6.2 CMA Up: 6. Cvičení 6: Ekvalizace Previous: 6. Cvičení 6: Ekvalizace

Subsections

6.1 LMS ekvalizátor

V tomto cvičení se budeme zabývat problémem ekvalizace přenosové linky. Struktura LMS ekvalizátoru je na Obr. 6.1.

Figure 6.1: Struktura LMS ekvalizátoru
\begin{figure}\begin{center}
\pstexfig{a6ekv}
\end{center}
\end{figure}

Budeme předpokládat datový signál pouze s dvěma úrovněmi $ 1,-1$. Označme řád adaptivního filtru $ M$. Zavedeme vektor vzorků vstupního signálu na zpožděních adaptivního fitru a vektor vah

$\displaystyle \mathbf{x}^T[n] = [ x[n], x[n-1], \ldots, x[n-M] ], \mathbf{w}^T[n] = [ w_1, w_2, \ldots, w_{M+1} ]$ (6.1)

Rovnice filtrace pak má tvar

\begin{displaymath}\begin{gathered}\hat{d}[n] = \mathbf{w}^T[n]\mathbf{x}[n], \\ e[n] = \tilde{d}[n] -\hat{d}[n] \end{gathered}\end{displaymath} (6.2)

V trénovací fázi (přepínač v poloze 1) je $ \tilde{d}[n]$ přímo čistým (maximálně zpožděným) datovým signálem $ d[n-D]$ (zpoždění $ D$ je vhodné zavést kvůli kompenzaci zpoždění linky - umíme postavit pouze kauzální ekvalizátor). Není tedy funkcí $ \mathbf{w}[n]$ (na gradient $ \nabla_{\mathbf{w}[n]}e^2[n]$ tedy nemá vliv). Rovnice pro úpravu vah má pak tvar

$\displaystyle \mathbf{w}[n+1] = \mathbf{w}[n] + \mu \nabla_{\mathbf{w}[n]}e^2[n] = \mathbf{w}[n] + \mu e[n] \mathbf{x}[n]$ (6.3)

Po ukončení trénovací fáze by již váhy měly být ustáleny tak aby přenosová funkce ekvalizátoru (adaptivní filtr) byla inverzní k přenosové funkci linky až na zpoždění $ D$. Takže kvantizér je schopen spolehlivě (předpokládáme, že variance aditivního šumu je dostatečně nízká) rekonstruovat stavy datového signálu. V této chvíli již můžeme čistý datový signál odebírat přímo z výstupu kvantizéru. Přepneme tedy přepínač do polohy 2 (druhá fáze). Rovnice pro úpravu vah nyní dopadnou naprosto stejně, neboť stále předpokládáme, že $ \tilde{d}[n]$ je čistý datový signál nikoli funkce $ \mathbf{w}[n]$. Z uvedeného plyne, že v druhé fázi je LMS schopno sledovat pouze pomalé změny linky (chyba v odhadu $ \hat{d}[n]$ nám umožní správně nastavit adaptivní filtr a tím ekvalizovat linku, ale je malá na to, aby se projevila za kvantizérem). Jestliže se stane že se chyba v odhadu $ \hat{d}[n]$ projeví i za kvantizérem (kvůli skokové změně přenosové funkce linky nebo velkému aditivnímu šumu), je předpoklad, že na výstupu kvantizéru je čistý datový signál nesprávný a celá rovnice pro úpravu vah tedy nesmyslná. Váhy se nám sice nějak upravují, ale směr gradientu je špatný (nemá nic společného s ekvalizací linky).


Cvičení 6.0:

6.1.0.0.1 Modelování vstupního signálu:

Datový signál $ d[n]$ modelujte jako doustavový s úrovněmi v $ -1$ a $ 1$. Vzorky $ d[n]$ nechť jsou nezávisle identicky rozložené s rovnoměrným rozložením na $ \{-1,1\}$. Aditivní šum $ v[n]$ modelujte jako bílý stacionární gausovský proces s nolovou střední hodnotou a variancí $ \sigma _v^2 = 0.3^2$. Linku modelujte all-pole filtrem 2. řádu s póly v $ 0.5^{-\jmath\frac{\pi}{4}},0.5^{\jmath\frac{\pi}{4}}$. Vypočtěte $ x[n]$ viz. Obr. 6.1. Délky všech posloupností volte $ N = 2000$.

6.1.0.0.2 Implementace LMS ekvalizátoru:

Napište skript v Matlabu implementující strukturu LMS ekvalizátoru viz. Obr. 6.1. Implementujte pouze fázi 2 (vynechte zatím trénovací fázi). Konvergenční konstantu $ \mu$ volte opět mu = 0.1/((M+1)*rxx0). Řád adaptivního filtru $ M = 2$. Počáteční hodnoty vah volte jako jednotkový impuls ($ x[n]$ projde bezezměny na výstup adaptivního filtru $ \hat{d}[n]$).

Vyneste frekvenční charakteristiku přenosové linky. Pro ustálený stav vyneste (např. posledních 50 vzorků): čistý datový signál $ d[n]$, vstupní signál $ x[n]$, odhad $ \hat{d}[n]$, a výstup kvantizéru $ \tilde{d}[n]$ (porovnejte s $ d[n]$). Dále si vyneste průběh vah, a frekvenční charakteristiku adaptivního filtru v ustáleném stavu (porovnejte s frekvenční charakteristikou linky).


Uvádím zde opět pouze skript na modelování vstupního signálu, skript pro LMS ekvalizátor napište sami.

N = 2000; % delka

% cista data
d = sign(sign((rand(N,1) - 0.5)+0.1);

link_pol_r = 0.8; % IIR 2. rad (komplexne sdruzene poly)
link_pol_W = pi/4;
a = link_pol_r*exp(j*link_pol_W);
link_vykon = 2 / (abs(a)^2-1) * real( a/(a-conj(a))/(a^2-1) );
link_A = [ 1; -2*link_pol_r*cos(link_pol_W); link_pol_r^2 ];
link_B = [ 1; 0; 0 ]/sqrt(link_vykon);

% aditivni ruseni v[n]
sigma_v = 0.3; % rozptyl 0.3^2
v = sigma_v*randn(N,1);

% vstupni signal
x = filter(link_B,link_A,d) + v;

Vzhledem k tomu, že posloupnost za kvantizérem $ \tilde{d}[n]$ se od čistého datového signálu $ d[n]$ může lišit zpožděním nebo polaritou (platí hlavně pro dále uvedený CMA ekvalizér) může být určení shody obou posloupností docela obtížné. Jednodušší je určit výkon odchylky $ \tilde{d}[n]$ v ustáleném stavu od různě zpožděného (případně invertovaného) $ d[n]$ a hnedka poznáme pro které zpoždění se obě posloupnosti (nejvíce) shodují. Lze to provést například takto

Dmax = 10
L = 50;
Rl = N-L;
Rh = N-1;
po = zeros(Dmax+1,1);
for k = 0:Dmax;
po(k+1) = min( sum(( dt(Rl:Rh)-d(Rl-k:Rh-k) ).^2)/L, ...
  sum(( dt(Rl:Rh)+d(Rl-k:Rh-k) ).^2)/L );
end;

Výsledky:

Figure 6.2: Linka (IIR s modulem polů 0.5, $ \sigma _v^2 = 0.3^2$): (zleva doprava) Modulová frekvenční charakteristika linky, nuly a póly přenosové funkce linky, fázová frekvenční charakteristika linky, čistý datový signál $ d[n]$, vstup z ekvalizéru $ x[n]$
\includegraphics[width=10cm]{ada6/obrmat/fig1.ps}

Figure 6.3: LMS ekvalizátor bez trénovací fáze (Linka IIR s modulem polů 0.5, $ \sigma _v^2 = 0.3^2$, $ M = 2$, $ D=0$): čistý datový signál $ d[n]$, vstupní signál $ x[n]$, odhad $ \hat{d}[n]$, výstup kvantizéru $ \tilde{d}[n]$,
\includegraphics[width=10cm]{ada6/obrmat/fig2.ps}

Figure 6.4: LMS ekvalizátor bez trénovací fáze (Linka IIR s modulem polů 0.5, $ \sigma _v^2 = 0.3^2$, $ M = 2$, $ D=0$): (zleva doprava) průběh vah, výkon odchylky $ p_o$ na zpoždění, modulová frekvenční charakteristika adaptivního filtru v ustáleném stavu a linky v decibelech, nuly a póly přenosové funkce adaptivního filtru v ustáleném stavu.
\includegraphics[width=10cm]{ada6/obrmat/fig3.ps}


Poznámka: Na chování LMS ekvalizátoru bez použití trénovací fáze (pouze fáze 2) si můžete ověřit jak veké skokové změny přenosové linky je LMS ekvalizér schopen sledovat. Můžete si totiž představit, že linka na počátku skokově změnila svou přenosovou funkci z přenosu bez zkreslení a zesílení (inverze k počátečnímu nastavení adaptivního filtru) na přenosovou funkci uvedenou v zadání.



Cvičení 6.1: Varianci aditivního šumu nyní volte $ \sigma _v^2 = 0.1^2$. Póly linky volte $ 0.8^{-\jmath\frac{\pi}{4}},0.8^{\jmath\frac{\pi}{4}}$.

Implementujte trénovací fázi. Délku trénovací fáze volte $ T=1000$ vzorků. Jako referenční posloupnost použijte nezpožděný čistý datový signál $ d[n-D]$, $ D=0$.

Porovnejte výsledky s použitím i bez použití trénovací fáze.


Trénovací fázi můžete např. implementovat podmínkou v těle smyčky LMS ekvalizátoru (dt(n) má význam $ \tilde{d}[n]$).

for n = M+1:N-1 % smycka LMS ekvalizátoru
.
.
.
% po vypoctu dt(n)
if (n<T) 
  dt(n) = d(n-D); 
end
e(n) = dt(n) - do(n);
.
.
.
end; % n

Výsledky:

Figure 6.5: Linka (IIR s modulem polů 0.8, $ \sigma _v^2 = 0.1^2$): (zleva doprava) Modulová frekvenční charakteristika linky, nuly a póly přenosové funkce linky, fázová frekvenční charakteristika linky, čistý datový signál $ d[n]$, vstup z ekvalizéru $ x[n]$
\includegraphics[width=10cm]{ada6/obrmat/fig4.ps}

Figure 6.6: LMS ekvalizátor bez trénovací fáze (Linka IIR s modulem polů 0.8, $ \sigma _v^2 = 0.1^2$, $ M = 2$, $ D=0$): (zleva doprava) průběh vah, výkon odchylky $ p_o$ na zpoždění, modulová frekvenční charakteristika adaptivního filtru v ustáleném stavu a linky v decibelech, nuly a póly přenosové funkce adaptivního filtru v ustáleném stavu.
\includegraphics[width=10cm]{ada6/obrmat/fig5.ps}

Figure 6.7: LMS ekvalizátor s trénovací fází (Linka IIR s modulem polů 0.8, $ \sigma _v^2 = 0.1^2$, $ M = 2$, $ D=0$): (zleva doprava) průběh vah, výkon odchylky $ p_o$ na zpoždění, modulová frekvenční charakteristika adaptivního filtru v ustáleném stavu a linky v decibelech, nuly a póly přenosové funkce adaptivního filtru v ustáleném stavu.
\includegraphics[width=10cm]{ada6/obrmat/fig6.ps}


next up previous
Next: 6.2 CMA Up: 6. Cvičení 6: Ekvalizace Previous: 6. Cvičení 6: Ekvalizace
Mirek 2006-12-12