DEYNEKA, A. Metody ekvalizace v digitálních komunikačních systémech [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2011.
Student se ve své práci zabývá implementací algoritmů různých metod ekvalizace přenosových kanálů v programovém prostředí Matlab. Navrhnul a provedl různé druhy simulací za účelem porovnání vlastností jednotlivých ekvalizačních metod. V průběhu řešení student zodpovědně analyzoval jednotlivé algoritmy, konzultoval vytvořené simulační modely a jejich výstupy, přičemž se snažil graficky vystihnout především odlišnosti jednotlivých metod. Z teoretického hlediska dosahuje práce výborné úrovně. Z hlediska praktického řešení však vytvořené programy nejsou příliš názorné a lze je jen obtížně používat pro demonstrace ekvalizačních metod. Autor se měl při jejich tvorbě více inspirovat množstvím demonstračních programů implementovaných přímo v Matlabu. Ačkoliv to nebylo přímo požadavkem zadání, chybí zde hlavně grafické rozhraní, které by uživateli umožnilo snadné a přehledné nastavování parametrů simulací. Celkově však bylo zadání splněno. Formální zpracování je na dobré úrovni, vytknout lze zejména velmi řídce používané odkazy na zdroje literatury, z nichž autor čerpal matematický popis i celé části zdrojových kódů jednotlivých algoritmů.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Splnění zadání | B | 40/50 | |
Aktivita během řešení a zpracování práce (práce s literaturou, využívání konzultací, atd.) | A | 20/20 | |
Formální zpracování práce | C | 14/20 | |
Využití literatury | A | 10/10 |
Úkolem diplomové práce bylo nastudovat adaptivní metody ekvalizace přenosového kanálu, vytvořit demonstrační programy v prostředí MATLAB a porovnat jejich vlastnosti. Matematický základ teoretické úvodní pasáž je převážně sepsán s využitím pramenů [2] a [7], v podstatě všechny použité vztahy v nich můžeme dohledat. Zatímco v původních pramenech jsou matice i vektory psány tučně stojatě, jak je v této oblasti zpracování signálů zvykem, v diplomové práci jsou uvedeny kurzivou. Citace jsou v práci uváděny značně zřídka, i když by je bylo možno uvést v podstatě u každého vztahu. V členění algoritmů (str. 14. a str. 42.) student neuvádí vedle LMS a RLS iteračních algoritmů i možnost přímého výpočtu tzv. off-line, která je rovněž velmi často využívána. V jednotlivých metodách je výpočet závislý na parametru zpoždění mezi trénovacím a filtrovaným signálem. Například pro DFE algoritmus, uvedeným na straně 40, se jedná o parametr delta, který má vliv na výslednou vzájemnou korelační matici, a tím i na celý výpočet. Student tuto problematiku nezmiňuje, a tedy ani tento vliv neanalyzuje. Vlastní simulace pracují s nepříliš realistickou délkou impulsní odezvy kanálu o délce 2, např.: h= [0.7, 0.5]. Textová část tvoří v celku zdařilou rešerši, ilustrovanou vlastními simulacemi. Cílem práce bylo však i vytvoření demonstračních programů. Zejména k těmto programům mám výhrady. Ve vlastní práci nenajdeme kapitolu, která by se samostatně věnovala vytvořeným demonstračním programům. V příloze najdeme odkaz na CD a vývojové diagramy. Přiložené kódy tvoří samostatné dávky příkazů. Student nepoužívá členění do funkcí, které by bylo možno vhodně sdílet při analýze různých algoritmů. Rovněž student mohl vytvořit ucelené grafické tool, s jehož pomocí by algoritmy mohly být přehledně analyzovány pro různé parametry. Jednotlivé dávky příkazů jsou z části komentovány v češtině, z části v angličtině, proměnné jsou různě nazvány, struktura názvu se v různých kódech liší, jsou často nepřehledné a budí podezření z nepůvodnosti. Uveďme, že student nezmiňuje, že by využil kódů jiných autorů. V řadě případů se jimi však nechal minimálně inspirovat, např. u algoritmu RLS je hlavní část převzata z http://www.igi.tugraz.at/lehre/CI/tutorials/AdaptiveFilter.zip - rls1.m : for i=1:(length(x)-N+1) y(i+N-1)=conj(c)*flipud((x(i:(i+N-1)))'); % y(i+N-1)=c*((x(i:(i+N-1)))'); e(i+N-1)=conj(d(i+N-1)-y(i+N-1)); zk=(Rinv*flipud((x(i:(i+N-1)))'))/(1+fliplr((x(i:(i+N-1))))*Rinv*flipud((x(i:(i+N-1)))')); c=c+(e(i+N-1))*zk'; c1=[c1; c]; Rinv=1/rho*(Rinv-zk*fliplr((x(i:(i+N-1))))*Rinv); ***** diplomová práce: RLS_Training.m for i=1:(length(x)-FilterSize+1) y(i+FilterSize-1)=w*flipud((x(i:(i+FilterSize-1)))'); % y(i+N-1)=c*((x(i:(i+N-1)))'); e(i+FilterSize-1)=B(i+FilterSize-1)-y(i+FilterSize-1); zk=(Rinv*flipud((x(i:(i+FilterSize-1)))'))/(1+fliplr((x(i:(i+FilterSize-1))))*Rinv*flipud((x(i:(i+FilterSize-1)))')); w=w+(e(i+FilterSize-1))*zk'; v=w-wo'; V=VypocetAutokor(v,FilterSize); Eps(K)=Epsmin+trace(V*R1); c1=[c1; w]; Rinv=1/rho*(Rinv-zk*fliplr((x(i:(i+FilterSize-1))))*Rinv); U jiných kódů je zřejmé využití souborů přiložených k citovanému prameni [2]. Student by měl v práci vždy u každého kódu uvést, které kódy jiných autorů byly využity. Z výše uvedeného je zřejmé, že zadání bylo splněno jen z části. Uvedené algoritmy jsou známé a četně implementované včetně MATLABu, a tak za vlastní přínos práce bych považoval nerealizované analyzační tool.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Splnění požadavků zadání | E | 10/20 | |
Odborná úroveň práce | B | 40/50 | |
Interpretace výsledků a jejich diskuse | C | 15/20 | |
Formální zpracování práce | A | 10/10 |
eVSKP id 39838