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 bU3RGOHGRSRUXþ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 − )