3. KÓDY A KÓDOVÁNÍ

Transkript

3. KÓDY A KÓDOVÁNÍ
27
3. KÓDY A KÓDOVÁNÍ
Kód MH PQRåLQD V\PERO$ NWHUêPL Y\MDGXMHPH MHGQRWOLYp VWDY\ V\VWpPX 0QRåLQD
V\PERO$ P$åH EêW Y\MiGHQD EX SRPRFt WDEXON\ QHER GRKRGQXWêP V\VWpPHP SUDYLGHO
DOJRULWPHP 0MPH QDS V\VWpP NWHUê MH XUþHQ SRORKRX KUDFt NRVWN\ NU\FKOH 3R KRGX
NRVWNRXVHP$åHNRVWNDV\VWpPQDFKi]HWY jednom zãHVWLVWDY$SRORKNRVWN\3RORKDNRVWN\
MHQHMþDVWMLY\MDGRYiQDSRPRFtPQRåLQ\WHþNRYêFKV\PERO$3DGQHOLXUþLWêSRþHWWHþHNSDN
VLMLVWWHQWRVWDYQHSR]QDþtPHYWHþNRYpPNyGXDOHSRPRFtDUDEVNêFKþtVOLFDåNWHUpWYRt
MLQRX PQRåLQX V\PERO$ SUR Y\MiGHQt VWDYX V\VWpPX NRVWN\ -LQêP StNODGHP PQRåLQ\
V\PERO$ MVRX QDS U$]Qp MHGQRGXFKp REUi]N\ NWHUp XPRåQt KUiW GWHP
SHGãNROQtKR YNX ÄýORYþH QH]ORE VH³ DQLå E\ XPOL SRþtWDW QHER" PRKRX SRVRXYDW VYp
figurky na odpovídající obrázky hrací cesty. KódováníMHþLQQRVWEKHPNWHUpSHYiGtPHMHGHQ
NyG QD GUXKê D WR EX SRPRFt WDEXON\ QHER YKRGQêP DOJRULWPHP 9]WDK PH]L V\VWpPHP
kódem a kódováním ilustruje obr.3.1.
Kód
.-…
-.-.
-..
.
..-.
Kód
Systém
kódování
PQRåLQDVWDY$
systému
Kód
Kód
1
2
3
4
5
6
001
010
011
100
101
110
Kód Kód
I
II
II
I
I
V
tabulka tabulka
=DNyGRYiQtNRQNUpWQtKRVWDYXSRPRFtU$]QêFKNyG$DMHMLFKSHYRG
pomocí kódování:
QDSVWDYV\VWpPX
:
Kód
Kód
A
B
C
D
E
F
4
5
6
7
8
9
algoritmus
N+3
:::VI :):..-. :
Obr.3.1. Vztah mezi kódem, kódováním a systémem
.G\å NSHQRVX LQIRUPDFH SRXåLMHPH VLJQiO I\]LNiOQt YHOLþLQX NWHUi QHVH GDQRX
LQIRUPDFLP$åHPHS$YRGQtGHILQLFLNyGX]REHFQLWWDNåHPQRåLQX V\PERO$ ÄSRYDåXMHPH³ ]D
VWDY\ MLQpKR V\VWpPX 1DS KUDFt NRVWFH E\FKRP PRKOL SLDGLW QDS V\VWpP V fázovou
PRGXODFt NWHUê P$åH JHQHURYDW VLJQiO VãHVWL PRGXODþQtPL VWDY\ Ii]HPL ƒ ƒ ƒ ƒ
ƒƒQHERJHQHUiWRUNWHUêP$åHY\WYiHWãHVWU$]QêFKNPLWRþW$= tohoto pohledu je pak
PRåQR kód GHILQRYDW WDNp WDN åH MH WR GRKRGQXWê V\VWpP SUDYLGHO SUR MHGQR]QDþQp SLD]HQt
Yê]QDPXNH]QDN$PQHERVLJQiORYêPSUYN$P.
.yG O]H OLERYROQ SHWYiHW MHGHQ QD GUXKê DQLå E\ VH ]PQLOD YHOLNRVW LQIRUPDFH 3L
SHFKRGX]MHGQRKRNyGXGRGUXKpKRVHPQtPQRåVWYt]QDN$QHPXVtEêWYåG\VWHMQpDPQtVH
L SUDYGSRGREQRVW YêVN\WX MHGQRWOLYêFK V\PERO$ SLþHPå GRFKi]t NH ]PQ UHGXQGDQFH /]H
QDMtWWDNRYêNyGNWHUêEXGHPtWQHMYWãtHQWURSLLQDV\PEROWMQHMPHQãtSRþHWV\PERO$QDGDQp
PQRåVWYtLQIRUPDFH7DNRYêNyGEXGHQHMYêKRGQMãt] hlediska iGHiOQtKRSHQRVXEH]UXãHQt
QHER"EXGHY\åDGRYDWQHMPHQãtSRþHWV\PERO$DQHMNUDWãtGREXSHQRVX3URWRåHUHiOQpNDQiO\
MVRX YåG\ VUXãHQtP MH QXWQp SRXåtYDW NyG\ X NWHUêFK VH ]DYiGt ]iPUQ UHGXQGDQFH
XPRåXMtFtGHWHNFLStSDGQNRUHNFHFK\E
28
7DEXONDþ0H]LQiURGQtNyG07$07$LQYHU]QtNyGDNyG] 5
Inverzní kód
5-prvkový
7-prvkový
ýtVO
Písmen
ýtVOLF
mezinárodn
mezinárodn
prvn
druhá
VORåN
NyGþ
NyGþ
þiVW
þiVW
1
A
11000
0011010
1100
0011
2
B
?
10011
0011001
1001
1001
3
C
:
01110
1001100
0111
0111
kdo
4
D
0011100
1001
0110
10010
tam?
5
E
3
10000
0111000
1000
1000
6
F
“
10110
0010011
1011
1011
7
G
ß
01011
1100001
0101
0101
8
H
´
00101
1010010
0010
1101
9
I
8
01100
1110000
0110
1001
10
J
zvonek
11010
0100011
1101
1101
11
K
11110
0001011
1111
0000
12
L
01001
1100010
0100
1011
13
M
.
00111
1010001
0011
0011
14
N
,
00110
1010100
0011
1100
15
O
9
00011
1000110
0001
1110
16
P
0
01101
1001010
0110
0110
17
Q
1
11101
0001101
1110
0001
18
R
4
01010
1100100
0101
1010
19
S
,
10100
0101010
1010
0101
20
T
5
00001
1000101
0000
0000
21
U
7
11100
0110010
1110
1110
22
V
$
01111
1001001
0111
1000
23
W
2
11001
0100101
1100
1100
24
X
/
10111
0010110
1011
0100
25
Y
6
10101
0010101
1010
1010
26
Z
+
10001
0110001
1000
0111
27
návrat vozíku (CR
00010
1000011
0001
0001
28
SRVXQRiGHN/)
01000
1011000
0100
0100
StVPHQRYi]PQD
29
11111
0001110
1111
1111
(LS)
30
þtVOLFRYi]PQD)
11011
0100110
1101
0010
31
mezera
00100
1101000
0010
0010
32
QHSRXåLWR
00000
0000111
0000
1111
33
signál opakování
0110100
34
signál
trvale „0“
0101001
35
signál
trvale „0“
0101100
-
Kód
3z5
00111
11010
11100
10011
10101
01011
01101
10110
11001
01110
(01000
(11111
(00100
5R]GOHQtNyG$
.yG\ GOtP SRGOH U$]QêFK KOHGLVHN 1DS NyG\ P$åHPH UR]GOLW QD URYQRPUQp a
QHURYQRPUQp5RYQRPUQpNyG\PDMtYãHFKQ\]QDN\V\PERO\WYRHQpVWHMQêPSRþWHPSUYN$
YL]REUGYRMNRYêNyGRWHFKSUYFtFK1HURYQRPUQpPDMt]QDN\WYRHQpU$]QêPSRþWHP
SUYN$QDSMorseova abeceda).
0H]L]iNODGQtSRXåtYDQpNyG\SDWtWHOHJUDIQtNyG,62$6&,,NyG\YiKRYpSR]LþQt
GRSONRYêNyG%UD\$YNyGDWG9SRVOHGQtGREQDEêYDMtQDYê]QDPXY souvislosti sSHQRVHP
29
QHER XFKRYiQtP LQIRUPDFH NyG\ EH]SHþQRVWQt NWHUp VH GOt QD GHWHNþQt D NRUHNþQt QDS
cyklický kód, +DPPLQJ$YNyGDSRG
Telegrafní kód
7HOHJUDIQtNyGVHSRXåtYiY dálnopisných sítích. Schválen byl mezinárodní telegrafní unií
vURFH MDNR PH]LQiURGQt WHOHJUDIQt DEHFHGD þ 07$ ýHVNi YHU]H NyGX 07$ MH
uvedena v tabulce 3.1. Kód je SWLSUYNRYê WM Pi NDSDFLWX 1 5 3URWRåH Y anglické
DEHFHGMHStVPHQDNWRPXMHãWSRWHEXMHPHþtVOLFMHNDSDFLWDNyGXQHGRVWDþXMtFt7HQWR
UR]SRUVHHãtWDNåHVHYWãLQD]QDþHNNRPELQDFHSWLSUYN$Y\XåtYiGYDNUiW$E\VHSR]QDOR
MDNê Yê]QDP ]QDþND Pi SHGD]XMH VH NH VNXSLQ ]QDþHN ] levého sloupce tabulky 3.1
StVPHQRYi]PQD/6$«DVNXSLQ]QDþHN]SURVWHGQtKRVORXSFHþtVOLFRYi]PQD)6«
1DS]SUiYDÄ30'³E\E\OD]DNyGRYiQDWDNWR
11111
01101
00111
10010
P
M
D
11011
11000
01100
00001
-
8
5
StVPHQRYi]PQD$«þtVOLFRYi]PQD«
Kód ISO-7
SQiVWXSHPSRþtWDþ$DWHUPLQiORYêFK]Dt]HQt]WUiFtGiOQRSLV\SRVWXSQVY$MYê]QDPD
SHGSRNOiGi VH SR URFH MHMLFK SRVWXSQê ]iQLN .yG 07$ QHY\KRYXMH MLå VRXþDVWQêP
SRWHEiP SHQRVX ~GDM$ 3URWR E\O RUJDQL]DFHPL &&,77 Comité consultatif internacional
télégraphique et téléphonique) a ISO (International Standards Organization) v sedmdesátých
letech schválen nový kód ISO-7 (viz. tabulka 3.2).
7DNQDSStVPHQX
A
MHSLD]HQD]QDþND +
VORXSHFiGHN
DþtVOLFL
1
]QDþND +
VORXSHFiGHN
Kód ISO-7 byl odvozen z kódu ASCII, který vznikl v86$NGHVHSRXåtYiEåQ
XPLNURSRþtWDþ$$6&,, American Standard Code for Information Interchange,viz tab. 3.2).
.
Poznámka: váhový kód 8421 neboli kód BCD (Binary Code DHFLPDOY\MDGXMHGHVtWNRYp
þtVOLFHDåSRPRFtþW\SUYNRYpKRGYRMNRYpKRNyGXYL]WDE
=NyGX,62±.2,±VHY\ãORSLVHVWDYHQtosmiprvkového kódu ISO – 8 (KOI
2VPêSDULWQtELW ,62±E\O QDKUD]HQ Yê]QDPRYêP ELWHP XPRåXMtFtP Y\MiGLW PDOi L
YHONiStVPHQDD]EXN\DYþHVNpYHU]LStVPHQDVKiþN\DþiUNDPL.2,þV3UYQtFKVHGP
VORXSF$NyGRYDQpWDEXON\,62±MHVKRGQêFKVHVORXSFLNyGRYDFtWDEXON\,62±
9\WYiHQt þtVHOQêFK YiKRYêFK NyG$ MHMLFK Y]iMHPQp SHYRG\ LQYHU]Qt D GRSONRYê NyG
jsou uvedeny ve skriptech “Mikroprocesorová technika“ [12].
30
26
25
24
sloupe
%LQiUQ
(váhy 24)
23
22
21
20
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
iGHN
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
SS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
SP
!
“
ç
$
%
&
`
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
=
?
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
DEL
Tab 3.2 (ASCII = American Standard Code for Information Interchange).
*UD\$YNyG
*UD\$Y NyG SDWt GR VNXSLQ\ NyG$ QD]êYDQêFK VH
]PQRXYMHGQRPPtVW7HQWRNyGVHSRXåtYiYDQDORJRY
þtVOLFRYêFK SHYRGQtFtFK 1HYêKRGRX Grayova kódu je to,
åH MHGQRWOLYi PtVWD ]QDþHN QHPDMt SLD]HQ\ SHYQp YiK\
FRå ]WåXMH GRNyGRYiQt $OJRULWPXV SHNyGRYiQt StPpKR
dvojkového kódu do Grayova je následující :
GYRMNRYiþtVOLFHStPpKRNyGXV nejvyšší vahou (23)
VHSRQHFKiEH]H]PQ\
NDåGiQiVOHGXMtFtGYRMNRYiþtVOLFHStPpKRNyGXVH
LQYHUWXMH NG\å ML YStPpP NyGX SHGFKi]t QD Y\ããt Yi]H
MHGQLþND
Tab. 3.3 *UD\$YNyd
31
3ULQFLS\VQtåHQtFK\ERYRVWLSHQRVXGDW
D%H]]DEH]SHþRYDFtFK]Dt]HQt
1HMMHGQRGXããt ]S$VRE ]DMLã"XMtFt VQtåHQt FK\ERYRVWL SHQRVX MH X ]SUiY\ NWHUi VDPD
Pi MLå ]QDþQRX QDGE\WHþQRVW UHGXQGDQFL 1DS SVDQê WH[W WHOHJUDP REVDKXMH YHONp
PQRåVWYtQDGE\WHþQpLQIRUPDFH WDNåH MH PRåQp YWãLQRX FK\EX RSUDYLW LKQHG SRGOH VP\VOX
]SUiY\0iOLVDPD]SUiYDPDORXUHGXQGDQFLQDSþtVHOQpSRORåN\MHQXWQpML~þHOQ]YêãLW
1HMMHGQRGXããt ]S$VRE ]DEH]SHþXMtFt SLGiQt QDGE\WHþQp LQIRUPDFH MH RSDNRYiQt ]SUiY\
ZQiVOHGXMtFtKRY]iMHPQpKRSRURYQiQtGYDNUiWSHQHVHQp]SUiY\MHPRåQpRGKDOLWGHWHNRYDW
StSDGQp FK\E\ QHER" MH PiOR SUDYGSRGREQp åH E\ SL RSDNRYDQpP SHQRVX FK\E\
Y]QLNDO\ V\VWHPDWLFN\ QD VWHMQêFK PtVWHFK ]SUiY\ 3HQHVHPHOL ]SUiYX WLNUiW O]H GRNRQFH
]MLãWQp FK\E\ YWãLQRX StPR RSUDYLW NRULJRYDW SURWRåH VSUiYQpPX SHQRVX VH ]QDþQRX
SUDYGSRGREQRVWt RGSRYtGi V\PERO ]QDN NWHUê VH RSDNXMH GYDNUiW 7HQWR ]S$VRE VQtåHQt
FK\ERYRVWLSHQRVXMHYãDNYHOPLQHKRVSRGiUQêDSRPDOê
8þtVHOQêFKSRORåHN]SUiY\P$åHPHSRXåtW]DEH]SHþHQt~SUDYRX]SUiY\NRQWUROQtPVRXþWHP
QDSPiPHSHYpVWþtVOR
nebo MHGQRPtVWQêPVRXþWHPQDXUþLWRXKRGQRWXQDS“0”
'iOHO]HSRXåtWW]Y$1]DEH]SHþHQtýtVOR1VHQiVREtþtVOHP$QDS$ 6H ]DEH]SHþHQêPL þtVO\ SRPRFt $1 ]DEH]SHþHQt O]H SURYiGW ]iNODGQt SRþHWQt RSHUDFH
VþtWiQt RGþtWiQt QiVREHQt D GOHQt 3LMDWi þtVHOQi ]SUiYD MH EH] FK\E\ Y\MGHOL NRQWUROQt
GOHQtþtVOHP$EH]H]E\WNX
=DEH]SHþHQt ~SUDYRX ]SUiY\ MH YHOPL ~þLQQp 9êKRGRX MH åH QHY\åDGXMH åiGQi
StGDYQi ]Dt]HQt WDNåH SHQRVRYp NDQiO\ QDS GiOQRSLVQp MH PRåQR SRXåtW Y existující
SRGRE 1HYêKRGRX MH SUDFQRVW D ]GORXKDYRVW YODVWQtKR ]DEH]SHþHQt D NRQWURO\ GHWHNFH
chyb).
E%H]SHþQRVWQtNyG\SRPRFt]DEH]SHþRYDFtFK]Dt]HQt
VVRXþDVQp GRE H[LVWXMH YHONê SRþHW EH]SHþQRVWQtFK NyG$ D QD MHMLFK Yê]NXPX VH
GiOH SRNUDþXMH 9NDåGp REODVWL SHQRVX D ]SUDFRYiQt GLVNUpWQtFK LQIRUPDFt VH SRVWXSQ
VWDELOL]XMHXåtYiQtXUþLWêFKNyG$NWHUpVHXND]XMtMDNRQHMYêKRGQMãt] hlediska kompromisu
PH]L VWXSQP ]DEH]SHþHQt SURWL FK\EiP D MHGQRGXFKRVWt StSDGQ FHQRX UHDOL]DFH
StVOXãQêFK ]Dt]HQt %H]SHþQRVWQt UHGXQGDQWQt NyG\ GOtPH QD GHWHNþQt D NRUHNþQt
.ODVLILNDFHEH]SHþQRVWQtFKNyG$MHQDREU
U EORNRYêFK NyG$ VH SHQiãHQi SRVORXSQRVW ELQiUQtFK SUYN$ GOt QD VDPRVWDWQp
EORN\QDY]iMHPQH]iYLVOp8VSRMLWêFKNyG$MHUHGXQGDQFHYNOiGiQDVSRMLWGRSRVORXSQRVWL
SUYN$ 8 V\VWHPDWLFNêFK NyG$ separable FRGHV MH UR]ORåHQt LQIRUPDþQtFK D UHGXQGDQWQtFK
SUYN$ YH YãHFK EORFtFK VKRGQp -H ]QiPR NWHUp SUYN\ YEORNX MVRX LQIRUPDþQt D NWHUp
UHGXQGDQWQt8QHV\VWHPDWLFNêFKNyG$MHUHGXQGDQFHMDNRE\URYQRPUQUR]SWêOHQDYHYãHFK
prvcích bloku. Kódy sYQLWQtP]iNRQHPVHY\]QDþXMtWtPåHVHSL GHNyGRYiQt NRQWUROXMH
VSOQQtGDQpKR]iNRQDQDS]GDYãHFKQ\NyGRYpVORåN\PDMtVWHMQêSRþHWMHGQLþHN8NyG$
EH]YQLWQtKR]iNRQDO]HVSUiYQêStMHPNyGRYpVORåN\RYLWSRX]HSRURYQiQtPVHVRXSLVHP
WDEXONRX YãHFK VORåHN 0DMt YHONRX NyGRYRX Y]GiOHQRVW D QHO]H MH VQDGQR WHFKQLFN\
realizovat. Lineární kódyVHY\]QDþXMtWtPåHOLERYROQiOLQHiUQtNRPELQDFHNyGRYêFKVORåHN
32
MHRSWVORåNRXNyGX/LQHiUQtGYRMNRYpNyG\VHWpåYãHREHFQQD]êYDMtJUXSRYpSURWRåHNyG
WYRt JUXSX Y]KOHGHP NRSHUDFL VþtWiQt PRGXOR WM VRXþHW mod 2 libovolných dvou
NyGRYêFK VORåHN MH URYQå NyGRYRX VORåNRX Kód nelineární výše uvedené vlastnosti
OLQHiUQtFKNyG$QHPDMt
%H]SHþQRVWQtNyG\
GHWHNþQtNRUHNþQt)
6SRMLWpQDSUHNXUHQWQt
NRQYROXþQtHW]RYp
blokové
systematické
QDSF\NOLFNpNyG\
Hammingovy kódy,
*ROD\$YNyG
Reedovy-Mullarovy
kódy, BCH kódy)
nesystematické
Nelineární
QDSinversní kód)
SYQLWQtP
]iNRQHPQDS
MTA 3, isokód 3
z 7, isokód 2 z 5)
%H]YQLWQtKR
]iNRQDQDS
Plotkinovy
kódy)
2EU5R]GOHQtEH]SHþQRVWQtFKNyG$
c) Kontrolou kvality signálu
-HVWOLåHVHNRQWURORYDQêSDUDPHWUSLMtPDQpKRVLJQiOXRGFKêOtYG$VOHGNXSRUXFK\RG
MPHQRYLWpKRGQRW\RYtFHQHåSLSRXãWtGRYROHQiWROHUDQFHY\ãOHSLMtPDFtVWDQLFHN vysílací
VWDQLFL åiGRVW R RSDNRYiQt SRVOHGQt ]QDþN\ QHER FHOpKR EORNX EKHP NWHUp NWHUpKR
SRUXFKDQDVWDOD8YHGHQiPHWRGDMH]DORåHQDQDSHGSRNODGXåHY\ERþHQtGDQpKRSDUDPHWUX
signálu zWROHUDQþQtFK PH]t ]QHPRåQt EH]FK\EQp Y\KRGQRFHQt VLJQiOX YSLMtPDþL 3ULQFLS
detekce chyb kontrolou kvality signálu je na obr. 3.3.
VG$VOHGNX þDVRYêFK ]WUiW ]S$VREHQêFK QHXåLWHþQêP RSDNRYiQtP MH SRXåLWt WROHUDQþQtFK
GHWHNWRU$ PpQ HIHNWLYQt QHå EH]SHþQRVWQt NyGRYiQt 3URWR VH þDVWR ]DEH]SHþHQt NRQWURORX
NYDOLW\VLJQiOXNRPELQXMHVH]DEH]SHþHQtPEH]SHþQRVWQtPLNyG\
*HRPHWULFNiUHSUH]HQWDFHNyG$
8VSRiGDQRX SRVORXSQRVW SUYN$ NyGRYp VORåN\ P$åHPH SRYDåRYDW ]D VRXDGQLFH
ERGXYQUR]PUQpPHXNOLGRYVNpPSURVWRUX'DQRXNyGRYRXVORåNXP$åHPHWHG\]Qi]RUQLW
jako bod vSURVWRUX1DSWtSUYNRYêELQiUQtNyGO]H]Qi]RUQLWSRPRFtWURMUR]PUQpNU\FKOH
RKUDQMHGQRWNRYpGpON\YL]REU
Vzdálenost d (Ai, AjGYRXNyGRYêFKVORåHNMHGiQDSRþWHPPtVWYHNWHUêFKVHREVORåN\Ai,
Aj liší. ZKOHGLVNDJHRPHWULFNpKRPRGHOXMHY]GiOHQRVWNyGRYêFKVORåHNAi a AjGiQDSRþWHP
KUDQ NU\FKOH NWHUêPL MH WHED SURMtW QD FHVW ] vrcholu Ai do vrcholu Aj. Váha w kódové
33
VORåN\ MH GiQD SRþWHP MHGQLþHN YNyGRYp VORåFH 3UDYLGOD SUR VþtWiQt D RGþtWiQt modulo 2
jsou:
Obr.3.3 Princip detekce chyb kontrolou kvality signálu.
A = (a1, a2, a3)
Ai
A1
A2
A3
A4
NyGRYpVORåN\
platné
neplatné
000
001
010
011
100
101
111
2EUJHRPHWULFNp]Qi]RUQQtSUYNRYpKR
dvojkového kódu
kde symbol R]QDþXMHRSHUDFLVþtWiQtmodulo 2
symbol R]QDþXMHRSHUDFLRGþtWiQtmodulo 2.
-HYLGWåHQHQtUR]GtOYHYêVOHGNXPH]LVþtWiQtPDRGHþtWiQtP
u operací PRGXOR 7DG\ UR]GtO GYRX NyGRYêFK VORåHN GiYi
VWHMQêYêVOHGHNMDNRMHMLFKVRXþHW9]GiOHQRVWGYRXNyGRYêFKVORåHN]MLVWtPHSRGOH
0
0
1
0=0
1=1
0=1
0
0
1
0=0
1=1
0 =1
d(Ai, Aj) = w(Ai
Aj) = w(Ai
Aj)
(3.1)
34
1DSd (A1,A2) podle obrázku 3.4: d(A1, A2) = w(001 010) = w(011) = 2
ÒSOQê REUD] R Y]GiOHQRVWHFK PH]L NyGRYêPL VORåNDPL GDQpKR NyGX SRVN\WXMH PDWLFH
Y]GiOHQRVWt1DSWtSUYNRYêELQiUQtNyGVHVORåNDPL$1 = 001, A2 = 010, A3 = 100,
A4 = 111 má matici vzdáleností:
d(Ai, Aj)
A1
A2
A3
A4
A1
0
A2
2
0
A3
2
2
0
A4
2
2
2
0
Nejmenší vzdálenost vyskytující se mezi kódovými
VORåNDPLGDQpKRNyGXVHQD]êYiNyGRYivzdálenost D :
D = min d (Ai , A j ),
(3.2)
NWHUi MH G$OHåLWRX FKDUDNWHULVWLNRX NyGX ]KOHGLVND MHKR ]DEH]SHþXMtFt VFKRSQRVWL SURWL
FK\EiPýtPMH'YWãtWtPPRKRXEêWYODVWQRVWLEH]SHþQRVWQtKRNyGXOHSãt
=DEH]SHþXMtFtVFKRSQRVWNyGX
VyslaQi NyGRYi VORåND Ai P$åH EêW YG$VOHGNX UXãLYêFK YOLY$ YSHQRVRYpP NDQiOX
SLMDWDMDNRVORåNDBxWMMDNRVRXþHWPRGXORY\VODQpVORåN\AiDFK\ERYpVORåN\(
Bx = Ai
E
(3.3)
3RþHWFK\EQêFKSUYN$YSLMDWpNyGRYpVORåFHMHURYHQY]GiOHQRVWLPH]LSLMDWRXDY\VODQRX
NyGRYRXVORåNRX
q = w(E) = w(Ai Bx) = d(Ai,Bx)
(3.4)
1DS$1 VH]PQtQD$1´ = 101, pak :
d(A1´,A2) = 3
d(A1´,A3) = 1
d(A1´,A4) = 1
d(A1,A1´) = 1
Chyba vT SUYFtFK T ± QiVREQi FK\ED XUþLWp NyGRYp VORåN\ PQt MHMt vzdálenost od všech
VORåHNNyGXRTMHGQRWHN.QNWHUêPVHRTMHGQRWHNSLEOLåXMHRGRVWDWQtFKVHRTMHGQRWHN
vzdaluje.
Pro D = 1 a q = 1 vznik nedetekovatelné chyby,
D = 2 lze detekovat všechny jednoduché chyby,
D = 3 lze detekovat všechny dvojnásobné chyby.
2]QDþPH S SUDYGSRGREQRVW YêVN\WX FK\EQpKR SUYNX 3DN SUDYGSRGREQRVW VSUiYQpKR
StMPXSUYNXMH±S3UDYGSRGREQRVWåHEXGRXSLMDW\VSUiYQYãHFKQ\SUYN\QSUYNRYp
NyGRYpVORåN\MH±Sn3UDYGSRGREQRVWY]QLNXMHGQRGXFKpFK\E\QDOLERYROQpPPtVWQ
n −1
SUYNRYpVORåN\MH p1 = n ⋅ p ⋅ (1 − p ) ≈ n ⋅ p 3RGREQSURGYRMQiVREQpFK\E\
p 2 = C 2 (n ) p 2 (1 − p )
výskytu:
n−2
≈ C 2 (n ) p 2 2EHFQ SUR TQiVREQRX FK\EX MH SUDYGSRGREQRVW
p2 = Cq (n ) p q (1 − p )
n−q
(3.5)
3URY]iMHPQQH]iYLVOpFK\E\SLPDOpKRGQRWSSODWt
p1 > p 2 > p q > p n
(3.6)
VStSDGQH]iYLVOêFKFK\EMHSURWRQXWQpGHWHNRYDWQHERNRULJRYDWSHGHYãtPFK\E\Qt]Np
QiVREQRVWLQHER"VHY\VN\WXMtQHMþDVWML
35
9OLY TQiVREQp FK\E\ QD SHQRV QSUYNRYp NyGRYp VORåN\ O]H JHRPHWULFN\ ]Qi]RUQLW Y nUR]PUQpPSURVWRUXMDNRSRVXQXWtSRKUDQiFKMHGQRWNRYpQUR]PUQp³NU\FKOH³RTMHGQRWHN
tj. do vzdálenosti q QHER" YãHFKQ\ YUFKRO\ NU\FKOH YH Y]GiOHQRVWL T PDMt NyGRYRX
Y]GiOHQRVWTRGS$YRGQtVORåN\
Pro : q = 2
q=3
T QY\Xåitím3\WKDJRURY\YW\
2
n
3
1
1
1
q = 12 + 12 = 2
1
n −1
2
q=
( 2)
2
+ 12 = 3 ⇒
q=
(
)
2
n − 1 + 12 = n
'HWHNþQtVFKRSQRVWNyGX
$E\ E\OR PRåQp GHWHNRYDW FK\E\ QiVREQRVWL qd D PHQãt QHVPt MLå XYQLW DQL QD SRYUFKX
NRXOHRSRORPUX q d OHåHWåiGQêMLQêYUFKROQUR]PUQpMHGQRWNRYpNU\FKOHRGSRYtGDMtFt
SODWQpNyGRYpVORåFH&HVWXSRKUDQiFKQUR]PUQpNU\FKOHNWHUiMHYHVNXWHþQRVWLORPHQi
O]HSURMHGQRGXFKRVW]REUD]HQtQDKUDGLWStPNRXYL]REU
Kód který je schopen detekovat qdFK\EQêFKSUYN$PXVtPtWNyGRYRXY]GiOHQRVW 0 ≥ q d + 1 .
naopak kód s kódovou vzdáleností D je schopen detekovat chybu s násobností q d ≤ D − 1 .
.RUHNþQtVFKRSQRVWNyGX
3UDYGSRGREQRVW YêVN\WX FK\E\ NOHVi
sURVWRXFtQiVREQRVWtFK\E\]DSHGSRNODGXåH
výskyty chyb v jednotlivých prvcích kódové
VORåN\ MVRX Y]iMHPQ QH]iYLVOp3L StMPX
QHSRXåLWp FK\EQp NyGRYp VORåN\ MH PRåQp
SURWR
SHGSRNOiGDW
åH
VQHMYWãt
SUDYGSRGREQRVWt E\OD Y\VOiQD WD SODWQi
SRXåtYDQiNyGRYiVORåNDNWHUiPiRGSLMDWp
nejmenší vzdálenost.Kód schopný korigovat qc
FK\EQêFKSUYN$PXVtPtWNyGRYRXY]GiOHQRVW
2EU'HWHNþQtVFKRSQRVWNyGX
D ≥ 2qc + 1 pro liché D a D ≥ 2qc + 2 pro
sudé D viz obr. 3.6.
Obr. 3.RUHNþQtVFKRSQRVWNyGX
36
Kód schopný korigovat qc SUYN$DSRX]HGHWHNRYDWqdc musí mít kódovou vzdálenost
D ≥ 2qc + qdc + 1 = qc + qd + 1 jak vyplývá z obr. 3.7.
2EU6FKRSQRVWNyGXVRXþDVQNRULJRYDWDGHWHNRYDWFK\E\
ýtP YWãt MH SRåDGRYDQi NyGRYi Y]GiOHQRVW ' WtP YWãt MH UHGXQGDQFH NyGX 9]WDK
mezi kódovou vzdáleností a redundancí kódu není zatím prozkoumán natolik, aby se mohlo
tFL MDN YHONê PXVt EêW FHONRYê REMHP NyGX 1 DE\ E\OR PRåQR Y\EUDW NNyGRYêFK VORåHN,
MHMLFKåNyGRYiY]GiOHQRVWMHQHMPpQ'([LVWXMtSRX]HRGKDG\GROQtDKRUQtPH]HSRWHEQp
UHGXQGDQFH ÒþLQQRVW ]DEH]SHþHQt MH GiQD SRPUHP SRþWX RGKDOHQêFK NyGRYêFK VORåHN
kFHONRYpPXSRþWXFK\EQêFKNyGRYêFKVORåHN
3.5
Isokódy – blokové kódy nesystematické sYQLWQtP]iNRQHP
0H]LW\WRNyG\SDWtNyG\NRQVWDQWQtYiK\07$þDNyG] 5, které jsou uvedeny
vWDEXOFH3RþHWNPRåQêFKSRXåLWHOQêFKNyGRYêFKVORåHNNyGXV konstantní váhou w a
n-prvky vNyGRYpVORåFHMH
k = C w (n ) =
3UR07$þNyG
3 ze 7) je k rovno.
:
k=
n!
(n − w )! w!
7!
= 35
(7 − 3)!3!
D(A, B) = w(A ⊕ B) =
R =1−
log 2 35
= 0,27
log 2 27
0011 010 ≈ ”A”
⊕ 0011 001 ≈ ”B”
d(A, B) = w(A ⊕ B) = 2
0000 011
.yGRYiY]GiOHQRVW' XPRåXMHGHWHNFLSRX]HMHGQRGXFKpFK\E\T 3UR]DEH]SHþHQt
þtVOLFSLGiOQRSLVRYpPSHQRVXVHSRXåtYiNyG] 5 (viz tabulka 3.1).
k=
5!
= 10
(5 − 3)!3!
=> deset þtVOLF
D = 2 => q = 1
Kódy w zQ Y\ND]XMt GREURX ]DEH]SHþRYDFt VFKRSQRVW SL SRXåLWt YVLOQ
asymetrických kanálech. VþLVWDV\PHWULFNêFKNDQiOHFKNGHQDSGRFKi]tSRX]HN chybám
W\SX ]PQ QXO QD MHGQLþN\ DOH QH QDRSDN XPRåXMt ]MLãWQt YãHFK FK\EQ SHQHVHQêFK
]QDþHN
37
3.6
Inversní kód – blokový kód systematicky nelineární
9\VtODQi NyGRYi VORåND VH RSDNXMH EH]H ]PQ\ MHOL YLQIRUPDþQt þiVWL VXGê SRþHW QXO
vStSDGOLFKpKRSRþWXQXOYLQIRUPDþQtþiVWLVHY\ãOHDYGUXKpþiVWLLQYHUVQtKRNyGXLQYHUVH
SUYQtLQIRUPDþQtþiVWLWMWpNWHURX]DEH]SHþXMHPH,QYHUVQtNyGMHXYHGHQY tabulce 3.1.
,QYHUVQt NyG Pi UHGXQGDQFL 5 D NyGRYRX Y]GiOHQRVW ' 0$åH WHG\ GHWHNRYDW Då
WURMQiVREQp FK\E\ /]H SRXåtW L SUR NRUHNFL MHGQRGXFKp FK\E\ 3ULQFLS NRUHNFH MH SDWUQê
z následující tabulky.
Nachází-li se chybný prvek vSUYQt þiVWL LQIRUPDþQt SRORYLQ SDN SL VRXþWXmodulo 2 se
.yGRYiVORåND
vyslaná
SLMDWi
zaznamenaná
G
L
01011
01011
00011
01011
00011 10100
X
01001
10110
01011
10110
01011 10110
10111
01000
10111
00000
10111 11111
UR]ERU
NyGRYp
01011
10111
00011
SLMDWp
VORåN\ ⊕ 10100
⊕ 10110
⊕ 11111
10111
11101
01000
místo korekce
chyba
chyba
chyba
VKRGXMHMHGLQêSiUSUYN$ELW$YPtVWFK\E\1DRSDNGRãOROLNFK\EY]DEH]SHþRYDFtþiVWL
QHVKRGXMHVHSLVRXþWXPRGXORSiUSUYN$YPtVWFK\E\
3.7
Kódy systematické lineární
Kódy systematické lineární mají následující vlastnosti:
- jsou JUXSRYpQHER"WYRtJUXSXN operaci sþtWiQtmodulo 2,
PH]LSRXåLWpNyGRYpVORåN\SDWtYåG\QXORYiVORåND
RVWDWQtNyGRYpVORåN\MVRXXUþHQ\W]YJHQHUDþQtY\WYRXMtFtPDWLFt>*@NWHUiXNyGXQN
má kiGN$ D n VORXSF$ NGH n MH FHONRYê SRþHW SUYN$ YH ]QDþFH D kMH SRþHW
QH]DEH]SHþHQêFKLQIRUPDþQtFKSUYN$
MDNRiGN\PDWLFH>*@P$åHEêWSRXåLWRk libovolných nenulových lineárních nezávislých nSUYNRYêFKNyGRYêFKVORåHNSLþHPåOLQHiUQQH]iYLVOpMVRXWDNRYpVORåN\NyGX$r1 DåArk
SURQåSODWtF1Ar1 ⊕ c2Ar2 ⊕ …. ⊕ ckArk ≠ 0, kde c1 Dåck PRKRXOLERYROQQDEêYDW
nebo 1
iGN\JHQHUDþQtPDWLFHWYRtGDOãtFKkNyGRYêFKVORåHN
]EêYDMtFt NyGRYp VORåN\ k ± N ± VH ]tVNDMt MDNR PRåQp OLQHiUQt NRPELQDFH NyGRYêFK
VORåHNWYRtFtFKJHQHUDþQtPDWLFL
DE\ NyG PO SRåDGRYDQRX NyGRYRX Y]GiOHQRVW ' PXVt NDåGi VORåND $r WYRtFt JHQHUDþQt
PDWLFLEêWY]GiOHQDRGQXORYpVORåN\PLQLPiOQ'
d(Ar, 0) = w(Ar ⊕ 0) = w(Ar) ≥ D
(3.9)
VWHMQê SRåDGDYHN PXVt VSORYDW OLERYROQp GY VORåN\ $r1 , Ar2 navzájem :
d(Ar1 , Ar2) = w(Ar1 ⊕ Ar2) ≥ D
(3.10)
]DPQtOLVHVORXSFH JHQHUDþQtPDWLFH Y]QLNi VLFH MLQê NyG DOH ]DEH]SHþXMtFt VFKRSQRVW
38
NyGX VH QHPQt Z NRQVW 7DN O]H VRXVWHGLW SUYN\ QHVRXFt LQIRUPDFL QD SUYQtFK
k místech (jednotková matice)
:
1
0

0

.
.

0
0 0 0 . . . 0 , r11 . . . r1r 
1 0 0 . . . 0 , r21 . . . r2 r 

0 1 0. . . 0 ,




0 0 0 . . . 1 , rk 1 . . . rkr 
kVORXSF$rVORXSF$
=
[IkR]
.
[G]
=
10000 1001 
01000 1110 


00100 0110


00010 1010 
00001 1100 
QDSSUR' NyGRYi Y]GiOHQRVW OLQHiUQtKR V\VWHPDWLFNpKR NyGX Q N MH URYQD Yi]H MHKR QHMOHKþt
QHQXORYpVORåN\Ak :D = min w(Ak),
Y\VtODQi ]DEH]SHþHQi NyGRYi VORåND >9@ VH Y\WYit ]QH]DEH]SHþHQp LQIRUPDFH >,@ [V] = [I] . [G]
(3.11)
QDS >9@ >@ >*@ > @ VRXþHW D iGNX >*@
- matice [H] se nazývá maticí kontrolní, má n VORXSF$ D Q N iGN$
NyGRYiVORåND]QDþNDQiOHåtNyGXWHKG\DMHQWHKG\NG\å
[S] = [V] . [H]T = [0]
(3.12)
kde [H]T MH WUDQVSRQRYDQi PDWLFH >+@ iGNRYi PDWLFH >6@ VH QD]êYi V\QGURP VRXERU
St]QDN$6\QGURPP$åHVORXåtWNGHWHNFLStSDGQLNRSUDYFK\E
11011 1000 
01101 0100 
T

[H] = [R In-k] = 
01110 0010


10000 0001 
EH]FK\EQê StMHP >6@
NDåGiSLMDWiNyGRYiVORåND>3@PXVtVSORYDWSRGPtQN\VXGpSDULW\
QDSS1 ⊕ p2 ⊕ p4 ⊕ p5 ⊕ p6 = 0
p2 ⊕ p3 ⊕ p5 ⊕ p7 = 0
p2 ⊕ p3 ⊕ p4 ⊕ p8 = 0
p1 ⊕ p9 = 0
prvky syndrome kódu (9, 5)
SDNY\VODQi]DEH]SHþHQiLQIRUPDFHEXGH>9@ >,@[G]
>@
39
v1 = i1
v2 = i2
v3 = i3
k
.
.
.
n
vk = ik
v6 = i1 ⊕ i2 ⊕ i4 ⊕ i5
 p1 
[H] .  p 
 2
. 
 
. 
 pn 
 
=
0
0
 
. 
 
. 
0
= [S]T
v7 = i2 ⊕ i3 ⊕ i5
v8 = i2 ⊕ i3 ⊕ i4
r
v9 = i1
neboli [H] . [P]T = [S]T
Lineárním blokovým kódem je jednoduchý paritní kód (sudá parita). Kód má n míst ve
]QDþFH ] toho k Q ± LQIRUPDþQtFK 9\WYRXMtFt PDWLFH >*@ D NRQWUROQt PDWLFH >+@
jednoduchého paritního kódu mají tvar :
[G]
=
100000001
010000001


..................


000000011
[H]
=
[111111111]
pro
n
=
9
=DEH]SHþHQtLQIRUPDFHQDSNyGX,62MHGQRGXFKRXSDULWRXVSRþtYiYSLD]HQt
GDOãtKRPtVWDNH]QDþFHWDNDE\SRþHWMHGQLþHNYH]QDþFHE\OVXGêVXGiSDULWDQHEROLFKê
OLFKiSDULWD QHOLQHiUQtNyG3DULWQtNyG\PDMtNyGRYRXY]GiOHQRVW' SURWRXPRåXMt
zjistit všechny jednoduché chyby a chyby s lichou násobností.Kombinací lineárních paritních
NyG$GRVWiYiPHLWHUDþQtNyG\]QLFKåQHM]QiPMãtMHNyGVW]YNtåRYRXSDULWRX
=DEH]SHþHQtiGN$VHQD]êYiStþQiSDULWDD]DEH]SHþHQtVORXSF$SRGpOQiSDULWD,WHUDþQtNyG
P$åH EêW Y\SRþtWiQ MDNR NyG RSUDYQê NRUHNþQt SUR RSUDYX MHGQp FK\E\ 8PRåXMH ]MLVWLW
(detekovat) všechny chyby sOLFKRX QiVREQRVWt D GYRMLWp FK\E\ ,WHUDþQt NyG\ MVRX VLFH
UHDOL]DþQ MHGQRGXFKp ]DYiGMt YãDN YWãLQRX YWãt StGDYQRX QDGE\WHþQRVW QHå NyG\
F\NOLFNp'DOãt YDULDQWD LWHUDþQtKR NyGX VSRþtYi YGRSOQQt GDOãtKR iGNX Y\WYRHQpKR
NRQWUROQtPL ]QDN\ W]Y VSLUiORYp SDULW\ .RQWUROQt ]QDN\ VH Y\SRþtWiYDMt ]~KORStþQ
Y\EtUDQêFK LQIRUPDþQtFK D SDULWQtFK ]QDN$ .yGRYi Y]GiOHQRVW NRPELQRYDQêFK NyG$ MH
URYQD VRXþLQ$ NyGRYêFK Y]GiOHQRVWt YêFKR]tFK NyG$1DS X NtåRYp SDULW\
D = D1 . D2 = 2 . 2 = 4.
7DEXOND,WHUDþQtNyG
40
Hammingovy kódy
+DPPLQJRY\NyG\MVRXOLQHiUQtNyG\NWHUpMVRXXUþHQ\SUR]DEH]SHþRYiQt~GDM$
XNOiGDQêFK GR RSHUDþQtFK SDPWt þtVOLFRYêFK SRþtWDþ$ QHER NH ]YêãHQt YêWåQRVWL
YHONRNDSDFLWQtFK SRORYRGLþRYêFK SDPWt StSDGQ SUR NDQiO\ V nezávislými chybami. Kód
E\O VHVWDYHQ QD ]iNODG SRåDGDYNX DE\ V\QGURP >6@ SRNXG QHQt QXORYê XGiYDO VYêPL
prvky (VRXHGQLFHPLFKiSDQêPLMDNRþtVODYHGYRMNRYpVRXVWDYSRORKXFK\EQpKRPtVWD
YH]QDþFHNyGRYpVORåFH3URWRåHSODWt
[S] = [P] . [H]T = ([V] ⊕ [E]) . [H]T = [V] . [H]T ⊕ [E] . [H]T = [E] . [H]T
(3.13)
Pi SL MHGQRQiVREQp FK\E PDWLFH FK\E >(@ SRX]H MHGQX MHGQLþNX SURWR MH V\QGURP URYHQ
iGNXPDWLFH>+@TNWHUêRGSRYtGiMHGQLþFHYFK\ERYpiGNRYpPDWLFL>(@-HSURWRYêKRGQp
XVSRiGDWVORXSFHNRQWUROQtPDWLFH>+@WDNDE\Y i-WpPVORXSFLE\ORGYRMNRYpY\MiGHQtþtVOD
i3DNEXGHV\QGURPXGiYDWSRDGRYpþtVORPtVWDFK\EQpKR]QDNX
[H] =
000000011 
000111100 


011001100 


101010101 
[S] =[S4 S3 S2 S1]
D=3
1DS SUR SW LQIRUPDþQtFK SUYN$ N D Q MH SRþHW SUYN$ ]DEH]SHþHQt
U Q±N ± SRþHWiGN$>+@Dr – 1 = 24± VORXSF$NRQWUROQtPDWLFH>+@
1HFK" >9@ >Y1 v2 v3 v4 v5 v6 v7 v8 v9] = [v1 v2 v1 v4 v2 v3 v4 v8 v5]
Prvek syndromu
S1
S1
S1
S1
3RDGRYpþtVODPtVWDFK\E\NWHUi
mají vliv na Si
13579
2367
4567
89
-DNR ]DEH]SHþRYDFt SUYN\ YROLW W\
místa chyb, které se vyskytují jen
jednou v tabulce, tj. v1 , v2 , v4 , v8.
VNDåGp NRQWUROQt URYQLFL VH
]DEH]SHþHQtSURYiGtVXGRXSDULWRX
S1 = 0 = v1 ⊕ v3 ⊕ v5 ⊕ v7 ⊕ v9
Æ v1 = v3 ⊕ v5 ⊕ v7 ⊕ v9 = i1 ⊕ i2 ⊕ i4 ⊕ i5
S2 = 0 = v2 ⊕ v3 ⊕ v6 ⊕ v7 Æ v2 =
= v3 ⊕ v6 ⊕ v7 = i1 ⊕ i3 ⊕ i4
S3 = 0 = v4 ⊕ v5 ⊕ v7 Æ v4 = v5 ⊕ v6 ⊕ v7 =
= i2 ⊕ i3 ⊕ i4
S4 = 0 = v8 ⊕ v9 Æ v8 = v9 = i5
3RDGRYp þtVOR
místa chyby
0
1
2
3
4
5
6
7
8
9
S4 S3 S2 S1
0 0
0 0
0 0
0 0
0 1
0 1
0 1
0 1
1 0
1 0 0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
3R]QiPNDSUROLFKêSRþHWMHGQLþHNYVRXþWXLQIRUPDþQtFKSUYN$RSHUDFtPRGXORMHVRXþHW
URYHQ D ]DEH]SHþXMtFt SUYHN VXGp SDULW\ PXVt EêW URYHQ WDNp WDNåH VRXþHW NRQWUROQt
URYQLFHXUþXMH]DEH]SHþRYDFtSUYHNREGREQSURVXGêSRþHWMHGQLþHNMHURYHQQXOH
1DSSUR[I] = [i1 i2 i3 i4 i5] = [11000] je [V] = [011110000]
41
9\KRGQRFHQtSLStMPX>3@ >@
S1
S2
S3
S4
=
=
=
=
p1
p2
p4
p8
⊕
⊕
⊕
⊕
p3 ⊕ p5 ⊕ p7 ⊕ p9
p3 ⊕ p6 ⊕ p7
p5 ⊕ p6 ⊕ p7
p9
=
=
=
=
0
0
0
1
nastala chyba na osmé pozici
SLMDWp]QDþN\NyGRYp
VORåN\
3tNODG\Hammingeova kódu jsou uvedeny v [23] na str. 45, 46.
5R]ãtHQê+DPPLQJH$YNyG s kódovou vzdáleností D = 4 je odvozen z Hammingeova
kódu s' WDNåHYãHFKQ\]QDþN\MVRXGRSOQQ\StGDYQêPSUYNHP]DMLã"XMtFtPQDYtF
sudou paritu. Nová matice [H]EXGHPtWRMHGHQiGHNDMHGHQVORXSHFYtFH9 novém
SRVOHGQtPiGNXEXGRXVDPpMHGQLþN\þtPåMHY\MiGHQDQRY]DYHGHQiNRQWURODSDULW\
YãHFK]QDþHN=E\WHNSUYQtKRQRYpKRVORXSFHMHGRSOQQQXODPLDE\E\OQRYêVORXSHF
OLQHiUQQH]iYLVOêY$þLRVWDWQtP1DS
00000
00001
[H] = 0 0 1 1 0
01010
11111
00011
11100
01100
10101
11111
pro [I] = [11000] je [V] = [0111100000]
sudá parita
9\KRGQRFHQtUR]ãtHQpKRHammingeova kódu je následující:
syndrom
není roven nule
není roven nule
je roven nule
je roven nule
parita
souhlasí
nesouhlasí
souhlasí
nesouhlasí
vyhodnocení
došlo kGYRMQiVREQpFK\E
došlo k jednoduché (NRULJRYDWHOQpFK\E
]QDþNDMHEH]FK\EQi
došlo kFK\EY\ããtOLFKpQiVREQRVWL
Cyklické kódy
&\NOLFNpNyG\SDWtN blokovým systematickêPOLQHiUQtPNyG$P-HMLFKVSHFLILFNi
YODVWQRVWSRGOHNWHUpVHWpåQD]êYDMtVSRþtYiYWRPåHF\NOLFNRX]iPQRXSUYN$SRXåLWp
NyGRYpVORåN\Y]QLNiRSWSRXåLWiSODWQiNyGRYiVORåND-HOL
[V1] = [v1 v2 v3 ... vn-2 vn-1 vn ]
SRXåLWiVORåNDF\NOLFNpKRNyGXSDNLNyGRYpVORåN\
[V2] = [v2 v3 v4 ... vn-1 vn v1]
[V3] = [v3 v4 v5 ... vn v1 v2 ]
SDWtNSRXåLWêPVORåNiPNyGX
(3.14)
(3.15)
.yGRYpVORåN\F\NOLFNêFKNyG$MHYKRGQpUHSUH]HQWRYDWPDWHPDWLFN\MDNRPQRKR
þOHQ\9[.GRYiVORåNDSRGOHGpON\QMHSDNY\MiGHQDSRO\QRPHPQVWXSQ
V1(x) = v1 . xn-1 + v2 . xn-2 + … + vn-2 . x2 + vn-1 . x + vn
(3.16)
42
&\NOLFNêSRVXQSUYN$NyGRYpVORåN\RMHGHQSUYHNMHSDNHNYLYDOHQWQtQiVREHQt
GDQpKRSRO\QRPXþOHQHP[
V2(x) = x . V1(x) = v1 . xn + v2 . xn-1 + … + vn-1 . x2 + vn . x
(3.17)
Operace násobení se zde definuje modulo xn, kde platí xn+k = xk
pak xn+k = [(xn - 1) . xk] + xk ,
xn - 1 = 0 a tedy xn WDNåH
V2(x) = v2 . xn-1 + v3 . xn-2 + … + vn-1 . x2 + vn . x + v1
(3.18)
V3(x) = x . V2(x) = x2 . V1(x) = v3 . xn-1 + v4 . xn-2 + ... + vn . x2 + v1 . x + v2
(3.19)
&\NOLFNê Q N NyG MH WDNRYê NyG MHKRå NyGRY VORåN\ O]H Y\MiGLW PQRKRþOHQ\
VWXSQQDPHQãtKRMHåMVRXGOLWHOQpEH]H]E\WNXJHQHUDþQtPY\WYiHMtFtPPQRKRþOHQHP
*[VWXSQU Q±N'iOHGYRMþOHQxnPXVtEêWGOLWHOQê*[EH]H]E\WNX
2]QDþPH ,[ PQRKRþOHQ MHå UHSUH]HQWXMH SHQiãHQRX LQIRUPDFL k prvky. Postup
]DEH]SHþHQtMHQiVOHGXMtFt
.DåGê PQRKRþOHQ ,[ Y\MDGXMtFt QH]DEH]SHþHQRX LQIRUPDFL VH QHMSUYH QiVREt
þOHQHPxr: I(x) = I(x) . xrþtPåVHVWXSHNDåGpKRþOHQXSRO\QRPX,[]YêãtRUWMQDLU
7RMHHNYLYDOHQWQtSLSViQtUQXOQDNRQHFNyGRYpVORåN\>,@3RWRPVH,[GOtJHQHUDþQtP
PQRKRþOHQHP*[
,[
*[
=
,[ [
*[
U
= 4[ ⊕
5[
*[
(3.20)
'OHQtPY]QLNQHSRGtO4[D]E\WHN5[NWHUêP$åHEêWQHMYêãHVWXSQU
Úpravou (3.20) dostaneme:
I(x) . xr = Q(x) . G(x) ⊕ R(x) nebo I(x) . xr ⊕ R(x) = Q(x) . G(x),
(3.21)
SURWRåHY aritmetice PRGXORVHRGHþtWiQtVKRGXMHVHVþtWiQtP3UDYiVWUDQDY]WDKX
]DMLã"XMHGOLWHOQRVW,[xr ⊕5[EH]H]E\WNX/HYiþiVWURYQLFHWYRt
]DEH]SHþHQRXVORåNXQSUYNRYpKRNyGX
V(x) = I(x) . xr ⊕ R(x)
(3.22)
=E\WHNSRGOHQt5[WHG\XUþXMH]DEH]SHþXMtFtSUYN\'RSHQRVRYpKRNDQiOXVH
Y\VtODMtQHMSUYHLQIRUPDþQtSUYN\D]DQLPLSUYN\]DEH]SHþXMtFt
1DStNODGSURQ O]HUHDOL]RYDWWROLNF\NOLFNêFKNyG$GpON\Q NROLNH[LVWXMH
GOLWHO$GYRMþOHQX[73URWRåHGYRMþOHQ[7O]HUR]ORåLWQD
x7 + 1 = (x + 1) . (x3 + x + 1).(x3 + x2 + 1),
H[LVWXMHFHONHPU$]QêFKSRO\QRP$*[NWHUêPRGSRYtGDMtNyG\XYHGHQpY tabulce 3.5.
Tabulka 3.5
43
*HQHUDþQtPQRKRþOHQ
G1(x) = x + 1
G2(x) = x3 + x + 1
G3(x) = x3 + x2 + 1
G4(x) = (x + 1) . (x3 + x + 1)
G5(x) = (x + 1) . (x3 + x2 + 1)
G6(x) = (x3 + x + 1) . (x3 + x2 + 1)
r
1
3
3
4
4
6
kód (n, k)
(7, 6)
(7, 4)
(7, 4)
(7, 3)
(7, 3)
(7, 1)
3URLOXVWUDFL]DEH]SHþHQtSHQRVXLQIRUPDFHF\NOLFNêPLNyG\SRXåLMHPHNyG
sJHQHUDþQtP*2 = x3[8UþHPH]DEH]SHþHQtSURNyGRYRXVORåNX>,@ >@
UHSUH]HQWRYDQRXPQRKRþOHQHP,[ 3RGOHPXVtPH,[QHMSUYHQiVRELWþOHQHP
xr = x3, tedy I´(x) = 1 . x3 = x3FRåSHGVWDYXMHGRSOQQtNyGRYpVORåN\>,@WHPLQXODPL
>,@ >@1\QtY\GOtPH,[JHQHUDþQtPPQRKRþOHQHP*3(x):
I´(x)
G 3 (x)
= x 3 : (x 3 + x + 1) = 1 +
x +1
x + x +1
(3.23)
3
x3 + x + 1
x +1
=E\WHN5[ [WYRtUHGXQGDQWQtþiVWWDNåHY\VODQiVORåND9[EXGH
V(x) = I´(x) + R(x) = x3[WM>9@ >@*HQHUDþQtPDWLFLF\NOLFNpKRNyGX
(7, 4) lze zapsat v maticovém tvaru:
1000
[G] = 0100
0010
0001
101
111
110
011
D = 3
(3.24)
Uvedený kód je schopen detekovat všechny jednoduché a dvojnásobné chyby nebo
NRULJRYDWYãHFKQ\MHGQRGXFKpFK\E\6SUiYQRVWSHQRVXO]HQDSLMtPDFtVWUDQNRQWURORYDW
GOHQtPSRO\QRPX3[SLMDWpNyGRYpVORåN\JHQHUDþQtPPQRKRþOHQHP*[
P(x)
G(x)
=
I(x).x r + R(x) ⊕ E(x)
G(x)
= Q(x) ⊕
E(x)
G(x)
= Q(x) ⊕ M(x) ⊕
R p (x)
G(x)
(3.25)
-HVWOLåHPQRKRþOHQFK\E\([≠QHQtGOLWHOQêSRO\QRPHP*[EH]H]E\WNXSDN]E\WHN
Rp(x) ≠LQGLNXMHFK\EXSHQRVX=E\WHNRp(x) je roven nule vStSDGSHQRVXEH]FK\E\WM
([ QHERMHOLPQRKRþOHQ([≠GOLWHOQê*[EH]H]E\WNXþtPåFK\EDY tomto
StSDG]$VWDQHQH]MLãWQD
ZKOHGLVNDUR]ORåHQtFK\EQêFKPtVWYSHQHVHQp]SUiYGOtPHNDQiO\QDkanály s
nezávislým výskytem chyb a se shluky chyb. Shlukem chyb délky b rozumíme skupinu b po
VREMGRXFtFKSUYN$SRVORXSQRVWL]SUiY\]QLFKåDOHVSRSUYQtDSRVOHGQtMVRXFK\EQpD
vzdálenost kGDOãtPXVKOXNXFK\EMHYWãtQHåb-HOLJHQHUDþQtPQRKRþOHQF\NOLFNpKRNyGX
VWXSQr, pak detekuje shluky chyb b”U3RGOHGRSRUXþHQtPH]LQiURGQtQRUP\9±&&,77
VHSRXåtYDMtF\NOLFNpNyG\QN
sJHQHUDþQtPPQRKRþOHQHP&&,77±*[ [16 + x12 + x5R]QDþRYDQêWDNp6'/&
44
'iOHVHSRXåtYiF\NOLFNêNyG&5&VJHQHUDþQtPPQRKRþOHQHP*[ [16 + x15 + x2 + 1.
2EDNyG\PDMtU ]DEH]SHþRYDFtFKPtVWDGHWHNXMtQiVOHGXMtFtFK\E\
•
•
•
•
•
všechny jednoduché, dvojnásobné a trojnásobné chyby
MDNêNROLYOLFKêSRþHWFK\E
libovolný shluk o délce b = 16 nebo kratší
VKOXN$FK\ERGpOFHSUYN$WMNURP]15
YãHFKQ\VKOXN\FK\EGHOãtQHåSUYN$WMNURP] 216
8St]QDNRYêFKDQDO\]iWRU$VHSRXåtYDMtVHãWF\NOLFNpNyG\VJHQHUDþQtPL
PQRKRþOHQ\*[ [16 + x12 + x9 + x7 + 1 nebo G(x) = x16 + x9 + x7 + x4 + 1. Cyklické kódy
VHVQDGQRUHDOL]XMtSRPRFtSRVXYQêFKUHJLVWU$DVþtWDþN\modulo 2, jak ukazuje obrázek 3.8.
8 St]QDNRYp DQDOê]\ VH Y\XåtYi VNXWHþQRVWL åH XUþLWpPX VLJQiOX VOHGX MHGQLþHN D
QXO RGSRYtGi XUþLWê ]E\WHN 5[ NWHUê ]$VWDQH Y posuvném registru a je zobrazen pomocí
þW\ ãHVWQiFWNRYêFK þtVOLF R]QDþRYDQêFK MDNR St]QDN 3tVPHQRYp V\PERO\ þtVORF MVRX SUR
MHGQR]QDþQpþWHQtVHJPHQWRYêFK]REUD]RYDþ$SRXåLW\MLQpQHåVHEåQSRXåtYiXSRþtWDþ$
(A, C, F, H, P, U místo A, B, C, D, E, F),
16-bitový
posuvný
registr
QDSSt]QDN
R(x) = 1HP3
16
0
15
0
14
0
13
1
12
1
1
11
1
10
0
9
1
8
1
H
7
1
6
1
P
5
0
4
0
3
0
2
1
1
1
Σ⊕
3
Obr. 3.8 3ULQFLSUHDOL]DFHF\NOLFNpKRNyGXQDSXSt]QDNRYpKRDQDO\]iWRUX%0
7(6/$5RåQRY-Y\UiEtREYRG0+SURY\WYiHQtDNRQWUROXF\NOLFNêFKNyG$
LRC – 8: x8 + 1
CCITT: x16 + x12 + x5 + 1
CRC-16:
TS:
x16 + x15 + x2 + 1
x14 + x10 + x3 + 1
V1'5VHY\UiEOYVWXSYêVWXSQtREYRGSURVpULRYRXNRPXQLNDFL8'HNYLYDOHQW
Z80 SIO) s protokolem HDLC nebo SDLC sLPSOHPHQWDFtJHQHUDþQtFKSRO\QRP$&5&D
&&,77±8SURWRNROX+'/&VHSRVXYQêUHJLVWUQDSRþiWNXQHSOQtQXODPLDOHMHGQLþNDPL
(CRC = Cyclic Redundancy Check)
8 ORNiOQtFK VtWt W\SX (7+(51(7 VH SRXåtYi ]DEH]SHþHQt F\NOLFNêP NyGHP V 32
]DEH]SHþRYDFtPLSUYN\DJHQHUDþQtPPQRKRþOHQHP
G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
3tNODG\F\NOLFNêFKNyG$MVRXY>@QDVWUDå
HW]RYpNyG\
45
3L VQLåRYiQt FK\EQRVWL SHQRVX GDW SRPRFt VSRMLWêFK EH]SHþQRVWQtFK NyG$ VH
SRVORXSQRVWSUYN$QHGOtQDY]iMHPQL]RORYDQpEORN\DOHSURFHVNyGRYiQtDGHNyGRYiQtMH
QHSHWUåLWê SLþHPå PH]L LQIRUPDþQtPL SUYN\ MVRX Y pravidelných intervalech vkládány
SUYN\ ]DEH]SHþXMtFt 6SRMLWp NyG\ VH REY\NOH R]QDþXMt MDNR NyG\ NQ QHER" WHQWR SRPU
StPRY\MDGXMHHIHNWLYQRVWNyGX1DGE\WHþQRVWVSRMLWpKRNyGXMH5 ± NQ 6SRMLWp NyG\
jsou schopny korigovat shluky chyb.
8 HW]RYêFK NyG$ MH ]NDåGêFK Q SUYN$ VSRMLWp SRVORXSQRVWL MHGHQ SUYHN
]DEH]SHþXMtFtDN Q±SUYN$LQIRUPDþQtFK5HGXQGDQWQtSUYN\VHY\WYiHMtRSHUDFtmodulo
]H GYRX LQIRUPDþQtFK SUYN$ NWHUp MVRX RG VHEH Y]GiOHQ\ R W]Y NURN VþtWiQt / 7DNRYê
HW]RYêNyGMHVFKRSHQNRULJRYDWVKOXN\FK\EGpON\E”/1HYêKRGRX HW]RYpKRNyGXMH
YHONi UHGXQGDQFH 1D REU MH XYHGHQ SULQFLS þLQQRVWL NRGpUX HW]RYpKR NyGX s krokem L = 2, který je schopen korigovat VKOXN\FK\EDåGRGpON\E 3HStQDþ3Y\WYRt
QDYêVWXSXNRGpUXSRVORXSQRVWYHNWHUpVHVWtGDMtLQIRUPDþQtSUYN\VSUYN\]DEH]SHþXMtFtPL
QDS
?
1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 «LQIRUPDþQtSUYN\MVRXSRGWUåHQ\
…01101 →
zdroj
informace
…10001 →
P
posuvný registr
1
2
3
Σ⊕
4
2EU.RGpUHW]RYpKRNyGXSURNRUHNFLVKOXN$FK\EGRGpON\E 'HNRGpUHW]RYpKRNyGXVHVNOiGi]HGYRXþiVWtREYRGXGHWHNFHFK\E\DREYRGXSUR
NRUHNFLFK\E\1DREUMHQDNUHVOHQSULQFLSGHNRGpUXHW]RYpKRNyGX
1
2
3
4
5
1
Σ⊕
vstup
Σ⊕
Pr
obvod detekce chyby
Σ⊕
6
7
&
8
9
10
obvod korekce chyby
2EU'HNRGpUHW]RYpKRNyGXSURNRUHNFLVKOXN$FK\EGRGpON\
.RQYROXþQtNyG\
záznam
informace
46
Kodér NRQYROXþQtKRNyGXMHWYRHQ.VWXSRYêPSRVXYQêPUHJLVWUHPD1VþtWDþNDPL
PRGXORSLSRMHQêPLNQNWHUêPSUYN$PSRVXYQpKRUHgistru sSHStQDþHP3NWHUêSRVWXSQ
VQtPiYêVWXS\VþtWDþHN1DREUMHQDNUHVOHQStNODGNRGpUXSUR. D1 -HGQRPX
SUYNXQDYVWXSXNRGpUXRGSRYtGiXVSRiGDQiWURMLFHSUYN$QDYêVWXSXNRGpUXNWHUi]iYLVtQD
SHGFKR]tFKVWDYHFKNRGpUX3UR]Qi]RUQQtþLQQRVWLNyGXVHSRXåtYiEXkódový strom nebo
PtåRYêGLDJUDP.
3LGHNyGRYiQtNRQYROXþQtFKNyG$VHY\FKi]tEX]NyGRYpKRVWURPXW]YVHNYHQþQt
dekódování) nebo zPtåRYpKRGLDJUDPX9LWHUEL$YGHNyGRYDFtDOJRULWPXV
Minimální kódy
9HVGORYDFtFKNDQiOHFKNGHSUDYGSRGREQRVWYêVN\WXFK\E\MHPDOiO]HSRXåtWSUR
NyGRYiQt]SUiY\NyGXNWHUêE\]DUXþRYDOåH]DNyGRYDQi]SUiYDEXGHFRQHMNUDWãtDWtPLþDV
SRWHEQêNSHQRVX]DNyGRYDQp]SUiY\EXGHPLQLPiOQt7DNRYêNyGVHEXGHNRQVWUXRYDWWDN
åHMHGQDNNyGRYiQtMtPJHQHURYDQpEXGHMHGQR]QDþQdekódovatelné
Obr. 3.11 Kodér NRQYROXþQtKRNyGX
D QHMþDVWML VH Y\VN\WXMtFtP ]QDN$P VH SLDGt NyGRYDQp VORYR V nejkratší délkou.
Rozhodujícím faktorem pro posouzení kvality kódu z hlediska minimální redundance bude
SU$PUQiGpONDNyGRYDQêFKVORY5RNX'$+RIIPDQGRNi]DOåHWDNRYêNyGH[LVWXMH
a popsal i metodu konstrukce takového kódu.
-HVWOLåH]QiPHþHWQRVWMHGQRWOLYêFK]GURMRYêFK]QDN$D1, a2, …, ak
WM SUDYGSRGREQRVW Pi åH QD QiKRGQ ]YROHQpP PtVW ]SUiY\ VWRMt ³Di³ P$åHPH XUþLW
VWHGQtGpONXNyGRYpKRVORYDSLGDQpPNyGRYiQt
L = d1p1 + d2p2 + … + dkpk
,
kde dl je délka kódovaného slova K(ai).
47
Nejkratším (minimálním) kódem dané zdrojové abecedy ΑVHUR]XPtNyGSHVQMLNyGRYiQt
sFR QHMPHQãt SU$PUQRX GpONRX VORYD / Lmin. Hodnota Lmin ]iYLVt QHMHQ QD UR]GOHQt
SUDYGSRGREQRVWL ]GURMRYp DEHFHG\ DOH L QD SRþWX Q NyGRYDQêFK ]QDN$ -HGQRGXFKRX
konstrukci kódu sSRPUQKRGQRWRX/QDYUKOLFano a Shannon: znaky a1, a2, …, ak napíšeme
SRGVHEHUR]GOtPHMHRGVKRUDGRO$QDVNXSLQWDNDE\NDåGiVNXSLQDPODSLEOLåQVWHMQRX
SUDYGSRGREQRVW MDNR RVWDWQt WM Q 3UYQt VNXSLQ SLDGtPH ]QDN E1, první znak zdrojové
abecedy, druhé VNSLQ E2 DWG SRVOHGQt VNXSLQ SLDGtPH bn. 9H GUXKpP NURNX UR]GOtPH
libovolnou (i-tou) skupinu, vQtå MH YtF QHå MHGHQ ]QDN QD Q VNXSLQ SLEOLåQ VWHMQ
SUDYGSRGREQêFK3UYQt]WFKWRSRGVNXSLQSLDGtPHVORYRbibl, druhé bib2 atd.
3RVWXSXMHPHWDNGORXKRDåQHQtFRUR]GOLWWMYNDåGpVNXSLQMHMHGLQê]QDN9êVOHGQêNyG
MHXUþLWSUHIL[RYêDOHQHQtREHFQQHMNUDWãt
Huffmanova konstrukce MH VORåLWMãt NRQVWUXNFH NyGRYiQt QHå Fanova-Shannonova, ale její
SHGQRVWtMHåHYåG\YHGHN nejkratšímu kódování.
I. Binární kódování. Nejkratší binární (n=2) kódování dané zdrojové abecedy najdeme
WDNWR6URYQiPHDEHFHGXSRGOHSUDYGSRGREQRVWtWMWDNDE\SODWLORS1 ≥ p2 ≥ … ≥ pk.
Znaky a1, … ak QDStãHPH SRG VHEH D YHGOH QLFK MHMLFK SUDYGSRGREQRVWL 6HþWHPH
SRVOHGQt GY D YêVOHGHN pk-1 + pk ]DDGtPH SRGOH YHOLNRVWL PH]L RVWDWQt
SUDYGSRGREQRVWL ± JUDILFN\ SURYiGtPH YRGRURYQRX þiURX 3RWRP ]DVH VHþWHPH GY
SRVOHGQtSUDYGSRGREQRVWLDYêVOHGHN]DDGtPH7RSURYiGtPHWDNGORXKRDåGRMGHPH
kVRXþWX 6þtWDQF$P WRKRWR VRXþWX SLDGtPH VORYD D .G\NROL MVPH QNWHUpPX
SLDGLOLELQiUQtVORYRE1 b2 … bmSRWRPVþtWDQF$PSLD]XMHPHVORYDE1 b2 … bm 0 a b1
b2 … EPO6NRQþtPHWHKG\NG\åMVPHYãHP]GURMRYêP]QDN$PSLDGLOLELQiUQtVORYR
II. N-ární kódování. Kódujeme abecedou b1, b2, …, bn. Postup je zcela analogický jako
vELQiUQtP StSDG QHMSUYH SURYiGtPH VRXþW\ SRVOHGQtFK Q GRVXG QHVHþWHQêFK
SUDYGSRGREQRVWtD]DD]XMHPHMHDåGR]tVNiQtVRXþWXO3RWRPSRVOHGQtPVþtWDQF$P
SLDGtPHVORYDE1, b2, … , bnDNG\NROLMVPHSLDGLOLVRXþWXVORYR%SRWRPVþtWDQF$P
SLD]XMHPHVORYD%E1, Bb2, Bbn.
Poznámka:MHGLQRXYêMLPNRXMHSUYQtVRXþHW%XGHPHVþtWDWUVþtWDQF$NGHU «
Q WDN DE\ VRXþHW Q − U QHVþtWDQêFK ]QDN$ E\O GOLWHOQê þtVOHP Q − O . To obvykle
UHDOL]XMHPH WDN åH JUDILFN\ RGWUKQHPH SUYQtFK Q − O ]GURMRYêFK ]QDN$ SDN GDOãtFK
Q − O DWGDå]EXGHQHMYêãHQDQHMPpQ]QDN\NWHUpVHþWHPH3LGDOãtPVþtWiQtMLå
VþtWiPHQ]QDN$
3tNODG\MVRXY>@QDVWUDå
3.11
Reedovy-Mullerovy kódy
Reedovy-Mullerovy (þWL rídovy-malerovy) kódy jsou nejstarší známou WtGRX NyG$
opravujících volitelný SRþet chyb. Byly objeveny v roce 1954 a jejich význam VSRþtYi ve
velmi jednoduché dekódovací PHWRG která se také snadno implementuje. Ve srovnání s
BCH kódy, kterým YQXMHPH kap. 3.12, mají slabší parametry. 3HVWR jsou prakticky
Yê]QDPQ. 1DStNODG kód R(1,5) SRXåLO kosmický koráb Mariner 9 SL vysílání fotografií z
Marsu.
Definice Reedových-Mullerových NyG$je ]DORåHQDna boolovských funkcích.
Boolovské funcke jsou funkce, nabývající jen hodnot 0 a 1 SL SURPQQêFK které jsou také
jen 0 nebo 1. 3RGUREQMLboolovská funkce m SURPQQêFKje SHGSLVIkterý NDåGpPtici x1,
48
x2, … , xm nul a MHGQLþHNSLD]XMHhodnotu f(x1, x2, … , xm) = 0 nebo 1; f je tedz zobrazení
zPQRåLQ\ = P GRPQRåLQ\ =
. Tato zobrazení ]DSLVXMHPEXSRPRFtSUDYGLYRVWQtWDEXON\MDNRVORYDGpON\ P , nebo jako
boolovské polynomy.
3UDYGLYRVWQtWDEXONDMHWDEXONDYHNWHUpY\StãHPHYãHFKQ\PRåQpNRPELQDFHKRGQRW
x1, x2, … , xm D X NDåGp NRPELQDFH XYHGHPH KRGQRWX IXQNFH f. Zuápis kombinací
SURPQQêFKSURYiGtPHV\VWHPDWL[N\WDNåHVORXSFHWYRtþtVOD«m – 1 v binárním
zápisu (odshora).
3tNODGERRORYVNpIXQNFHIGYRXSURPQQêFK
[
[
I
3tNODGERRORYVNpIXQNFHJWtSURPQQêFK
[
[
[
J
Na ERRORYVNêFKIXQNFtFKPSURPQQêFK]DYiGtPHREY\NOpORJLFNpRSHUDFH
OSUiYNG\å
název
oznaþHQt
fag
fg
f = l a g = l;
f vel g
f +g
f = l nebo g = l, ale ne oboje;
f nebo g
f + g + fg
f = l nebo g = l nebo f = g = l;
negace f
~f
f = 0.
1DStNODGSURI DJ SODWt
fg = 0001,
f + g = 1110,
f + g + fg = 1111,
~f = 0010.
0H]LORJLFNêPLRSHUDFHPLSODWtMHGQRGXFKpY]WDK\QDS
~f = f + 1
-HVWOLåH Pi ERRORYVNi IXQNFH Wt SURPQQêFK I[1, x2, x3) binární zápis f0 f1 … f7,
potom první polovina tohoto slova (tj. slovo f0 f1 f2 f3) je binárním zápisem boolovské funkce
GYRXSURPQQêFKI[1, x2, 0) a druhá polovina (tj. slovo f4 f5 f6 f7) je zápisem funkce
49
f(x1, x21DStNODGSURIXQNFL
f(x1, x2, x3) = x2 + x3
= 00110011 + 00001111
= 0011 | 1100
platí
f(x1, x2, 0) = x2 = 0011
a
f(x1, x2, 1) = x2 + 1 = 1100.
-LQê]S$VREMDNUHSUH]HQWXMHPHERRORYVNRXIXQNFLMHSRPRFtVRXþW$DVRXþLQ$IXQNFt
xi D 1DStNODG UHSUH]HQWXMHPH boolovskou funkci f = 1101. Abychom si to usnadnili,
SHMGHPHNQHJDFLaI 7DMHURYQDSUiYNG\å[1 = 0 a x2 OWDNåH
~f = ~x1x2 = (l + x2)x2 = x2 + x1x2.
Odtud plyne
f = l + ~f = l + x2 + x1x2.
7RPXWRWYDUXtNiPHERRORYVNêSRO\QRPGYRXSURPQQêFK
3URNDåGRXERRORYVNRXIXQNFLPSURPQQêFK
I [ [ [ P [ P + plati
I = I [ [ [ P + > I [ [ [ P + I [ [ [ P @[ P +
'$ND]6WDþtRYLWåHREVWUDQ\VHVREURYQDMtMDNSUR [ P + = , tak pro [ P + = .
%RRORYVNRXIXQNFLI GYRXSURPQQêFKSHYHGHPHQDboolovský polynom:
I = + + [ = + [
2YãHPVWHMQêP]S$VREHPYLGtPHåH = + + [ = [ + = + + [ = + [
7DNåH
I = [ + + [ [ = [ + [ + [ [
3RGREQSURI SODWt
I = + [ = [ + [ + [ + [ [ + [ [ [
Reedovým-0XOOHURYêPNyGHPVWXSQUDGpON\mVHQD]êYiPQRåLQD5UPYãHFK
%RRORYVNêFKSRO\QRP$PSURPQQêFKVWXSQQHMYêãHU
3tNODG9ãHFKQ\Reedovy-Mullerovy kódy délky 4
50
0
0000
R(-1,2)
1
1111
R(0,2)
[
0101
[
0011
[ +[
0110
+ [
1010
+ [
+ [ + [
[[
1100
1001
R(1,2)
0001
+ [ [
[ +[[
1110
[ +[[
0100
0010
[ +[ +[ [
+ [ + [ [
+ [ + [ [
0111
1011
+ [ + [ + [ [
1101
1000
R(2,2)
9LGtPHåH5 ^`D5MHRSDNRYDFtNyG'iOH5MHNyG
Který je tedy kódem celkové kontroly parity.
Kód R(UPMHRYãHPOLQHiUQtSURWRåHVRXþHWGYRXSRO\QRP$VWXSQ ≤ r je také
SRO\QRPVWXSQ ≤ UiGN\JHQHUXMtFtPDWLFHWYRtYãHFKQ\VRXþLQ\ [L [L [L [LV pro
V≤U.
1DStNODGNyG5ERRORYVNêFKSRO\QRP$VWXSQ ≤ 2) má tuto generující matici:
>* @ = [
[
[
[[
[[
[ [
9ãLPQWHVLåHSUYQtþW\LiGN\WpWRPDWLFHWYRtJHQHUXMtFtPDWLFLNyGX5DSUYQtiGHN
je generující matice opakovacího kódu R(0,3).
3RþHWLQIRUPDþQtFK]QDN$NyGX5UPMHþtVOR
N=
P
P
P
P
+
+
+ +
U
51
1DSNyG5PiWXWRJHQHUXMtFtPDWLFL
>* @ =
3RþHWLQIRUPDþQtFK]QDN$MH
[
[
[
+
= -GHRELQiUQtNyGNWHUêMHUR]ãtHQêP
Hammingovým kódem.
Reedovy-0XOOHURY\NyG\MGRXG$OHåLWp]HMPpQDSURVYRXMHGQRGXFKRXDVQDGQR
LPSOHPHQWRYDWHOQRXPHWRGXGHNyGRYiQt-H]DORåHQDQDYWãLQRYpORJLFHSURKOHGDQRX
KRGQRWXQDMGHPHVRXVWDYXURYQLFGHNyGRYiQt-H]DORåHQDQDYWãLQRYpORJLFHSURKOHGDQRX
KRGQRWXQDMGHPHVRXVWDYXURYQLFDUR]KRGQHPHVHEXSURQHERSURWDNDE\YWãLQD
WFKWRURYQLFSODWLOD
1DSSRXåtYiPHNyG5DFKFHPHGHNyGRYDWVORYRZ 3ODWt
Y = T + T [ + T [ + T [ ,
T L = ZV + ZL + V
KXUþHQtNRHILFLHQWXT1 máme rovnice
q1 = w0 + w1
(s = 0)
= w2 + w3
(s = 2)
= w4 + w5
(s = 4)
= w6 + w7
(s = 6)
VQDãHPStSDGMVRXYãHFKQ\KRGQRW\NURPSUYpURYQ\DWHG\
q1 = 1
3RGREQSURT2 máme
q2 = w0 + w2
(s = 0)
= w1 + w3
(s = 1)
= w4 + w6
(s = 4)
= w5 + w7
(s = 5)
VQDãHPStSDGMVRXYãHFKQ\KRGQRW\NURPGUXKpURYQ\DWHG\
q2 = 0
Dále pro q4 platí
q4 = w0 + w4
(s = 0)
= w1 + w5
(s = 1)
= w2 + w6
(s = 2)
= w3 + w7
(s = 3)
DYWãLQDXUþXMH
q4 = 0
52
=EêYiXUþLWNRHILFLHQWT02GSLMDWpKRVORYDRGHþWHPHT1x1SURWRåHT2 = q4 = 0).
Platí x1 = 01010101 a tedy
w´ = w – q1x1 = 00010101 – 01010101 = 01000000 .
Odtud hlasováním dostáváme
q0 = 0 .
Výsledný vektor je
v = q1x1 = 01010101 .
-HVWOLåHQHGRãORNYtFHQHåMHGQpFK\EYtPHåHSLSLMHWtVORYDZ E\ORY\VOiQR
slovo v = 01010101 .
3.12 *ROD\$YNyG
0H]LQHMYê]QDPQMãtELQiUQtNyG\SDWt*ROD\$YþWLJROHM$YNyG*23, který má
délku 23, zWRKRLQIRUPDþQtFKDNRQWUROQtFK]QDN$7HQWRNyGMHSHUIHNWQtSURRSUDY\
WURMQiVREQêFKFK\E+OXERNêYêVOHGHNWHRULHNyGRYiQtMHWHQåHNURPHammingových a
RSDNRYDFtFKNyG$MH*23 jediný perfektní binární kód.
Golayovy kódy zavedeme jako systematické binární kódy délky 23 a 24. Levou
SRORYLQXJHQHUXMtFtPDWLFHWHG\WYRtPDWLFHMHGQRWNRYi3UDYiSRORYLQDVHVWiYi]HþWYHUFRYp
PDWLFH%iGXGRSOQQpRiGHN«YStSDG*23 :
% 

 
0DWLFH%Y]QLNQHF\NOLFNêPLSRVXY\VYpKRSUYpKRiGNXFRåMHVORYR
[* ] =  (
11011100010 .
7RWRVORYRPiMHGQLþNXQDPtVWL SUiYNG\åMHLþWYHUFHPmodulo 11,
| tj. pro 02 , 12 , 22 , 32 , 42 ≡ 52 a 52 ≡3 ). Zde je celá matice :
E



[% ] = 



 E
E
E
E
E
E
E
E
E
E









Kód G24 Y]QLNQHWDNåHNyGX*23SLGiPHFHONRYRXNRQWUROXSDULW\PDWLFH*24 .
Minimální vzdálenost D = 8 .
53
BCH kódy
Tyto kódy objevili koncem padesátých let R.C.Bose a D.K. Ray-Chaudhuri a nezávisle na
nich A. +RFTXHQJKHPSRGOHLQLFLiODXWRU$VHQD]êYDMt%&+NyG\PH]LMHMLFKYê]QDPQp
YODVWQRVWLSDWtYHONiYROLWHOQRVWSDUDPHWU$GREUêY]WDKPH]LSRþWHPLQIRUPDþQtFK]QDN$D
SRþWHPRSUDYRYDQêFKFK\EDGHWDLOQY\SUDFRYDQpGHNyGRYDFtPHWRG\
Ve srovnání s Reedovými-0XOOHURYêPL NyG\ R QFR QiURþQMãt GHNyGRYiQt ]DWR DOH
PDMtOHSãtSDUDPHWU\%&+NyG\GpON\RSUDYXMtFtFK\EPDMtLQIRUPDþQtFK]QDN$
zatímco odpovídající 5HHG$Y0XOOHU$YNyGPiMHQLQIRUPDþQtFK]QDN$
BCH kód s plánovanou vzdáleností d = D lze definovat jeho kontrolní maticí
 α

[+ ] =  α
α

G−
 α
α
(α )
(α )
(α G − )
α
(α )
(α )
(α G − )
%OLåãtSRSLVWFKWRNyG$MHY>@
α Q−
(α )Q−
(α )Q−
Q−
(α G − )







Podobné dokumenty