Syndrom beregning på Reed-Solomon-dekoder

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:
Code:
 syndrom = kodeordet * (alpha. ^ ((n-1: -1:0) * (1 : t2)));
, 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
 
Din tvivl er mere af en Matlab syntaks tvivl om er, hvad jeg kan samle fra din forespørgsel. under forudsætning af alpha er polynomiet så du overvejer beføjelser alpha. Ved beregning af beføjelser til alpha du multiplicere (n-1: -1:0) * (1: t2) er ikke lig med (00:01: n-1) '* (1: t2). Da disse ikke er opgjort korrekt, dit svar ikke ville svare til den samme matrix, vil den matrix elementer vendes symmetrisk. Have det sjovt
 
Dette er baseret på, hvordan "kodeordet" er repræsenteret. f.eks kodeordet [1] vil enten svare til den højeste eller laveste grad sigt. i et af disse tilfælde, har du 0 til n-1. I den anden sag, ville det være n-1 downto 0.
 
kalyanasv & permute: Tak for dine svar. Jeg tror jeg har fundet kilden til problemet .. Jeg har endnu et spørgsmål. Kender du, er det muligt at se kildekoden algoritmer i Matlab, såsom Berlekamp-Massey algoritme. Jeg ved, at vi kan se ind i m-filer med edit kommando, men jeg kunne ikke finde Berlekamp-Massey algoritme derinde.
 
Ikke at jeg kender til. Matlab er ikke open source, det kun lader dig købe deres funktioner. Nu: et par muligheder for dig at prøve, er i) GNU baseret Octave (som er open source) tæt på Matlab og rimeligt omfattende ii) IT + + [url = "http://sourceforge.net/apps/wordpress/itpp/"] link [/URL], som er en pæn signal / information teorien C + + bibliotek ved nogle awesome svenske nørder!
 

Welcome to EDABoard.com

Sponsor

Back
Top