S
serhannn
Guest
Hej, jeg forsøger at gennemføre Berlekamp-Massey algoritme i Matlab til at afkode Reed-Solomon koder. Som den første har jeg til at beregne syndromer selvfølgelig for at se, om der er opstået en fejl. For dette, er syndromer opnås ved at evaluere de modtagne polynomiet på 2t nuller af kodeordet, hvilket betyder: S (j) = r (a j ) = C (a j [/ SUP ]) + E (a [sup] j ) = Σ k = 0 n-1 e k (a [SUP ] j [/SUP]) k j = 1,2 ,..., 2t hvor t = Fejlrettende evne til koden, n = længde (n, k) kode, en = primitive roden af GF feltet, når jeg gennemfører denne ligning i Matlab, får jeg det korrekte resultat med følgende kode:
, hvor alpha er primitiv rod, og kodeordet er R i ovenstående ligning. Med denne kode, får jeg nul-værdi syndromer når der ikke er fejl, hvilket betyder, at det er korrekt. Men jeg forstår ikke, hvorfor jeg skulle skrive det beløb, som (n-1: -1:0) i stedet for (0:01: n-1 ). Hvis jeg gør det sidste, jeg får et forkert resultat. Kan nogen forklare, hvorfor koden skal skrives sådan? Tak for din hjælp
Code:
syndrom = kodeordet * (alpha. ^ ((n-1: -1:0) * (1 : t2)));