home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 July / Chip_2002-07_cd1.bin / obsahy / Chip_txt / txt / 126-127.txt < prev    next >
Text File  |  2002-06-07  |  10KB  |  46 lines

  1.  
  2. Modelovanie kanßlov²ch k≤dov v prostredφ Matlab, Communications Toolbox a Simulink
  3. Kanßly v prostredφ Matlab 
  4. V Chipe 3/02 bol uveden² Communications Toolbox, ako jedna z d⌠le₧it²ch kni₧nφc programovΘho prostredia Matlab. Po ukß₧kach modelovania komunikaΦn²ch kanßlov prechßdzame na d⌠le₧it· dvojicu z komunikaΦnΘho re¥azca - kanßlov² kodΘr/dekodΘr.
  5.  
  6. K≤dovacie a dek≤dovacie techniky kanßlov²ch k≤dov (v Communications Toolboxe bloky patriace pod Error-Control Coding) sa pou₧φvaj· na korekciu ch²b pri prenose sprßv v digitßlnom komunikaΦnom systΘme. Vysielacia Φas¥ (kodΘr) pridßva k originßlnej sprßve redundantnΘ bity, ktorΘ s· v prijφmacej Φasti (dekodΘri) pou₧itΘ na korekciu chyby. Dvojicu kanßlov² kodΘr/dekodΘr je potrebnΘ zaradi¥ do prenosovΘho re¥azca v prφpade, ak prenosov² kanßl je silne zaÜumen² alebo prenßÜanΘ dßta s· ve╛mi citlivΘ na existuj·ci Üum. Preto sa aj v²ber samoopravnej k≤dovacej a dek≤dovacej techniky riadi Üpecifikami prenßÜan²ch dßt a druhom Üumu v prenosovom kanßle. Pri syntΘze takΘhoto digitßlneho komunikaΦnΘho systΘmu treba vychßdza¥ z nameran²ch charakteristφk kanßla alebo z jeho matematickΘho modelu (vi∩ prφspevok v Chipe 3/02). 
  7. V s·Φasnej dobe existuj· dve v²znamnΘ skupiny kanßlov²ch k≤dov - blokovΘ a konvoluΦnΘ. Obe s· v Üirokom sortimente podporovanΘ podkni₧nicou Communications Toolboxu v prostredφ Matlab. BlokovΘ k≤dy (praktick² v²znam maj· hlavne lineßrne, systematickΘ k≤dy) sa vyznaΦuj· t²m, ₧e kodΘr a dekodΘr je zariadenie bez pamΣte, t. j. k v²poΦtu novΘho k≤dovΘho slova nie je potrebnΘ si pamΣta¥ informaΦnΘ symboly z predchßdzaj·ceho k≤dovΘho slova (k≤dovΘ slova k≤du s· na sebe nezßvislΘ). Dek≤dovanie u blokov²ch k≤dov vyu₧φva matematickΘ vlastnosti lineßrnej algebry a Galoisov²ch koneΦn²ch polφ. Algoritmy s· viac vhodnΘ pre HW realizßciu, z d⌠vodu r²chlosti dek≤dovania, aj ke∩ v s·Φasnosti existuj· aj r²chle SW realizßcie. 
  8. U konvoluΦn²ch k≤dov, na rozdiel od blokov²ch, je tvorba k≤dov²ch slov na sebe zßvislß, a preto sa im hovorφ aj k≤dy s pamΣ¥ou. K v²poΦtu redundancie je potrebnΘ si pamΣta¥ urΦit² poΦet informaΦn²ch symbolov, o ve╛kosti tzv. k≤dovacieho zßberu (constraint length) dσ₧ky m, preto ich oznaΦujeme (n,k,m) k≤dy. K≤dovacφ pomer u oboch typov k≤dov sa oznaΦuje ako pomer vstupn²ch a v²stupn²ch symbolov k/n. KodΘr konvoluΦnΘho k≤du vlastne predstavuje automat s koneΦn²m poΦtom stavov. Dek≤dovanie konvoluΦn²ch k≤dov je zalo₧enΘ na maximßlnom pravdepodobnostnom dek≤dovanφ pod╛a Viterbiho algoritmu, ktor² podporuje aj Communications Toolbox. K²m u blokov²ch k≤dov prevlßdaj· lineßrne systematickΘ k≤dy, u konvoluΦn²ch k≤dov s· znßme lineßrne aj nelineßrne zapojenia kodΘrov pracuj·cich v re₧ime "hard decision" (pevnΘ rozhodnutie) a "soft decision" (rozhodnutie s v²berom). HW realizßcia dekodΘra konvoluΦnΘho k≤du sa v literat·re neuvßdza, ide v²luΦne o SW realizßciu, kde sa pre sprßvne urΦenie dek≤dovanej postupnosti pou₧φva grafickß pom⌠cka trellis diagram. 
  9.  Pre blokovΘ aj konvoluΦnΘ k≤dy v Communications Toolboxe a Simulinku existuj· dva formßty pre zßpis vstupnej a v²stupnej postupnosti: sekvenΦn² a vektorov². Pri vektorovom vstupno-v²stupnom formßte kodΘr akceptuje dσ₧ku vstupnΘho vektora k a v²stupnΘho vektora n. Dσ₧ka vstupnΘho a v²stupnΘho vektora pre dekodΘr je inverznß ku kodΘru. Pred kodΘrom a za dek≤derom musia by¥ zapojenΘ pomocnΘ bloky Vec to Sca converter a Sca to Vec converter, ktorΘ menia vektorov· reprezentßciu na skalßrnu a naopak. U sekvenΦnΘho vstupnΘho a v²stupnΘho formßtu sa na vstupe kodΘra musφ najprv naplni¥ vstupn² buffer dσ₧kou postupnosti k a na v²stupe vyprßzdni¥ s dσ₧kou postupnosti n. Pri pou₧itφ tohto sp⌠sobu modelovania komunikaΦnΘho systΘmu v Simulinku je pre zabezpeΦenie sprßvnej funkcie dek≤dovania potrebnΘ nastavi¥ sprßvne ΦasovΘ oneskorenie jednotliv²ch blokov v dial≤gov²ch oknßch (vi∩ Chip 3/02). 
  10.  
  11. BlokovΘ a konvoluΦnΘ k≤dy v prostredφ Communications Toolbox
  12. V²chodzφm bodom konÜtrukcie kanßlov²ch k≤dov je minimßlna Hammingova vzdialenos¥ dmin (u blokov²ch k≤dov) a vo╛nß Hammingova vzdialenos¥ dfree (u konvoluΦn²ch k≤dov). KorekΦnΘ vlastnosti blokov²ch (n,k) k≤dov a konvoluΦn²ch (n,k,m) k≤dov s· potom danΘ vz¥ahmi (1): 
  13. kde u blokov²ch k≤dov je ( poΦet korigovan²ch ch²b v k≤dovom slove dσ₧ky n a u konvoluΦn²ch k≤dov je ( poΦet korigovan²ch ch²b v kvßzinekoneΦnej postupnosti, ktorΘ sa opakuj· s  bezpeΦn²m intervalom (BI).
  14. Communications Toolbox a Simulink podporuj· nasleduj·ce techniky k≤dovania a dek≤dovania:
  15. Lineßrne blokovΘ k≤dy: cyklickΘ k≤dy, BCH k≤dy, Hammingove k≤dy a Reed-Solomonove k≤dy.
  16. KonvoluΦnΘ k≤dy: re₧im dek≤dovania "hard decision", re₧im dek≤dovania "soft decision".
  17. Pozn.: Hammingove a Reed-Solomonove k≤dy s· Üpecißlny prφpad BCH (Bose, Chaudhuri, Hocquenghem) k≤dov.
  18. Funkcie blokov²ch k≤dov v Communications Toolboxe rieÜia nasleduj·ce ·lohy:
  19. * k≤dovanie a dek≤dovanie sprßvy;
  20. * v²poΦet charakteristφk k≤du;
  21. * v²poΦet dek≤dovacej tabu╛ky;
  22. * v²poΦet generaΦnej alebo kontrolnej matice;
  23. * v²poΦet primitφvnych generaΦn²ch polyn≤mov pod╛a zadan²ch po₧iadaviek.
  24. Funkcie konvoluΦn²ch k≤dov v Communications Toolboxe rieÜia nasleduj·ce ·lohy:
  25. * k≤dovanie a dek≤dovanie sprßvy;
  26. * polynomickß reprezentßcia konvoluΦnΘho kodΘra;
  27. * konverzia medzi binßrnou a oktßvovou reprezentßciou polyn≤mu;
  28. * urΦenie prenosovej funkcie zo zapojenia kodΘra; 
  29. * zobrazenie trellis diagramu.
  30.  
  31. Ukß₧ky modelovania blokov²ch a konvoluΦn²ch k≤dov
  32. Mo₧nosti podkni₧nice Error-Control Coding (ECC) Communications Toolboxu s· v prφspevku prezentovanΘ na dvoch modeloch, ktorΘ predstavuj· digitßlny komunikaΦn² systΘm s korekΦn²m kodΘrom/dekodΘrom. ┌lohou tejto dvojice je zak≤dova¥ a nßsledne opravi¥ sprßvu, ktorß je naruÜenß chybovou postupnos¥ou simulovanou modelom kanßla - Lmtd-b-err (Limited Binary Error Channel). Testovan² poΦet ch²b na v²stupe dekodΘrov (blok Error Rate) mo₧no porovna¥ s poΦtom ch²b v kanßle bez zapojenia dvojice kodΘr/dekodΘr. Oba modely s· realizovanΘ vo vektorovej forme. V modeli 1 sa zo zdroja (blok - Random Int) generuje nßhodnß postupnos¥ dekadick²ch Φφsel, ktorß je v konvertore (Sca to Vec convertor) zmenenß do binßrnej podoby. V modeli 2 je pou₧it² ako zdroj dßt blok Rd wksp (Read from workspace), kde sa synchronizovane, pod╛a predpφsanΘho Φasu vzorkovania, Φφta z pracovnΘho priestoru nßhodnß binßrna postupnos¥ predpφsanej dσ₧ky. 
  33. Model 1 (obr. 1) predstavuje digitßlny komunikaΦn² systΘm s Hammnigov²m (n,k) k≤dom typu (7,4). 
  34. Pre odbornφkov zaoberaj·cich sa problematikou k≤dovania s· znßme korekΦnΘ vlastnosti Hammingov²ch (n,k) k≤dov. Pre laick· verejnos¥ uve∩me, ₧e minimßlna Hammingova vzdialenos¥ k≤du (7,4) je dmin = 3 a poΦet korigovan²ch ch²b (, pod╛a (1) je (=1. Ide o tzv. "single-error correcting code" - k≤d opravuj·ci jednonßsobnΘ chyby v k≤dovom slove dσ₧ky n. 
  35. Model 2 (obr. 2) predstavuje digitßlny komunikaΦn² systΘm s konvoluΦn²m k≤dom (n,k,m), typu (2,1,2). Zapojenie kodΘra (obr. 3) je danΘ prenosovou funkciou (transfer function), ktorß v oktßvovej forme je tf = [5 7].
  36. KorekΦnΘ vlastnosti k≤du, uvedenΘ v odbornej literat·re, s· nasledovnΘ: vo╛nß Hammingova vzdialenos¥ dfree=5, Φo pod╛a (1) odpovedß poΦtu korigovan²ch ch²b (=2, periodicky sa opakuj·cich s urΦit²m (v praxi empiricky zisten²m) bezpeΦn²m intervalom BI. Tento typ k≤du, na rozdiel od Hammingoveho, je tzv. "double error correcting code". Dek≤dovanie modelu 2 pou₧φva re₧im "hard decision" a princφp maximßlne pravdepodobnostnΘho dek≤dovania (MP) pod╛a Viterbiho, ktorΘho trellis diagram je znßzornen² na obr. 4. Na obrßzku je ukß₧ka v²beru najlepÜej cesty cez mre₧ov· Ütrukt·ru (trellis), ktorß odpovedß dek≤dovanej postupnosti, pre Φasov² interval 9 taktov. Ve╛kos¥ trellis diagramu mo₧no meni¥ v dial≤govom okne konvoluΦnΘho dekodΘra parametrom (path memory length).
  37. Testy pre overenie korekΦn²ch vlastnostφ dekodΘrov, u oboch modelov, boli realizovanΘ pre dσ₧ku prenßÜanej postupnosti 10 000 binßrnych symbolov cez limitovan² binßrny symetrick² kanßl. Nastavenie dial≤govΘho okna modelu kanßla bolo uvedenΘ v predchßdzaj·com prφspevku. V prφpade HammingovΘho k≤du boli simulovanΘ jednonßsobnΘ chyby s pravdepodobnos¥ou perr = 10-2 , Φφm vzniklo v kanßle 26 jednonßsobn²ch ch²b.
  38. Pre druh² model s konvoluΦn²m k≤dom boli simulovanΘ dvojnßsobnΘ chyby s pravdepodobnos¥ou perr = [0 10-2], Φφm vzniklo v kanßle 26 dvojnßsobn²ch ch²b. V²sledky testovaia po zapojenφ kodΘrov/dekodΘrov do prenosovΘho re¥azca s· uvedenΘ v tab. 1. 
  39. Z tabu╛ky je zrejmΘ, ₧e Hammingov dekodΘr opravil vÜetky jednonßsobnΘ chyby. KonvoluΦn² dekodΘr opravil z 26 dvojnßsobn²ch ch²b 23 a 3 dvojnßsobnΘ chyby neopravil. Je to sp⌠sobenΘ t²m, ₧e niektorΘ chyby boli nßhodne generovanΘ s menÜφm bezpeΦn²m intervalom medzi sebou, s ak²m je schopn² dekodΘr chyby opravova¥. Tßto skutoΦnos¥ sa dß v praxi po otestovanφ oÜetri¥ zvΣΦÜenφm ve╛kosti dek≤dovacieho okna alebo v²berom inej dvojice konvoluΦn² kodΘr/dekodΘr. Testy korekΦn²ch vlastnostφ dekodΘrov v simulovan²ch modeloch mo₧no pod╛a potreby opakova¥ pri zmenen²ch typoch chybov²ch postupnostφ (error pattern) a hodnotßch pravdepodobnosti ch²b perr .
  40.  
  41. Zßver
  42. V prφspevku boli uvedenΘ sk·senosti s pou₧φvanφm d⌠le₧itej podkni₧nice Communications Toolboxu - Error Control Coding, z oblasti blokov²ch aj konvoluΦn²ch k≤dov. Treba skonÜtatova¥, ₧e v rßmci inovßcie programov²ch modulov Matlabu sa aj tßto pokni₧nica neustßle dopl≥uje o novΘ M funkcie a MDL bloky. Verzia Matlab 6.1 pou₧φva pre tvorbu MDL s·borov Communications Blockset. Z jeho rozÜφrenej ponuky spomeniem aspo≥ bloky Interleaver a Deinterleaver, ktor²ch ·lohou je sprßvne rozmiestni¥ dßta pred vstupom do kanßla a v²stupom z kanßla. Ide o ve╛mi d⌠le₧it· podporn· techniku, ktorß sa v praxi Φasto pou₧φva v kombinovanom k≤dovanφ. NajΦastejÜie ide o kombinßciu vonkajÜieho kodΘra (z mno₧iny blokov²ch k≤dov) a vn·tornΘho kodΘra (z mno₧iny konvoluΦn²ch k≤dov). Tento sp⌠sob k≤dovania sa pou₧φva napr. v systΘmoch digitßlnej televφzie DVD - T (Digital Video Broadcasting - Terrestrial).
  43.  
  44. Mßria Franekovß
  45.  
  46.