Kā aprēķināt Hamminga kodu

Autors: Mark Sanchez
Radīšanas Datums: 3 Janvārī 2021
Atjaunināšanas Datums: 17 Maijs 2024
Anonim
Kā aprēķināt Hamminga kodu - Elektronika
Kā aprēķināt Hamminga kodu - Elektronika

Saturs

Hamminga kodus izmanto, lai datu plūsmās ievietotu informāciju par kļūdu labošanu. Kodi ir veidoti tā, lai kļūda tiktu ne tikai atklāta, bet arī izlabota. Kļūdu labošanas informācijas pievienošana palielina datu apjomu, bet palielina arī saziņas uzticamību plašsaziņas līdzekļos ar augstu kļūdu līmeni.

Hamming kodēšanu var būt sarežģīti ieviest, taču to var izdarīt ļoti ātri, izmantojot bitu līmeņa aritmētiskos trikus. Tas ļauj izveidot noderīgu un ātrdarbīgu kļūdu labošanas sistēmu, ko izmantot iegultās lietojumprogrammās.

1. solis

Izveidojiet datu vārdu. Jebkurš bits ar pozīciju, kas ir divu (pirmā, otrā, ceturtā utt.) Spēks, ir jārezervē paritātes informācijai. Izmantojiet tik ilgi, cik nepieciešams, lai vārdam būtu sākotnējie dati un paritātes biti.


Piemērs:

1 1 0 1 0 0 1 0 kļūst par _ _ 1 _ 1 0 1 _ 0 0 1 0

Sākotnējie biti paliek tajā pašā secībā, bet tie tika izkliedēti, lai ievietotu paritātes bitus.

2. solis

Aprēķiniet pirmo paritātes bitu. Sākot ar pirmo bitu, mazliet tiek nolasīts un pēc tam tiek izlaists un procedūra tiek atkārtota līdz beigām. Pa to laiku tiek saskaitīts atrasto skaits. Paritātes biti šajā procesā netiek skaitīti.

Ja vienību skaits ir pāra, iestatiet pirmo bitu uz nulli. Pretējā gadījumā iestatiet to uz vienu.

Piemērs:

_ _ 1 _ 1 0 1 _ 0 0 1 0, _11101 1., 3., 5., 7., 9. un 11. bits satur četrus. Tas ir pat, tāpēc pirmais bits ir iestatīts uz nulli: 0 _ 1 _ 1 0 1 _ 0 0 1 0

3. solis

Aprēķiniet atlikušos paritātes bitus. Sākot ar otro bitu, tiek nolasīti divi biti, pēc tam tiek izlaisti divi biti un procedūra tiek atkārtota līdz beigām. Ceturtais bits nolasa četrus bitus, izlaiž vēl četrus, sākot ar ceturto bitu. Tam pašam paraugam seko visi paritātes biti, līdz tie visi tiek aprēķināti.


Piemērs:

2. bits: 0 _ 1 _ 1 0 1 _ 0 0 1 0 pārbauda _1, 01, 01, kas satur trīs, tāpēc 2. bits ir iestatīts uz vienu. 4. bits: _ 0 1 1 1 0 1 _ 0 0 1 0 pārbauda _101, 0, kas satur divus, tāpēc 4. bits ir iestatīts uz nulli. 8. bits: 0 1 1 0 1 0 1 _ 0 0 1 0 pārbauda _0010, kurā ir tikai viens, tāpēc 8. bits ir iestatīts uz vienu.

Tāpēc vārds tiek kodēts kā 011010110010.

4. solis

Apstipriniet vārdu. Ja vārds ir bojāts, paritātes biti neatbildīs gaidītajam. Lai apstiprinātu, ka vārds nav bojāts, vienkārši aprēķiniet paritātes bitus, izmantojot otro un trešo darbību. Ja biti nav vienādi, reģistrējiet to pozīcijas.

5. solis

Labojiet nepareizo bitu. Ja atrodat nepareizus paritātes bitus, vienkārši pievienojiet bitu pozīcijas. Summas vērtība ir nepareizā bita pozīcija. Mainiet bitu vērtību šajā pozīcijā.

Piemēram, ja nepareizie paritātes biti ir viens un četri, mainot piektā bita vērtību, kļūda tiks novērsta.