TI P04 Zast Kodiranje I Dio

Embed Size (px)

Citation preview

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    1/50

    Zatitno kodiranje IZatitno kodiranje I

    Teorija informacije

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    2/50

    Teorija informacije 2 od 50

    Sadraj predavanjaSadraj predavanja

    Uvod Komunikacijski sustav; Cilj zat. kodiranja; Podjela zatitnih

    kodova.

    Blok kodovi Uvod Paritetno kodiranje

    Linearno binarni blok kodovi Generirajua matrica G i njen standardni oblik

    Kodiranje Dekodiranje (dekodiranje preko sindroma) Proraun vjerojatnosti ispravnog dekodiranja

    Hammingovi kodoviCiklini kodovi

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    3/50

    Teorija informacije 3 od 50

    Komunikacijski sustavKomunikacijski sustav

    Koder informacije Formira poruku (tzv. kodirana poruka) minimalne duljine koja

    opisuje sadraj na izvoru;

    Koder kanala

    Dijeli kodiranu poruku na fragmente koje u okviru ovog poglavljanazivamo porukama; Definira zatitni kd kojim se provodi pridruivanje zatitnih kodnih

    rijei porukama. Nazivlje: zatitne kodne rijei kodne rijei (engl. code words).

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    4/50

    Teorija informacije 4 od 50

    to kada otkrijemo pogreku?

    Cilj zatitnog kodiranjaCilj zatitnog kodiranja

    Cilj zatitnog kodiranja je iskoristiti onaj zatitni kd koji: Uvodi najmanje mogue poveanje prosjene duljine kodnih rijei u

    odnosu na prosjenu duljinu poruka; Osigurava prihvatljivo malu vjerojatnost da pogreke simbola

    zatitno kodirane poruke ostanu neotkrivene.

    Pokree se neki od postupaka otklanjanja pogreke (engl.error correction).

    Ispravljanje pogreki u dekoderu kanala (FEC engl. forward errorcorrection);

    Koriste se kodovi za otkrivanje i ispravljanje pogreaka (engl. errorcorrecting codes).

    Ispravljanje pogreki ponovnim slanjem (BEC engl. backwarderror correction).

    Koriste se kodovi za otkrivanje pogreaka (engl. error detection codes).

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    5/50

    Teorija informacije 5 od 50

    Dvije glavne skupine zatitnih kodova, i to: Blok kodovi (engl. block codes);

    Konvolucijski kodovi (engl. convolutional codes). Glavne razlike se odnose na nain izvedbe kodera.

    Blok kodovi: k-bitna poruka potpuno se preslikava u n-bitnu kodnurije, tj. generiranje nekog bita u kodnoj rijei funkcija je trenutanog

    stanja ulaza kodera; Konv. kodovi: generiranje nekog bita u kodnoj rijei funkcija je

    trenutanog stanja ulaza kodera kao i nekolicine prethodnih stanja.

    Druga podjela zatitnih kodova napravljena je na osnovu

    strukture i svojstava kodnih rijei, i to na: Linearane (engl. linear).

    Blok, konvolucijski i turbo kodovi.

    Nelinearne (engl. nonlinear).

    Podjela zatitnih kodovaPodjela zatitnih kodova

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    6/50

    Teorija informacije 6 od 50

    Blok kodoviBlok kodovi

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    7/50

    Teorija informacije 7 od 50

    Definicija: abeceda kodaDefinicija: abeceda koda

    Abeceda koda: Kodne rijei koda K sastoje se od simbolaizabranih iz konanog skupa simbola Fqs q elemenata kojeg

    nazivamo abeceda koda.

    Primjer: U digitalnim komunikacijskim sustavima koristi se

    abeceda F2={0, 1}. Simbolu abecede F2 su binarne znamenke0 i 1, dok se kodovi koji koriste ovu abecedu zovu binarnikodovi.

    Napomena: U okviru kolegija Teorija informacije prouavate se iskljuivo zatitni binarni kodovi!

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    8/50

    Teorija informacije 8 od 50

    0 0 ;

    0 1 ;=1 0 ;

    1 1 .

    A

    BPC

    D

    1

    0 0 0 ;

    0 1 1 ;

    = 1 0 1 ;

    1 1 0 .

    A

    B

    K C

    D

    2

    0 0 0 0 0 ;

    0 1 1 0 1 ;

    = 1 0 1 1 0 ;

    1 1 0 1 1 .

    A

    B

    K C

    D

    Kd K1 formiran dodavanjem

    jednog redundantnog simbola

    Kd K2 formiran dodavanjem tri

    redundantna simbola

    Primjer: zatitno kodiranjePrimjer: zatitno kodiranje

    Primjer: Izvor informacije generira etiri razliita simbola: A,B, Ci D, a koder informacije kodira ih kao:

    Koder kanala

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    9/50

    Teorija informacije 9 od 50

    Blok kd:Kd K zove seblok-kdukoliko su duljine svihnjegovih kodnih rijei jednake. Ako kodne rijei koda K imaju

    duljinu n, onda je Kblok-kd duljinen.

    Definicija: blok kDefinicija: blok kdd

    Primjer:

    1

    0 0 0 ;0 1 1 ;

    =1 0 1 ;

    1 1 0 .

    A

    BK

    C

    D

    2

    0 0 0 0 0 ;0 1 1 0 1 ;

    =1 0 1 1 0 ;

    1 1 0 1 1 .

    AB

    KC

    D

    Blok kod n= 3 Blok kod n= 5

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    10/50

    Teorija informacije 10 od 50

    Hammingova udaljenost:Hammingova udaljenost izmeu dvije kodne rijeije broj pozicija na kojima se kodne rijei razlikuju, tj. broj pozicija na kojimakodne rijei imaju razliite simbole.

    Oznaka Hammingove udaljenosti izmeu dviju kodnih rijeix iyje d(x, y).

    Definicija: Hammingova udaljenostDefinicija: Hammingova udaljenost

    Za kodne rijei i x,y i z blok-koda K, Hammingova udaljenost ima sljedeasvojstva: d(x,y)=0 ako i samo ako je x = y; d(x,y)=d(y,x) za sve x,y K; d(x,y) d(x,z) + d(z,y) za sve x,y,z K(nejednakost trokuta).

    Primjer:

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    11/50

    Teorija informacije 11 od 50

    OZNAKA BLOK-KODA:

    ( n, M, d)

    Udaljenost koda:Udaljenost koda K, s oznakom d(K), je najmanjaHammingova udaljenost svih parova kodnih rijei koda K, tj.

    DULJINA KODA

    BROJ KODNIH RIJEI U KODU

    DISTANCA KODA

    ( ),

    ( ) = min ( , )K

    d K d

    x y

    x y x y

    Definicija: Udaljenost blokDefinicija: Udaljenost blok--koda ikoda injegova oznakanjegova oznaka Dekodiranje kodne rijei se provodi na nain da se kao primljena kodna

    rije odabire ona koja od primljene rijei ima najmanju Hammingovuudaljenost princip dekodiranja najbliim susjedom.

    Sposobnost koda da otkrije ili ispravi pogreke ovisi o najmanjojHammingovoj udaljenosti izmeu svih parova kodnih rijei nekog koda K.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    12/50

    Teorija informacije 12 od 50

    Otkrivanje i ispravljanje pogreakaOtkrivanje i ispravljanje pogreaka(1/2)(1/2)

    Ako zatitni kd Kima distancu d(K) i ako sedekodiranje provodi principom najblieg susjeda,

    onda vrijedi sljedee:Kd Kmoe otkriti najvie d(K)1 pogreaka u jednoj

    kodnoj rijei, tj. ako je najvei broj pogreaka koje kd moe

    otkriti s, onda mora biti zadovoljen izraz d(K)s+1.

    Primjer (blok kd n= 3, M= 4, d(K) = 2 s= 1):

    1

    0 0 0 ;

    0 1 1 ;=1 0 1 ;

    1 1 0 .

    A

    BKC

    D

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    13/50

    Teorija informacije 13 od 50

    Otkrivanje i ispravljanje pogreakaOtkrivanje i ispravljanje pogreaka(2/2)(2/2)

    Ako zatitni kd Kima distancu d(K) i ako sedekodiranje provodi principom najblieg susjeda,onda vrijedi sljedee: ...

    Kd Kmoe ispraviti najvie (d(K)1)/2 pogreaka ujednoj kodnoj rijei, gdje je x oznaka za najvei cijeli brojmanji od x. Drugim rijeima, ukoliko se s toznai najvei

    broj pogreaka koje kd Kmoe ispraviti u jednoj kodnojrijei, onda mora biti zadovoljen izraz d(K)2t+1.(Napomena: Objanjenje slijedi u nastavku!)

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    14/50

    Teorija informacije 14 od 50

    10011101 1111

    0001 11000101

    0101 0111 00110100 0000

    0110

    0 1 2d d d

    = = =

    Kugla kodne rijeiKugla kodne rijei

    Kugla kodne rijei x radijusa rsu sve rijei (vektori) duljine nsaskalarima 0 i 1 ija je Hammingova distanca od x manja ilijednaka r.

    { }2( , ) = | ( , )nS r F d r x y x y

    Primjer: (x = [0101], Kugla S(x, 2))

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    15/50

    Teorija informacije 15 od 50

    Primjer: kugla kodne rijeiPrimjer: kugla kodne rijei

    Primjer: Dan je kd s etiri kodne rijei x1, x2, x3 i x4 i d(K)2t+1.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    16/50

    Teorija informacije 16 od 50

    n d= 3 d= 5 d= 7

    5 4 2 -

    6 8 2 -

    7 16 2 2

    8 20 4 2

    9 40 6 2

    10 72-79 12 2

    11 144-158 24 4

    12 256 32 4

    13 512 64 8

    14 1024 128 16

    15 2048 256 32

    16 2560-3276 256-340 36-37

    Osnovni zadatak teorije kodiranjaOsnovni zadatak teorije kodiranja

    Za definiranu duljinu kodne rijei nkoda Ki definiranu distancu d, odrediti najveimogui broj kodnih rijei M= A(n, d).

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    17/50

    Teorija informacije 17 od 50

    Neperfektan kd i ogranienje sfernog

    pakiranja

    Perfektan kd sve sfere pokrivaju

    sve vektore!

    2

    ...0 1 2

    n

    Mn n n n

    t

    =

    + + +

    PERFEKTAN KD

    2

    ...0 1 2

    n

    Mn n n n

    t

    + + +

    HAMMINGOVA MEA

    (SPHERE-PACKING BOUND)

    Hammingova mea zaHammingova mea za AA((nn,, dd) i) iperfektan kperfektan kdd

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    18/50

    Teorija informacije 18 od 50

    1 2

    0 0 0 0 0 0 0 1 0 0

    0 1 1 0 1 0 0 0 1 1= =1 0 1 1 0 1 1 0 0 0

    1 1 0 1 1 1 1 1 1 1

    K K

    Ekvivalentni kodovi:Dva binarna blok-koda su ekvivalentna ukoliko se jedan izdrugog mogu dobiti:(1) postupkom invertiranja simbola nad jednom ili vie pozicija koda,(2) zamjenom dviju ili vie pozicija koda prije ili nakon (1).

    Ekvivalencija blok kodovaEkvivalencija blok kodova

    Primjer: Kod K2 nastao iz koda K1.

    (1) zamjena simbola (0 1 i

    1 0) na treoj poziciji ukodu K1;(2) zamjena pozicija 2 i 4 svih

    kodnih rijei.

    Hammingova udaljenost

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    19/50

    Teorija informacije 19 od 50

    1 2

    1 2

    ( ),

    1 ( ).

    k

    k

    R x x x parni paritet

    R x x x neparni paritet

    = + + +

    = + + + +

    Paritetno kodiranje (1/2)Paritetno kodiranje (1/2)

    Koristi se iskljuivo za otkrivanje pogreaka u kodnoj rijei. Na poruku se dodaje jedan zalihosni simbol (bit) koji se naziva paritetni bit (engl. parity

    check).

    U praksi se koristi parni paritet (engl. even parity) ili neparni paritet (engl. odd parity).

    Primjer: Proraun vjerojatnosti neotkrivenih pogreaka (pnp) za paritet.

    Napomena: Paritetni bit Rse izraunava zbrajanjem aritmetikom modulo 2.

    n -duljina kodne rijei; p- vjerojatnost pojave pogreke na jednom bitu.

    neparno)1(1

    ...)1(4

    )1(2

    parno...)1(4)1(2

    14422

    4422

    ++

    +

    =

    ++

    +

    =

    nppn

    npp

    npp

    np

    npn

    n

    pp

    n

    pp

    n

    p

    nnnnp

    nnn

    np

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    20/50

    Teorija informacije 20 od 50

    1 2 , 1, ...,i i i m iC x x x i k = + + + =

    1 1 2 ,k mC R R R+ = + + +

    Paritetno kodiranje (2/2)Paritetno kodiranje (2/2)

    Vertikalna i horizontalna provjera zalihosti. Uvoenje zajednikih paritetnih bitova za vie uzastopnih poruka. Formiranje posebne kodne rijei s bitovima C1,..., Ck.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    21/50

    Teorija informacije 21 od 50

    Linearno binarni bLinearno binarni bloklok kodovikodovi

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    22/50

    Teorija informacije 22 od 50

    x1 x2 x1+ x2 x1 x20011

    0101

    0110

    0001

    [ ] [ ] [ ][ ] [ ]

    1 2 3 1 2 3 1 1 2 2 3 3

    1 2 3 1 2 3

    , , , ..., , , , ..., , , , ..., ,

    , , , ..., , , , ..., ,

    n n n n

    n n

    x x x x y y y y x y x y x y x y

    a a x x x x a x a x a x a x

    + = + = + + + +

    = =

    x y

    x

    Vektorski prostor: definicijaVektorski prostor: definicija

    Linearno binarni blok kodovi definiraju se preko skupa vektora (vektorski prostor) nadkojim su definirane odreene operacije.

    Kodnu rije opisujemo binarnim vektorom x = [ x1 x2 xn ]; xisu iz abecede F2 = {0, 1}.

    Na skupom F2 = {0, 1} definiraju se operacije zbrajanja i mnoenja u aritmetici modulo 2.

    Neutralni element s obzirom na zbrajanje je 0, a s obzirom na mnoenje je 1. U aritmetici modulo 2 zadovoljene su jednakosti: -1 = 1 i 11-1 = 1. Neka je V(n) skup svih binarnih vektora duljine nnad kojim su definirane operacije

    zbrajanja vektora i mnoenja vektora skalarom na sljedei nain:

    a, xi, yisu skalari iz F2; x, y su vektori iz V(n)

    S ovako definiranim operacijama skup V(n) je VEKTORSKI PROSTOR!

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    23/50

    Teorija informacije 23 od 50

    Linerani binarni blok kd:Neka je blok-kd K potprostor vektorskog prostora V(n): KV(n). Neka sux iy kodne rijei koda K i neka je a {0,1}. Ako je za svex , y i aispunjeno:x+y K, ax K,onda je K linearan binarni blok-kd.

    Definicija: linearni binarni blok kDefinicija: linearni binarni blok kdd

    Svi vektori duljine nine vektorski prostor V(n). Ako je Kpotprostor od V(n),onda je KLINEARAN BLOK KD!

    Zbrajanjem dvije kodne rijei nastaje neka nova rije koda K.

    Mnoenjem neke kodne rije

    i s konstantom nastaje neka nova rije

    koda K. Kodna rije0 pripada kodu K. Linerani blok kodovi: proraun udaljenosti koda preko teine kodnih rijei.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    24/50

    Teorija informacije 24 od 50

    d(K)=2

    Teina kodne rijei: Teina kodne rijeix koda K je broj pozicijakodne rijei na kojima se nalazi simbol1. Oznaka teine kodne

    rijeixje w(x).

    000

    011101

    110

    K: 22

    Definicija: teina kodne rijeiDefinicija: teina kodne rijei

    Primjer: w(101011) = 4, w(001000) = 1.

    Kod linearnih blok kodova vrijedi:d(x, y) = w(x y)

    Budui da je svaka razlika dvije kodnerijei neka kodna rije linearnog blok-koda, distancu koda odreujemo kao:

    d(K) = mini w(x) uz x 0

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    25/50

    Teorija informacije 25 od 50

    x = a [0 1 1] + b [1 0 1], a, b {0, 1}

    [0 0 0] = 0 [ 0 1 1] + 0 [ 1 0 1 ] [1 0 1] = 0 [ 0 1 1] + 1 [ 1 0 1 ]

    [0 1 1] = 1 [ 0 1 1] + 0 [ 1 0 1 ] [1 1 0] = 1 [ 0 1 1] + 1 [ 1 0 1 ]

    000

    011

    101110

    K: 22011

    101BAZA

    dimenzija potprostora:

    k= 2 (broj vektora u bazi)

    M= 2k (broj kodnih rijei)

    Vektorski prostor: baza prostoraVektorski prostor: baza prostora

    Baza vektorskog prostora/potprostora: Skup svih linearno nezavisnih vektora. Svi vektori nekog prostora/potprostora mogu se dobiti kao linearna kombinacija vektora

    baze.

    Primjer:

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    26/50

    Teorija informacije 26 od 50

    1 1 2 2=

    k ka a a + + + x b b b

    Generirajua matrica koda: Matrica dimenzija kniji se reci sastoje odvektora baze koda(n,M,d) se zove generirajua matrica. Oznaka G.

    K=

    0 0 0 0 0

    1 1 1 0 00 0 1 1 1

    1 1 0 1 1

    0 0 1 1 1

    1 1 0 1 1

    M= 4k= 2

    G =

    Definicija: generirajua matricaDefinicija: generirajua matrica GG

    Ako znamo bazu linearnog blok-koda (tj. vektorskog potprostora), ondasvaku kodnu rije moemo izraziti kao linearnu kombinaciju vektora baze:

    Iz razlga jednostavnosti generiranja kodnih rijei vektore baze stavljamo umatricu.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    27/50

    Teorija informacije 27 od 50

    0 0 0 0 0

    1 1 1 0 0

    = 0 0 1 1 1

    1 1 0 1 1

    K

    0 0 1 1 1

    = 1 1 0 1 1

    G

    0 [ 0 0 1 1 1 ] + 0 [ 1 1 0 1 1 ]

    0 [ 0 0 1 1 1 ] + 1 [ 1 1 0 1 1 ]

    1 [ 0 0 1 1 1 ] + 0 [ 1 1 0 1 1 ]

    1 [ 0 0 1 1 1 ] + 1 [ 1 1 0 1 1 ]

    = [ 0 0 0 0 0 ]

    = [ 1 1 1 0 0 ]

    = [ 0 0 1 1 1 ]

    = [ 1 1 1 0 0 ]

    Primjer: generiranje kodnih rijeiPrimjer: generiranje kodnih rijei

    Binarni kd K=(5, 4, 3)

    D fi i ij k li g bl kD fi i ij k li g bl k

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    28/50

    Teorija informacije 28 od 50

    d(K) = min w(x) = 3

    Oznaka linearnog blok koda: Ako je kd K vektorski k-dimenzionalnipotprostor vektorskog prostoraV(n), onda kd K ima oznaku[n, k]. Ukoliko jepoznata udaljenost koda d, onda je oznaka koda[n, k, d].

    0 0 0 0 0

    1 1 1 0 0=0 0 1 1 1

    1 1 0 1 1

    K

    n = 5

    M= 4 k= log2(4)=2 [5, 2] = (5,4).

    [5, 2, 3] = (5, 4, 3).

    Definicija: oznaka linearnog blokDefinicija: oznaka linearnog blokkodakoda

    Generirajue matrice ekvivalentnihGenerirajue matrice ekvivalentnih

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    29/50

    Teorija informacije 29 od 50

    0 0 0 0

    0 1 0 1

    = 1 0 1 1

    1 1 1 0

    K

    0 0 1 0

    0 1 1 1

    = 1 0 0 1

    1 1 0 0

    eK

    EKVIVALENTAN

    KD

    Generirajue matrice ekvivalentnih linearnih blok kodova: Dva ekvivalentnalinearna binarna blok-koda [n, k], K1 i K2, imaju generirajue matrice G1 i G2koje se jedna iz druge mogu dobiti sljedeim operacijama:

    (1) Zamjena redaka;(2) Dodavanje jednog retka drugom retku;(3) Zamjena stupaca.

    Generirajue matrice ekvivalentnihGenerirajue matrice ekvivalentnihlinearnih blok kodovalinearnih blok kodova

    Primjer: ekvivalentan kd (zamjena 0 1, 1 0 na treoj poziciji)

    Ekvivalentan kd linearnog blok koda nije nuno i linearan! Mora postojati

    kodna rije0. Sljedee pravilo definira nain dobivanja ekvivalentnih linearnih blok kodova:

    Definicija: standardni oblikDefinicija: standardni oblik

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    30/50

    Teorija informacije 30 od 50

    Standardni oblik generirajue matrice: Generirajua matricaG nekog kodaK ima standardni oblik ako ima strukturu

    G = [ Ik | A ],

    gdje je Ikjedinina matrica reda k, a A matrica dimenzija k(nk).

    01

    01

    10

    11

    11

    G = 10

    01

    01

    11

    11

    G =

    0

    1

    0

    1

    1

    0

    1

    1

    1

    1G =

    Definicija: standardni oblikDefinicija: standardni oblikgenerirajue matricegenerirajue matrice GG

    Primjer: Binarni kd K=(5, 4, 3) Generirajue matrice

    Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    31/50

    Teorija informacije 31 od 50

    1 1 1 0 0 0 0

    1 0 0 1 1 0 0

    0 1 0 1 0 1 0

    1 1 0 1 0 0 1

    [ 0 1 0 1 ]

    1 1 0 1 0 0 1

    1 0 0 1 1 0 0

    0 1 0 0 1 0 1

    +

    [ 1 0 1 1 ]

    G =

    1 1 1 0 0 0 0

    0 1 0 1 0 1 0

    1 1 0 1 0 0 1

    0 1 1 0 0 1 1

    +

    Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima(1/2)(1/2)

    Ideja kodiranja kodirana poruka odreuje vektore baze (retke matrice G)koji ulaze u linearnu kombinaciju s koeficijentom 1 kako bi dali kodnu rije.

    Na primjer: Ako je poruka [ 0 1 0 1 ], to znai da e se toj poruci pridruiti

    kd dobiven zbrajanjem 2. i 4. vektora baze.

    Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    32/50

    Teorija informacije 32 od 50

    1 1 1 0 0 0 0

    1 0 0 1 1 0 0

    0 1 0 1 0 1 0

    1 1 0 1 0 0 1

    [ 1 0 1 1 ]

    =

    1

    2

    k

    r

    rG

    r

    =1= = .

    k

    i

    i

    m ix r m G

    = [ 0 1 1 0 0 1 1 ]

    Kodiranje linearnim blok kodovimaKodiranje linearnim blok kodovima(2/2)(2/2)

    Nain formiranja kodne rijei x odgovara mnoenju vektor-retka kodiraneporuke m duljine ki generirajue matrice G u aritmetici modulo 2.

    PROBLEM gdje su bitovi kodirane poruke a gdje zatitni bitovi?

    Nesistematian kd.

    Kodiranje s matricomKodiranje s matricom GG uu

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    33/50

    Teorija informacije 33 od 50

    G =1 0

    0 1

    0 1 1

    1 1 1

    1 0

    0 1

    0 1 1

    1 1 1

    [ ]| = { , }. k

    m I A m m A

    I2

    A

    [ 0 1 ] = [ 0 1 ] [ 0 1 ] = [ 1 1 1 ]

    poruka zatitni bitovi

    1 0 0 1 1[ 0 1 ] = [ 0 1 1 1 1 ].

    0 1 1 1 1

    poruka zatitni bitovi

    Kodiranje s matricomKodiranje s matricom GG uustandardnom oblikustandardnom obliku

    Kada je generirajua matrica u standardnom obliku, generiranje kodne rijeise pojednostavljuje, a kd postaje sistematian.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    34/50

    Teorija informacije 34 od 50

    Dekodiranje linearnog blok kodaDekodiranje linearnog blok koda

    Primjer: Kd (5, 4, 3) = [5, 2, 3] otkriva dvostruku i ispravlja jednostrukupogreku koritenjem principa dekodiranja najbliim susjedom.

    0 0 0 0 0

    1 1 1 0 0=

    0 0 1 1 1

    1 1 0 1 1

    K

    Dekodiranje po principu pronalaenja kodne rijei koja od primljene kodnerijei ima najmanju Hammingovu distancu. Sloenost postupka raste s brojem kodnih rijei M; Za velike kodove ovaj postupak zahtijeva veliko optereenje procesora prijemnika. Razvijene su druge metode brzog dekodiranja linearnih blok kodova (Na primjer: Sindromsko

    dekodiranje). Sindromsko dekodiranje.

    Za razumijevanje ovog naina dekodiranja potrebno je poznavanje sljedeihpojmova: vektor pogreke, standardni niz, razred, matrica provjere pariteta isindrom.

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    35/50

    Teorija informacije 35 od 50

    Predajnik alje x = [ 1 1 0 1 1 ]

    Vektor pogreke: Vektor pogrekee za poslanu kodnu rijex =[x1, x2, , xn] i primljenu kodnu rijeiy =[ y1, y2, , yn ] se

    definira kao razlika vektora:1 2= = [ ].ne e ee y x

    Prijemnik prima y = [ 1 0 1 1 1 ]

    Vektor pogreke e = [ 0 1 1 0 0 ]

    Definicija: vektor pogrekeDefinicija: vektor pogreke

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    36/50

    Teorija informacije 36 od 50

    Standardni nizStandardni nizK=

    0 0 0 0 01 1 1 0 0

    0 0 1 1 1

    1 1 0 1 1

    0 0 0 0 10 0 0 1 0

    0 0 1 0 0

    0 1 0 0 0

    1 0 0 0 0

    1 1 1 0 11 1 1 1 0

    1 1 0 0 0

    1 0 1 0 0

    0 1 1 0 0

    0 0 1 1 00 0 1 0 1

    0 0 0 1 1

    0 1 1 1 1

    1 0 1 1 1

    1 1 0 1 01 1 0 0 1

    1 1 1 1 1

    1 0 0 1 1

    0 1 0 1 1

    Definicija: standardni niz i razredDefinicija: standardni niz i razred

    Standardni niz je tablica koja se formira na sljedei nain: U prvom retku su kodne rijei koda K; Prva kodna rije je 0; Prvi stupac je stupac vektora pogreki;

    U ostalim redcima nalaze se razredi koda Knastali dodavanjem vektora pogreke e kodnim rijeima koda K.

    lanovi nekog retka predstavljaju jedan razred (engl. coset) skupa kodnih rijei koda K. Svaki razred koda Kje blok kd nastao dodavanjem nekog vektora pogreke svim kodnim rijeima koda K.

    Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjem

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    37/50

    Teorija informacije 37 od 50y = [ 1 1 1 1 0 ]

    0 0 0 0 10 0 0 1 0

    0 0 1 0 0

    0 1 0 0 01 0 0 0 0

    1 1 1 0 11 1 1 1 0

    1 1 0 0 0

    1 0 1 0 00 1 1 0 0

    0 0 1 1 00 0 1 0 1

    0 0 0 1 1

    0 1 1 1 11 0 1 1 1

    1 1 0 1 01 1 0 0 1

    1 1 1 1 1

    1 0 0 1 10 1 0 1 1

    0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1

    PRIMLJENO:

    e = [ 0 0 0 1 0 ]

    VEKTOR POGREKE:

    x = [ 1 1 1 0 0 ]

    DEKODIRANO:

    Ako je primljeno[ 1 0 1 0 1 ] ?

    Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjemstandardnog niza (1/2)standardnog niza (1/2)

    Neka je primljena kodna rijey = [ 1 1 1 1 0 ]

    Pronai primljenu kodnu rijey u standardnom nizu; Ako y postoji tada je prvi element retka vektor pogreke, a prvi element

    stupca je poslana kodna rije; Ako y ne postoji tada je pogreka otkrivena, ali se ne moe ispraviti!

    Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjem

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    38/50

    Teorija informacije 38 od 50

    Primjer: dekodiranje koritenjemPrimjer: dekodiranje koritenjemstandardnog niza (2/2)standardnog niza (2/2)

    Dekodiranje pomoi standardnog niza je procesorski zahtijevan postupak utablicama velikih dimenzija to rezultira skupom i sloenom izvedbomdekodera kanala.

    Ubrzavanje postupka dekodiranja preko matrice provjere pariteta H. Potrebno je definirati sljedee pojmove: ortogonalnost, dualni kd i linearnost

    dualnog koda!

    ORTOGONALNOST Pretpostavimo da postoji linearni blok kd s oznakom K ije su sve kodne rijei

    ortogonalne na sve kodne rijei koda K. to je ortogonalnost? Skalarni umnoak svih vektora kodnih rijei iz Ki K

    jednak je nula. Na primjer: [ 1 1 0 0 0 ] [ 0 0 1 1 1 ] = 0.

    Definicija: dualni kDefinicija: dualni kd i njegovad i njegova

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    39/50

    Teorija informacije 39 od 50

    Dualni kd: Neka sux vektori koda K(x K). Skup svih vektoray vektorskogprostora V(n) koji su ortogonalni na svex Kini dualni kd koda K i imaoznaku K:

    gdje jexy skalarni produkt vektora u aritmetici modulo 2.

    {= ( ) | , = 0 ,K V n K y x y x

    00000

    11100 10111,

    10111 01011

    01011

    K

    = =

    G

    00000 01110

    10100 01101

    11010 00011

    11001 10111

    K

    =

    Linearnost dualnog koda: Neka je K linearni blok-kd[n, k]. Dualni kd

    koda K jelinearanblok-kd[n, n - k].

    Definicija: dualni kDefinicija: dualni kd i njegovad i njegovalinearnostlinearnost

    Generirajue matrice kodovaGenerirajue matrice kodova Ki

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    40/50

    Teorija informacije 40 od 50

    = [ 0 0 0 ]x H

    aj a aaj a aK

    Dualni kd je linearan posjeduje bazu i generirajuu matricu koju emooznaavati s H.

    Skalarni produkti izmeu svih parova redaka matrica G (kd K) i H (kd K)

    jednaki su 0 te vrijedi jednadba:

    Vano: Za provjeru ispravnosti primljene kodne rijei x dovoljno je skalarno

    pomnoiti primljenu kodnu rije sa svim vektorima generirajue matricedualnog koda kojih ima nk.

    =G H 0

    Matrica pro jere pariteta kodaMatrica pro jere pariteta koda KK

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    41/50

    Teorija informacije 41 od 50

    1 0 1 1 0=

    0 1 1 0 1

    G

    1 1 1 0 0

    = 1 0 0 1 0

    0 1 0 0 1

    H

    [ ]1 2 3 4 5 1 2 3 1 4 2 5

    1 1 0

    1 0 1

    [ ] ( ) ( ) ( ) [ 0 0 0 ]1 0 0

    0 1 0

    0 0 1

    y y y y y y y y y y y y

    = + + + + =

    Matrica H praktiki odreuje pozicije u kodnoj rijei iji zbroj u aritmetici modulo2 mora biti 0, odnosno pozicije na kojima mora biti zadovoljen PARNI PARITET.Matricu H zbog toga nazivamo MATRICA PROVJERE PARITETA!

    Matrica provjere pariteta kodaMatrica provjere pariteta koda KK

    Primjer: Sljedei par matrica G i H zadovoljava jednadbu GHT=0.

    Ukoliko je primljena kodna rijey primljena ispravno, onda njenim mnoenjem s HT

    moramo dobiti nul-vektor.

    Matrica provjere paritetaMatrica provjere pariteta HH i njeni njen

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    42/50

    Teorija informacije 42 od 50

    Proraun matrice provjere pariteta: Neka jeG generirajua matrica linearnogbinarnog koda K u standardnom obliku:

    Generirajua matrica dualnog koda K zadovoljava jednadbuGH =0 ijednaka je

    [ ]= | .kG I A

    = | .n k

    H A I

    Matrica provjere pariteta: Neka jeH generirajua matrica dualnog koda K. MatricaHse naziva matrica provjere pariteta(engl. parity-check matrix) ili paritetna matrica kodaK. U svakom retku matriceHjedinice odreuju pozicije unutar ispravne kodne rijei nakojima zbroj vrijednosti simbola mora biti paran broj. UkolikoH ima strukturu:

    gdje jeB kvadratna matrica, onda je paritetna matricaH u standardnom obliku.

    [ ]= | ,n kH B I

    p j pp j p jjstandardni oblikstandardni oblik

    Primjer: proraun matrice provjerePrimjer: proraun matrice provjere

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    43/50

    Teorija informacije 43 od 50

    0 0 0 0 0

    1 0 1 1 0 1 0 1 1 0= =

    0 1 1 0 1 0 1 1 0 1

    1 1 0 1 1

    K

    G

    2

    1 0 1 1 0= , =

    0 1 1 0 1

    I A

    3= |

    H A I

    1 1 1 0 0

    = 1 0 0 1 0 .0 1 0 0 1

    H

    j p p jj p p jparitetapariteta HH

    Primjer: Dekodiranje pomouPrimjer: Dekodiranje pomou

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    44/50

    Teorija informacije 44 od 50

    1 1 0

    1 0 1

    [ 1 1 0 1 1 ] 1 0 00 1 0

    0 0 1

    Primljena kodna rije y=[ 1 1 0 1 1 ]

    = [ 0 0 0 ].

    Primljena kodna rije y=[ 1 0 0 1 1 ]1 1 0

    1 0 1

    [ 1 0 0 1 1 ] 1 0 00 1 0

    0 0 1

    = [ 1 0 1 ].

    ?

    Dekodiraj pomou standardnog niza!Rje: e = [0 1 0 0 0] i x = [1 1 0 1 1]

    j j pj j pmatrice provjere paritetamatrice provjere pariteta HH

    Definicija: sindromDefinicija: sindrom

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    45/50

    Teorija informacije 45 od 50

    0 0 1

    Sindrom: Sindrom primljene kodne rijeiy koda K s paritetnom matricomHjevektor dobiven umnokom:

    S(y) =yH.

    0 0 0 0 1

    0 0 0 1 0

    0 0 1 0 0

    0 1 0 0 0

    1 0 0 0 0

    1 1 1 0 1

    1 1 1 1 0

    1 1 0 0 0

    1 0 1 0 0

    0 1 1 0 0

    0 0 1 1 0

    0 0 1 0 1

    0 0 0 1 1

    0 1 1 1 1

    1 0 1 1 1

    1 1 0 1 0

    1 1 0 0 1

    1 1 1 1 1

    1 0 0 1 1

    0 1 0 1 1

    0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1

    S(y)e

    0 0 0

    0 1 0

    1 0 0

    1 0 1

    1 1 0

    JEDAN VEKTOR POGEKE JEDAN SINDROM

    Definicija: sindromDefinicija: sindrom

    Sindromsko dekodiranjeSindromsko dekodiranje

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    46/50

    Teorija informacije 46 od 50

    e 00000 00001 00010 00100 01000 10000

    S(y) 000 001 010 100 101 110

    POSTUPAK DEKODIRANJA: izraunaj sindrom S(y) primljene kodne rijei y; iz tablice preslikavanja odredi vektor pogreke e; poslana kodna rije je x = y e.

    PRIMLJENO:

    y=[ 1 1 0 0 0 ]

    SINDROM:

    y HT =[ 1 0 0 ]

    VEKTOR e:

    e =[ 0 0 1 0 0 ]

    DEKODIRANO:

    x= y-e =[ 1 1 1 0 0 ]

    Sindromsko dekodiranjeSindromsko dekodiranje

    Sindrom jedinstveno odreuje vektor pogreke. Stoga moemo formirati tablicupreslikavanja izmeu sindroma S(y) i vektora pogreke e!

    Ukoliko se pojavi sindrom [011] ili [111], dolo je do viestruke pogreke koju nijemogue ispraviti!

    Vjerojatnost ispravnog dekodiranja (1/3)Vjerojatnost ispravnog dekodiranja (1/3)

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    47/50

    Teorija informacije 47 od 50

    Vjerojatnost ispravnog dekodiranja (1/3)Vjerojatnost ispravnog dekodiranja (1/3)

    Promatramo prijenos poruke preko BSC-a.Dogaaji pogrenog prijenosa simbola iste kodne rijei

    su neovisni omoguen jednostavan proraunvjerojatnosti pojave pogreke na kpozicija unutarkodne rijei duljine nsimbola.

    Primjer: Neka je tono kunaprijed odreenih

    pozicija simbola neke kodne rijei, duljine n,pogreno preneseno. Vjerojatnost ovog dogaajaje:

    Dobiveni izraz predstavlja vjerojatnost pojave bilokojeg vektora pogreke s kpogrenih simbola.

    kng

    kg pp

    )1(

    Vjerojatnost ispravnog dekodiranja (2/3)Vjerojatnost ispravnog dekodiranja (2/3)

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    48/50

    Teorija informacije 48 od 50

    Vjerojatnost ispravnog dekodiranja (2/3)Vjerojatnost ispravnog dekodiranja (2/3)

    Primjer: Za kd [n, k, d] = [5, 2, 3] vrijedi:p(00001)=p(00010)=p(00100)=p(01000)=p(10000)=

    Vjerojatnost p(K) da e rije dobivena dekodiranjempomou standardnog niza biti jednaka poslanoj

    rauna se iz:

    4

    ).1( gg pp =

    ing

    ig

    n

    i

    i ppNKp

    =

    = )1()(0

    Nije broj vektora pogreke s ijedinica koji pripadajustandardnom nizu blok koda Kduljine n.Primjer (kd [5, 2, 3]): {00000} N0 = 1; {00001, 00010, 00100,

    01000, 10000} N1 = 5; N2 = N3 = N4 = N5 = 0.

    Vjerojatnost ispravnog dekodiranja (3/3)Vjerojatnost ispravnog dekodiranja (3/3)

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    49/50

    Teorija informacije 49 od 50

    Vjerojatnost ispravnog dekodiranja (3/3)Vjerojatnost ispravnog dekodiranja (3/3)

    Ukoliko je poznata udaljenost koda d(K) tada kd Kmoe ispravitinajvie t-struku pogreku d(K) 2t+ 1. U standardnom nizu se zasigurno nalaze svi vektori pogreke s 0 it

    jedinica.

    =

    inNi

    Openito gledano, u standardnom nizu se mogu nalaziti i vektori pogreke svie od tjedinica. Ne postoji jednostavan nain prorauna N

    i

    .

    Ako je kd Kperfektan tada su sve rijei unutar kugli radijusa t. U standardnom nizu tada se nalaze iskljuivo vektori pogreke s ti manje

    jedinica.

    Vjerojatnost ispravnog dekodiranja u tom sluaju je:

    ing

    ig

    t

    i

    ppi

    nKp

    =

    = )1()(

    0

    Definicija: Kodna brzina zatitnog kodaDefinicija: Kodna brzina zatitnog koda

  • 7/27/2019 TI P04 Zast Kodiranje I Dio

    50/50

    Teorija informacije 50 od 50

    Definicija: Kodna brzina zatitnog kodaDefinicija: Kodna brzina zatitnog koda

    Oznaka: R(K) = udio informacijskih bitova u kodnoj rijei. K= [n,k] - linearni binarni blok kd; n duljina kodne rijei; k broj informacijskih bitova u kodnoj rijei.

    1)( =nkKR