Implementacija kod/dekod z LFSR za detekcijo napak
Iz E-študij, proste zakladnice študentskega znanja
Delovanje LFSR
g(p) = p4 + p3 + p2 + 1 z = 100
1. Število celic je enako stopnji polinoma (stopnja 4 -> celice 0, 1, 2, 3) 2. (glej sliko) tisti + je logični operator XOR
p4 (oz. najvišja stopnja) je vedno na tisti črti kjer je vhod p2 in p3 pa pripeljmeo pred celici 2 in 3, in ju s XOR-jem povežemo z celico pred njima (glej sliko!) Če polinom ni vsebovan (v tem primeru p) ga pač ne pripeljemo in tudi XOR-ja ne damo. 1 pripeljemo pred celico 0.
Tako, zdaj je ta struktura zgrajena. Računamo pa tako:
Najprej so vse celice prazne (reset), na vhodu pa se že pojavi prvi bit. p4 se zračuna celica3 XOR vhod (torej 0 XOR 1 = 1): 0000 1 1
Potem prileti aktivna fronta, in celice se spremenijo. Iz slike je vidno da b v celico 0 "prišel" p^4, v celico 1 gre prejšnja vrednost celice 0, v celico 2 gre rezultat logične opercije: prejšnja vrednost celice 1 XOR tisto kar je na žici (p^4), v celico 3 pa gre rezultat logične operacije: prejšnja vrednost celice 2 XOR tisto kar je na žici (p^4). V p^4 se zapiše prejšnja vrednost celice 3 XOR nov vhod... itd
Dekodirnik je popolnoma ista stvar, le na koncu pač če nam pridejo samo 0 je ok, druače pa ni.