Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Vlerësime
  • Shembull i Matricës së Kontrollit të Kodit Linear të Ndërtimit. Matrica e kontrollit dhe lidhja e saj me aftësinë korrigjuese të kodit

Shembull i Matricës së Kontrollit të Kodit Linear të Ndërtimit. Matrica e kontrollit dhe lidhja e saj me aftësinë korrigjuese të kodit

Si shembull, ne sapo kemi shqyrtuar kodet më të thjeshta korrigjuese - një kod me një kontroll të thjeshtë barazie që ju lejon të zbuloni një gabim të vetëm në sekuencën e marrë, si dhe një kod përsëritës blloku dhe një kod "cloud" që korrigjon një gabim duke përdorur një grup kontrollesh të barazisë. Në të gjitha kodet, në procesin e kodimit të korrigjimit të gabimeve, u formuan bit shtesë që u shtuan në kombinimin origjinal të kodit.

Le të vendosim rregullat formale (gjeneruese) sipas të cilave kryhet kodimi, d.m.th. transformimi i sekuencës së informacionit në një fjalë kodi.

Mënyra më e thjeshtë për të përshkruar ose specifikuar kodet korrigjuese është në mënyrë tabelare, në të cilën çdo sekuence informacioni thjesht i caktohet një fjalë kodi nga tabela e kodeve. Për shembull, për kodin më të thjeshtë me një kontroll barazie, tabela e korrespondencës midis kombinimeve të burimit dhe kodit do të jetë si më poshtë:

Kjo mënyrë e përshkrimit të kodeve është e zbatueshme për çdo kod, jo vetëm linear. Megjithatë, në përgjithësi për të permasa tabela e kodeve rezulton të jetë shumë i madh për t'u përdorur në praktikë.

Një mënyrë tjetër për të përcaktuar kodet lineare të bllokut është përdorimi i të ashtuquajturave sistemet e ekuacioneve gjeneruese, duke përcaktuar rregullin me të cilin simbolet e sekuencës së informacionit shndërrohen në simbolet e kodit. Për të njëjtin shembull, sistemi i gjenerimit të ekuacioneve do të duket si ky:

Megjithatë, mënyra më e përshtatshme dhe ilustruese për të përshkruar kodet lineare të bllokut është përcaktimi i tyre duke përdorur matricë gjeneruese, e cila është një formë kompakte e paraqitjes së sistemit të ekuacioneve të verifikimit.

Blloku linear(n, /c)-kodi përcaktohet plotësisht nga matrica G e madhësisë për të X P me elementë të matricës binare. Në këtë rast, çdo fjalë kod është një kombinim linear i rreshtave të matricës G dhe çdo kombinim linear i rreshtave G është një fjalë kode.

Do të thirren kodet lineare të bllokut të përcaktuar nga matricat gjeneruese kodet e matricës. Paraqitja e zakonshme (kanonike) e matricës gjeneruese duket si kjo:

Për shembull, për kodin më të thjeshtë (4, 3) me një kontroll barazie, matrica gjeneruese do të duket si kjo:

Le T -(t 1; t 2, ..., t k) do të jetë blloku i mesazheve që do të kodohet duke përdorur kodin e dhënë.

Pastaj kodi përkatës U do

Duke marrë parasysh strukturën e matricës G simbolet e fjalës kodike dhe do të jetë kështu:

Me fjale te tjera, për të simbolet më të majta të fjalës së kodit përkojnë me simbolet e sekuencës së informacionit të koduar, dhe pjesa tjetër (n - te) simbolet janë kombinime lineare të simboleve të sekuencës së informacionit.

Për shembull, nëse sekuenca e hyrjes së koduesit t == (10 1), pastaj duke përdorur matricën gjeneruese, kodi do të ndërtohet si më poshtë:

8 Komandanti dërgoi tre zbulues përgjatë rrugës së parë, tre - në të dytën, dy - në të tretën, përgjatë të katërt shkoi vetë. Hartoni matricën gjeneruese të një kodi të tillë.

Përgjigje: Sipas komplotit të misionit, mesazhi i marrë nga komandanti personalisht nuk mund të shtrembërohet. Prandaj, ne kufizohemi në studimin e informacionit të transmetuar nga luftëtarët. Në një grup që niset përgjatë njërës prej rrugëve, çdo luftëtar duhet t'i raportojë komandantit ose për zbulimin e një objekti (ne e shënojmë një raport të tillë si "1"), ose për mungesën e një objekti ("0") . Në mungesë të shtrembërimit, raportet e secilit luftëtar nga i njëjti grup duhet të përputhen. Prandaj:

Matrica mund të reduktohet në një formë kanonike duke rinumëruar luftëtarët, d.m.th. në rrugën e parë dërgoi luftëtarët e parë, të katërt dhe të pestë, në rrugën e dytë - të dytën, të gjashtën dhe të shtatën, në rrugën e tretë - luftëtarët e tretë dhe të tetë. Ne marrim matricën gjeneruese të mëposhtme:

Kodi i përcaktuar në këtë mënyrë quhet bllok linear sistematik(P,Kodi /cj me kontrolle të përgjithshme të barazisë.

Në sistemet e komunikimit, janë të mundshme disa strategji për trajtimin e gabimeve:

  • zbulimi i gabimeve në blloqet e të dhënave dhe kërkesë për ritransmetim automatik blloqe të dëmtuara - kjo qasje përdoret kryesisht në shtresat e lidhjes dhe transportit;
  • zbulimi i gabimeve në blloqet e të dhënave dhe heqja e blloqeve të këqija - kjo qasje përdoret ndonjëherë në sistemet e mediave transmetuese ku vonesa e transmetimit është e rëndësishme dhe nuk ka kohë për ritransmetim;
  • korrigjimi i gabimit(anglisht) korrigjimi i gabimit përpara) aplikohet në shtresën fizike.

Kodet e zbulimit dhe korrigjimit të gabimeve

Kodet e korrigjimit - kodet që përdoren për të zbuluar ose korrigjuar gabimet që ndodhin gjatë transmetimit të informacionit nën ndikimin e ndërhyrjes, si dhe gjatë ruajtjes së tij.

Për ta bërë këtë, kur shkruani (transferoni), shtoni të dhënat e ngarkesës në mënyrë të veçantë strukturuar teprica informacion, dhe gjatë leximit (marrjes) përdoret për të zbuluar ose korrigjuar gabimet. Natyrisht, numri i gabimeve që mund të korrigjohen është i kufizuar dhe varet nga kodi specifik i përdorur.

ME kodet e korrigjimit të gabimeve, të lidhura ngushtë kodet e zbulimit të gabimeve. Ndryshe nga e para, kjo e fundit mund të vërtetojë vetëm praninë e një gabimi në të dhënat e transmetuara, por jo ta korrigjojë atë.

Në fakt, kodet e përdorura për zbulimin e gabimeve i përkasin të njëjtave klasa kodesh si kodet e korrigjimit të gabimeve. Në fakt, çdo kod për korrigjimin e gabimeve mund të përdoret gjithashtu për të zbuluar gabimet (duke bërë këtë, ai do të jetë në gjendje të zbulojë më shumë gabime nga sa ishte në gjendje të korrigjonte).

Sipas mënyrës se si punojnë me të dhënat, kodet e korrigjimit të gabimeve ndahen në bllokoj, ndarjen e informacionit në fragmente me gjatësi konstante dhe përpunimin e secilit prej tyre veç e veç, dhe konvolucionale, duke punuar me të dhënat si një rrjedhë e vazhdueshme.

kodet e bllokut

Lëreni informacionin e koduar të ndahet në fragmente të gjatësisë k bit që konvertohen në fjalë kodike gjatësia n pak. Pastaj zakonisht shënohet kodi përkatës i bllokut ( n,k) . Numri thirret shpejtësia e kodit.

Nëse origjinali k kodi i bitit lihet i pandryshuar dhe shton nk verifikimi, një kod i tillë quhet sistematike, ndryshe josistematike.

Ju mund të vendosni kodin e bllokut në mënyra të ndryshme, duke përfshirë një tabelë ku secili grup i k bitet e informacionit të hartuara n bit i fjalës kodike. Por, kod i mirë duhet të plotësojë të paktën kriteret e mëposhtme:

  • aftësia për të korrigjuar sa më shumë gabime të jetë e mundur,
  • sa më pak tepricë,
  • lehtësinë e kodimit dhe dekodimit.

Është e lehtë të shihet se këto kërkesa kundërshtojnë njëra-tjetrën. Kjo është arsyeja pse ekziston nje numer i madh i kodet, secila prej të cilave është e përshtatshme për gamën e detyrave të saj.

Pothuajse të gjitha kodet e përdorura janë lineare. Kjo për faktin se kodet jolineare janë shumë më të vështira për t'u studiuar, dhe është e vështirë për ta të ofrojnë një lehtësi të pranueshme të kodimit dhe dekodimit.

Hapësirat lineare

Matrica gjeneruese

Kjo lidhje vendos një lidhje ndërmjet vektorëve të koeficientit dhe vektorët. Duke renditur të gjithë vektorët e koeficientëve, mund të merrni të gjithë vektorët. Me fjalë të tjera, matrica G gjeneron një hapësirë ​​lineare.

Kontrollimi i Matricës

Kjo do të thotë që operacioni i kodimit korrespondon me shumëzimin e origjinalit k-vektor bit në një matricë josingulare G thirrur matricës gjeneruese.

Le të jetë një nënhapësirë ​​ortogonale në lidhje me C, a Hështë një matricë që përcakton bazën e kësaj nënhapësire. Atëherë për çdo vektor është e vërtetë:

.

Vetitë dhe teoremat e rëndësishme

Distanca minimale dhe aftësia korrigjuese

Kodet e lidhura me Hamming dhe perfekte

Le të ketë një bllok binar ( n,k) kodi korrigjues t. Pastaj pabarazia (e quajtur Kufiri i Hamingut):

.

Quhen kode që plotësojnë këtë kufi barazie të kryera. Kodet perfekte përfshijnë, për shembull, kodet Hamming. Kodet me fuqi të madhe korrigjuese që përdoren shpesh në praktikë (si kodet Reed-Solomon) nuk janë perfekte.

Fitimi i energjisë

Gjatë transmetimit të informacionit përmes një kanali komunikimi, probabiliteti i gabimit varet nga raporti sinjal-zhurmë në hyrjen e demodulatorit, kështu që në një nivel konstant zhurme, fuqia e transmetuesit është e një rëndësie vendimtare. Në sistemet satelitore dhe celulare, si dhe në llojet e tjera të komunikimeve, çështja e kursimit të energjisë është akute. Përveç kësaj, në sisteme të caktuara komunikimi (për shembull, telefoni) për të rritur fuqinë e sinjalit për një kohë të pacaktuar nuk lejohet nga kufizimet teknike.

Meqenëse kodimi i korrigjimit të gabimeve lejon korrigjimin e gabimeve, aplikimi i tij mund të zvogëlojë fuqinë e transmetuesit, duke e lënë shkallën e informacionit të pandryshuar. Fitimi i energjisë përcaktohet si diferenca midis raporteve s/n në prani dhe mungesë të kodimit.

Aplikacion

matrica e kontrollit- - [L.G. Sumenko. Fjalor Anglisht Rusisht i Teknologjive të Informacionit. M.: GP TsNIIS, 2003.] Temat e teknologjisë së informacionit në përgjithësi EN matrica e kontrollit ... Manuali Teknik i Përkthyesit

Në fushën e matematikës dhe teorisë së informacionit, një kod i linjës është një lloj i rëndësishëm kodi bllok i përdorur në qarqet e zbulimit dhe korrigjimit të gabimeve. Kodet lineare, në krahasim me kodet e tjera, lejojnë zbatimin e algoritmeve më efikase ... ... Wikipedia

Dëshironi ta përmirësoni këtë artikull?: Gjeni dhe jepni shënime në fund të faqes për referenca në burime autoritare që konfirmojnë atë që është shkruar. Kodi ciklik ... Wikipedia

Një kod ciklik është një kod linear që ka vetinë e ciklikitetit, domethënë, çdo ndërrim ciklik i një fjale kod është gjithashtu një fjalë kodi. Përdoret për të transformuar informacionin për ta mbrojtur atë nga gabimet (shih Zbulimi dhe ... ... Wikipedia

- (Kodi LDPC nga anglishtja. Kodi i kontrollit të barazisë me densitet të ulët, kodi LDPC, kodi me densitet të ulët) kodi i përdorur në transmetimin e informacionit, një rast i veçantë i një kodi linear bllok me kontroll të barazisë. Një veçori është densiteti i ulët i ... ... Wikipedia

Kodi me një densitet të ulët të kontrolleve të barazisë (kodi LDPC nga anglishtja. Kodi i kontrollit të barazisë me densitet të ulët, kodi LDPC, kodi me densitet të ulët) kodi i përdorur në transmetimin e informacionit, një rast i veçantë i një kodi linear bllok me një kontroll barazie. Veçori ... ... Wikipedia

Kodet Reed-Solomon janë kode ciklike jo-binare që ju lejojnë të korrigjoni gabimet në blloqet e të dhënave. Elementet e vektorit të kodit nuk janë bit, por grupe bitesh (blloqe). Kodet e Reed Solomon janë shumë të zakonshme, ... ... Wikipedia

Voto: 28, 5

Prezantimi

Përshkrimi i procesit të komunikimit dixhital

Burimi lëshon një mesazh që përfaqëson rast i përgjithshëm disa sinjal elektrik. Ky sinjal konvertohet në formë dixhitale, i cili është i përshtatshëm për përpunim të mëtejshëm.

Më pas, informacioni kompresohet (kodimi i burimit), i cili minimizon tepricën e mesazhit. Kodimi i burimit zvogëlon koston e transmetimit dhe ruajtjes së informacionit. Pas kësaj, mesazhi duhet të transmetohet përmes një kanali të zhurmshëm. Në mënyrë që mesazhi të arrijë te konsumatori në një formë të pashtrembëruar, përdoret kodimi i informacionit imun nga zhurma (kodimi i kanalit). Nga ana e konsumatorit, informacioni deshifrohet. Dekoderi i kanalit korrigjon gabimet në fjalën e marrë, dhe dekoderi burimor e konverton fjalën e korrigjuar në një formë të përshtatshme për konsumatorin.

Duke folur për kodet që kontrollojnë gabimet, duhet të bëjmë dallimin midis dy strategjive për përdorimin e tyre.

  1. Korrigjimi i drejtpërdrejtë i gabimit për shkak të tepricës (Forward Error Correction - FEC).
  2. Zbulimi i gabimit me kërkesat e mëvonshme për ritransmetim të informacionit të marrë gabimisht (Kërkesë për përsëritje automatike - ARQ).

Gjatë zgjedhjes së metodave të kodimit dhe dekodimit, udhëzohen shumë faktorë, marrëdhënia e të cilëve tregohet në figurë.


Kompleksiteti i përgjithshëm përfshin kostot e harduerit dhe softuerit për zbatimin e koduesit dhe dekoderit, koston e ruajtjes dhe transmetimit të informacionit, etj. Intensiteti i rrjedhës së të dhënave përfshin transmetimin e informacionit të dobishëm, bitet e kontrollit, si dhe kërkesat dhe përsëritjet e blloqe individuale të informacionit për këto kërkesa.

Kodimi për korrigjimin e zhurmës

Informacion i pergjithshem

Sistemet reale të transmetimit të të dhënave nuk janë perfekte. Duke aplikuar teknologjinë e informacionit, duhet të kemi parasysh mundësinë e gabimeve në transmetimin dhe ruajtjen e informacionit. Kjo vlen kryesisht për

  • ruajtja e informacionit në media me densitet të lartë regjistrimi (media magnetike, CD-ROM, DVD);
  • transmetimi i të dhënave me fuqi të kufizuar të sinjalit (satelit dhe lidhje celulare);
  • transmetimi i informacionit përmes kanaleve shumë të zhurmshme (komunikim celular, me shpejtësi të lartë linja teli komunikimet);
  • kanalet e komunikimit me kërkesa të rritura për besueshmërinë e informacionit ( rrjetet kompjuterike, linjat e transmetimit me kompresim të të dhënave).

Në të gjitha rastet e mësipërme, përdoren kodet e kontrollit të gabimeve.

Merrni parasysh modeli më i thjeshtë transmetimi i të dhënave duke përdorur kodimin e korrigjimit të gabimeve.


Lëreni koduesin burim të nxjerrë në mënyrë sekuenciale fjalë informacioni me një gjatësi fikse. Enkoderi i kanalit zëvendëson çdo fjalë informacioni u me një fjalë kodi v. Transmetuesi gjeneron sinjale që korrespondojnë me fjalën e kodit v dhe i dërgon ato në kanal. marrësi prodhon transformim i anasjelltë, si rezultat i së cilës fjala binare e marrë r arrin në dekoder. Dekoderi krahason fjalën e marrë r me të gjitha kodet e mundshme të kodit që përdoret. Nëse fjala r përputhet me një nga fjalët e kodit, atëherë fjala informative përkatëse i jepet konsumatorit. Nëse r ndryshon nga të gjitha fjalët e kodit, atëherë në kanal ka ndodhur një gabim i dallueshëm. Qëllimi i kodimit të kanalit është të përputhet me atë të transmetuar fjalë informacioni u dhe mori fjalën informative u ′.

Nga këtë përshkrim Mund të nxirren 2 përfundime:

  • Nëse, gjatë transmetimit përmes një kanali të zhurmshëm, një fjalë kodi përshtatet me një fjalë kodi tjetër që nuk përputhet me atë të transmetuar, atëherë ndodh një gabim i pazbulueshëm. Le ta quajmë atë gabim të mbetur të dekodimit.
  • Kërkohet të ndërtohen kode që kanë një strukturë të caktuar matematikore që lejon dikë të njohë në mënyrë efektive dhe, në disa raste, të korrigjojë gabimet që ndodhin kur informacioni transmetohet përmes një kanali komunikimi.

Kodet e bllokut linear

Një familje e rëndësishme kodesh formohet nga kodet lineare të blloqeve binare. Këto kode janë të shquara në atë që, duke përfaqësuar informacionin dhe fjalët kodike në formën e vektorëve binar, ne mund të përshkruajmë proceset e kodimit dhe dekodimit duke përdorur aparatin e algjebrës lineare. Në këtë rast, përbërësit e vektorëve dhe matricave hyrëse janë simbolet 0 dhe 1. Veprimet në komponentët binare kryhen sipas rregullave. moduli aritmetik 2.

Kodi linear më i famshëm është kodi i bllokut Hamming. Më tej, përshkrimi i kodeve lineare të bllokut do të bëhet në shembullin e këtij kodi. Në veçanti, do të merret parasysh kodi (7,4)-Hamming.

Enkoderi i kodit të bllokut binar (n, k) harton një grup prej 2 k fjalësh të mundshme informacioni binare në një grup fjalësh kodi 2 k n-dimensionale. Në teorinë e kodimit, ekziston gjithmonë një korrespondencë një-për-një midis këtyre grupeve.


Në vend të k bitave të vektorit të informacionit, n bit të vektorit të kodit transmetohen në kanal. Në këtë rast flitet për kodim të tepërt me një normë: R = n ⁄ k .

Sa më e ulët të jetë shpejtësia, aq më i madh është teprica e kodit dhe aq më e madhe është aftësia për të mbrojtur kundër gabimeve. Sidoqoftë, duhet të kihet parasysh se me një rritje të tepricës, rritet edhe kostoja e transmetimit të informacionit.

Përshkrimi i proceseve të kodimit dhe dekodimit

Materiali burimor për ndërtimin e strukturave të kodit është hapësira vektoriale binare n-dimensionale, në të cilën specifikohen veprimet e modulit aritmetik 2. K-dimensionale hapësirë ​​lineare, që përmban 2 k fjalë kodike. Kodi C është formuar duke përdorur 2 k kombinime të k vektorëve bazë linearisht të pavarur (g 1 ,…, g k ).


Këta vektorë formojnë rreshtat e matricës gjeneruese të kodit C.

Për një kod C, ekziston një kod i dyfishtë C d i tillë që produkti skalar i çdo çifti vektorësh, njëri prej të cilëve i përket hapësirës C dhe tjetri hapësirës C d, është gjithmonë i barabartë me zero. Kjo do të thotë se vektorët e kodit C d janë ortogonal me vektorët e kodit C. Nga ana tjetër, nëse ndonjë vektor është ortogonal me të gjithë vektorët e kodit C, atëherë ai i përket kodit C d dhe anasjelltas. Nënhapësira e dyfishtë vektoriale "përfshihet" nga n − k vektorë me bazë linearisht të pavarur ( h 1 ,…, h n − k ). Këta vektorë formojnë rreshtat e matricës së kontrollit.


Konsideroni një shembull të gjenerimit dhe kontrollit të matricave të një kodi Hamming (7,4):

Duhet të theksohet një pronë e rëndësishme: si në gjenerator ashtu edhe në matricën e kontrollit ekziston një matricë identiteti. Kjo veti përdoret në proceset e kodimit dhe dekodimit.

Kodimi

Fjala koduese v dhe fjala e informacionit u lidhen me:

ku G është matrica gjeneruese, struktura e së cilës u përshkrua më sipër.

Për shembull, vektori i informacionit u = (1010) do të krahasohet me vektorin e kodit si më poshtë:

Është e lehtë të shihet se katër bitet e fundit të vektorit të kodit përkojnë me vektorin e informacionit. Kjo veti quhet sistematiciteti i kodit.

Kodet në të cilat një fjalë informacioni mund të nxirret drejtpërdrejt nga vektori i kodit të saj përkatës quhen sistematike. Matrica gjeneruese e çdo kodi sistematik gjithmonë mund të sillet në formë duke riorganizuar kolonat:

G k × n = (P k ×(n − k) I k),

ku I k është matrica e identitetit k × k.

Kështu, në vektorin e kodit të një kodi sistematik, gjithmonë mund të dallohen simbolet e informacionit dhe kontrollit.

Roli i karaktereve të kontrollit dhe përdorimi i tyre do të shpjegohet në detaje më poshtë.

Dekodimi

Detyra e dekoderit është të përdorë strukturën e kodit, sipas fjalës së marrë r, për të rivendosur vektorin e informacionit të transmetuar. Për kodin Hamming (7, 4) të konsideruar më sipër, mund të propozohet algoritmi i mëposhtëm i zbulimit të gabimeve. Meqenëse kodi në shqyrtim është sistematik, ne shprehim secilin nga tre simbolet e kontrollit në terma të simboleve të vektorit të informacionit:

V 0 = v 3 ⊕ v 5 ⊕ v 6
v 1 = v 3 ⊕ v 4 ⊕ v 5
v 2 = v 4 ⊕ v 5 ⊕ v 6

Nëse ka ndodhur një gabim në kanal, atëherë në vektorin e marrë r të paktën një nga barazitë nuk do të plotësohet. Le t'i shkruajmë marrëdhëniet e marra të testit si një sistem ekuacionesh për përbërësit e vektorit r:

R 0 ⊕ r 3 ⊕ r 5 ⊕ r 6 = s 0
r 1 ⊕ r 3 ⊕ r 4 ⊕ r 5 = s 1
r 2 ⊕ r 4 ⊕ r 5 ⊕ r 6 = s 2

Kështu, nga tre kolonat e para të matricës gjeneruese G, kemi marrë një sistem prej tre ekuacionesh verifikimi. Nëse në sistemin rezultues të ekuacioneve të paktën një nga komponentët (s 0 , s 1 , s 2 ) nuk është i barabartë me zero, atëherë ka ndodhur një gabim në kanal.

Le të shkruajmë sistemin e ekuacioneve të verifikimit në pamje e përgjithshme. Për çdo kod sistematik me matricën e gjeneratorit G, matrica e kontrollit përcaktohet si më poshtë:

H (n − k) × n = (I n − k P T k ×(n − k)).

Atëherë sistemi i ekuacioneve të verifikimit mund të shkruhet si

Vektori s zakonisht quhet sindrom. Kështu, një gabim do të zbulohet nëse të paktën një nga komponentët e s nuk është i barabartë me zero.

Si shembull, merrni parasysh dekodimin sindromik të një kodi Hamming (7, 4). Kur transmetoni një fjalë informacioni u = (1010) në një kanal pa zhurmë, r = v = (0011010) . Mund të verifikojmë që në këtë rast sindroma është 0 .

Nëse, për shembull, në fjalë kodike kishte një gabim të vetëm në pozicionin e katërt (r = (0010010)), atëherë rreshti i katërt i matricës së kontrollit të transpozuar është sindroma.

Pasi kemi kaluar nëpër të gjitha pozicionet e mundshme të një gabimi të vetëm, marrim tabelë e plotë sindromat e gabimeve të vetme - një tabelë e korrespondencës midis numrit të një shkarkimi të gabuar dhe sindromës që rezulton.

Shkarkim i gabuar r0 r1 r2 r3 r4 r 5 r6
Sindroma s 100 010 001 110 011 111 101

Mund të shihet se gabimi në pozicionin i-të të fjalës së kodit korrespondon me sindromën e formuar nga kolona i-të e matricës H. Meqenëse të gjitha kolonat e matricës janë të ndryshme, ne mund të korrigjojmë një gabim të vetëm të paraqitur. nga kanali duke përdorur tabelën e sindromës.

Varietetet e gabimeve

Kodet e bllokut linear kanë 3 lloje gabimesh:

  1. Gabim i dallueshëm dhe i korrigjueshëm
    • Sindroma është e pranishme në tabelën e sindromave
    • Dekoderi njeh dhe korrigjon gabimin dhe më pas dërgon fjalën e duhur te marrësi
  2. Gabim i dallueshëm
    • Fjala e marrë nuk përputhet me asnjë nga fjalët e kodit.
    • Sindroma nuk është e pranishme në tabelën e sindromës
    • Dekoderi njeh gabimin dhe dërgon një kërkesë për të ritransmetuar fjalën e informacionit.
  3. Gabim i panjohur
    • Fjala e marrë përputhet me një nga fjalët e koduara (nuk përputhet me kodin origjinal)
    • Sindroma është 0
    • Dekoderi nuk e njeh gabimin dhe i jep konsumatorit një mesazh informacioni të gabuar

konkluzioni

Duhet të theksohet se efektiviteti i një kodi të veçantë varet nga zona e aplikimit të tij dhe, në veçanti, nga kanali i komunikimit. Nëse raporti sinjal-zhurmë në kanal është mjaft i lartë, atëherë probabiliteti i një gabimi të vetëm është shumë herë më i lartë se probabiliteti i gabimeve të shumëfishta më të larta, prandaj, përdorimi i një kodi Hamming me korrigjimin e një gabimi të vetëm në një kanal të tillë mund të jetë shumë efektiv. Nga ana tjetër, në kanalet ku mbizotërojnë gabime të shumta (p.sh. kanale të zbehta), korrigjimi i një gabimi të vetëm është i pakuptimtë. Në zgjedhje praktike kodi specifik i korrigjimit të gabimeve, është gjithashtu e nevojshme të merret parasysh shpejtësia e dekodimit të tij dhe kompleksiteti i zbatimit teknik.

Letërsia

  1. Werner M. Bazat e kodimit. - M.: Technosfera, 2004.
  2. Blahut R. Teoria dhe praktika e kodeve të kontrollit të gabimeve. - M.: Mir, 1986.

Oleg Rybak

Në të vërtetë, është e vështirë të gjesh një shpjegim adekuat. Më shpesh, autorët supozojnë se lexuesi di shumë paraprakisht dhe nuk kërkojnë të shpjegojnë pika në dukje të thjeshta që përmbajnë thelbin. Shumë i lumtur që ndesha materiali i dhënë, sqarova diçka për veten time.

Kodet e linjave kanë veçorinë e mëposhtme:

Nga të gjitha të shumtat 2 k Fjalët kodike të lejuara që formojnë një grup linear, mund të zgjidhen nënbashkësi k fjalët që kanë vetinë e pavarësisë lineare.

Pavarësia lineare do të thotë që asnjë nga fjalët e përfshira në nëngrupin e fjalëve kodike të pavarura lineare nuk mund të merret duke përmbledhur (duke përdorur një shprehje lineare) çdo fjalë tjetër të përfshirë në këtë nëngrup.

Në të njëjtën kohë, ndonjë nga fjalët kodike të lejuara mund të merret duke përmbledhur disa fjalë të pavarura lineare.

Kështu, ndërtimi i kombinimeve të kodit të një kodi linear shoqërohet me operacione lineare. Për të kryer operacione të tilla, është e përshtatshme të përdoret një aparat i zhvilluar mirë i llogaritjeve të matricës.

Për arsimin n Fjalët kodike -bit nga fjalët e koduara me k-bit (kodimi) përdorin një matricë të quajtur gjenerator.

Matrica gjeneruese merret duke shkruar k fjalë të pavarura lineare në kolonë.

Shënoni sekuencën e informacionit të koduar X dhe do ta shkruajmë si matricë rreshti ||X|| dimension 1* k, Për shembull:

||X||=||11001||, ku k=5.

Një nga mënyrat për të ndërtuar një matricë gjeneruese (gjeneruese) është si më poshtë: Ndërtohet nga matrica e identitetit ||Unë|| dimension k*k dhe matricën e shifrave shtesë (të tepërta) që i janë caktuar në të djathtë ||WDM|| dimensionet k*r.

ku k=4

Një strukturë e tillë OM siguron një kod sistematik.

Procedura për ndërtimin e matricës MDS do të diskutohet më poshtë.

7.4 Rendi i kodimit

Fjala e koduar CS fitohet duke shumëzuar matricën e sekuencës së informacionit ||X|| në matricën gjeneruese ||OM||:

Shumëzimi kryhet sipas rregullave të shumëzimit të matricës: (SO me SO)

Është e nevojshme vetëm të mbani mend se shtimi këtu kryhet moduli 2.

le të themi matricën gjeneruese

||OM||= 0010 011

dhe vektori i rreshtit të sekuencës së informacionit

Meqenëse matrica që do të shumëzohet ka vetëm një rresht, shumëzimi thjeshtohet. Në këtë rast, duhet të vendosni në korrespondencë me rreshtat e matricës gjeneruese (gjeneruese). ||OM|| bitet e matricës së sekuencës së informacionit ||X|| dhe shtoni ato rreshta të matricës gjeneruese (gjeneruese) që korrespondojnë me shifrat njësi të matricës ||X||.

vini re, se ||DK|| = ||X, DR||,

ku ||X||- sekuenca e informacionit (sepse shumëzohet me matricën e identitetit ||Unë||),

a ||DR||- shifra shtesë në varësi të matricës së shifrave shtesë ||WDM||:

|| DR ||= || X || * || MDR||

7.5 Rendi i dekodimit

Si rezultat i transmetimit të një fjale kodi përmes një kanali, ajo mund të shtrembërohet nga ndërhyrja. Kjo do të rezultojë në fjalën e kodit të marrë ||PKS|| mund të mos përputhet me origjinalin. ||CS||.

Shtrembërimi mund të përshkruhet duke përdorur formulën e mëposhtme:

|| PC || = ||CS || + ||BO ||,

ku ||NE||- vektori i gabimit - matricë-rresht me dimension 1* n, Me 1 në ato pozicione në të cilat ndodhën shtrembërimet.

Dekodimi bazohet në gjetjen e të ashtuquajturës sindromë-matricë-rreshti i identitetit ose gabimit ||OP|| gjatësia r shifra ( r- numri i biteve shtesë ose të tepërta në fjalën e kodit).

Identifikuesi përdoret për të gjetur vektorin e vlerësuar të gabimit.

Identifikuesi gjendet me formulën e mëposhtme:

||OP|| = ||PKS||* ||TPM||,

ku ||PKS||- kodi i marrë dhe mundësisht i korruptuar;

||TPM||,- matrica kontrolluese e transpozuar, e cila përftohet nga matrica e shifrave shtesë ||WDM|| duke i caktuar asaj një matricë identiteti nga poshtë:

Shembull ||TPM||:

Për aq sa ||PKS|| = ||CS|| + ||BO||, Formula e fundit mund të shkruhet si:

||OP|| = ||CS|| * ||TPM||+||VO|| * ||TPM||.

Le të shqyrtojmë termin e parë.

||DK||- rreshti i matricës, dhe i pari k shkarkime - informative.

Le të provojmë tani se produkti i fjalës kodike ||CS||||TPM||çon në një matricë zero ||0||.

Për aq sa ||CS||- rreshti i matricës, është e mundur një procedurë e thjeshtuar për shumëzimin e matricave të diskutuara më sipër.

Prandaj, mandati i parë në

||OP|| = ||CS|| * ||TPM|| + ||VO|| * ||TPM||

është gjithmonë zero dhe identiteti varet tërësisht nga vektori i gabimit ||NE||.

Nëse tani zgjedhim një matricë të tillë kontrolli TPM, që do të thotë MDR, në mënyrë që identitete të ndryshme të korrespondojnë me vektorë të ndryshëm gabimi OP, atëherë me anë të këtyre identifikuesve do të mund të gjendet vektori i gabimit NË, dhe kështu korrigjoni këto gabime.

Korrespondenca e identiteteve me vektorët e gabimit gjendet paraprakisht duke shumëzuar vektorët e gabimeve të korrigjueshme me TPM;

Kështu, aftësia e kodit për të korrigjuar gabimet përcaktohet plotësisht nga ||WDM||. Për ndërtimin MDR për kodet që korrigjojnë gabimet e vetme, ju nevojiten në çdo rresht MDR të ketë të paktën 2 njësi. Në këtë rast, është gjithashtu e nevojshme që të ketë të paktën një ndryshim midis çdo dy rreshti MDR.

Kodi që morëm është i papërshtatshëm në atë që identifikuesi, megjithëse lidhet në mënyrë unike me numrin e shifrës së shtrembëruar, nuk është i barabartë me të si numër. Për të kërkuar një bit të shtrembëruar, duhet të përdorni një tabelë shtesë të korrespondencës midis identifikuesit dhe këtij numri. U gjetën dhe u emëruan kodet në të cilat identifikuesi si numër përcakton pozicionin e bitit të shtrembëruar Kodet Hamming.

Ndërtesa MDR sepse rasti i korrigjimit të gabimeve të shumta bëhet shumë më i ndërlikuar. Autorë të ndryshëm kanë gjetur algoritme të ndryshme për ndërtimin ||WDM || për këtë rast, dhe kodet përkatëse quhen me emrat e autorëve të tyre.

Le të tregojnë x1, x2, ..., xk një fjalë prej k bit informacioni në hyrje të koduesit, të koduar në një fjalë kodi n-bit C:

Hyrja e koduesit: X=[x 1, x 2, ...,xk]

Dalja e koduesit: C=[c 1, c 2, ..., cn]

Le të jepet një matricë e veçantë gjeneruese G n , k,

vendosjen kod blloku (n,k).

Rreshtat e matricës G n , k duhet të jetë linearisht i pavarur.

Pastaj kombinimi i kodit të lejuar C që korrespondon me fjalën e koduar X:

C=x 1 g 1 + x 2 g 2 + ... + x k g k.

Forma sistematike (kanonike) e matricës gjeneruese G madhësia k x n :

Matrica e gjeneratorit të një kodi sistematik krijon një kod bllok linear në të cilin i pari k bitet e çdo fjale kodi janë identike me bitet e informacionit dhe pjesa tjetër r=n-k bitet e çdo fjale kodi janë kombinime lineare k copa informacioni.

Kontrollimi i Matricës H n, k Ajo ka r x n elemente, dhe është e vërtetë:

C x H T = 0.

Kjo shprehje përdoret për të kontrolluar kombinimin e kodit të marrë. Nëse barazia me zero nuk plotësohet, atëherë marrim një rresht-matricë || c 1 , c 2 , ..., r||, i quajtur sindroma e gabimit.

Kodi Hamming. Aftësitë korrigjuese dhe zbuluese. Rregullat për zgjedhjen e raportit midis gjatësisë së fjalës së kodit dhe numrit të biteve të informacionit. Formimi i matricave gjeneruese dhe kontrolluese të kodit Hamming. Interpretimi i sindromës së gabimit

Konsideroni një kod Hamming me distancë kodi d=3, e cila ju lejon të korrigjoni gabimet e vetme ( d=2qmax+1).

Numri i kombinimeve të kodit të lejuar për një kod me d=3, për kodin Hamming është rreptësisht i barabartë me 2 n/(n+1). Së pari k copat e kombinimeve të kodit të kodit përdoren si informacion dhe numri i tyre është i barabartë me

k= regjistri 2 (2 n/(n+1)] = n- regjistri 2 ( n+1).

Ky ekuacion ka zgjidhje me numra të plotë k= 0, 1, 4, 11, 26, të cilat përcaktojnë kodet përkatëse Hamming: (3,1)-kodi, (7,4)-kodi, (15,11)-kodi, etj. (gjithmonë n=2w‑1).

Kontrollimi i Matricës H Kodi Hamming ( r=n-k linjat dhe n kolonat): për një kod binar (n,k), n=2 w -1 kolona përbëhen nga të gjithë vektorët binarë të mundshëm me elemente r=n-k, duke përjashtuar vektorin me të gjithë elementët zero..

Është e lehtë ta kontrollosh atë G x H T= 0 (matrica zero e madhësisë k x r elementet).

Shembull. Le të kontrollojmë funksionimin e kodit kur dërgojmë një mesazh X=1011. Kombinimi i kodit të transmetuar do të formohet në formë kombinim linear(moduli i shtimit 2) i rreshtave nr. 1, 3, 4 të matricës G 7,4:

Supozojmë se për fjalën kodike të transmetuar C u prek gabimi 0000100, duke rezultuar në a anën marrëse fjalët C"=10111 10.



Pastaj kur shumëzoni C" me matricën e kontrollit H T marrim rreshtin e matricës së sindromës së gabimit që i përgjigjet asaj kolone të matricës së kontrollit H me numrin e bitit që përmban gabimin.

Krahasimi i sindromës që rezulton me vargjet H T, marrim se biti #5 në të majtë është i gabuar.

Dekoderi Hamming mund të funksionojë në dy reciprokisht ekskluzive mënyrat:

Mënyra e korrigjimit (korrigjimit) të gabimit (sepse d min = 3, atëherë ju lejon të korrigjoni gabimet e vetme);

Mënyra e zbulimit të gabimit (sepse d min =3, atëherë zbulon gabime të shumëfishta q 2 £). Nëse sindroma nuk është e barabartë me 0, atëherë dekoderi lëshon një sinjal gabimi.

Nëse ka 2 gabime në kodin e marrë dhe dekoderi funksionon në modalitetin e korrigjimit, atëherë ai nuk do të jetë në gjendje të përcaktojë nga sindroma nëse një ose dy gabime kanë ndodhur dhe do të kryejë një korrigjim të pasaktë të fjalës së koduar.

Kodi i zgjeruar Hamming. Mënyrat e funksionimit të dekoderit, aftësitë korrigjuese dhe zbuluese. Formimi i një fjale kodi. Formimi i matricës së kontrollit të kodit të zgjeruar Hamming. Interpretimi i sindromës së gabimit

Zgjerimi i kodit Hamming duhet të plotësojë vektorët e kodit me një bit shtesë në mënyrë që numri i atyre që përmbahen në çdo fjalë kodi të jetë çift. Për shkak të kësaj, kodet Hamming me kontroll të barazisë kanë përfitimet e mëposhtme:

Gjatësia e kodit rritet nga 2 w-1 deri në 2 w, i cili është i përshtatshëm për sa i përket transferimit dhe ruajtjes së informacionit;

Distanca minimale d Min e kodeve të zgjeruara Hamming është 4, gjë që bën të mundur zbulimin (!) të gabimeve 3-fish.

Një bit shtesë i barazisë lejon që dekoderi të përdoret në një të ri modaliteti hibrid– zbulimi dhe korrigjimi i gabimeve.

Konsideroni një zgjerim të kodit Hamming (7,4,3).

Çdo vektor kodi C a merret nga vektori i kodit c duke shtuar një bit shtesë të paritetit C a = ( c 1 , ..., c 7, c 8), ku.

Kontrollimi i Matricës H Kodi (8,4) merret nga matrica e kontrollit të kodit (7,4) në dy hapa:

Një kolonë zero i shtohet matricës së kodit (7,4);

Matrica që rezulton plotësohet nga një rresht i përbërë tërësisht nga ato.

Ne marrim:

Me dekodim sindromik

s" = CH T ,

dhe të gjithë përbërësit e s" duhet të jenë të barabartë me 0.

Me një gabim të vetëm, s "(4) = 1. Me vlerën e sindromës (3 bit më të ulët), gjejmë dhe korrigjojmë (përmbysim) bitin e gabuar.

gabim i dyfishtë komponenti s"(4) = 0, dhe sindroma është jozero. Në ndryshim nga kod standard Përmirësimi i një situate të tillë tashmë të zbuluar, por nuk korrigjohet (dërgohet një kërkesë për të ritransmetuar fjalën, etj.).

Kështu, dekoderi i zgjeruar Hamming mund të përdoret në një nga dy mënyrat reciproke ekskluzive:

Për të korrigjuar gabime të vetme dhe për të zbuluar gabime të dyfishta;

Për të zbuluar gabime të trefishta.

Artikujt kryesorë të lidhur