Funkkommunikation mit Hamming- und CRC-Verfahren verbessern

| Autor / Redakteur: John Bell * / Michael Eckstein

Ablauf der Kommunikation: 1. CRC für Nutzdaten anhängen, 2. Adresse und Gesamt-CRC einfügen, 3. Übertragen aller Daten, 4. Überprüfen von äußerem CRC und bei Fehlerfreiheit von innerem CRC, Auslesen der Nutzdaten und Ausführen der Aktion.
Ablauf der Kommunikation: 1. CRC für Nutzdaten anhängen, 2. Adresse und Gesamt-CRC einfügen, 3. Übertragen aller Daten, 4. Überprüfen von äußerem CRC und bei Fehlerfreiheit von innerem CRC, Auslesen der Nutzdaten und Ausführen der Aktion. (Bild: Circuit Design)

Fernsteuerungen sollen Schaltsignale zuverlässig per Funk übertragen – auch in überfüllten Frequenzbändern. Eine CRC-Fehlererkennung mit einer Hamming-Distanz von 6 hilft – und verhindert Fehlfunktionen.

Rauschen und Interferenzen sind als Störfaktoren in jedem Kommunikationsmedium vorhanden. Sie beeinträchtigen die Nutzfrequenz und erschweren Signalübertragungen. Bei analogen Kommunikationssystemen tritt Rauschen als permanente, überwiegend zufällige Artefakte im Signal auf, die sich nicht entfernen lassen. Ein zu großer Rauschanteil bei einer Signalübertragung kann dazu führen, dass der Empfänger das Signal nicht richtig lesen kann – und möglicherweise nicht wie vorgesehen reagiert.

Eine Methode, die Übertragungsqualität zu verbessern, ist das Hinzufügen zusätzlicher Bits, so genannter Redundanz-Bits, zu den Daten. Der Empfänger kann diese zusätzlichen Bits betrachten, die Daten analysieren, und so festzustellen, ob während der Übertragung ein Fehler aufgetreten ist. Ein Problem bleibt jedoch: Zwar kann der Empfänger die Daten analysieren und Fehler erkennen, jedoch nicht immer feststellen, welche Bits beschädigt wurden. Dieser Prozess entspricht der Fehlererkennung. Wenn der Empfänger die Positionen erkennen und identifizieren kann, an denen der Fehler aufgetreten sind, kann er die betroffenen Bits korrigieren. Dies wird als Fehlerkorrektur bezeichnet und ermöglicht die normale Fortsetzung der Kommunikation.

Fehlererkennung, -korrektur und Hamming-Distanz

Ein Verfahren für die Fehlerkorrektur ist Hamming. Ist es implementiert, speichert der Empfänger eine Tabelle aller gültigen Bit-Codes (Codewörter), die bei der Übertragung verwendet werden. Um ein Codewort in ein anderes zu ändern, kippen das System Bits. Die Anzahl der gekippten Bits entspricht der Hamming-Distanz.

Für eine Datenlänge von 3 Bit kann jedes Codewort zwischen 000 bis 111 (also 000, 001 ... 111) als Gitterwürfel mit acht Eckpunkten dargestellt werden. Diese symbolisieren den jeweiligen Wert. Für andere Datenlängen sind die Gitter natürlich komplexer. Jede Bewegung entlang der Linie zwischen zwei Eckpunkten repräsentiert eine Bitänderung oder Hamming-Distanz von 1. Im nebenstehenden Beispielbild sind gültige Codewörter im Gitter blau markiert.

Die minimale Hamming-Distanz ist die kleinstmögliche Anzahl von Zügen, um von einem Codewort zu einem anderen zu gelangen. Wenn wir über die Hamming-Distanz sprechen, bezieht diese sich normalerweise auf diesen Mindestwert. Zum Beispiel benötigt in System 3 der kürzeste Pfad zu einem anderen Codewort drei Züge.

In System 1 werden alle Codewörter als gültig behandelt und es ist somit keine Fehlererkennung möglich. Ein Zug von einem gültigen Codewort aus führt immer zu einem anderen gültigen Codewort.

Um in System 2 von einem gültigen Codewort zu einem anderen Codewort zu wechseln, wird genau ein ungültiges Codewort durchlaufen. Die Gesamtbewegung entspricht einer minimalen Hamming-Distanz von 2. Der Empfänger kann das Auftreten eines 1-Bit-Fehlers erkennen, wenn das Codewort auf ungültigen Punkten landet, aber da dieses ungültige Codewort genau in der Mitte zwischen zwei gültigen Codewörtern liegt, kann er das richtige gesendete Codewort nicht bestimmen. Daher ist hier keine Fehlerkorrektur möglich.

Streckenpuzzle: Mit wenigen Schritten zum gültigen Code

In System 3 ist der Mindestabstand zwischen den 2 gültigen Codewörtern 3. Das Auftreten eines 1-Bit- oder 2-Bit-Fehlers lässt sich erkennen, nicht jedoch das Auftreten eines 3-Bit-Fehlers – man gelangt einfach zu einem anderen gültigen Codewort. Dieses System kann einen 1-Bit-Fehler korrigieren, indem es das nächste gültige Codewort daneben betrachtet und feststellt, dass dieses das gesendete Codewort ist.

Um ein zuverlässiges Kommunikationssystem zu realisieren, bietet es sich also an, die Hamming-Distanz zu erhöhen. Hierfür kann man entweder weniger gültige Codewörter oder mehr Bits verwenden. Natürlich müssen dadurch größere Datenmengen in einem Kommunikationsmedium mit fester Kapazität gesendet werden.

Dieses Prinzip lässt sich erweitern und dahingehend verallgemeinern, was mit größeren Hamming-Distanzen passieren würde. Nachfolgend sind die Codewörter in Tabelle 1 organisiert. Die Hamming-Distanz definiert den Abstand zwischen gültigen Codewörtern. Alle ungültigen Codewörter sind als grüne Felder dargestellt..

Das Übertragen von Schaltsignalen gilt als einfache Funkanwendung, die kein komplexes Design erfordert. Sind jedoch mehrere Empfänger vorhanden und gilt es präzise zu steuern, welche Empfänger reagieren sollen, ist doch ein umfangreicherer Aufbau nötig. Ein mögliches Beispiel: Ein Signal wird gesendet, um Empfänger 1 mitzuteilen, dass er antworten soll. bei einer Fehlinterpretation der Daten wird möglicherweise der falsche Empfänger adressiert, was die Sicherheit des Systems beeinträchtigt.

Hamming- und CRC-Verfahren kombiniert

Die Hamming-Funktion lässt sich in der Praxis mithilfe zweier unterschiedlicher Techniken implementieren. Circuit Design verwendet für sein 2,4-GHz-Fernsteuermodul „NK-2,4Y“ eine vom CRC-Verfahren (Cyclic Redundancy Check) abgeleitete Hamming-Funktion, die keine speziellen Codewörter wie oben verwendet. Vielmehr wird CRC hier als Fehlererkennungsverfahren verwendet. Dadurch erreicht Circuit Design eine Hamming-Distanz von 6. Diese Hamming-Distanz wird in der IEC 870-5-1 „Telecontrol equipment and systems Part 5 Transmission protocol Section One – Transmission frame formats“ für Systeme mit der Formatklasse FT3 und besonders hohen Anforderungen an die Datenintegrität empfohlen

Außerdem fügt der Hochfrequenz-(HF)-Chip standardmäßig vor der Übertragung der Funkkommunikationsdaten seine eigenen CRCs zu den endgültigen Daten hinzu. Das soll sicherstellen, dass die Daten das Zielmodul erreichen. Es garantiert aber nicht die Kohäsion der NK-2.4Y-Nutzdaten. Aus diesem Grund wird eine separate CRC (mit einer Hamming-Distanz von 6) nur für die NK-2.4Y-Nutzdaten durchgeführt, um eine korrekte Datenkommunikation zu gewährleisten.

Eine Analogie ist das Verschicken von Briefen. Die Adresse auf dem Umschlag ist in einem Standardformat geschrieben. Das gewährleistet, dass sie gelesen werden kann und der Brief den Empfänger erreicht. Der Inhalt des Umschlags ist dafür irrelevant. Wenn die Adresse nicht lesbar ist, wird der Brief nicht zugestellt. Dies entspricht der vom HF-IC durchgeführten CRC. Wenn der Umschlag den Empfänger erreicht, kann der enthaltene Brief gelesen werden. Dies entspricht der NK-2.4Y-CRC mit seiner Hamming-Funktion, die auf die NK-2.4Y-Nutzdaten angewendet wird, wenn die Daten vom Ziel-HF-IC empfangen werden.

Das NK-2.4Y-Modul hängt zunächst den Nutzdaten die zugehörigen CRC-Prüfdaten an. Im nächsten Schritt fügt der HF-Chip den Header mit der Adresse sowie den Gesamt-CRC-Code an. Der Empfänger checkt die „Umschlag“-CRC. Stimmen die Daten, wird die CRC für die Nutzdaten ausgeführt. Sind alle Prüfergebnisse positiv, kann das Modul die Anfrage bearbeiten und das auszuführende Kommando an den Empfänger beziehungsweise den Aktor weiterleiten.

Durch das Einbinden von CRC mit einer Hamming-Distanz in die Nutzdaten ist eine sichere und zuverlässige Kommunikation möglich. Wenn Fehler festgestellt werden, werden alle Empfänger die Daten verwerfen und keiner wird eine Reaktion zeigen. Dies verhindert Fehlfunktionen des Systems aufgrund von Übertragungsfehlern. Da die Übertragung kontinuierlich erfolgt, führt NK-2.4Y keine Fehlerkorrektur durch, sondern wartet einfach auf das nächste Übertragungspaket.

Intelligente Wi-Fi-Schlösser öffnen immer mehr Türen

Intelligente Wi-Fi-Schlösser öffnen immer mehr Türen

22.03.18 - Stromsparende Wi-Fi-Technik und direkte Cloud-Anbindung ermöglichen eine neue Generation per Funk fernsteuerbarer Schlösser. Sie dürfen nur wenig Strom verbrauchen und müssen sicher sein. lesen

Eignet sich das Smart Home für einen sicheren Einbruchschutz?

Eignet sich das Smart Home für einen sicheren Einbruchschutz?

24.04.18 - Die Sicherheit der eigenen vier Wände ist wichtig, doch gleich eine Einbruchmeldeanlage zu installieren ist nicht immer zweckmäßig. Kann ein Smart Home den Schutz nebenbei mit erledigen? Ein Pro und Contra. lesen

Neue IoT-Mobilfunktechnik Cat-M1 erstmals live in Deutschland eingesetzt

Neue IoT-Mobilfunktechnik Cat-M1 erstmals live in Deutschland eingesetzt

02.07.18 - Entlang der Autobahn A9 in Bayern können jetzt Cat-M1-IoT-Geräte in einem Live-Netz funken: Eineinhalb Jahre nach der Ankündigung hat die 5G-ConnectedMobility-Initiative die M2M-Funktechnik in ihr Mobilitäts-Testnetz implementiert. lesen

* John Bell ist Application Engineer in der Sales Division von Circuit Design

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45313232 / HF und Wireless)