資源簡介
c語言 實現(xiàn)fec向前糾錯編碼,包括rs編碼和譯碼。

代碼片段和文件信息
/*?????????????rs.c????????*/
/*?This?program?is?an?encoder/decoder?for?Reed-Solomon?codes.?Encoding?is?in
systematic?form?decoding?via?the?Berlekamp?iterative?algorithm.
In?the?present?form??the?constants?mm?nn?tt?and?kk=nn-2tt?must?be
specified??(the?double?letters?are?used?simply?to?avoid?clashes?with
other?nkt?used?in?other?programs?into?which?this?was?incorporated!)
Also?the?irreducible?polynomial?used?to?generate?GF(2**mm)?must?also?be
entered?--?these?can?be?found?in?Lin?and?Costello?and?also?Clark?and?Cain.
??The?representation?of?the?elements?of?GF(2**m)?is?either?in?index?form
??where?the?number?is?the?power?of?the?primitive?element?alpha?which?is
??convenient?for?multiplication?(add?the?powers?modulo?2**m-1)?or?in
??polynomial?form?where?the?bits?represent?the?coefficients?of?the
??polynomial?representation?of?the?number?which?is?the?most?convenient?form
??for?addition.??The?two?forms?are?swapped?between?via?lookup?tables.
??This?leads?to?fairly?messy?looking?expressions?but?unfortunately?there
??is?no?easy?alternative?when?working?with?Galois?arithmetic.
??
The?code?is?not?written?in?the?most?elegant?way?but?to?the?best
of?my?knowledge?(no?absolute?guarantees!)?it?works.
However?when?including?it?into?a?simulation?program?you?may?want?to?do
some?conversion?of?global?variables?(used?here?because?I?am?lazy!)?to
local?variables?where?appropriate?and?passing?parameters?(eg?array
addresses)?to?the?functions??may?be?a?sensible?move?to?reduce?the?number
of?global?variables?and?thus?decrease?the?chance?of?a?bug?being?introduced.
??This?program?does?not?handle?erasures?at?present?but?should?not?be?hard
??to?adapt?to?do?this?as?it?is?just?an?adjustment?to?the?Berlekamp-Massey
??algorithm.?It?also?does?not?attempt?to?decode?past?the?BCH?bound?--?see
??Blahut?“Theory?and?practice?of?error?control?codes“?for?how?to?do?this.
??
Simon?Rockliff?University?of?Adelaide???21/9/89
??26/6/91?Slight?modifications?to?remove?a?compiler?dependent?bug?which?hadn‘t
??previously?surfaced.?A?few?extra?comments?added?for?clarity.
??Appears?to?all?work?fine?ready?for?posting?to?net!
??
Notice
--------
This?program?may?be?freely?modified?and/or?given?to?whoever?wants?it.
A?condition?of?such?distribution?is?that?the?author‘s?contribution?be
acknowledged?by?his?name?being?left?in?the?comments?heading?the?program
however?no?responsibility?is?accepted?for?any?financial?or?other?loss?which
may?result?from?some?unforseen?errors?or?malfunctioning?of?the?program
during?use.
Simon?Rockliff?26th?June?1991
*/
#include?
#include?
#include?
#include?
#define?mm??8???????????/*?RS?code?over?GF(2**4)?-?change?to?suit?*/
#define?nn??255????????/*?nn=2**mm?-1???length?of?codeword?*/
#define?tt??24???????????/*?number?of?errors?that?can?be?corrected?*/
#define?kk??207??????????/*?kk?=?nn-2*tt??*/
#define?n
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????18298??2009-08-17?16:18??RiBM.cpp
-----------?---------??----------?-----??----
????????????????18298????????????????????1
評論
共有 條評論