DE112005003401T5 - Datenkommunikationsverfahren und -Vorrichtung - Google Patents

Datenkommunikationsverfahren und -Vorrichtung Download PDF

Info

Publication number
DE112005003401T5
DE112005003401T5 DE112005003401T DE112005003401T DE112005003401T5 DE 112005003401 T5 DE112005003401 T5 DE 112005003401T5 DE 112005003401 T DE112005003401 T DE 112005003401T DE 112005003401 T DE112005003401 T DE 112005003401T DE 112005003401 T5 DE112005003401 T5 DE 112005003401T5
Authority
DE
Germany
Prior art keywords
frame
data
data blocks
blocks
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112005003401T
Other languages
English (en)
Inventor
Mikhail Yurievich Lyakh
Konstantin Vladimirovich Zakharchenko
Oleg Borisovich Semenov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112005003401T5 publication Critical patent/DE112005003401T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Eine Vorrichtung mit:
einem Decoder zum Decodieren von Datenblöcken, die zu einem initialen Datenrahmen codiert und von einer Quelleneinheit über einen Kommunikationskanal unter Gewinnung einer Mehrzahl von decodierten Datenblöcken empfangen worden sind;
einem Rahmenrestaurationsmodul zum Zusammensetzen einer wiederhergestellten Version des initialen Datenrahmens aus der Mehrzahl von decodierten Datenblöcken und zum Identifizieren beschädigter Datenblöcke in der wiederhergestellten Version, und
eine Botschafterzeugungsmodul zum Erzeugen wenigstens einer Botschaft, die einen Teilsatz der Mehrzahl von decodierten Datenblöcken identifiziert, zur Übertragung an die Quelleneinheit, wobei der Teilsatz den beschädigten Datenblöcken entspricht.

Description

  • TECHNISCHES GEBIET
  • Verschiedene hier beschriebene Ausführungsbeispiele beziehen sich allgemein auf Kommunikationen einschließlich Vorrichtungen, Systemen und Verfahren, die zum Übertragen und Empfangen von Information über drahtlose Netzwerke und andere Kommunikationskanäle verwendet werden.
  • HINTERGRUND
  • Bei einem digitalen Kommunikationssystem kann eine Ausgangseinheit eine Information an eine Bestimmungseinheit entsprechend einem auf einem Rahmen basierenden Datenübertragungsprotokoll aussenden. Da der Kommunikationskanal verrauscht und unzuverlässig sein kann, kann das Datenübertragungsprotokoll ein Rahmenaustauschprotokoll implementieren, um es der Ausgangseinheit zu erlauben zu bestimmen, ob ein gesendeter Rahmen erfolgreich von der Bestimmungseinheit empfangen worden ist. Das Protokoll kann zwei Rahmen aufweisen: 1) einen ausgesendeten Rahmen, der einen Rahmen beinhaltet, der von der Ausgangseinheit an die Bestimmungseinheit ausgesendet ist und 2) einen Antwortrahmen, der ein Anerkenntnis (ACK) der Bestimmungseinheit einschließt, dass der gesendete Rahmen richtig empfangen worden ist.
  • Um es der Bestimmungseinheit zu ermöglichen zu bestimmen, ob ein Rahmen richtig empfangen worden ist, kann die Quelleinheit eine Rahmenprüfsequenz und möglicherweise eine Kopfprüfsequenz gemeinsam mit dem ausgesendeten Rahmen codieren und aussenden. Wenn die Auswertung der Rahmenprüfsequenz und der Kopfprüfsequenz durch die Bestimmungseinheitsbewertung angibt, dass der ausgesendete Rahmen richtig empfangen worden ist, kann die Bestimmungseinheit einen ACK Rahmen an die Ausgangseinheit senden. Wenn die Auswertung ergibt, dass der gesendete Rahmen mit Fehlern empfangen worden ist, kann die Bestimmungseinheit es unterlassen, den ACK Rahmen auszusenden. In diesem Fall kann die Quelleinheit bei dem Ablauf eines Anerkennungszeitgebers den gesamten gesendeten Rahmen erneut an die Bestimmungseinheit aussenden. Dieses Übertragungsverfahren kann zu einer robusteren Kommunikation führen. Für erheblich eingeschränkte Kanäle können die Kommunikationen also erhebliche Beträge der Systembandbreite verbrauchen, insbesondere bei Kommunikationen, die relativ große Rahmen beinhalten.
  • KURZE ERLÄUTERUNG DER ZEICHNUNGEN
  • 1 ist ein vereinfachtes Blockdiagramm eines Kommunikationssystems in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel,
  • 2 ist ein vereinfachtes Blockdiagramm eines Kommunikationssystems, das einen Codierer/Sender und einen Empfänger/Decodierer in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel der Erfindung wiedergibt,
  • 3 ist ein vereinfachtes Blockdiagramm, das funktionale Elemente einer Ausgangseinheit und einer Bestimmungseinheit in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel der Erfindung wiedergibt,
  • 4 ist ein Diagramm, das einen ursprünglichen Datenrahmen in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung wiedergibt,
  • 5 ist ein Diagramm, das eine Botschaft, die einen beschädigten Block in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung wiedergibt,
  • 6 ist ein Diagramm, das einen antwortenden Datenrahmen in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel wiedergibt,
  • 7 ist ein Flussdiagramm, das ein Verfahren für eine Bestimmungseinheit zum Korrigieren eines Datenrahmens in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel wiedergibt, und
  • 8 ist ein Flussdiagramm eines Verfahrens für eine Ausgangseinheit zum selektiven Übertragen identifizierter Datenblöcke in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel.
  • EINGEHENDE BESCHREIBUNG
  • Verschiedene Ausführungsbeispiele des Erfindungsgegenstands, der unten beschrieben ist, weisen eine Vorrichtung und Art und Weisen zum Kommunizieren von Datenrahmen in einer robusten Weise ein. Verschiedene Ausführungsbeispiele können in Systemen und Einheiten implementiert sein, etwa dem System und der Einheit, die in Verbindung mit den 1 und 2 beschrieben worden ist. Verschiedene Ausführungsbeispiele können weiter in anderen Systemen und Einheiten implementiert sein, die eine unterschiedliche Ausbildung haben, wie es sich für den Fachmann basierend auf dieser Beschreibung ergibt.
  • 1 ist ein vereinfachtes Blockdiagramm eines Kommunikationssystems 100 in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel. Das System 100 weist mehrere Kommunikationseinheiten 102, 104 auf. Obwohl nur zwei Einheiten 102, 104 zum Zwecke der Vereinfachung dargestellt sind, kann das System 100 viele Kommunikationseinheiten aufweisen.
  • Eine Einheit 102, 104 kann mobil, tragbar oder ortsfest sein. Beispielsweise kann eine Einheit 102, 104 ein Laptop, ein Desktop, ein Server, ein Mainframe-Computer, ein Handy, ein Personal Data Assistant (PDA), ein Drucker, ein drahtloses Peripheriegerät für einen Computer (beispielsweise eine Tastatur, eine Maus usw.), ein tragbares Radio, eine Intermediate Communications Device (beispielsweise ein Router, ein Zugangspunkt usw.), ein elektronisches Gerät eines Verbrauchers (beispielsweise ein Fernseher, ein Spielgerät, ein Peripheriegerät für ein Spielsystem usw.) oder jede andere elektronische Einrichtung mit der Fähigkeit zum Kommunizieren mit einem auf einem Rahmen basierenden Kommunikationsprotokoll sein.
  • Die Einheiten 102, 104 können miteinander direkt kommunizieren, etwa über eine direkte drahtlose Link 106 oder ein verdrahtetes Link 108. Alternativ oder zusätzlich dazu können die Geräte 102, 104 miteinander indirekt über ein drahtloses Netzwerk 112 oder ein verdrahtetes Netzwerk 116 über drahtlose Links 110 bzw. verdrahtete Links 114 kommunizieren. Beispielsweise können Netzwerke 112, 116 ein Local Area Network (LAN) beinhalten, ein Wide Area Network (WAN), ein drahtloses LAN (WLAN), ein Radio Area Network (RAN), ein Personal Area Network (PAN) (beispielsweise ein Bluetooth-Netz), ein Handy-Netz, ein Satelliten-Netz oder jede Kombination daraus. Beispielsweise können, ohne darauf eingeschränkt zu sein, Ausführungsbeispiele in jedem WLAN System oder Gerät implementiert sein, das ein Institute of Electrical and Electronics Engineers (IEEE) 802.x Standard unterstützt (beispielsweise IEEE Std. 802.11-1997, 802.11a, 802.11e, 802.15, 802.16, 802.2, usw.).
  • Die Einheiten 102, 104 können miteinander oder mit Netzen 112, 116 über unidirektionale oder bi-direktionale Links kommunizieren. Entsprechend kann jede Einheit 102, 104 dazu eingerichtet sein, als ein Ausgangsgerät, ein Bestimmungsgerät oder beides zu arbeiten.
  • 2 ist ein vereinfachtes Blockdiagramm eines Kommunikationsgeräts 200 in Übereinstimmung mit einem beispielhaften Ausführungsbeispiel. Die Einheit 200 weist wenigstens ein Prozessorelement 202, einen Codierer/Sender 204 und einen Empfänger/Decodierer 206 auf. Das Prozessorelement 202 kann einen oder mehrere Prozessoren für allgemeine Zwecke oder spezielle Zwecke, anwendungsspezifische integrierte Schaltkreise (ASIC) oder diskrete oder integrierte Schaltkreise oder Kombinationen daraus aufweisen. Das Prozessorelement 202 kann jede aus einer Anzahl von Funktionen ausführen, einschließlich, nicht aber begrenzt auf, unter anderem Datenverarbeitung (beispielsweise Erzeugen, Verbrauchen oder andere Datenverarbeitung), Sprachverarbeitung, Kommunikationssteuerfunktionen und Gerätesteuerfunktionen.
  • Da das Gerät 200 sowohl einen Codierer/Sender 204 als auch einen Empfänger/Decodierer 206 aufweist, kann das Gerät 200 bi-direktionale Kommunikationen unterstützen. Bei anderen Ausführungsbeispielen kann das Gerät 200 nur einen Codierer/Sender oder einen Empfänger/Decodierer, nicht aber beide, aufweisen. Bei derartigen Ausführungsbeispielen kann das Gerät 200 als eine Ausgangseinheit bzw. eine Bestimmungseinheit arbeiten, kann aber nicht bi-direktionale Kommunikationen unterstützen.
  • Bei einem Ausführungsbeispiel weist das Gerät 200 eine Kommunikationshardware 208 auf, die es der Einheit 200 erlaubt, Datenrahmen über einen oder mehrere Kommunikationslinks 210 auszusenden und zu empfangen. Bei einem besondern Ausführungsbeispiel weist die Kommunikationshardware 208 eine oder mehrere Antennen auf (beispielsweise einen Dipole, einen Patch, eine omni-direktionale Antenne oder andere Typen von Antennen), die Kommunikationen über ein drahtloses Link 210 (beispielsweise über eine Funkschnittstelle ermöglicht). Wenn eine infrarote Spezifikation implementiert wird, können die Kommunikationshardware 208 eine oder mehrere lichtemittierende Dioden (LED) (nicht gezeigt) oder andere optische Übertragungseinheiten aufweisen. Bei alternativen Ausführungsbeispielen kann die Kommunikationshardware 208 einen Zugriff zu einem (nicht dargestellten) verdrahteten Link erlauben.
  • Die Einheit 200 kann eine oder mehrere Datenspeicherelemente 212 aufweisen, die zugreifbar sind für das Prozessorelement 202, den Codierer/Sender 204 und/oder den Empfänger/Decodierer 206. Die Datenspeicherelemente 212 können, beispielsweise, einen oder mehrere flüchtige oder nicht-flüchtige Speichermedien, einschließlich Read Only Memory (ROM) Speicher mit wahlfreiem Zugriff (RAM), eine Festspeicherplatte, ein entfernbares Speichermedium (zum Beispiel CD ROM, ein digitalen Videospeicher, ein Floppydisk), Magnetkassetten, Speicherkarten oder Sticks, andere Speichermedien oder Kombinationen aus diesen. Datenspeicherelemente 212 können dauerhaft oder zeitweise, beispielsweise Daten und computerausführbare Befehle ausführen usw.
  • Bei einem Ausführungsbeispiel kann die Einheit 200 eine oder mehrere Verwenderschnittstellen 214 aufweisen. Beispielsweise kann, ohne darauf beschränkt zu sein, eine Verwenderschnittstelle 214 eine Tastatur, ein Keypad, eine Maus oder Auswahleinrichtung, ein Lautsprecher, ein Mikrofon, ein Display oder Kombinationen aus diesen aufweisen. Weiter kann das Gerät 200 eine oder mehrere Batterieaufnahmen 216 aufweisen. Entsprechend kann das Gerät 200 mit einer geeignet geladen installierten Batterie ohne einen Zugriff auf ein kontinuierliches Netzteil (beispielsweise in dem Fall eines tragbaren elektronischen Gerätes) arbeiten oder kann arbeiten, wenn eine Unterbrechung eines Netzteils auftritt. Bei verschiedenen Ausführungsbeispielen kann das Gerät zusätzliche oder unterschiedliche Elemente als diejenige, die in 2 gezeigt sind, aufweisen, die Elemente können auch unterschiedlich angeordnet sein.
  • 3 ist ein vereinfachtes Blockdiagramm, das funktionale Elemente einer Ausgangseinheit 202 und einer Bestimmungseinheit 304 in Übereinstimmung mit einer beispielhaften Ausführung zeigt. Wie zuvor erwähnt, kann eine bestimmte Einheit dazu eingerichtet sein, sowohl als Ausgangseinheit als auch als Bestimmungseinheit zu arbeiten. Zur Verdeutlichung der Erläuterung wurden die Funktionalitäten einer Ausgangseinheit und einer Bestimmungseinheit in 3 aufgeteilt in separate Einheiten 302, 304.
  • Elemente der Vorrichtung und Prozesse entsprechen verschiedener Ausführungsbeispiele des Erfindungsgegenstandes weisen auf: 1) eine Ausgangseinheit, die einen ursprünglichen Datenrahmen, der mehrere Blöcke aufweist, über einen Kommunikationskanal zu einer Bestimmungseinheit aussendet; 2) die Bestimmungseinheit den empfangenen Rahmen speichert und beschädigte Blöcke innerhalb des gespeicherten Rahmens erkennt; 3) die Destinationseinheit eine Botschaft an die Ausgangseinheit sendet, die die beschädigten Blöcke kennzeichnet; 4) die Ausgangseinheit einen entsprechenden Datenrahmen an die Bestimmungseinheit aussendet, die einen oder mehrere Datenblöcke entsprechend dem einen oder mehreren beschädigten Datenblöcken erneut aussendet, und 5) die Bestimmungseinheit einen korrekten Datenrahmen von dem einen oder mehreren erneut ausgesendeten Datenblöcken und den zuvor gesendeten, nicht beschädigten Datenblöcken erzeugt. Es versteht sich, dass basierend auf dieser Beschreibung die Implementation verschiedener Ausführungsbeispiele das erneute Übertragen von geschädigten Datenblöcken erlaubt, nicht also nur das erneute Aussenden vollständiger Rahmen. Entsprechend kann eine robuste Kommunikation unter Beibehalten der Bandbreite, die zum erneuten Aussenden der beschädigten Information erreicht werden.
  • Zum Erleichtern des Verständnisses des Verarbeitungsflusses entsprechend der verschiedenen Ausführungsbeispiele beginnt die nachfolgende Beschreibung von 3 mit einer Beschreibung einer Ausgangseinheit 302, geht über in eine Beschreibung der Bestimmungseinheit 304, kehrt zu einer weiteren Beschreibung der Ausgangseinheit 302 zurück und kehrt sodann zu einer weiteren Beschreibung der Ausgangseinheit 304 zurück.
  • Bei einem Ausführungsbeispiel weist eine Ausgangseinheit 302 eine Eingangsdatenquelle 310, einen Codierer 312, ein Datenerzeugungsmodul 314, einen Modulator/Sender 316, einen Empfänger/Demodulator/Decoder 318, ein Rahmenwiederherstellmodul 320 und ein Rahmenmanagementmodul 322 auf.
  • Die Eingangsdatenquelle 310 kann, beispielsweise, eine oder mehrere adressierbare Datenspeicherlemente aufweisen, innerhalb derer die Quelleninformation gespeichert ist. Die schließliche Quelle von Daten kann höher sein als das in der Quelleneinheit implementierte Pegelprotokoll oder kann dieselbe andere lokale oder entfernte Quelle von Daten sein. In Antwort auf eine oder mehrere Datenselektionsbefehle, die bestimmte in dem Rahmen vorgesehene Daten kennzeichnen, kann die Eingangsdatenquelle 310 eine Quelleninformation an das Datenerzeugungsmodul 314 liefern. Bei einem Ausführungsbeispiel können die Datenselektionsbefehle von einem Datenmanagementmodul, das später beschrieben werden wird, oder durch ein anderes Modul geschaffen werden.
  • Diese Quelleninformation für einen bestimmten Rahmen wird von dem Rahmenerzeugungsmodul empfangen. Bei einem Ausführungsbeispiel dient das Rahmenerzeugungsmodul 314 zum Zusammensetzen eines ursprünglichen Datenrahmens zur Übertragung auf eine Bestimmungseinheit. Die ursprünglichen Datenrahmen weisen eine Mehrzahl von codierten Datenblöcken auf und einen Rahmenkopf. Bei einem Ausführungsbeispiel kann der Datenkopf von dem Rahmenmanagementmodul 322, das später beschrieben werden wird oder einem anderen Modul empfangen wird.
  • Bei einem Ausführungsbeispiel berechnet das Rahmenerzeugungsmodul 314 einen Prüfsummenwert für die Quelleninformation, die für den Rahmen empfangen worden ist, der hier als Datenprüfsummenwert bezeichnet wird. Bei einem weiteren Ausführungsbeispiel berechnet das Rahmenerzeugungsmodul einen Prüfsummenwert für den Header, der hier als Headerprüfsummenwert bezeichnet wird. Bei alternativen Ausführungsbeispielen können entweder einer oder beide der Headerprüfsummenberechnung oder der Datenchecksummenberechnung aufgeschlossen sein.
  • Der Codierer 312 empfängt die Quelleninformation aus dem Rahmenmanagementmodul 322 (oder aus der Eingangsdatenquelle 310) und den Datenprüfsummenwert und codiert die Quelleninformation und den Datenprüfsummenwert, was zu einer Mehrzahl von codierten Datenblöcken führt. Weiter empfängt bei einem Ausführungsbeispiel der Codierer 312 den Kopf und den Headerprüfsummenwert und codiert diese.
  • Bei einem Ausführungsbeispiel implementiert der Codierer 312 eine Blockcodecodierungstechnik zum Codieren von Daten (hier auch als „Blockcodieren" bezeichnet. Beispielsweise, nicht aber einschränkend, kann die Blockcodiertechnik einen Low Density Parity Check (LDPC) Codiertechnik. Andere Blockcodierungstechniken können bei anderen Ausführungsbeispielen verwendet werden. Um einen zusätzlichen Mechanismus zum Prüfen auf Fehler und, in einigen Fällen, um Fehler zu korrigieren, führt das Blockcodieren eine Redundanz in einem Block von Daten hinzu. Das Blockcodieren, das in einem Block von Daten ausgebildet wird, erzeugt ein „Codewort" oder einen „codierten Datenblock". Wegen der hinzugefügten Redundanz kann der blockcodierte Datenblock mehr Bits als der Eingangsblock von Daten, aus denen der codierte Datenblock erzeugt worden ist, aufweisen.
  • Der Codierer 312 liefert die Mehrzahl von codierten Datenblöcken an das Rahmenerzeugungsmodul 314, das den Eingangsdatenrahmen zusammensetzt. 4 ist ein Diagramm, das einen Eingangsdatenrahmen 400 in Übereinstimmung mit einem Ausführungsbeispiel zeigt. Der hier verwendete Begriff „Rahmen" bedeutet eine Dateneinheit, die einen Rahmenheader 402 und einen Rahmenkörper 404, bei einem Ausführungsbeispiel, aufweist. Der Rahmenkörper kann ein Feld mit variabler Länge oder fester Länge haben und kann einen oder mehrere codierte Blöcke 410, 411, 412, 413 aufweisen. Weiter kann jeder Block eine oder mehrere Bytes von Daten beinhalten. Beispielsweise kann der Rahmenkörper 28 die Blöcke aufweise, wobei jeder Block 56 Bytes aufweisen kann. Die beispielhaften Ziffern sind willkürlich gewählt, ein Rahmenkörper kann mehr oder weniger Blöcke aufweisen und ein Block kann mehr oder weniger Bytes aufweisen. Weiter weisen einige oder alle Blöcke innerhalb eines Rahmens eine unterschiedliche Anzahl von Bytes auf.
  • Bei einem weiteren Ausführungsbeispiel kann ein Rahmen 400 auch eine Rahmenprüfsequenz oder eine Headerprüfsequenz (nicht dargestellt) aufweisen. Bei einem Ausführungsbeispiel kann die Rahmenprüfsequenz und die Headerprüfsequenz das Ergebnis des Aufbringens von mathematischen Algorithmen beinhalten (beispielsweise eine CCITT CRC-16 oder CRC-32 Polynominal) an dem Rahmenkörper 404 bzw. dem Rahmenheader 402. Bei einem Ausführungsbeispiel wird die Rahmenprüfsequenz mit den Rahmendaten codiert (beispielsweise dem letzten Block 413 oder mit einem anderen Block) und die Headerprüfsequenz wird mit dem Rahmenheader (beispielsweise dem Header 402) codiert.
  • Bei einem weiteren Ausführungsbeispiel kann der Rahmen 400 eine Medium Access Control (MAC) Protokolldateneinheit oder MPDU sein, wie in einer Standardspezifikation definiert, etwa einem IEEE Std. 802.11 Spezifikation, zum Beispiel. Bei einem Ausführungsbeispiel kann die MPDU einen MAC Header (beispielsweise dem Header 402), einen Rahmenkörper (beispielsweise den Körper 404) und ein FCS aufweisen. Der Rahmenkörper kann wiederum einen oder mehrere codierte Blöcke einschließlich MAC Servicdateneinheiten (MSDU) oder Protocol Service Data Units (PSDU) von Protokollführerschichten aufweisen.
  • Es wird jetzt wieder auf 3 Bezug genommen. Das Rahmenerzeugungsmodul 314 erzeugt eine digitale Darstellung des ursprünglichen Datenrahmens. Die ursprünglichen Datenrahmen können vor der Übertragung verschlüsselt sein, muss dies aber nicht. Beispielsweise kann, ohne darauf begrenzt zu sein, ein Rahmen unter Verwendung von Wired Equivalent Privacy (WEP)-Algorithmen oder einem anderen Typ von Verschlüsselungsalgorithmen verschlüsselt sein.
  • Der Modulator/Sender 316 empfängt die ursprünglichen Datenrahmen, moduliert den Rahmen und überträgt den Rahmen über ein Kommunikationslink 350 (beispielsweise einem verdrahteten oder einem drahtlosen Link). Entsprechend kann der ursprüngliche Datenrahmen auch bezeichnet werden als ursprünglich ausgesendeter Datenrahmen.
  • Der Modulator/Sender 316 kann eines oder mehrere Filter, einen Modulator und andere Vorrichtungen zum Implementieren der besonderen physikalischen Schichtspezifikationen, die durch die Quelleneinheit 302 unterstützt werden, aufweisen. Weiter kann bei einem Ausführungsbeispiel, in dem die Quelleneinheit 302 eine drahtlose Einheit ist, der Modulator 316 eine oder mehrere Antennen aufweisen (beispielsweise Dipol, Patch, omni-direktionale Antennen oder andere Arten von Antennen, nicht dargestellt) zum Übertragen der modulierten Daten über die Funkschnittstelle. Bei anderen Ausführungsbeispielen, bei denen die Quelleneinheit 302 über verdrahtete Verbindungen kommuniziert, kann der Modulator/Sender eine Netzschnittstelle aufweisen, die geeignet ist zum Aufbringen von Informationen auf das verdrahtete Netz.
  • Bei einem Ausführungsbeispiel weist die Bestimmungseinheit 304 einen Empfänger/Demodulator 330, einen Decodierer 332, ein Rahmenrestaurationsmodul 334, ein Validationsmodul 336 für den gespeicherten Rahmen, ein Blockspeicherelement 338, ein Botschaftserzeugungsmodul 340, einen Codierer/Modulator/Sender 342, ein Verarbeitungsmodul 344 für den korrigierten Rahmen und ein Validationsmodul 346 für den korrigierten Rahmen auf.
  • Der Empfänger/Demodulator 330 empfängt Information von dem Kommunikationslink 352. Bei einem Ausführungsbeispiel kann die Information, die der Empfänger/Demodulator 330 über der Link 352 empfängt, einen Header aufweisen und die codierten Datenblöcke, die dem ursprünglich ausgesendeten Datenrahmen zugehörig ist, der von der Quelleneinheit 302 geliefert worden ist.
  • Der Link 352 kann derselbe Link sein wie der Link 350. Eine direkte Verbindung kann, mit anderen Worten, zwischen der Quelleneinheit 302 und der Bestimmungseinheit 304 vorgesehen sein. Es versteht sich jedoch weiter, dass, obwohl nur Links 350, 352 zwischen dem Modulator/Sender 316 und der Bestinnungseinheit 304 dargestellt sind, bei anderen Ausführungsbeispielen ein oder mehrere Netze und/oder Zwischeneinheiten zwischen der Quelleneinheit 302 und der Bestimmungseinheit 304 vorgesehen sein können.
  • Der Empfänger/Demodulator 330 kann ein oder mehrere Filter, einen Demodulator, eine Zeitgeberrückgewinnungseinheit und eine weitere Vorrichtung zum Implementieren der bestimmten physikalischen Schichtspezifikationen, die von der Bestimmungseinheit 304 unterstützt werden. Weiter kann bei einem Ausführungsbeispiel, bei dem die Bestimmungseinheit eine drahtlose Einheit ist, der Empfänger/Demodulator 330 eine oder mehrere Antennen aufweisen (beispielsweise ein Dipol, ein Patch, eine omni-direktionale oder andere Typen von Antennen, nicht gezeigt) zum Empfangen der demodublierten Rahmen von der Funkschnittstelle. Bei anderen Ausführungsbeispielen, bei denen die Bestimmungseinheit 304 über verdrahtete Verbindungen kommuniziert, kann der Modulator/Sender 330 eine Netzschnittstelle aufweisen, die geeignet ist, um Information von dem verdrahteten Netz zu empfangen.
  • Der Empfänger/Demodulator 330 liefert demodublierte, codierte Datenblöcke an den Decoder 332. Der Decodierer 332 dient zum Codieren der codierten Datenblöcke, was zu einer Vielzahl von decodierten Datenblöcken führt. Bei einem Ausführungsbeispiel implementiert der Decodierter 332 Blockdecodiertechniken (beispielsweise das LDPC Decodieren) um Daten zu decodieren.
  • Wenn Signale, die von gesendeten, codierten Datenblöcken stammen, empfangen und verarbeitet werden, kann die redundante Information, die in den codierten Datenblöcken vorhanden ist, verwendet werden zum Identifizieren und/oder Korrigieren von Fehlern in oder entfernte Distortion, gemeinsam bezeichnet als „Syndrome" aus den empfangenen Signalen, um die originalen eingegebenen Blöcke von Daten zurückzugewinnen. Bei einem Ausführungsbeispiel kann das Fehlerprüfen und/oder Korrigieren implementiert sein durch den Decodierer 312 während des Decodiervorgangs. Bei dem Fehlen von Fehlern oder in dem Fall von korrigierbaren Fehlern oder Distortion kann das Decodieren verwendet werden um die ursprünglichen Eingangsblöcke von Daten rückzugewinnen, die durch den Codierer 312 codiert worden sind. In dem Fall von nicht korrigierbaren Fehlern oder Distortion in einem empfangenen Datenblock kann der Decodierer 332 eine Anzeige erzeugen, dass die Originaldaten für den Datenblock nicht vollständig rückgewonnen werden können. Bei einem Ausführungsbeispiel kann diese Anzeige, die hier als „fehlerhafter Block-Anzeige" bezeichnet werden wird, zum Initiieren eines erneuten Übertragens des initialen Eingangsdatenblocks entsprechend den nicht rückgewinnbaren Datenblöcken verwendet werden, wie das weiter unten eingehender beschrieben werden wird.
  • Der Decodierter 332 schafft eine Vielzahl von codierten Datenblöcken und die Anzeigen der fehlerhaften Blöcke, wenn solche vorhanden sind, an das Rahmenrestaurationsmodul 334. Das Rahmenrestaurationsmodul 334 dient zum Herstellen aus der Vielzahl von codierten Datenblöcken einer rückgewonnenen Version des ursprünglichen Datenrahmens.
  • Bei einem Ausführungsbeispiel erzeugt das Rahmenrestaurationsmodul 334 die rückgewonnene Version des ursprünglichen Datenrahmens an das Validationsmodul 336 für den rückgewonnenen Rahmen. Das Validationsmodul 336 für den rückgewonnenen Rahmen dient zum Ausführen eines Validationsvorgangs an der rückgewonnenen Version des ursprünglichen Datenrahmens. Bei einem Ausführungsbeispiel weist der Validationsvorgang das Berechnen einer neuen Rahmenprüfsequenz für die rückgewonnenen Datenblöcke auf und das Vergleichen des neuen Werts mit der empfangenen Rahmenprüfsequenz in der rückgewonnenen Version des ursprünglichen Datenrahmens (d. h., welcher Wert, falls nicht beschädigt, gleich der Rahmenprüfsequenz sein sollte, die berechnet ist durch die Quelleneinheit und gemeinsam mit dem ursprünglichen Datenrahmen ausgesendet ist). Ein ähnlicher Validationsvorgang kann für den Header durchgeführt werden unter Verwendung der Headerprüfsequenz. Bei einem Ausführungsbeispiel ist die wiederhergestellte Version an eine Rahmenaufnahme 348 zu liefern, wenn der Validationsvorgang erfolgreich ist. Bei einem Ausführungsbeispiel kann die Rahmenaufnahme 330 ein Element der Bestimmungseinheit 304 sein oder aber kann ein Teil eines separaten elektronischen Gerätes sein.
  • Wenn der Validationsvorgang nicht erfolgreich ist, zeigt das Validationsmodul 336 für den rückgewonnenen Rahmen bei einem Ausführungsbeispiel das ungültige Ergebnis. Bei einem Ausführungsbeispiel dient das Rahmenrestaurationsmodul 334 zum Empfangen der Anzeige für ein ungültiges Ergebnis und in Antwort darauf zum Initiieren eines Blockfehleranzeigevorgangs. Bei einem anderen Ausführungsbeispiel kann ein anderes Modul einen Blockfehleranzeigevorgang initiieren, wenn der Validationsvorgang nicht erfolgreich ist. Bei noch einem anderen Ausführungsbeispiel kann der Blockfehleranzeigevorgang unabhängig von dem Ausgang des Validationsvorgangs implementiert werden (beispielsweise können die Fehlererkennung und die Validationsvorgänge parallel zueinander ausgeführt werden.
  • Bei einem Ausführungsbeispiel dient das Rahmenrestaurationsmodul 334 zum Ausführen eines Blockfehleranzeigevorgangs zum Identifizieren unbeschädigter Datenblöcke und beschädigter Datenblöcke innerhalb der wiederhergestellten Version. Bei einem Ausführungsbeispiel identifiziert das Rahmenrestaurationsmodul 334 beschädigte Datenblöcke basierend auf den Anzeigen der beschädigten Blöcke, die empfangen sind von dem Decodierer 332. Bei einem alternativen Ausführungsbeispiel identifiziert das Restaurationsmodul beschädigte Datenblöcke basierend auf einer Evaluation des Datenprüfsummenwerts, der der empfangenen Information in dem Rahmenkörper zugehörig ist.
  • Bei einem Ausführungsbeispiel werden die beschädigten Blöcke an ein Blockspeicherelement 334 ausgesendet. Das Blockspeicherelement 338 dient zum Speichern unbeschädigter Datenblöcke, die in der wiederhergestellten Version des ursprünglichen Datenrahmens identifiziert sind. Zusätzlich werden bei einem Ausführungsbeispiel der ursprüngliche Datenrahmenheader, die Headerprüfsequenz und der Rahmenprüfsequenzwert in einem Blockspeicherelement gespeichert.
  • Beschädigte Blöcke oder Anzeigen von beschädigten Blöcken werden zu dem Botschaftserzeugungsmodul 340 gesendet. Das Botschaftserzeugungsmodul 340 dient zum Erzeugen wenigstens einer Botschaft, die die beschädigten Datenblöcke identifiziert (d. h., welcher einen Untersatz aus der Mehrzahl von codierten Datenblöcken von den wiederhergestellten ursprünglichen Datenrahmen angibt) zur Übertragung an die Quelleinheit 302. Bei einem Ausführungsbeispiel wird eine einzige Botschaft durch das Botschaftserzeugungsmodul 340 erzeugt zum Identifizieren der beschädigten Datenblöcke in einem empfangenen und einem wiederhergestellten Rahmen. Obwohl dieses Ausführungsbeispiel hier beschrieben wird, versteht es sich, dass bei anderen Ausführungsbeispielen mehr als eine Botschaft erzeugt werden kann zum Identifizieren der beschädigten Datenblöcke innerhalb eines wiederhergestellten ursprünglichen Datenrahmens.
  • 5 ist ein Diagramm, das eine Anzeigebotschaft 500 für einen beschädigten Block angibt in Übereinstimmung mit einem Ausführungsbeispiel. Bei einem Ausführungsbeispiel weist eine Anzeigebotschaft für einen beschädigten Block einen Botschaftsheader 502 und einen Botschaftskörper 504 auf. Der Botschaftskörper 504 kann ein Rahmenidentifikations (ID) Feld 508 und eine oder mehrere Blockidentifikationen 510, 512 aufweisen, die die Blöcke angeben, die als korrupt bestimmt worden sind. Bei einem anderen Ausführungsbeispiel kann die Botschaft 500 auch eine Botschaftskörperprüfsequenz und/oder eine Botschaftsheaderprüfsequenz aufweisen, wie mit dem Botschaftskörper 505 bzw. dem Header codiert sind, um die Quelleneinheit 302 in die Lage zu versetzen, Validationsvorgänge an dem Botschaftskörper 504 und dem Header 502 auszuführen.
  • Das Rahmenidentifikationsfeld 508 kann einen Wert beinhalten, der es der Quelleneinheit 302 erlaubt zu bestimmen, welcher zuvor ausgesendeter Rahmen des Identifizierers für beschädigte Blöcke sie entspricht. Beispielsweise, nicht aber einschränkend, kann das Rahmenidentifikationsfeld 508 eine Sequenzzahl aufweisen, die dem Rahmen zugehörig ist (beispielsweise eine Sequenzzahl, die in dem Rahmenheader beinhaltet ist. Zusätzlich kann, wenn der Rahmen in Fragmenten ausgesendet worden ist, das Rahmenidentifikationsfeld 408 weiter eine Frequenzzahl aufweisen.
  • Die Blockidentifikationen 510, 512 können die Blockzahlen innerhalb des neu erstellten ursprünglichen Datenrahmens entsprechend den beschädigten Blöcken beinhalten. Beispielsweise kann, unter Bezugnahme erneut auf 4, dann, wenn die Bestimmungseinheit 304 bestimmt, dass die Blöcke 410 und 412 beschädigt sind, die Blockidentifikationen 510, 512 die Werte 1 und 3 beinhalten, die angeben, dass der erste und der dritte Block beschädigt sind. Obwohl in 5 nur zwei Blockidentifikationen 510, 512 dargestellt sind, können mehr oder weniger Blockidentifikationen in der Botschaft 500 beinhaltet sein, entsprechend der Anzahl der Blöcke, die als beschädigt erkannt worden sind.
  • Es wird wieder auf 3 Bezug genommen. Ein Botschaftserzeugungsmodul 340 schafft eine Botschaft einer Blockidentifikation für den Encoder/Modulator/Sender 342. Der Encoder/Modulator/Sender 342 codiert, moduliert und übersendet die Botschaft über ein Link 360. Zum Zwecke der Vereinfachung ist der Codierer/Modulator/Sender 342 als ein einzelnes Modul gezeigt. Es versteht sich jedoch, dass das Codieren, Modulieren und Aussenden durch gesonderte Module ausgeführt werden kann.
  • Es wird wieder auf 3 Bezug genommen. Das Botschaftserzeugungsmodul 340 erzeugt eine Identifikationsbotschaft für einen beschädigten Block an den Codierer/Modulator/Sender 342. Der Codierer/Modulator/Sender 342 codiert, moduliert und sendet die Botschaft über ein Link 360. Zur Vereinfachung der Darstellung ist der Codierer/Modulator/Sender 342 als ein einziges Modul dargestellt. Es versteht sich jedoch, dass das Codieren, Modulieren und Aussenden durch gesonderte Module ausgeführt werden kann.
  • Es wird wieder zu der Quelleneinheit 302 zurückgekehrt. Der Empfänger/Demodulator/Decoder 318 empfängt die Information entsprechend der Identifikationsbotschaft für einen beschädigten Block von dem Kommunikationslink 362. Der Link 362 kann dasselbe oder ein anderes als der Link 360 sein, wie zuvor in Verbindung mit den Links 350, 352 beschrieben. Der Empfänger/Demodulator/Decoder 318 moduliert und decodiert bei einem Ausführungsbeispiel die Information.
  • Die decodierte Information wird von dem Rahmenrestaurationsmodul 320 bei einem Ausführungsbeispiel empfangen, das zum Wiederherstellen der Identifikationsbotschaften für den beschädigten Block dient. Bei einem Ausführungsbeispiel kann die Botschaft weiter ausgewertet werden.
  • Die Identifikationsbotschaft für den beschädigten Block dient zum Aussenden eines Rahmenbotschaftsmoduls 322, das zum Verarbeiten der Botschaft dient. Bei einem Ausführungsbeispiel identifiziert das Rahmenmanagementmodul 322 die zuvor ausgesendeten Quelleninformation basierend auf der Rahmenidentifikation und der einen oder den mehreren Blockidentifikationen, die von der Botschaft eingeschlossen sind. Bei einem Ausführungsbeispiel legt das Rahmenmanagementmodul 322 einen Datenselektionsbefehl zur Eingabe in die Datenquelle 310 an, das die Daten angibt, die dem Rahmen und den Blockidentifikationen zugehörig sind. Die Dateneingangsquelle 310 wiederum erzeugt die ausgewählte Quelleninformation für das Rahmenerzeugungsmodul 314.
  • Das Rahmenerzeugungsmodul 314 kann einen Datenprüfsummenwert für die Information berechnen und liefert die Information und die Prüfsumme (wenn berechnet) an den Codierer 312. Bei einem Ausführungsbeispiel codiert der Codierer 312 Informationen und liefert die codierten Datenblöcke an das Rahmenerzeugungsmodul 314. Diese Datenblöcke können als rückübertragende Datenblöcke bezeichnet werden. In einem alternativen Ausführungsbeispiel kann die Quelleneinheit zuvor gespeicherte codierte Versionen in Datenblöcke haben und kann die codierten Versionen rückgewinnen, statt diese wieder zu codieren. Das Rahmenerzeugungsmodul 314 dient zum Zusammensetzen eines entsprechenden Datenrahmens zur Übertragung zu der Bestimmungseinheit 304.
  • 6 ist ein Diagramm, das einen responsiven Datenrahmen 600 in Übereinstimmung mit einem Ausführungsbeispiel zeigt. Der responsive Datenrahmen 600 weist bei einem Ausführungsbeispiel einen Rahmenheader 602 und einen Rahmenkörper 604 auf. Zusätzlich kann der responsive Datenrahmen 600 weiter eine Rahmenprüfsequenz und/oder eine Headerprüfsequenz aufweisen, die mit dem Rahmenkörper 604 bzw. dem Rahmenheader 602 codiert ist, um es der Bestimmungseinheit zu ermöglichen, den Rahmenkörper 604 und/oder den Rahmenheader 602 des responsiven Datenrahmens 600 zu validieren.
  • Der Rahmenheader 602 kann eine Angabe beinhalten, dass der responsive Datenrahmen 600 rückübertragene Datenblöcke beinhaltet. Diese Anzeige kann inherent sein, beispielsweise in einem Botschaftsartfeld (beispielsweise einem Rahmensteuerfeld), der in dem Rahmenheader 602 eingeschlossen ist.
  • Der Rahmenkörper 602 weist ein Identifikationsfeld 608 für den ursprünglichen Datenrahmen und einen oder mehrere codierte Blöcke 610, 612, bei einem Ausführungsbeispiel, auf. Das Identifikationsfeld für den ursprünglichen Datenrahmen kann einen Wert einschließen, um es der Destinationseinheit 304 zu erlauben, die rückübertragenen Blöcke mit zuvor gespeicherten, nicht beschädigten Datenblöcken zu korrelieren (beispielsweise Blöcken, die in einem Blockspeicherelement 338 gespeichert sind, 3). Beispielsweise kann das Identifikationsfeld 608 für ursprüngliche Datenrahmen eine Sequenzzahl des zuvor ausgesendeten ursprünglichen Datenrahmens beinhalten. Codierte Blöcke 610, 612 entsprechen den Datenblöcken, die als beschädigt in der Identifikationsbotschaft für beschädigte Blöcke identifiziert worden ist, bei einem Ausführungsbeispiel. Obwohl nur zwei codierte Blöcke 610, 612 dargestellt sind, kann der Körper 608 mehr oder weniger Blöcke aufweisen.
  • Es wird jetzt wieder Bezug auf 3 genommen. Das Rahmenerzeugungsmodul 314 erzeugt eine digitale Darstellung des responsiven Datenrahmens. Der responsive Datenrahmen kann verschlüsselt sein vor der Übertragung, muss dies aber nicht. Der Modulator/Sender 316 empfängt den responsiven Datenrahmen, moduliert den Rahmen und überträgt den Rahmen über ein Kommunikationslink 350.
  • Es wird wieder auf die Bestimmungseinheit 304 Bezug genommen. Der Empfänger/Demodulator 330 empfängt Information über das Kommunikationslink 352. Bei einem Ausführungsbeispiel kann die Information, die der Empfänger/Demodulator 330 über der Link 352 empfängt, den Header und codierte Datenblöcke beinhalten, die den responsiven Datenrahmen zugehörig sind, der von der Quelleneinheit 302 geschaffen ist. Der Empfänger/Demodulator 330 liefert die modulierten codierten Datenblöcke an den Decoder 332. Der Decoder 332 dient zum Decodieren der codierten Datenblöcke, was zu einem oder mehreren codierten, rückübertragenen Datenblöcken führt. Der Decodierer 302 liefert den einen oder die mehreren decodierten, übertragenen Datenblöcke an das Rahmenrestaurationsmodul 334 bei einem Ausführungsbeispiel. Das Rahmenrestaurationsmodul 334 dient zum Zusammensetzen einer restaurierten Version des responsiven Datenrahmens.
  • Bei einem Ausführungsbeispiel kann das Restaurationsmodul 334 die restaurierte Version des responsiven Datenrahmens an das Verarbeitungsmodul 344 für den korrigierten Rahmen liefern. Das Verarbeitungsmodul 344 für den korrigierten Datenrahmen dient zum Erzeugen eines korrigierten Datenrahmens. Bei einem Ausführungsbeispiel identifiziert das Verarbeitungsmodul 344 für den korrigierten Rahmen die zuvor empfangenen ursprünglichen Datenrahmen basierend auf der Information in dem ursprünglichen Datenrahmenidentifikationsfeld (beispielsweise dem Feld 608, 6) und gewinnt die zuvor gespeicherten, nicht beschädigten Datenblöcke zurück, wenn vorhanden, die den zuvor empfangenen ursprünglichen Datenrahmen entsprechen. Zusätzlich gewinnt bei einem Ausführungsbeispiel das Verarbeitungsmodul 344 für den korrigierten Rahmen den zuvor gespeicherten Header, die Headerprüfsequenz und die Rahmenprüfsequenz für den zuvor empfangenen, ursprünglichen Datenrahmen zurück. Das Verarbeitungsmodul 344 für den korrigierten Rahmen setzt sodann einen korrigierten Rahmen aus dem Header, der jeder Prüfsequenz, der Rahmenprüfsequenz, den nicht beschädigten Datenblöcken und den anderen erneut übertragenen Datenblöcken zusammen.
  • Bei einem Ausführungsbeispiel sendet das Verarbeitungsmodul 344 für den korrigierten Rahmen den korrigierten Rahmen an das Validationsmodul 346 für den korrigierten Rahmen zur Validation. Bei einem alternativen Ausführungsbeispiel sendet das Verarbeitungsmodul 344 für die korrigierten Rahmen einen korrigierten Rahmen an das Validationsmodul 366 für die wiederhergestellten Rahmen. Wenn der Validationsvorgang nicht erfolgreich ist, erzeugt bei einem Ausführungsbeispiel die Bestimmungseinheit 304 eine Anforderung zur erneuten Übertragung des Rahmens und er sendet diese an die Quelleneinheit 302. In Antwort darauf kann die Quelleneinheit 302 den gesamten Rahmen erneut übertragen. Bei einem anderen Ausführungsbeispiel kann, statt eine Anforderung zur erneuten Übertragung eines Rahmens auszusenden, der korrigierte Rahmen von dem Rahmenrestaurationsmodul 334 verarbeitet werden, der wiederum beschädigte Blöcke erkennen kann, nicht beschädigte Blöcke speichern und eine weitere Identifikationsbotschaft für einen beschädigten Block zu der Quelleinheit 302 senden, der gesamte Vorgang kann iterieren. Wenn der Validationsvorgang erfolgreich ist, ist der korrigierte Rahmen an den Rahmenempfänger 348 zu liefern. Die Bestimmungseinheit 304 kann eine Rahmenanerkennungsbotschaft an die Quelleneinheit 302 senden um anzugeben, dass der Rahmen ohne Fehler empfangen worden ist.
  • Es versteht sich, dass die Module und Elemente, die in 3 gezeigt sind, vorgesehen sind, um die Erläuterungen der verschiedenen Ausführungsbeispiele zu erleichtern. 3 soll daher die Darstellungen von Elementen, die sich auf andere Funktionen beziehen, die von den Einheiten 302, 304 ausgeführt werden können, ausschließen (beispielsweise Sprach- oder Datenverarbeitungsfunktionen, Verwenderschnittstellen usw.). Zusätzlich versteht es sich, dass, obwohl verschiedene Module und Elemente in 3 als voneinander getrennt dargestellt sind, einige dieser Module und Elemente durch eine gemeinsame Hardware (beispielsweise Prozessoren, ASIC usw.) ausgeführt werden können. Obwohl verschiedene Module und Elemente in 3 dargestellt sind, kann die Quelleneinheit 302 und/oder die Bestimmungseinheit 304 mehr, weniger und/oder unterschiedliche Module und Elemente bei anderen Ausführungsbeispielen aufweisen, die Module und Elemente können unterschiedlich angeordnet und kombiniert sein, um im wesentlichen dieselben Ergebnisse zu erzeugen.
  • Die 7 und 8 weisen Flussdiagramme von Verfahren auf, die von einer Bestimmungseinheit (beispielsweise der Einheit 304, 3) und einer Quelleneinheit (beispielsweise der Einheit 302, 3) ausgeführt werden. Insbesondere ist 7 ein Flussdiagramm eines Verfahrens für eine Bestimmungseinheit zum Korrigieren eines Datenrahmens in Übereinstimmung mit einem Ausführungsbeispiel.
  • Das Verfahren beginnt in Block 702, wenn eine Bestimmungseinheit von einer Quelleneinheit ein Signal empfängt, das einem Rahmen von codierten Datenblöcken entspricht, das über einen Kommunikationskanal empfangen wird. Bei dem Empfang decodiert die Einheit die codierten Datenblöcke, was zu einer Mehrzahl von decodierten Datenblöcken führt. Bei einem Ausführungsbeispiel kann der Decodiervorgang eine oder mehrere Angaben von beschädigten Datenblöcken ergeben. Aus der Mehrzahl von decodierten Datenblöcken setzt die Einheit eine restaurierte Version eines initialen Datenrahmens zusammen.
  • In dem Block 707 wird ein Validationsvorgang ausgeführt. Bei einem Ausführungsbeispiel schließt dies das Berechnen einer Rahmenprüfsequenz für den Rahmenkörper der restaurierten Version des initialen Datenrahmens auf und das Vergleichen der berechneten Rahmenprüfsequenz in einer empfangenen Rahmenprüfsequenz für den Rahmen. Ein ähnlicher Validationsvorgang kann für den Header ausgeführt werden unter Verwendung der Headerprüfsequenz. Wenn der Rahmen als gültig bestimmt worden ist, wird dieser zu dem Rahmenempfänger geliefert in dem Block 706, das Verfahren endet.
  • Wenn der Rahmen als nicht gültig erkannt wird, werden in dem Rahmen 708 beschädigte Datenblöcke in der restaurierten Version identifiziert. Bei einem Ausführungsbeispiel werden die beschädigten Daten als Datenblöcke identifiziert entsprechend dem einen oder den mehreren Angaben von beschädigten Datenblöcken, die Angaben werden während des Decodiervorgangs erzeugt.
  • In dem Block 710 werden, falls vorhanden, nicht beschädigte Datenblöcke gespeichert. Zusätzlich werden bei einem Ausführungsbeispiel der Header, die Headerprüfsequenz und die Rahmenprüfsequenz von der wiedergewonnenen Version des initialen Datenrahmens für eine nachfolgende Verwendung gespeichert. In dem Block 712 wird wenigstens eine Identifikationsbotschaft für einen beschädigten Block erzeugt und an die Quelleneinheit gesendet. Die Botschaft identifiziert einen Teilsatz aus der Mehrzahl von codierten Datenblöcken, wobei der Teilsatz den beschädigten Datenblöcken, die in dem Block 708 identifiziert worden sind entspricht. Bei einem Ausführungsbeispiel wird die Identifikation des Teilsatzes von beschädigten Datenblöcken identifiziert durch Einschließen eines Rahmenfrequenzwerts und der Blockzahl für die beschädigten Datenblöcke in der Botschaft.
  • In dem Block 710 empfängt die Bestimmungseinheit von der Quelleneinheit eine Information entsprechend einem responsiven Datenrahmen. Die Information wird decodiert und der responsive Datenrahmen wird zusammengesetzt. Bei einem Ausführungsbeispiel weist der responsive Datenrahmen einen oder mehrere rückübertragene Datenblöcke auf (d. h., diejenigen Blöcke, die den identifizierten beschädigten Blöcken entspricht). Bei einem Ausführungsbeispiel wird ein Validationsvorgang durchgeführt für den responsiven Datenrahmen. In Block 716 kann, wenn bestimmt wird, dass der responsive Datenrahmen nicht gültig ist, das Verfahren iterieren durch Identifizieren von beschädigten Datenblöcken (Block 708) Speichern von nicht beschädigten Datenblöcken (Block 710), Erzeugen und Senden von Identifikationsbotschaften für beschädigte Block (Block 712) usw. Dieses Verfahren ist für eine begrenzte Anzahl von Iterationen wiederholbar, bevor eine Anforderung für den gesamten Rahmen ausgesendet wird oder der Rahmen fallengelassen wird.
  • In dem Block 716 werden, falls bestimmt wird, dass der responsive Datenrahmen gültig ist, die zuvor gespeicherten, nicht beschädigten Blöcke rückgeholt, wenn solche gespeichert worden sind, im Block 718. Bei einem Ausführungsbeispiel können auch der vorher gespeicherte Header, die Headerprüfsequenz und die Rahmenprüfsequenz rückgeholt werden.
  • Ein korrigierter Rahmen wird sodann in dem Block 720 erzeugt durch Zusammensetzen des rückgewonnenen Headers, der Headerprüfsequenz, der Rahmenprüfsequenz und der nicht beschädigten Blöcke und der erneut ausgesendeten Blöcke. Bei einem Ausführungsbeispiel wird ein Validationsvorgang anhand des korrigierten Rahmens ausgeführt. In Block 722 wird bestimmt, ob der korrigierte Rahmen gültig ist, der korrigierte Rahmen kann sodann an den Rahmenempfänger in Block 706 übermittelt werden, das Verfahren endet.
  • Wenn in dem Block 722 bestimmt wird, dass der korrigierte Rahmen nicht gültig ist, erzeugt die Bestimmungseinheit eine Anforderung zur erneuten Übertragung des Rahmens und sendet diese in dem Block 722, das Verfahren endet. Bei einem alternativen Ausführungsbeispiel kann die Bestimmungseinheit beschädigte Blöcke in dem korrigierten Rahmen bestimmen und kann den Vorgang zum Identifizieren von beschädigten Datenblöcken wiederholen (Block 708), nicht beschädigte Datenblöcke korrigieren (Block 710) Identifikationsbotschaften für beschädigte Blöcke erzeugen und Aussenden (Block 712) usw. Dieses Verfahren kann für eine begrenzte Anzahl von Iterationen wiederholbar sein, bevor eine Anforderung für den gesamten Rahmen ausgesendet wird oder der Rahmen fallen gelassen wird.
  • 8 ist ein Flussdiagramm eines Verfahrens für eine Quelleneinheit (beispielsweise die Einheit 302, 3) zum selektiven erneuten Übermitteln von identifizierten Datenblöcken in Übereinstimmung mit einem Ausführungsbeispiel. Bei einem Ausführungsbeispiel beginnt das Verfahren in Block 802 durch Auswählen von Quelleninformation entsprechend einem Rahmen von einer Eingangsdatenquelle durch die Quelleneinheit und Erzeugen einer Mehrzahl von codierten Datenblöcken. Bei einem Ausführungsbeispiel weist das Codieren das Anwenden eines Blockcodierverfahrens an der Quelleninformation auf. Bei anderen Ausführungsbeispielen können andere Codierverfahren verwendet werden.
  • In dem Block 804 setzt die Quelleneinheit einen initialen Datenrahmen zusammen, der einen Header und die codierten Datenblöcke aufweisen kann. Der initiale Datenrahmen wird sodann moduliert und an die Bestimmungseinheit übermittelt. Die Quelleneinheit kann sodann auf eine Antwort von der Bestimmungseinheit warten.
  • Bei einem Ausführungsbeispiel wird in Block 806 bestimmt, ob eine Zeitdauer, innerhalb einer Antwort erwartet wird, abgelaufen ist. Ist dies der Fall, sendet die Quelle den Initialdatenrahmen in Block 808 erneut aus und das Verfahren iteriert wie gezeigt. Falls nicht, wird in einem Block 810 bestimmt, ob eine Rahmenbestätigungsbotschaft empfangen worden ist, die angibt, dass der Rahmen ohne Fehler empfangen worden ist. Ist dies der Fall, endet das Verfahren.
  • Wenn eine Rahmenanerkennungsbotschaft nicht vor Ablauf der Zeit empfangen worden ist, wird im Block eine weitere Bestimmung 812 gemacht, ob eine Identifikationsbotschaft für einen beschädigten Block empfangen worden ist. Falls nicht, iteriert das Verfahren wie gezeigt.
  • Wenn eine Identifikationsbotschaft für einen beschädigten Block empfangen worden ist, verarbeitet die Quelleneinheit in Block 814 diese Botschaft. Bei einem Ausführungsbeispiel schließt dies das Auswählen eines Teilsatzes von initialer Eingangsinformation von der Eingangsdatenquelle ein, wobei der Teilsatz den beschädigten Datenblöcken entspricht, die von der Bestimmungseinheit in der Identifikationsbotschaft für beschädigte Blöcke bestimmt worden ist. In Block 816 erzeugt die Quelleneinheit einen oder mehrere codierte Datenblöcke zur erneuten Übertragung. Diese Datenblöcke können als erneut übermittelte Datenblöcke bezeichnet werden. Bei einem alternativen Ausführungsbeispiel kann die Quelleneinheit zuvor gespeicherte codierte Versionen der Datenblöcke haben und können die codierten Versionen rückgewinnen, nicht also diese erneut codieren.
  • In Block 818 setzt die Quelleneinheit einen responsiven Datenrahmen zusammen, der einen Header und die erneut übertragenen Datenblöcke bei einem Ausführungsbeispiel zusammensetzt. Diese Quelleneinheit moduliert und überträgt den responsiven Datenrahmen, das Verfahren iteriert, wie in 8 gezeigt.
  • Die oben unter Bezugnahme auf die dargestellten und die beschriebenen Verfahren beschriebenen Vorgänge können in einer Reihenfolge, die von der offenbarten abweicht, ausgeführt werden. Auch versteht es sich, dass, obwohl einige Verfahren beschrieben worden sind, mit einem „Ende" diese kontinuierlich ausgeführt werden können.
  • Verschiedene Ausführungsbeispiele von Verfahren, Vorrichtungen und Systemen wurden beschrieben, die eine robuste Datenkommunikation unter Bewahrung der Bandbreite erlauben. Die vorangehende Beschreibung von bestimmten Ausführungsbeispielen zeigt die allgemeine Natur des Erfindungsgegenstandes ausreichend, so dass andere bei Anwendung der geläufigen Kenntnisse diese geeignet modifizieren und/oder für die verschiedenen Anwendungen anpassen können, ohne sich von dem allgemeinen Konzept zu lösen. Solche Anpassungen und Modifikationen liegen daher innerhalb der Bedeutung und dem Bereich von Äquivalenten der offenbarten Ausführungsbeispiele. Die Begriffe oder Terminologie, die hier verwendet wird, ist für den Zweck der Beschreibung bestimmt und nicht einschränkend. Entsprechend erfasst der Erfindungsgegenstand derartige Alternativen, Abwandlungen, Äquivalenten und Variationen, die innerhalb des Gedankens und des breiten Schutzbereiches der beiliegenden Zeichnungen liegen.
  • Die verschiedenen hier beschriebenen Verfahren können in Hardware, Firmware oder Software ausgeführt sein. Eine Softwareimplementation kann einen Mikrocode, einen Maschinensprachecode oder einen Hochsprachencode verwenden. Der Code kann in einem flüchtigen oder nicht flüchtigen maschinenlesbaren Medium gespeichert sein während der Ausführungen oder zu anderen Zeiten. Dieses computerlesbare Medium kann Festplatten, entfernbare Magnetplatten, entfernbare optische Platten, magnetische Kassetten, Speicherkarten oder Sticks, digitale Videoscheiben, RAM, ROM oder dergleichen aufweisen.
  • In der vorangehenden Beschreibung verschiedener Ausführungsbeispiele wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil der Beschreibung bilden und illustrativ bestimmte Ausführungsbeispiele zeigen, in denen der Erfindungsgegenstand verwirklicht werden kann. Verschiedene Ausführungsbeispiele werden in ausreichenden Einzelheiten beschrieben um es dem Fachmann zu erlauben, den Erfindungsgegenstand zu verwirklichen, es versteht sich, dass andere Ausführungsbeispiele verwendet werden können und dass verfahrenstechnische oder mechanische Änderungen ausgeführt werden können, ohne sich von dem Schutzbereich des Erfindungsgegenstandes zu lösen.
  • Solche Ausführungsbeispiele des erfinderischen Gegenstands können einzeln und/oder kollektiv hier durch den Begriff „Erfindung" nur zur Bequemlichkeit verwendet werden und ohne den Schutzbereich dieser Erfindung auf eine einzelne Erfindung oder auf ein erfinderisches Konzept zu beschränken, falls mehr als dieses offenbart ist. Es versteht sich, dass die Verfahren der verschiedenen Ausführungsbeispiele in der Praxis kombiniert werden können, entweder gleichzeitig oder nacheinander. Verschiedene Abwandlungen und Kombinationen ergeben sich für den Fachmann.
  • ZUSAMMENFASSUNG
  • Bei einem Ausführungsbeispiel codiert eine Quelleinheit einem Rahmen entsprechende Quelleninformation unter Bildung einer Mehrzahl von codierten Datenblöcken, setzt einen initialen Datenrahmen, der die codierten Datenblöcken aufweist, zusammen und überträgt diese zu einer Bestimmungseinheit. Die Bestimmungseinheit decodiert die codierten Datenblöcke und setzt eine wieder hergestellte Version der initialen Datenrahmen zusammen. Die Bestimmungseinheit identifiziert die beschädigten Datenblöcke und die nicht beschädigten Datenblöcke in der wieder erstellten Version, speichert die nicht beschädigten Datenblöcke, erzeugt eine Botschaft, die die beschädigten Datenblöcke identifiziert und übermittelt die Botschaft an die Quelleneinheit. In Antwort darauf codiert die Quelleneinheit Quelleninformation entsprechende den beschädigten Datenblöcken, die in der Botschaft identifiziert sind, setzt einen responsiven Datenrahmen zusammen und übersendet den responsiven Datenrahmen an die Bestimmungseinheit. Die Bestimmungseinheit erzeugt einen korrigierten Datenrahmen aus den erneut übermittelten Datenblöcken und den zuvor gespeicherten nicht beschädigten Datenblöcken.

Claims (30)

  1. Eine Vorrichtung mit: einem Decoder zum Decodieren von Datenblöcken, die zu einem initialen Datenrahmen codiert und von einer Quelleneinheit über einen Kommunikationskanal unter Gewinnung einer Mehrzahl von decodierten Datenblöcken empfangen worden sind; einem Rahmenrestaurationsmodul zum Zusammensetzen einer wiederhergestellten Version des initialen Datenrahmens aus der Mehrzahl von decodierten Datenblöcken und zum Identifizieren beschädigter Datenblöcke in der wiederhergestellten Version, und eine Botschafterzeugungsmodul zum Erzeugen wenigstens einer Botschaft, die einen Teilsatz der Mehrzahl von decodierten Datenblöcken identifiziert, zur Übertragung an die Quelleneinheit, wobei der Teilsatz den beschädigten Datenblöcken entspricht.
  2. Die Vorrichtung nach Anspruch 1, weiter mit: einem Validationsmodul für die wiederhergestellten Rahmen zur Ausführung eines Validationsvorgangs an der wiederhergestellten Version des initialen Datenrahmens, wobei die wiederhergestellte Version an einen Rahmenempfänger zu liefern ist, wenn der Validationsvorgang erfolgreich ist.
  3. Die Vorrichtung nach Anspruch 1, weiter mit: einem Blockspeicherelement zum Speichern unbeschädigter Datenblöcke, die in der wiederhergestellten Version des initialen Datenrahmens identifiziert worden sind; und ein Verarbeitungsmodul für korrigierte Rahmen zur Erzeugung eines korrigierten Rahmens aus den nicht beschädigten Datenblöcken und einem oder mehreren erneut übertragenen Datenblöcken, die der Vorrichtung von der Quelleneinheit in Antwort auf die wenigstens eine Botschaft zugesendet worden ist.
  4. Die Vorrichtung nach Anspruch 3, weiter mit: einem Validationsmodul für korrigierte Rahmen zur Durchführung eines Validationsvorgangs an dem korrigierten Datenrahmen, wobei der korrigierte Datenrahmen an den Empfänger zu liefern ist, wenn der Validationsvorgang erfolgreich ist.
  5. Die Vorrichtung nach Anspruch 1, wobei der Decoder einen Blockcodedecoder aufweist.
  6. Eine Vorrichtung nach Anspruch 1, mit einem Codierer zum Codieren von einem Rahmen entsprechender Quelleninformation unter Bildung einer Mehrzahl von codierten Datenblöcken; einem Rahmenerzeugungsmodul zum Zusammensetzen eines initialen Datenrahmens, der eine Mehrzahl von codierten Datenblöcken aufweist, zu deren Übertragung zu einer Bestimmungseinheit; und einem Rahmenmanagementmodul zum Verarbeiten wenigstens einer von der Bestimmungseinheit empfangenen Botschaft, wobei die wenigstens eine Botschaft einen Teilsatz aus der Mehrzahl von codierten Datenblöcken identifiziert und wobei der Teilsatz beschädigten Datenblöcken entspricht, die durch die Bestimmungseinheit aus einer wiederhergestellten Version des initialen Datenrahmens identifiziert worden ist, und wobei das Rahmenerzeugungsmodul weiter zum Zusammensetzen eines responsiven Datenrahmens zur Übertragen an die Bestimmungseinheit dient und wobei der responsiven Datenrahmen einen oder mehrere erneut übertragene Datenblöcke entsprechend dem einen oder der mehreren beschädigter Datenblöcke beinhaltet.
  7. Die Vorrichtung nach Anspruch 6, wobei das Rahmenmanagementmodul weiter zum Auswählen von Information, die dem einen oder mehreren erneut übertragenen Datenblöcken von einer Eingabedatenquelle entspricht, dient.
  8. Die Vorrichtung nach Anspruch 6, wobei der Codierer weiter einen Blockcodecodierer aufweist.
  9. Eine Vorrichtung mit: einem Decoder zum Decodieren von ersten Datenblöcken, die zu einem initialen Datenrahmen codiert und über einen Kommunikationskanal von einer Quelleneinheit unter Gewinnung einer Mehrzahl von decodierten Datenblöcken empfangen worden sind; einem Rahmenrestaurationsmodul zum Zusammensetzen einer ersten wiederhergestellten Version des ersten initialen Datenrahmens aus der Mehrzahl von ersten decodierten Datenblöcken und zum Identifizieren erster beschädigter Datenblöcke in der ersten wiederhergestellten Version, und ein Botschafterzeugungsmodul zum Erzeugen wenigstens einer ersten Botschaft, die einen ersten Teilsatz der Mehrzahl von ersten decodierten Datenblöcken identifiziert, zur Übertragung an die Quelleneinheit, wobei der erste Teilsatz den ersten beschädigten Datenblöcken entspricht. einem Codierer zum Codieren von einem zweiten initialen Rahmen entsprechender Quelleninformation unter Bildung einer Mehrzahl von zweiten für den zweiten initialen Datenrahmen codierten zweiten Datenblöcken; einem Rahmenerzeugungsmodul zum Zusammensetzen eines zweiten initialen Datenrahmens, der die Mehrzahl von zweiten codierten Datenblöcken aufweist, zu deren Übertragung zu einer Bestimmungseinheit; und einem Rahmenmanagementmodul zum Verarbeiten wenigstens einer zweiten von der Bestimmungseinheit empfangenen Botschaft, wobei die wenigstens eine zweite Botschaft einen zweiten Teilsatz aus der Mehrzahl von zweiten Datenblöcken identifiziert und wobei der zweite Teilsatz zweiten beschädigten Datenblöcken entspricht, die durch die Bestimmungseinheit aus einer zweiten wiederhergestellten Version des zweiten initialen Datenrahmens identifiziert worden ist, und wobei das Rahmenerzeugungsmodul weiter zum Zusammensetzen eines responsiven Datenrahmens zur Übertragen an die Bestimmungseinheit dient und wobei der responsiven Datenrahmen einen oder mehrere erneut übertragene Datenblöcke entsprechend dem einen oder der mehreren zweiten beschädigter Datenblöcke beinhaltet.
  10. Die Vorrichtung nach Anspruch 1, weiter mit: einem Blockspeicherelement zum Speichern unbeschädigter Datenblöcke, die von der Mehrzahl von ersten codierten Datenrahmens identifiziert worden sind.
  11. Die Vorrichtung nach Anspruch 10, wobei: der Codierer weiter zum Decodieren eines oder mehrerer von der Quelleinheit empfangener dritter codierter Datenblöcke unter Gewinnung eines oder mehrerer dritter Datenblöcke und der nicht beschädigten Datenblöcke dient.
  12. A System mit: einer omnidirektionalen Antenne zum Empfangen von codierten Datenblöcken über einen Kommunikationskanal von einer Quelleneinheit; einem mit der omnidirektionalen Antenne gekoppelten Decoder zum Decodieren von ersten Datenblöcken unter Gewinnung einer Mehrzahl von decodierten Datenblöcken; einem Rahmenrestaurationsmodul zum Zusammensetzen einer wiederhergestellten Version des ersten initialen Datenrahmens aus der Mehrzahl von decodierten Datenblöcken und zum Identifizieren erster beschädigter Datenblöcke in der wiederhergestellten Version, und ein Botschafterzeugungsmodul zum Erzeugen wenigstens einer Botschaft, die einen Teilsatz der Mehrzahl von decodierten Datenblöcken identifiziert, zur Übertragung an die Quelleneinheit, wobei der Teilsatz den beschädigten Datenblöcken entspricht.
  13. Das System nach Anspruch 12, weiter mit: einem Blockspeicherelement zum Speichern unbeschädigter Datenblöcke, die in der wiederhergestellten Version des initialen Datenrahmens identifiziert worden sind; und ein Verarbeitungsmodul für korrigierte Rahmen zur Erzeugung eines korrigierten Rahmens aus den nicht beschädigten Datenblöcken und einem oder mehreren erneut übertragenen Datenblöcken, die der Vorrichtung von der Quelleneinheit in Antwort auf die wenigstens eine Botschaft zugesendet worden ist.
  14. Das System nach Anspruch 13, weiter mit: einem Validationsmodul für korrigierte Rahmen zur Durchführung eines Validationsvorgangs an dem korrigierten Datenrahmen, wobei der korrigierte Datenrahmen an den Empfänger zu liefern ist, wenn der Validationsvorgang erfolgreich ist.
  15. Ein System mit: einem Codierer zum Codieren von einem Rahmen entsprechender Quelleninformation unter Gewinnung einer Mehrzahl von codierten Datenblöcken; einem Rahmenerzeugungsmodul zum Zusammensetzen eines initialen Datenrahmens, der eine Mehrzahl von codierten Datenblöcken aufweist, eine omnidirektionale Antenne zum Übertragen der initialen Datenrahmen über einen Kommunikationskanal zu einer Bestimmungseinheit; und einem Rahmenmanagementmodul zum Verarbeiten wenigstens einer von der Bestimmungseinheit empfangenen Botschaft, wobei die wenigstens eine Botschaft einen Teilsatz aus der Mehrzahl von codierten Datenblöcken identifiziert und wobei der Teilsatz beschädigten Datenblöcken entspricht, die durch die Bestimmungseinheit aus einer wiederhergestellten Version des initialen Datenrahmens identifiziert worden ist, und wobei das Rahmenerzeugungsmodul weiter zum Zusammensetzen eines responsiven Datenrahmens zur Übertragen an die Bestimmungseinheit dient und wobei der responsiven Datenrahmen einen oder mehrere erneut übertragene Datenblöcke entsprechend dem einen oder der mehreren beschädigter Datenblöcke beinhaltet.
  16. Die Vorrichtung nach Anspruch 15, wobei das Rahmenmanagementmodul weiter zum Auswählen von Information, die dem einen oder mehreren erneut übertragenen Datenblöcken von einer Eingabedatenquelle entspricht, dient.
  17. Die Vorrichtung nach Anspruch 15, wobei der Codierer weiter einen Blockcodecodierer aufweist.
  18. Ein Verfahren mit: Decodieren von codierten Datenblöcken, die über einen Kommunikationskanal von einer Quelleneinheit unter Gewinnung einer Mehrzahl von decodierten Datenblöcken empfangen worden sind; Zusammensetzen einer wiederhergestellten Version des initialen Datenrahmens aus der Mehrzahl von decodierten Datenblöcken; Identifizieren beschädigter Datenblöcke in der wiederhergestellten Version, und Erzeugen wenigstens einer Botschaft, die einen Teilsatz der Mehrzahl von decodierten Datenblöcken identifiziert, zur Übertragung an die Quelleneinheit, wobei der Teilsatz den beschädigten Datenblöcken entspricht.
  19. Das Verfahren nach Anspruch l, weiter mit: Speichern der nicht beschädigten Datenblöcke, die anhand der wiedererstellten Version identifiziert worden sind.
  20. Erzeugung eines korrigierten Rahmens aus den nicht beschädigten Datenblöcken und einem oder mehreren erneut übertragenen Datenblöcken, die von der Quelleneinheit in Antwort auf die wenigstens eine Botschaft zugesendet worden ist.
  21. Das Verfahren nach Anspruch 18, wobei das Codieren das Ausführen eines Blockcodecodierungsverfahrens beinhaltet.
  22. Ein Verfahren, mit Codieren von einem Rahmen entsprechender Quelleninformation unter Bildung einer Mehrzahl von codierten Datenblöcken; Zusammensetzen eines initialen Datenrahmens, der eine Mehrzahl von codierten Datenblöcken aufweist, zu deren Übertragung zu einer Bestimmungseinheit; Verarbeiten wenigstens einer von der Bestimmungseinheit empfangenen Botschaft, wobei die wenigstens eine Botschaft einen Teilsatz aus der Mehrzahl von codierten Datenblöcken identifiziert und wobei der Teilsatz beschädigten Datenblöcken entspricht, die durch die Bestimmungseinheit aus einer wiederhergestellten Version des initialen Datenrahmens identifiziert worden ist, und Zusammensetzen eines responsiven Datenrahmens zum Übertragen an die Bestimmungseinheit dient und wobei der responsiven Datenrahmen einen oder mehrere erneut übertragene Datenblöcke entsprechend dem einen oder der mehreren beschädigter Datenblöcke beinhaltet.
  23. Das Verfahren nach Anspruch 22, weiter mit: Auswählen von Information, die dem einen oder mehreren erneut übertragenen Datenblöcken von einer Eingabedatenquelle entspricht.
  24. Das Verfahren nach Anspruch 23, wobei der Codieren ein Blockcodecodieren aufweist.
  25. Ein rechnerlesbares Medium mit darin gespeicherten Programmbefehlen zu Ausführen eines Verfahren, das bei einem Ausführen mit einem elektronischen Gerät das folgende ausführt: Decodieren von codierten Datenblöcken, die über einen Kommunikationskanal von einer Quelleneinheit unter Gewinnung einer Mehrzahl von decodierten Datenblöcken empfangen worden sind; Zusammensetzen einer wiederhergestellten Version des initialen Datenrahmens aus der Mehrzahl von decodierten Datenblöcken; Identifizieren beschädigter Datenblöcke in der wiederhergestellten Version, und Erzeugen wenigstens einer Botschaft, die einen Teilsatz der Mehrzahl von decodierten Datenblöcken identifiziert, zur Übertragung an die Quelleneinheit, wobei der Teilsatz den beschädigten Datenblöcken entspricht.
  26. Das rechnerlesbare Medium von Anspruch 25, wobei das Ausführen des Verfahrens weiter führt zu: Speichern der nicht beschädigten Datenblöcke, die anhand der wiedererstellten Version identifiziert worden sind; und Erzeugen eines korrigierten Rahmens aus den nicht beschädigten Datenblöcken und einem oder mehreren erneut übertragenen Datenblöcken, die von der Quelleneinheit in Antwort auf die wenigstens eine Botschaft zugesendet worden ist.
  27. Das rechnerlesbare Medium nach Anspruch 26, wobei das Codieren das Ausführen eines Blockcodecodierungsverfahrens beinhaltet.
  28. Ein rechnerlesbares Medium mit darin gespeicherten Programmbefehlen zu Ausführen eines Verfahren, das bei einem Ausführen mit einem elektronischen Gerät das folgende ausführt: Codieren von einem Rahmen entsprechender Quelleninformation unter Bildung einer Mehrzahl von codierten Datenblöcken; Zusammensetzen eines initialen Datenrahmens, der eine Mehrzahl von codierten Datenblöcken aufweist, zu deren Übertragung zu einer Bestimmungseinheit; Verarbeiten wenigstens einer von der Bestimmungseinheit empfangenen Botschaft, wobei die wenigstens eine Botschaft einen Teilsatz aus der Mehrzahl von codierten Datenblöcken identifiziert und wobei der Teilsatz beschädigten Datenblöcken entspricht, die durch die Bestimmungseinheit aus einer wiederhergestellten Version des initialen Datenrahmens identifiziert worden ist, und Zusammensetzen eines responsiven Datenrahmens zum Übertragen an die Bestimmungseinheit dient und wobei der responsiven Datenrahmen einen oder mehrere erneut übertragene Datenblöcke entsprechend dem einen oder der mehreren beschädigter Datenblöcke beinhaltet.
  29. Das rechnerlesbare Medium nach Anspruch 28, wobei die Ausführung des Verfahrens weiter führt zu: Auswählen von Information, die dem einen oder mehreren erneut übertragenen Datenblöcken von einer Eingabedatenquelle entspricht.
  30. Das Verfahren nach Anspruch 28, wobei das Codieren ein Blockcodecodieren aufweist.
DE112005003401T 2005-01-19 2005-01-19 Datenkommunikationsverfahren und -Vorrichtung Withdrawn DE112005003401T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2005/000016 WO2006078183A1 (en) 2005-01-19 2005-01-19 Data communications methods and apparatus

Publications (1)

Publication Number Publication Date
DE112005003401T5 true DE112005003401T5 (de) 2007-12-20

Family

ID=35229938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005003401T Withdrawn DE112005003401T5 (de) 2005-01-19 2005-01-19 Datenkommunikationsverfahren und -Vorrichtung

Country Status (6)

Country Link
US (1) US8359513B2 (de)
CN (1) CN101103581B (de)
DE (1) DE112005003401T5 (de)
GB (1) GB2437219B (de)
HK (1) HK1104709A1 (de)
WO (1) WO2006078183A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359513B2 (en) 2005-01-19 2013-01-22 Intel Corporation Data communications methods and apparatus
US8990653B2 (en) * 2006-03-31 2015-03-24 Stmicroelectronics, Inc. Apparatus and method for transmitting and recovering encoded data streams across multiple physical medium attachments
US8359522B2 (en) 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
WO2010019169A1 (en) * 2008-08-15 2010-02-18 Lsi Corporation Rom list-decoding of near codewords
CN101662451B (zh) * 2008-08-26 2012-11-07 北京中京创原通信技术有限公司 基于消息标识机制的命令/响应关联性控制方法
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
US9356623B2 (en) 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages
US8291299B2 (en) 2009-03-05 2012-10-16 Lsi Corporation Turbo-equalization methods for iterative decoders
JP2010212934A (ja) * 2009-03-10 2010-09-24 Toshiba Corp 半導体装置
JP5432367B2 (ja) * 2009-04-21 2014-03-05 アギア システムズ インコーポレーテッド 書込み検証を使用した符号のエラーフロア軽減
US8578256B2 (en) * 2009-04-22 2013-11-05 Agere Systems Llc Low-latency decoder
US8423861B2 (en) * 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8359515B2 (en) * 2009-12-02 2013-01-22 Lsi Corporation Forward substitution for error-correction encoding and the like
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
FR2969336B1 (fr) * 2010-12-17 2013-01-04 Sagem Defense Securite Dispositif de connexion ethernet multiple a une unite informatique et ensemble unite informatique et equipements relies ensemble
US20130128809A1 (en) * 2011-05-19 2013-05-23 Qualcomm Incorporated Apparatus and methods for media access control header compression
US9515925B2 (en) 2011-05-19 2016-12-06 Qualcomm Incorporated Apparatus and methods for media access control header compression
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9747108B2 (en) 2015-03-27 2017-08-29 Intel Corporation User-level fork and join processors, methods, systems, and instructions
CN114035524A (zh) * 2021-11-11 2022-02-11 成都卡诺普机器人技术股份有限公司 控制方法和自动控制系统
US11722248B1 (en) * 2022-01-26 2023-08-08 Zurn Industries, Llc Cloud communication for an edge device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208663B1 (en) 1997-08-29 2001-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for block ARQ with reselection of FEC coding and/or modulation
US6778558B2 (en) 1998-02-23 2004-08-17 Lucent Technologies Inc. System and method for incremental redundancy transmission in a communication system
US20010056560A1 (en) * 1998-10-08 2001-12-27 Farooq Khan Method and system for measurement based automatic retransmission request in a radiocommunication system
US6704898B1 (en) 1998-10-23 2004-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Combined hybrid automatic retransmission request scheme
CN1218527C (zh) * 1998-10-23 2005-09-07 艾利森电话股份有限公司 复合的混合自动重发请求方案
FI109251B (fi) * 1999-09-10 2002-06-14 Nokia Corp Tiedonsiirtomenetelmä, radiojärjestelmä, radiolähetin ja radiovastaanotin
JP2002026877A (ja) 2000-06-07 2002-01-25 Agilent Technol Inc ブロック誤り率測定法
US7586948B2 (en) 2003-12-24 2009-09-08 Agere Systems Inc. Packet sub-frame structure for selective acknowledgment
US8359513B2 (en) 2005-01-19 2013-01-22 Intel Corporation Data communications methods and apparatus
ES2336824T3 (es) * 2005-03-10 2010-04-16 Qualcomm Incorporated Arquitectura de decodificador para gestion de errores optimizada en flujo continuo multimedia.
US7644340B1 (en) * 2005-07-08 2010-01-05 Marvell International Ltd. General convolutional interleaver and deinterleaver
US7861131B1 (en) * 2005-09-01 2010-12-28 Marvell International Ltd. Tensor product codes containing an iterative code

Also Published As

Publication number Publication date
US8359513B2 (en) 2013-01-22
GB2437219B (en) 2009-11-11
CN101103581B (zh) 2012-05-30
US20080104485A1 (en) 2008-05-01
HK1104709A1 (en) 2008-01-18
CN101103581A (zh) 2008-01-09
GB2437219A (en) 2007-10-17
WO2006078183A1 (en) 2006-07-27
GB0714909D0 (en) 2007-09-12

Similar Documents

Publication Publication Date Title
DE112005003401T5 (de) Datenkommunikationsverfahren und -Vorrichtung
US10461779B2 (en) Rate-compatible polar codes
DE69733346T2 (de) Verfahren und gerät zur datenrückgewinnung in arq-übertragungssystemen
KR102549316B1 (ko) 체계적 폴라 코딩을 사용하여 데이터를 재전송하는 방법 및 시스템
DE602004003324T2 (de) Verfahren und Vorrichtung für die Encodierung von Low Density Parity Check (LDPC) Codes langer und kurzer Blocklänge
DE69829847T2 (de) Fehlerschutzverfahren und vorrichtung für über-funk-dateiübertragung
DE69838355T2 (de) Verfahren, Rechnersystem und Empfänger zur inkrementalen Redundanz Dekodierung
DE112005003790B4 (de) Verallgemeinerter Mehrschwellen-Decodierer für Codes für Paritätsprüfungen geringer Dichte
DE60208466T2 (de) Verfahren und Vorrichtung zur Fehlerkorrektur der statischen Informationen im Kopffeld eines empfangenen Packets
US10476528B2 (en) Data packet processing method and device
US10700816B2 (en) Method for performing HARQ using polar code
DE102013008253A1 (de) Dekodieren eines kodierten Datenblocks
DE112004003036T5 (de) Gemeinsamer Vorwärtsfehlerkorrektur- und automatischer Wiederholanforderungsbetrieb für eine Datenübertragungsschicht
DE602004010433T2 (de) Verfahren, system und vorrichtung zur arq-datenübertragung
CN101034953A (zh) 应用低密度奇偶校验码进行数据传输的方法
DE102015110602A1 (de) Verfahren und Vorrichtung zum iterativen Decodieren einer Datentransferstruktur
DE102020126086A1 (de) Feedback- und neuübertragungsformat eines harq-protokolls
EP3602797B1 (de) Punktierung von polarkodes mit komplementären sequenzen
DE102008061069B4 (de) Neuübertragung fehlerhafter Daten
DE602004004546T2 (de) Datenkompression mit inkrementeller redundanz
US20230208555A1 (en) Permutated extension and shortened low density parity check codes for hybrid automatic repeat request
DE102022110746A1 (de) Wiederholungsübertragungs-softbit-decodierung
US10511331B2 (en) Channel decoding method and channel decoding device
DE102020127970A1 (de) Vorrichtung und Verfahren für HARQ in einem Funknetzwerk
DE102013218311B4 (de) Verfahren zum Wiederherstellen von verloren gegangenen und-/ oder beschädigten Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee