Descrierea funcției hammgen

Generarea unui test și generarea
matrice pentru codul Hamming

h = hammgen (m);
h = hammgen (m, pol);
[h, g] = hammgen (.);
[h, g, n, k] = hammgen (.);

Pentru toate variantele de sintaxă, lungimea cuvântului de cod este notată ca n. Valoarea lui n este 2 m-1 pentru un număr întreg m. mai mare sau egal cu trei. Lungimea blocului mesajului original este notată cu k, este egală cu n - m.
  • h = hammgen (m)
Returnează matricea de verificare (m rânduri, n coloane) pentru codul Hamming cu lungimea cuvântului de cod n = 2 m - 1. Parametrul de intrare m trebuie să fie un număr întreg mai mare sau egal cu trei. Lungimea blocului de mesaje pentru codul primit este n - m. Pentru a obține codul Hamming, este folosit un polinom primitiv binar, utilizat în mod implicit în MATLAB pentru câmpul finit GF (2 m). Acest polinom este calculat folosind funcția gfprimdf (m).
  • h = hammgen (m, pol)
La fel ca sintaxa precedentă, dar al doilea parametru de intrare pol specifică explicit un polinom primitiv peste câmpul finit GF (2 m) folosit pentru a obține codul Hamming. Acest parametru trebuie să fie un vector de rând și să conțină coeficienții polinomi în ordine ascendentă de grade. Dacă polinomul reprezentat de parametrul pol nu este primitiv, funcția generează un mesaj de eroare.





  • [h, g] = hammgen (.)
La fel ca și variantele precedente de sintaxă, dar în acest caz împreună cu funcția de paritate returnează matricea generatoare a codului - parametrul de ieșire g (k r, n coloane). Lungimea blocului mesajului original, k. este egal cu n - m. sau, care este aceeași, 2 m - 1 - m.
  • [h, g, n, k] = hammgen (.)

La fel ca sintaxa anterioară, dar împreună cu matricea de verificare a parității și a matricei de generatoare, funcția returnează și lungimea cuvântului de cod n și lungimea blocului mesajului original k.







Notă. Dacă valoarea m nu depășește 25 și un polinom implicit primitiv este folosit pentru a genera codul, sintaxa hammgen (m) este probabil să fie mai rapidă decât hammgen (m, pol).

Următoarea comandă afișează matricea testului și a generatorului pentru codul Hamming cu lungimea cuvântului codului 7 = 2 3 - 1 și lungimea blocului de mesaje 4 = 7 - 3.

h =
1 0 0 1 0 1 1
0 1 0 1 1 1 0
0 0 1 0 1 1 1

g =
1 1 0 1 0 0 0
0 1 1 0 1 0 0
1 1 1 0 0 1 0
1 0 1 0 0 0 1

Următoarea comandă utilizează un polinom primitiv explicit 1 + x 2 + x 3. Aceasta indică faptul că forma matricei de verificare depinde de alegerea polinomului primitiv. Pentru a vedea aceasta, comparați matricea h1 derivată mai jos cu matricea h din exemplul anterior.

h1 = hammgen (3, [1 0 1 1])

h1 =
1 0 0 1 1 1 0
0 1 0 0 1 1 1
0 0 1 1 1 0 1







Articole similare

Trimiteți-le prietenilor: