IRZ0020 Kodeerimine i ja krüpteerimine praktikum 4 Julia Berdnikova, julia.berdnikova@ttu.ee www.lr.ttu.ee/~juliad l 1
Infoedastussüsteemi struktuurskeem Saatja Vastuvõtja Infoallikas Kooder Modulaator Edastuskanal Demodulaator Dekooder Infotarbija Tallinna Tehnikaülikool, Raadio ja sidetehnika instituut. Julia Berdnikova, Urve Madar 2
Ülesanne 4.1 Häirekindel kood Koostada MATLABi script (*.m) Infoallikas kooder dekooder Koostada infoväärtuste tabel binaarsel kujul Lid Leida koodile (7,4) kordajate maatriksi tikija tekitava tkit maatriksi tiki hammgen(), Esitada kooderi maatriksid Kodeerida info i kooderiga encode(,n,k,'hamming/binary'); Esitada kooderitud d info tabeli blkujul Dekodeerida info decode( n,k,'hamming/binary'); Lisada esialgse ja kodeeritud info võrdlus isequal(), biterr(), if(a==b) Esitada kasutatud kooderi valemid Tallinna Tehnikaülikool, Raadio ja sidetehnika instituut. Julia Berdnikova, Urve Madar 3
Ülesanne 4.2 Häirekindel kood Koostada MATLABi script (*.m) BER2 Infoallikas kooder Edastuskanal dekooder Koostada infoväärtuste tabeli binaarsel kujul (4 väärtust) Kodeerida info i kooderiga (7,4) BER1 encode(,n,k,'hamming/binary'); Esitada kooderitud info tabeli kujul Lisadadiskreetse diskreetse sümmeetrilisekahendkanali (Binary Symmetric Channel) (bsc()) Dekodeerida kanali väljundi decode(,n,k,'hamming/binary'); Leida BER väärtused kodeeritud ja ilma kooderita BER1 ja BER2. biterr()/ (info või koodsõna pikkus length(x)) NB! Info ja koodsõna pikkused on erinevad Anda kooderi sisendile info pikkusega > 10000, info=randint(10000*k,1); Leida BER1 ja BER2 väärtused kodeeritud ja mittekodeeritud kujul Tallinna Tehnikaülikool, Raadio ja sidetehnika instituut. Julia Berdnikova, Urve Madar 4
Ülesanne 4.3 Häirekindel kood ja BER Lisada mudelile 4.2: SNR väärtused vahemikus 0 kuni 10. Näiteks snr=0:10 Käivitada BERi väärtuste leidmine for (end) tsükliga: Selleks tuleb lisada 2 massivi 1) Näiteks: BER_kanalis = []; BER_kooder = []; 2) Peale kooderi osa lisada tsükli alguse Näiteks: for muutuja=snr p=qfunc(sqrt(2*(10^(muutuja/10)))) (10 (muutuja/10)))) % errorprobability bsc() kanalile a) kanal bsc(,p) b).. dekooder c) BERi väärtuste leidmine BER1 ja BER2 d) BERi väärtuste salvestamine. Näiteks: BER_kanalis(length(BER_kanalis) + 1) = BER1 end %tsükli lõpp Esitada BER1 ja BER2 tulemused tabeli kujul (vigase sümboli tõenäosused kanalis, BER1 ja BER2) Esitada BERi tulemused graafiliselt semilogy(). Näiteks: semilogy(snr, BER_kanalis, g',snr, BER_kooder, b'); title('ber..'); xlabel( SNR'); ylabel('ber'); %Labels of the axis. legend( BER kanali väljundis', BER kooderiga'); grid on; Tallinna Tehnikaülikool, Raadio ja sidetehnika instituut. Julia Berdnikova, Urve Madar 5
Esitada laboratoorse töö aruandes: Matlabi lbiskript ki (teoreetlises osas kirjeldada d koodi omadused d) 4.1. a) Infoväärtuste tabel b) (7,4) kordajate maatriks ja genereeriv maatriks c) Kooderitud info tabeli kujul d) Esitadakasutatud kooderi valemid (r1, r2,r3) r3) 4.2. a) BSC vigase sümboli tõenäosus b) BER1 ja BER2 väärtused 4.3. a) BER1 ja BER2 tulemused tabeli kujul (iga BER koos vastava vigase sümboli tõenäosusega) b) BER1 ja BER2 tulemused graafiliselt Tallinna Tehnikaülikool, Raadio ja sidetehnika instituut. Julia Berdnikova, Urve Madar 6