Kas ir Hamminga kods: vēsture, darbs un tā pielietojums

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Digitālajās sistēmās pārsūtītie dati par komunikācija var sabojāt ārējā trokšņa un citu fizisku kļūmju dēļ. Ja pārsūtītie dati nav saskaņoti ar dotajiem ievades datiem, tos sauc par “kļūdu”. Datu kļūdas var izdzēst svarīgus datus digitālajās sistēmās. Datu pārsūtīšana būs bitu (0 un 1) formā digitālajās sistēmās. Ja kāds no bitiem tiek mainīts, tas var ietekmēt visas sistēmas veiktspēju. Ja bits “1” tiek mainīts uz bitu “0” vai otrādi, tad to sauc par bitu kļūdu. Ir dažādi kļūdu veidi piemēram, viena bita kļūdas, vairākas kļūdas un sērijveida kļūdas. Šajā rakstā mēs apspriežam kļūdu labošanu un noteikšanu, kā arī koda bojāšanu.

Kas ir kļūdu noteikšana un labošana?

Digitālajā komunikācijā dati tiks zaudēti, ja kļūda informācijas pārsūtīšanā no vienas sistēmas / tīkla uz citu sistēmu / tīklu. Tātad, ir svarīgi atrast un labot kļūdas. Zināma kļūda noteikšana efektīvas saziņas kļūdu noteikšanai un labošanai tiek izmantotas korekcijas metodes. Ja tiek izmantotas šīs metodes, tad datus var pārsūtīt ar lielāku precizitāti.




Kļūdu noteikšana ir definēta kā metode, ko izmanto, lai noteiktu kļūdas, kas no raidītāja / sūtītāja pārraidītas uz uztvērēju digitālajās sistēmās. Pārraides laikā datiem tiek pievienoti atlaišanas kodi, lai atrastu kļūdas. Tos sauc par kļūdu noteikšanas kodiem.

Kļūdu labošana ir datu korekcija, kas pārsūtīti no raidītāja uz uztvērēju. Kļūdu labošanu var veikt divos veidos.



Kļūdu labošana atpakaļ

Šāda veida kļūdu labošanā uztvērējs pieprasa atpakaļ sūtītājam atkārtotu datu pārsūtīšanu, ja uztvērējs konstatē kļūdu.

Pārsūtīt kļūdu labojumu

ja uztvērēja saņemtie dati atrod kļūdu, tas izpilda kļūdas labojošos kodus, lai automātiski labotu un atjaunotu datus.


Ja ir “m” no datu bitiem un “r” no. Liekiem bitiem, tad informācijas kombinācijas būs 2r.

2r> = m + r + 1

Kļūdu noteikšanas kodu veidi

Kļūdas saņemtajos datos var atklāt, izmantojot 3 veidu kļūdu noteikšanas kodus. Tās ir paritātes pārbaude, cikliskās atlaišanas pārbaude (CRC) un gareniskās atlaišanas pārbaude.

Paritātes pārbaude

Tiek pievienots liekais bits, ko sauc paritātes bits, lai bitu skaits būtu vienāds vai nepāra pāra vai nepāra paritātes gadījumā. Uztvērējs skaita kadru skaitu no 1 (1), lai pievienotu paritātes bitu. To sauc paritātes pārbaude. Ja kadru skaits no 1 ir vienmērīgs, tiek izmantota pat paritāte, pievienojot bitu ‘1’ ar nulles vērtību. Līdzīgi no 1 no. Ir nepāra, tad tiek izmantota nepāra paritāte, pievienojot bitu ar vērtību ‘1’.

Kļūdu noteikšana

kļūdu noteikšana

Tādējādi tas tiek izmantots, lai nodrošinātu, ka rāmis / datums, ko uztvērējs saņēmis no avota, nav bojāts. Šāda veida kļūdu noteikšanā 1 skaitļiem jābūt pat saņemtajā rāmī. Tas ir ļoti lētāks starp visiem kļūdu noteikšanas veidiem.

Gareniskās atlaišanas pārbaude (LRC)

Bitu kopa / bloks tiek organizēts, pēc tam LRC metodi var izmantot, lai pārbaudītu paritātes bitu katrā kadrā. Tas palīdz nosūtīt paritātes bitu kopu kopā ar sākotnējiem datiem un pārbauda atlaišanu.

Cikliskā atlaišanas pārbaude

viņa tips tiek izmantots, lai noteiktu, vai no avota saņemtie dati / rāmji ir derīgi vai nē. Tas ietver nosūtāmo datu bināro sadalījumu un izmanto polinomus (dalītāja ģenerēšanai). Pirms pārraide , nosūtītājs veic datu / bitu / rāmja sadalīšanas darbību, lai aprēķinātu atlikušo daļu.

Cikliskā-atlaišanas pārbaude

cikliskā atlaišanas pārbaude

Pārsūtot faktiskos datus no sūtītāja, faktisko datu beigās tas pievieno atlikumu. Faktisko datu un atlikušo daļu kombināciju sauc par kodvārdu. Dati tiek pārsūtīti kodu vārdu veidā. Šajā procesā, ja dati ir bojāti, uztvērējs tos noraidīs, pretējā gadījumā tie tiks pieņemti.

Kas ir Hamminga kods?

Hamminga kods tiek definēts kā lineārs kods, kas tiek izmantots kļūdu noteikšanas procesā līdz pat 2 starpposma kļūdām. Tas arī spēj noteikt viena bita kļūdas. Šajā metodē sūtītājs datiem / ziņojumam pievieno liekos bitus, lai kodētu datus. Lai veiktu kļūdu noteikšanu un labošanu, šie liekie biti tiek pievienoti noteiktās kļūdu labošanas procesa pozīcijās.

Hamming-Code

hamming-kods

Hamminga kodu vēsture

1950. gadā Ričards V. Hammings izgudroja Hamminga kodus, lai atklātu un labotu datu kļūdas. Pēc tam, kad attīstījās datori ar lielāku ticamību, viņš ieviesa kodēšanas kodus kļūdu labošanas kodiem un vēlāk paplašināja līdz pat 2 kļūdu kodu noteikšanai. Hamming kodi tiek izveidoti, jo paritātes pārbaude nevar atklāt un labot kļūdas datos. Hamminga kodi tiek ievietoti jebkurā datu bloka garumā starp faktiskajiem datiem un atlaišanas bitiem. Viņš izstrādāja virkni algoritmu, lai strādātu ar kļūdu labošanas metožu problēmām, un šie kodi tiek plaši izmantoti ECC atmiņā.

Ziņojuma kodēšanas process, izmantojot Hamminga kodu

Sūtītāja ziņojuma kodēšanas process, izmantojot sūtīšanas kodu, ietver 3 soļus.

1. solis: Pirmais solis ir aprēķināt ziņojumā lieko bitu skaitu

  • Piemēram, ja ziņojumā ir “n” no bitiem un ziņai tiek pievienoti “p” no liekajiem bitiem, tad “np” norāda (n + p + 1) dažādus stāvokļus.
  • Kur (n + p) apzīmē kļūdas vietu katrā bitu pozīcijā
  • 1 (papildu stāvoklis) nav kļūda.
  • Tā kā ‘p’ norāda 2 ^ p (2p) stāvokļus, kas ir vienādi ar (n + p + 1) stāvokļiem.

2. solis: Novietojiet liekos bitus precīzā / pareizā stāvoklī

'b' biti tiek ievietoti bitu pozīcijās, kas ir 2 spēks, piemēram, 1, 2, 4, 8, 16 utt. Šīs bitu pozīcijas ir norādītas kā p1 (1. pozīcija), p2 (2. pozīcija), p3 (pozīcija 4) utt.

3. solis: Aprēķiniet lieko bitu vērtības

  • Šeit paritātes bitus izmanto, lai aprēķinātu lieko bitu vērtības.
  • Paritātes biti var padarīt pāra 1 vai pāra ziņojumu īpatnību.
  • Ja ziņojuma kopējais skaits 1 ir vienāds, tiek izmantota pat paritāte
  • Ja ziņojuma kopskaits no 1 ir nepāra, tiek izmantota nepāra paritāte.

Ziņojuma atšifrēšanas process Hamminga kodā

No sūtītāja saņemtā ziņojuma atšifrēšanas process, izmantojot saīsināšanas kodu, ietver šādas darbības. Šis process nav nekas cits kā pārrēķins, lai atklātu un izlabotu kļūdas ziņojumā.

1. solis: Saskaitiet lieko bitu skaitu

Formula ziņojuma kodēšanai, izmantojot liekos bitus, ir

2p ≥ n + p + 1

2. darbība: izlabojiet visu lieko bitu pozīcijas

“P” no liekajiem bitiem tiek novietoti 2 bitu jaudas pozīcijās, piemēram, 1,2,4,8,16,32 utt.

3. solis: paritātes pārbaude (nepāra paritāte un pāra paritāte)

Paritātes biti tiek aprēķināti, pamatojoties uz datu bitu un lieko bitu skaitu no 1.

Piemēram

P1 paritāte būtu 1, 3, 5, 7, 9, 11,…

P2 paritāte būtu 2, 3, 6, 7, 10, 11,…

P3 paritāte būtu 4–7, 12–15, 20–23,…

Hamminga kodeksa priekšrocības

Galvenā hamming koda izmantošanas priekšrocība ir rentabla, ja datu plūsmā ir viena bita kļūdas.

  • Tas var nodrošināt kļūdu noteikšanu un norāda arī bitu, kurā ir kļūda labošanai.
  • Hamminga kodus ir ļoti viegli un vislabāk izmantot datora atmiņā un viena bita kļūdu labošanā un noteikšanā.

Hamminga kodeksa trūkumi

  • Vislabāk tas ir tikai viena bita kļūdu labošanai un noteikšanai. Ja kļūdās vairāki biti, tad visu var sabojāt.
  • Hamminga koda algoritms var atrisināt tikai viena bita kļūdas.

Hamminga kodu pielietojums

Hamminga kodi tiek izmantoti,

  • Skaitļošana
  • Telekomunikācijas
  • Datu saspiešana
  • Mīklas un turbo kodu risināšana
  • Satelīti
  • Plazmas CAM
  • Aizsargāti vadi
  • Modemi
  • Datora atmiņa
  • Atveriet savienotājus
  • Iegultās sistēmas un procesors

Bieži uzdotie jautājumi

1). Vai Hamminga kods var atklāt 2 bitu kļūdas?

Hamming kodi var atklāt un izlabot līdz pat 2 bitu kļūdām datu straumē

2). Kā jūs salabojat Hamminga kodu?

Hamming kodi tiek ievietoti jebkurā datu garumā starp faktiskajiem datiem un liekajiem bitiem. Šie kodi ir vietas, kuru minimālais attālums ir 3 biti

3). Kāds ir paritātes kods?

Paritātes kods vai paritātes bits pievieno mazliet saņemtajam rāmim (datos ir 1 un 0), lai kopējais bitu (1) skaits būtu pāra vai nepāra.

4). Kāds ir Hamminga attālums starp datiem?

Attāluma attālums starp divām vienāda garuma dažādām datu plūsmām nav 1.

Sadursmes attālumu starp divām vienāda garuma datu virknēm var aprēķināt, izmantojot operāciju XOR.

Piemēram, a = 11011001

b = 10011101

Hamminga attālumu var aprēķināt kā

11011001 ⊕ 10011101 = 01000100 (1 bitu skaits ir 2)

Hamming attālums norāda no 1 no rezultāta datu plūsmā

Tātad, d (11011001, 10011101) = 2

Līdzīgi 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Vai Hamminga kods ir ciklisks?

Jā, kodēšanas kodi ir līdzvērtīgi cikliskiem kodiem, kurus var izmantot kā kļūdu noteikšanas kodus.

Tādējādi viss ir par kļūdu labošanu un noteikšanu, kļūdu noteikšanas veidiem, Hamming kodi , ziņojuma šifrēšanas un atšifrēšanas process, izmantojot kodēšanas kodus, kodu izmantošanas iespējas, Hamminga kodu priekšrocības un trūkumus. Šeit ir jums jautājums: 'Kādas ir kļūdu noteikšanas un labošanas programmas?'