Distanța Hamming și modulul NK-2.4Y de la Circuit Design

by donpedro

Modulul NK-2.4Y de 2.4GHz de la Circuit Design Inc. este un modul de telecomandă dezvoltat pentru transmiterea unor semnale de comutație. Pentru a asigura o comunicație sigură și securizată, NK-2.4Y integrează o detecție a erorii CRC care se bazează pe o distanță Hamming de 6. Aceasta previne funcționarea defectuoasă a sistemului ca urmare a erorilor.

Ce este detecția erorii?
În orice mediu de comunicație vor fi întotdeauna prezente zgomote și interferențe. În mod particular în cazul RF, comunicația este constant înconjurată de zgomote și interferențe de la alte surse de semnal. În cazul comunicației analogice, zgomotele apar ca elemente permanente în semnal și nu pot fi îndepărtate. Combinația între semnal și zgomot înseamnă că receptorul nu poate citi corespunzător semnalul și, implicit, să răspundă corect.
Prin adăugare de biți suplimentari (redundanță) datelor, receptorul poate căuta acești extra-biți și analiza datele pentru a determina dacă în perioada transmisiei a apărut o eroare.

Detecția și corecția erorii
Atunci când receptorul analizează datele, el poate detecta apariția erorii, dar nu poate întotdeauna determina care biți sunt afectați. Acest proces poartă numele de detecția erorii. Dacă receptorul poate detecta și identifica poziția unde apare eroarea, el poate corecta biții afectați. Acest lucru poartă denumirea de corecția erorii și permite continuarea în mod normal a comunicației.

Distanța Hamming
La implementarea Hamming, receptorul stochează un tabel cu toate codurile de biți valide (codewords) utilizate în transmisie. Pentru a schimba un cuvânt de cod în altul, biții trebuie schimbați. Numărul de schimbări de biți egalează distanța Hamming.
Pentru lungimi de date de 3 biți, fiecare cuvânt de cod între 000 și 111 (de exemplu 000 -> 001…111) poate fi vizualizat utilizând o rețea cu 8 puncte. Pentru alte lungimi de date, fiecare va produce rețeaua sa corespunzătoare. Fiecare mutare pe o linie reprezintă o schimbare de bit, sau o distanță Hamming de 1. Cuvintele de cod valide într-un sistem pot fi evidențiate cu albastru.
Distanța minimă Hamming reprezintă numărul minim de mișcări pentru a obține un cuvânt de cod din altul. Atunci când vorbim de Distanța Hamming, ne referim uzual la valoarea minimă. De exemplu în sistemul 3 din figura de mai jos, cea mai scurtă cale de a ajunge la alt cuvânt de cod este de 3 schimbări. Haideți să aruncăm o privire asupra fiecărui sistem în parte.

Tabel 1

În sistemul 1, toate cuvintele de cod sunt tratate ca valide, nefiind posibilă nicio detecție de eroare.
O schimbare de la un cuvânt de cod valid va produce un alt cuvânt de cod valid.
În sistemul 2, pentru o deplasare de la un cuvânt de cod valid la un altul implică trecerea prin exact un cuvânt de cod nevalid. Mișcarea totală este o distanță minimă Hamming de 2. Receptorul poate semnala apariția unui bit de eroare atunci când cuvântul de cod apare pe puncte nevalide, dar, deoarece acest cuvânt de cod se află exact la jumătatea dintre două cuvinte de cod valide, acesta nu poate determina cuvântul de cod corect care a fost trimis. În acest fel nu este posibilă corecția erorii.
În sistemul 3, distanța minimă între două cuvinte de cod valide este de 3. Poate fi astfel semnalată apariția unei erori pe un bit sau 2 biți, dar nu pe 3 biți (doar mutare către alt cuvânt de cod valid). Totuși, se poate observa că sistemul poate acum corecta eroarea pe un bit căutând cel mai apropiat cuvânt de cod valid de după el și determinând dacă a fost cel care a fost trimis.
Astfel ne dorim să creștem distanța Hamming pentru a face sistemul de comunicații mai sigur. Pentru aceasta, puteți utiliza mai puține cuvinte de cod valide sau mai mulți biți. Costul de a face acest lucru este, desigur, de a trimite cantități mai mari de date într-un mediu de comunicație cu capacitate fixă. Putem extinde cele de mai sus și generaliza ce s-ar întâmpla cu distanțe Hamming mai mari. Haideți să organizăm cuvintele de cod într-un tabel (tabel 1). Distanța Hamming definește spațiul dintre cuvinte de cod valide. Toate cuvintele de cod nevalide sunt în dreptunghiuri verzi.

Erori de comunicație
Se presupune că transmiterea datelor de comutație este o aplicație simplă de radio și nu necesită un proiect complex. Totuși, există cazul în care sunt prezente multiple receptoare și este nevoie de un control precis cu privire la care receptor răspunde. O astfel de situație poate fi prezentată mai jos:
De exemplu, trimitem un semnal pentru a îi spune receptorului 1 să răspundă. Dacă datele sunt interpretate greșit, va opera receptorul greșit (receptorul 3), ceea ce va compromite siguranța sistemului.

Distanța Hamming și NK-2.4Y
Încă de la început am explicat ideea de bază referitoare la cum pot fi detectate erorile de date (și posibil corectate) utilizând funcția Hamming. La implementarea în practică a funcției Hamming există diferite tehnici. Funcția Hamming implementată pe sarcina utilă de date a NK-2.4Y este derivată din metoda CRC și nu utilizează cuvinte de cod specifice precum cele de mai sus. NK-2.4Y CRC (verificare ciclică a redundanței) este utilizată ca metodă de detecție a erorii, iar consecința acestui lucru este că se atinge o distanță Hamming de 6. În al doilea rând, pentru motiv de comunicație radio, RFIC adaugă implicit propriul său CRC în finalul datelor înainte de transmitere. Singurul scop al acestei operațiuni este de a asigura că sarcina utilă ajunge la modulul țintă. Procedura nu garantează coeziunea datelor din sarcina utilă NK-2.4Y. Acesta este motivul pentru care este realizat un CRC separat (cu distanță Hamming 6) numai asupra datelor din sarcina utilă NK-2.4Y, garantând comunicarea corectă a datelor.
Pentru comparație, să ne imaginăm cum sunt postate literele. Adresa de pe pachet este scrisă în format standard astfel încât destinatarul să o poată primi. Conținutul pachetului este irelevant. Dacă adresa nu poate fi citită, pachetul nu este livrat. Acesta este echivalentul CRC-ului realizat de RFIC.
Atunci când pachetul ajunge la destinație, conținutul său poate fi examinat. Acesta este echivalentul NK-2.4Y CRC și al funcției Hamming realizate pe sarcina utilă NK-2.4Y, atunci când datele sunt recepționate de ținta RFIC.

Sarcina utilă NK-2.4
Mai jos sunt datele din sarcina utilă NK-2.4Y cu CRC-ul NK-2.4Y (distanță Hamming 6) de verificare adăugat:

Concluzie
S-a putut observa ce se întâmplă dacă asupra sarcinii utile nu se aplică CRC sau o altă formă de verificare. Prin integrarea CRC și apoi a distanței Hamming asupra sarcinii utile, este posibilă o comunicație sigură și securizată. La detectarea oricăror erori, toate receptoarele descarcă datele și nu vor trimite semnal pe nicio ieșire. Acest lucru previne funcționarea defectuoasă a sistemului. Dacă transmisia este continuă, NK-2.4Y nu realizează corecția erorii, ci așteaptă pur și simplu următorul pachet transmis.

Observație
În conformitate cu IEC 870-5-1 “Sisteme și echipamente de telecontrol, Partea 5 Protocol de transmisie, Secțiunea 1 – Formate de cadre de transmisie”, pentru clasa de formate clasă FT3 se recomandă distanța Hamming 6, care este potrivită pentru sisteme cu cerințe speciale de integritate a datelor.

Circuit Design GmbH | info@circuitdesign.de | www.circuitdesign.de

S-ar putea să vă placă și