-
Die Erfindungsmeldung betrifft eine Vorrichtung und ein Verfahren zum Dekodieren mindestens eines Blocks eines über einen Übertragungskanal empfangenen Datenstroms im Basisband.
-
In vielen Kommunikationssystemen werden senderseitig blockbasierte Kanalkodierungen im Basisband genutzt. Sie dienen zur Fehlersicherung und -korrektur auf der Empfängerseite. Zur Dekodierung auf der Empfängerseite wird der gesamte Datenstrom im Basisband in eine Folge von Blöcken unterteilt, die durch einen oder mehrere Blockdekodierer verarbeitet werden.
-
Gemäß einem ersten Aspekt der Erfindung wird eine Vorrichtung zum Dekodieren mindestens eines Blocks eines über einen Übertragungskanal empfangenen Datenstroms im Basisband, der mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist, gemäß Anspruch 1 angegeben.
-
Die Vorrichtung umfasst:
- - eine Blockdekodiereinheit, welcher der Block zuführbar ist und die ausgebildet ist,
- - den Block nach einem vordefinierten Verarbeitungsalgorithmus zu verarbeiten und dadurch im Block enthaltene Fehler zu korrigieren sowie als ein Verarbeitungsergebnis einen fehlerkorrigierten Ausgabeblock fertigzustellen, und
- - auf den Empfang eines Stoppsignals hin, in dem Fall, dass der Block als nächster zur Verarbeitung ansteht, den Block nicht zu verarbeiten, und in dem Fall, dass der Block sich bereits in Verarbeitung befindet, das Verarbeiten des Blocks vor Fertigstellung des Ausgabeblocks zu stoppen;
- - eine Prüfeinheit, welche in Flussrichtung des Datenstroms entweder der Blockdekodiereinheit vorgeschaltet ist oder welcher der Block in Parallelschaltung zur Blockdekodiereinheit zuführbar ist und die ausgebildet ist, den Block nach einem vorbestimmten Prüfalgorithmus auf ein Vorliegen mindestens eines zu korrigierenden Fehlers zu überprüfen sowie ein Prüfsignal auszugeben, das anzeigt, ob der Block frei von zu korrigierenden Fehlern ist oder nicht;
- - eine Steuereinheit, die mit der Prüfeinheit verbunden ist und die ausgebildet ist,
- - wenn das Prüfsignal anzeigt, dass der Block frei von zu korrigierenden Fehlern ist, der Blockdekodiereinheit das Stoppsignal zuzuführen und eine Ausgabe des Blocks in der der Prüfeinheit zugeführten Form zu veranlassen; sowie
- - wenn das Prüfsignal anzeigt, dass der Block fehlerbehaftet ist, eine Ausgabe des von der Blockdekodiereinheit fertiggestellten und fehlerkorrigierten Ausgabeblocks zu veranlassen.
-
Der erfindungsgemäßen Vorrichtung liegt die Erkenntnis zugrunde, dass die eingangs beschriebene, bekannte Vorgehensweise bedingt, dass jeder Block unabhängig davon, ob darin Fehler enthaltenen sind oder nicht, die Blockdekodiereinheit durchläuft. Hierdurch entsteht zum einen eine signifikante Verzögerung, die durch die Verarbeitungszeit der Blockdekodiereinheit bedingt ist. Zudem kann die Blockdekodiereinheit erst dann mit der Verarbeitung beginnen, wenn an ihrem Eingang der komplette Block vorliegt. Schließlich bedingt die Dekodierung, ob für fehlerbehaftete Blöcke oder für fehlerfrei übertragene Blöcke, eine nicht zu vernachlässigende Leistungsaufnahme.
-
Die vorliegende Erfindung schlägt demgegenüber eine zusätzliche Prüfeinheit vor, die parallel zur Verarbeitung des Blocks in der Blockdekodiereinheit eine Prüfung des Blocks auf das Vorliegen mindestens eines Fehlers durchführt. Im Fall, dass ein Block frei von zu korrigierenden Fehlern ist, wird eine Ausgabe des Blocks in der der Prüfeinheit zugeführten Form veranlasst und die Verarbeitung in der Blockdekodiereinheit gestoppt. Für fehlerfreie Blöcke kann daher die zeit- und energieaufwendige Dekodierung im Regelfall zumindest teilweise unterbleiben. Damit wird im Ergebnis die durch die Dekodierung des Blocks im Basisband hervorgerufene Latenz insgesamt verringert und zugleich der Energiebedarf eines Basisbandprozessors für diesen Verarbeitungsschritt reduziert.
-
Eine Voraussetzung für die Nutzbarmachung der erfindungsgemäßen Vorrichtung und des weiter unten offenbarten erfindungsgemäßen Verfahrens ist ein systematischer Blockcode. Das bedeutet, die ursprünglichen Daten sind unveränderter Bestandteil des Nachrichtenwortes. Typischerweise werden Prüfdatenwörter an den Datenwortblock angehängt, um einen vollständigen kodierten Block zu bilden. Eine Verteilung der Prüfdaten im Block ist zwar denkbar, jedoch nicht üblich und daher nicht bevorzugt.
-
Dadurch, dass die Originaldaten im fehlerfreien Fall unverändert enthalten sind, werden diese nach der Prüfung ohne Dekodierung ausgegeben. Die Prüfdaten werden in diesem Fall „verworfen“, in dem sie beispielsweise einfach nicht genutzt werden.
-
Nachfolgend werden Ausführungsbeispiele der erfindungsgemäßen Vorrichtung beschrieben.
-
In der vorliegenden Beschreibung der Erfindung und ihrer Ausführungsbeispiele werden der Klarheit der Beschreibung halber die Steuereinheit und die Prüfeinheit als funktional getrennte Einheiten beschrieben. Eine funktionale oder gar schaltungstechnische Trennung von Steuereinheit und Prüfeinheit ist jedoch nur als Ausführungsbeispiel zu verstehen. Erforderlich ist sie nicht.
-
Es ist demnach ebenso eine - sogar bevorzugte - Ausführungsform der vorliegenden Erfindung, die Funktionen der Steuereinheit und der Prüfeinheit in einer einzigen Einheit zu implementieren. Die Steuereinheit kann also beispielsweise ein integraler, schaltungstechnisch oder programmtechnisch nicht getrennter Bestandteil der Prüfeinheit sein. Eine solche integrierte Einheit könnte man wahlweise als Steuereinheit oder als Prüfeinheit bezeichnen.
-
Diese Ausführungsform ist vorteilhaft, weil sie den Aufwand der Erzeugung von Steuersignalen besonders gering halten kann. Denn als das Stoppsignal kann bei dieser Ausführung dasjenige Prüfsignal verwendet werden, welches anzeigt, dass der Block frei von zu korrigierenden Fehlern ist. Zusätzlich oder alternativ kann dasjenige Prüfsignal, welches anzeigt, dass der Block fehlerbehaftet ist, kann als ein Steuersignal verwendet werden, welches eine Ausgabe des von der Blockdekodiereinheit fertiggestellten und fehlerkorrigierten Ausgabeblocks zu veranlassen.
-
Auch eine schaltungstechnische Integration der Blockdekodiereinheit mit der Steuereinheit und der Prüfeinheit ist möglich und zur Reduzierung des schaltungstechnischen Aufwands und der Leistungsaufnahme auch sinnvoll. Die erfindungsgemäße Vorrichtung kann beispielsweise als Ganze in einer Schaltungsanordnung wie etwa einem Basisbandprozessor integriert sein.
-
Die Prüfeinheit ist bevorzugt ausgebildet, einen eingangsseitig anliegenden Block stückweise, also nach und nach in Form von Bruchstücken des gesamten Blocks zu prüfen. Hierfür sind geeignete Prüfalgorithmen zu verwenden.
-
Auch wenn die Prüfeinheit einen kompletten Block verarbeiten würde, kann davon ausgegangen werden, dass sie schneller arbeitet als die Dekodierung.
-
Typischerweise liegt ein kontinuierlicher Datenstrom vor. Eine Sequenz aus diesem Datenstrom bildet einen Block, dessen einzelne Wörter separat nacheinander einlaufen. Damit kann eine laufende Prüfsumme gebildet werden, die dann am Ende der den Block bildenden Datensequenz mit einem zusätzlich eingefügten Endergebnis des Prüfsummenalgorithmus verglichen wird (z. B. Verwendung eines CRC).
-
In einem Ausführungsbeispiel ist vorgesehen, bei Vorliegen des gesamten Blockes die Prüfdaten erneut zu berechnen und nach dem Datenblock die ermittelten mit den empfangenen Prüfdaten zu vergleichen, um die Fehlerfreiheit festzustellen.
-
Ausführungsbeispiele der erfindungsgemäßen Vorrichtung umfassen zusätzlich einen Ausgabepufferspeicher.
-
Die Prüfeinheit ist bei einem dieser Ausführungsbeispiele mit Ausgabepufferspeicher ausgebildet, den Block Stück für Stück zu empfangen und Stück für Stück in den Ausgabepufferspeicher zu schreiben. Eine Prüfung solcher Teildatenmengen eines Blocks würde den Aufwand erhöhen die Datenrate verringern, weil für jeden Teilblock eine Prüfsumme eingefügt werden müsste. Eine Nutzung der vorhandenen Prüfdaten des kodierten Blocks wäre dann außerdem nicht möglich. Die Prüfeinheit prüft daher bevorzugt den ganzen Block. Der Block läuft typischerweise in Form zeitlich aufeinanderfolgender Datenwörter ein, so dass die Prüfung fortlaufend parallel zum Einschreiben erfolgt.
-
Bei Verwendung eines Ausgabepufferspeichers ist die Steuereinheit in einer ersten Variante ausgebildet, den Ausgabepufferspeicher nach Erhalt des Prüfsignals zur Ausgabe seines Inhalts zu veranlassen, wobei die Steuereinheit zusätzlich ausgebildet ist, unter der Bedingung, dass das Prüfsignal anzeigt, dass der Block fehlerbehaftet ist, zuerst die Blockdekodiereinheit zum Überschreiben des Ausgabepufferspeichers mit dem fertiggestellten und fehlerkorrigierten Ausgabeblock zu veranlassen, und erst dann die Ausgabe zu veranlassen.
-
Alternativ ist die Steuereinheit in einer zweiten Variante ausgebildet, den Ausgabepufferspeicher nach Erhalt des Prüfsignals zur Ausgabe seines Inhalts zu veranlassen, unter der Bedingung, dass das Prüfsignal anzeigt, dass der Block keine zu korrigierenden Fehler hat. Zusätzlich ist die Steuereinheit ausgebildet, die Blockdekodiereinheit zum direkten Ausgeben des fertiggestellten und fehlerkorrigierten Ausgabeblocks zu veranlassen, falls das Prüfsignal anzeigt, dass der Block fehlerbehaftet ist.
-
Welche Fehler die Prüfeinheit als zu korrigierende Fehler erkennt und wie sie dies tut, kann durch die Wahl des von ihr implementierten Prüfalgorithmus bestimmt werden. Vorzugsweise ist die Prüfeinheit ausgebildet, als Prüfalgorithmus anhand von im zugeführten Block enthaltenen Daten nach einer vorbestimmten Rechenvorschrift erste Prüfdaten zu berechnen und zur Prüfung der Richtigkeit die berechneten Prüfdaten mit im zugeführten Block enthaltenen zweiten Prüfdaten zu vergleichen, die senderseitig nach derselben Rechenvorschrift ermittelt wurden. Beispielsweise kann die Rechenvorschrift die Bildung Prüfsumme beinhalten. Alternativ ist die Prüfeinheit ausgebildet, den Block einer zyklischen Redundanzprüfung (CRC) zu unterziehen.
-
Die zweiten Prüfdaten müssen dem Block senderseitig hinzugefügt worden sein, beispielsweise durch einen Kodierer. Aber auch eine senderseitige Hinzufügung der zweiten Prüfdaten zum Block vor der Kodierung kann vorteilhaft sein.
-
In einer weiteren Ausführungsform ist die Steuereinheit ausgebildet, zusätzlich zur Ausgabe des Blocks in der der Prüfeinheit zugeführten Form die Ausgabe der ersten Prüfdaten zu veranlassen. Diese können dann empfängerseitig weiterverwendet oder als Rückkopplung hinsichtlich der aktuellen Übertragungsbedingungen an den Sender zurückgesendet werden.
-
Zur weiteren Reduzierung der Leistungsaufnahme ist die Steuereinheit gemäß der Erfindung ausgebildet, die Blockdekodiereinheit in einen in seiner Leistungsaufnahme gegenüber einem bis dahin genutzten ersten Betriebsmodus reduzierten zweiten Betriebsmodus zu schalten oder die Blockdekodiereinheit abzuschalten, wenn das Prüfsignal anzeigt, dass der Block frei von zu korrigierenden Fehlern ist.
-
In einer weiteren Ausführungsform die Steuereinheit ausgebildet, im Falle einer kontinuierlichen Folge von Blöcken eine Blockreihenfolgenwiederherstellung zu veranlassen.
-
In einer Ausführungsform der Erfindung ist eine Prüfeinheit der Blockdekodiereinheit vorgeschaltet. Gibt die Prüfeinheit in dieser Ausführungsform das Prüfsignal aus, welches anzeigt, dass der Block frei von zu korrigierenden Fehlern ist, so veranlasst die mit der Prüfeinheit verbundene Steuereinheit die Ausgabe des Blocks in der der Prüfeinheit zugeführten Form. Wenn das Prüfsignal dagegen anzeigt, dass der Block fehlerbehaftet ist, veranlasst die Steuereinheit die Ausgabe des Blocks an die Blockdekodiereinheit, die Verarbeitung des Blocks in der Blockdekodiereinheit und anschließend die Ausgabe des fehlerkorrigierten Ausgabeblocks durch die Blockdekodiereinheit zur weiteren Verarbeitung des Blocks im Basisband.
-
In dieser Ausführungsform wird zwar eine zusätzliche Latenz durch die vorgeschaltete Prüfung hinzugefügt. Jedoch wird eine größere Energieeinsparung erzielt, weil ausschließlich fehlerbehaftete Blöcke in der Blockdekodiereinheit verarbeitet werden. Denn die Leistungsaufnahme der Prüfeinheit zur Überprüfung eines Blocks ist geringer als diejenige der Blockdekodiereinheit zur Verarbeitung des Blocks.
-
Anwendung findet die erfindungsgemäße Vorrichtung oder eine ihrer hier beschriebenen Ausführungsformen insbesondere als Bestandteil eines Empfängers, der zum Empfang und Überführen eines Blocks eines über einen Übertragungskanal empfangenen Datenstroms in sein Basisband ausgebildet ist, wobei der Block mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist.
-
Die Vorrichtung kann in einem Basisbandprozessor des Empfängers implementiert sein. Zur Erhöhung der Verarbeitungskapazität des Basisbandprozessors kann die erfindungsgemäße Vorrichtung darin mehrfach in einer Parallelschaltung vorgesehen sein. Zur Reduzierung des Schaltungsaufwandes kann dabei eine Steuereinheit den Betrieb mehrerer Blockdekodierungseinheiten steuern.
-
Schließlich kann die Erfindung auch in Form eines Senderempfängers mit einem solchen Empfänger und mit einer Sendeeinheit implementiert sein. In einer bevorzugten Ausführungsform ist dieser Senderempfänger ausgebildet zur Übertragung von ersten Prüfdaten, die von der Steuereinheit ausgegeben werden an einen zweiten Senderempfänger, von welchem der Senderempfänger den Block empfangen hat.
-
Einen zweiten Aspekt der Erfindung bildet ein Verfahren nach Anspruch 10 zum Betreiben einer Vorrichtung zum Dekodieren mindestens eines Blocks eines Datenstroms im Basisband, der mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist, umfassend:
- - Verarbeiten des Blocks nach einem vordefinierten Verarbeitungsalgorithmus, um im Block enthaltene Fehler zu korrigieren sowie als ein Verarbeitungsergebnis einen fehlerkorrigierten Ausgabeblock fertigzustellen;
- - entweder vor dem Verarbeiten des Blocks oder parallel zum Verarbeiten des Blocks: Überprüfen des Blocks auf ein Vorliegen mindestens eines zu korrigierenden Fehlers nach einem vorbestimmten Prüfalgorithmus;
- - wenn der Block frei von zu korrigierenden Fehlern ist: in dem Fall, dass der Block als nächster zur Verarbeitung ansteht, Unterlassen des Verarbeitens des Blocks und Ausgeben des Blocks; in dem Fall, dass der Block sich bereits in Verarbeitung befindet, Stoppen des Verarbeitens des Blocks, bevor der Ausgabeblock fertiggestellt ist, und Ausgeben des Blocks;
- - wenn der Block fehlerbehaftet ist: Ausgeben des fertiggestellten und fehlerkorrigierten Ausgabeblocks.
-
Das erfindungsgemäße Verfahren teilt die Vorteile der Vorrichtung des ersten Aspekts der Erfindung. Bevorzugte Ausführungsformen des Verfahrens implementieren weitere Verfahrensschritte, die in der obigen Beschreibung der Ausführungsbeispiele der erfindungsgemäßen Vorrichtung beschrieben sind. Nachfolgend werden weitere Ausführungsbeispiele des Verfahrens beschrieben.
-
Eine Ausführungsform umfasst zusätzlich:
- - gleichzeitiges Zuführen des Blocks an einen Ausgabepufferspeicher und eine Blockdekodiereinheit;
wenn der Block frei von zu korrigierenden Fehlern ist, Ausgeben des Blocks aus dem Ausgabepufferspeicher;
- - wenn der Block fehlerbehaftet ist, Überschreiben des Ausgabepufferspeichers mit dem fertiggestellten und fehlerkorrigierten Ausgabeblock und dann Ausgeben des Inhalts des Ausgabepufferspeichers.
-
Eine weitere Ausführungsform umfasst zusätzlich:
- - gleichzeitiges Zuführen des Blocks an einen Ausgabepufferspeicher und eine Blockdekodiereinheit;
- - wenn der Block frei von zu korrigierenden Fehlern ist, Ausgeben des Blocks aus dem Ausgabepufferspeicher;
- - wenn der Block fehlerbehaftet ist, direktes Ausgeben des fertiggestellten und fehlerkorrigierten Ausgabeblocks durch die Blockdekodiereinheit
-
Zusätzlich kann das Verfahren vorsehen, dass, wenn das Prüfsignal anzeigt, dass der Block frei von zu korrigierenden Fehlern ist, die Blockdekodiereinheit in einen in seiner Leistungsaufnahme gegenüber einem bis dahin genutzten ersten Betriebsmodus reduzierten zweiten Betriebsmodus geschaltet wird oder die Blockdekodiereinheit abgeschaltet wird.
-
Das erfindungsgemäße Verfahren und seine Ausführungsformen können beispielsweise in Form eines Computerprogrammprodukts als ausführbare Programmdaten zum Einsatz in einer programmierbaren Prozessorvorrichtung verfügbar gemacht werden. Hierzu sind die ausführbaren Programmdaten in einem Speicher abgelegt, der in der Prozessorvorrichtung enthalten ist oder mit ihr verbunden oder verbindbar ist.
-
Nachfolgend werden mit Bezug auf Figuren weitere Ausführungsbeispiele erläutert, wobei
- 1 ein vereinfachtes Blockschaltbild einer ersten Ausführungsform der vorliegenden Erfindung zeigt,
- 2 ein vereinfachtes Blockschaltbild einer zweiten Ausführungsform der vorliegenden Erfindung zeigt,
- 3 ein vereinfachtes Blockschaltbild einer Abwandlung der zweiten Ausführungsform zeigt,
- 4 schematisch und exemplarisch zwei Senderempfänger nach der vorliegenden Erfindung zeigt, und
- 5 ein Flussdiagramm eines Verfahrens in einer Ausführungsform der vorliegenden Erfindung zeigt.
-
In den Figuren sind gleiche oder sich entsprechende Einheiten oder Elemente mit gleichen Bezugszeichen versehen. Wenn eine Einheit, ein Element bereits im Zusammenhang mit einer Figur näher erläutert ist, wird in der Beschreibung einer nachfolgenden Figur auf eine ausführliche Darstellung verzichtet.
-
In den Figuren werden Datenflüsse mit durchgezogenen Pfeilstrichen symbolisiert, während Signalisierungsflüsse mit gestrichelten Pfeilstrichen symbolisiert werden.
-
Die in 1 dargestellte Vorrichtung 10 umfasst eine Blockdekodiereinheit 11, eine parallel zur Blockdekodiereinheit 11 geschaltete Prüfeinheit 12 sowie eine mit der Prüfeinheit 12 verbundene Steuereinheit 13.
-
Ein Block eines über einen Übertragungskanal empfangenen Datenstroms im Basisband, der mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist wird in der Vorrichtung parallel der Blockdekodiereinheit 11 und der Prüfeinheit 12 zugeführt. Die Blockdekodiereinheit 11 ist ausgebildet, den Block nach einem vordefinierten Verarbeitungsalgorithmus zu verarbeiten. Der Verarbeitungsalgorithmus bewirkt eine Dekodierung des senderseitig mit einem systematischen Blockcode kodierten Blocks und dient gleichzeitig dazu, im Block enthaltene Fehler zu korrigieren sowie als ein Verarbeitungsergebnis einen fehlerkorrigierten Ausgabeblock fertig zustellen.. Blockkodierungs- und -dekodierungsalgorithmen sowie entsprechende Blockkodierer und Blockdekodierer als solche sind dem Fachmann bekannt.
-
Die Blockdekodiereinheit 11 ist vorliegend jedoch zusätzlich ausgebildet, auf den Empfang eines Stoppsignals hin, in dem Fall, dass der Block als nächster zur Verarbeitung ansteht, den Block nicht zu verarbeiten, und in dem Fall, dass der Block sich bereits in Verarbeitung befindet, das Verarbeiten des Blocks vor Fertigstellung des Ausgabeblocks zu stoppen. Die damit erzielten Vorteile werden anhand der nachfolgenden Beschreibung der in der Vorrichtung 10 ebenfalls enthaltenen Prüfeinheit 12 und Steuereinheit 13 klar werden.
-
Die parallel geschaltete Prüfeinheit 12 ist ausgebildet, den Block nach einem vorbestimmten Prüfalgorithmus, beispielsweise einer zyklischen Redundanzprüfung, auf ein Vorliegen mindestens eins zu korrigierenden Fehlers zu überprüfen. Außerdem ist die Prüfeinheit ausgebildet, ein Prüfsignal an die Steuereinheit 13 auszugeben, das anzeigt, ob der Block frei von zu korrigierenden Fehlern ist.
-
Die Steuereinheit 13 ist ausgebildet, im Falle, dass das Prüfsignal anzeigt, dass der Block frei von zu korrigierenden Fehlern ist, ein Stoppsignal an die Blockdekodiereinheit 11 auszugeben, durch welches in der Blockdekodiereinheit 11 die Verarbeitung des Blocks gestoppt wird. Darüberhinaus veranlasst die Steuereinheit 13 in diesem Fall die Ausgabe des Blocks in der der Prüfeinheit zugeführten Form. Zeigt das Prüfsignal dagegen an, dass der Block fehlerbehaftet ist, so veranlasst die Steuereinheit 13 eine Ausgabe des von der Blockdekodiereinheit fertiggestellten und fehlerkorrigierten Ausgabeblocks.
-
Durch die parallele Prüfung des Blocks auf zu korrigierende Fehler in der Prüfeinheit 12 und durch das im Falle eines fehlerfreien Blocks von der Steuereinheit 13 ausgegebene Stoppsignal an die Blockdekodiereinheit 11 wird die zeit- und energieaufwändige Verarbeitung von fehlerfreien Blocks in der Blockdekodiereinheit verhindert. So kann zum einen die Verarbeitungsdauer (Latenz) in der Vorrichtung besonders gering gehalten werden. Zum anderen ist die Leistungsaufnahme der Vorrichtung geringer als bei herkömmlichen Blockdekodierern, da die Blockdekodiereinheit nur Blöcke mit zu korrigierenden Fehlern vollständig verarbeitet. Kann die Prüfung besonders schnell durchgeführt werden, so kann sogar erreicht werden, dass die Steuereinheit 13 die Blockdekodiereinheit 11 stoppt, bevor diese die Verarbeitung eines von der Prüfeinheit 12 als fehlerfrei erkannten Blocks aufgenommen hat.
-
In einer in 1 nicht dargestellten Variante, bei der die Prüfeinheit der Blockdekodiereinheit nicht parallel-, sondern in Richtung des Datenstroms vorgeschaltet ist, wird die Leistungsaufnahme weiter reduziert, da die Verarbeitung von Blöcken, die frei von zu korrigierenden Fehlern sind, unabhängig von der für die Prüfung benötigten Zeitspanne in der Blockdekodiereinheit erst gar nicht begonnen wird. Nachteil dieser Variante ist, wie oben bereits erwähnt, dass die Zeitspanne der Prüfung die Verarbeitungszeit fehlerbehafteter Blöcke gegenüber bekannten Lösungen ohne Prüfeinheit erhöht.
-
2 zeigt eine zweite Ausführungsform der Erfindung in Form einer Vorrichtung 20 zum Dekodieren mindestens eines Blocks eines über einen Übertragungskanal empfangenen Datenstroms im Basisband, der mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist.
-
Die Vorrichtung 20 verfügt im Vergleich mit der Vorrichtung 10 zusätzlich über einen Ausgabepufferspeicher 24. In dieser Ausführungsform ist die Prüfeinheit 22 ausgebildet, den Block trotzdem als Ganzes auf das Vorliegen eines Fehlers zu prüfen. Trotzdem werden laufend die empfangenen Stücke des Blocks Stück für Stück in den Ausgabepufferspeicher 24 geschrieben.
-
Die Steuereinheit 23 ist ausgebildet, wenn das Prüfsignal einen fehlerbehafteten Block anzeigt, einen Schalter 25 und die Blockdekodiereinheit 21 derart zu steuern, dass der Ausgabepufferspeicher 24 mit dem fertiggestellten und fehlerkorrigierten Ausgabeblock überschrieben wird. Darüberhinaus ist die Steuereinheit 23 ausgebildet, den Ausgabepufferspeicher 24 zur Ausgabe seines Inhalts zu veranlassen, entweder nach Erhalt des Prüfsignals, dass der Block keine zu korrigierenden Fehler aufweist oder nach dem Überschreiben des Ausgabepufferspeichers 24 mit dem fertiggestellten und fehlerkorrigierten Ausgabeblock.
-
3 zeigt eine Abwandlung der Vorrichtung in 2. In dieser Ausführungsform ist die Steuereinheit 33 ausgebildet, nach einem von der Prüfeinheit ausgegebenen Prüfsignal, welches anzeigt, dass der Block fehlerbehaftet ist, die Blockdekodiereinheit 31 zum direkten Ausgeben des fertiggestellten und fehlerkorrigierten Ausgabeblocks zu veranlassen.
-
Die Prüfeinheit 32 ist hier wie im Ausführungsbeispiel der 2 ausgebildet, den Block auf das Vorliegen eines Fehlers zu prüfen und jedes Stück in den Ausgabepufferspeicher 34 zu schreiben. Die Steuereinheit 33 ist ausgebildet, nach Erhalt des Prüfsignals ein Signal an den Schalter 35 auszugeben, dass, falls das Prüfsignal anzeigt, dass der Block fehlerfrei ist, die Ausgabe aus dem Ausgabepufferspeicher veranlasst wird, und im Falle des Prüfsignals, welches anzeigt, dass der Block fehlerbehaftet ist, die Ausgabe des fehlerkorrigierten Blocks direkt aus der Blockdekodiereinheit 31 veranlasst.
-
4 zeigt eine Anordnung zweier Senderempfänger 45 und 46. Die beiden Senderempfänger sind im vorliegenden Ausführungsbeispiel zur Kommunikation über einen oder mehrere drahtlose Übertragungskanäle K, hier Funkkanäle, mit Hilfe von Antennenvorrichtungen 45.1 und 46.1 ausgebildet. Über die Übertragungskanäle K werden in an sich bekannter Weise Daten (durchgezogene Linie) und die Datenkommunikation begleitende und steuernde Signalisierungsinformationen (gestrichelte Linie) ausgetauscht. Anstelle eines Funkkanals kann auch jedes andere Übertragungsmedium treten, die Erfindung ist unabhängig von der Wahl des Übertragungsmediums anwendbar.
-
Mindestens einer der beiden Senderempfänger, typischerweise jedoch jeder der beiden Senderempfänger 45 und 46, enthält eine Vorrichtung nach einem der hier beschriebenen Ausführungsbeispiele, zum Dekodieren mindestens eines Blocks eines über den Übertragungskanal K empfangenen Datenstroms im Basisband, der mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist,. Die nachfolgende Beschreibung konzentriert sich der Einfachheit halber auf den ersten Senderempfänger 45, der in an sich bekannter Weise ein Empfangsteil 45.2 und ein Sendeteil 45.3 aufweist. Auf eine nähere Beschreibung des Sendeteils 45.3 kann vorliegend verzichtet werden. Das Empfangsteil 45.2 weist in ebenfalls an sich bekannter Weise eine als Block schematisch dargestellte Hochfrequenzeinheit 45.4 auf, die zur Wandlung der von der Antenne 45.1 empfangenen Hochfrequenzsignale in Basisbandsignale dient. Der ihr in Richtung des Daten- und Signalflusses nachgeschaltete Basisbandprozessor ist in 4 der Einfachheit halber nur dahingehend detaillierter dargestellt, als er eine erfindungsgemäße Vorrichtung 40 beinhaltet, deren Struktur beispielsweise der in 1 dargestellten Vorrichtung 10 entspricht. Jedes andere oben beschriebene Ausführungsbeispiel der erfindungsgemäßen Vorrichtung ist alternativ als Vorrichtung 40 im Basisbandprozessor 45.5 verwendbar.
-
Im Betrieb empfängt der erste Sendeempfänger 45 vom zweiten Senderempfänger 46 her mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodierte Datenblöcke in Form von Hochfrequenzsignalen. Die Hochfrequenzeinheit 45.4 überträgt diese zurück ins Basisband. Der Basisbandprozessor 45.5 dekodiert sie mit Hilfe der Vorrichtung 40 in der oben beschriebenen Form.
-
Die Vorrichtung 40 ist in dieser Ausführungsform zusätzlich ausgebildet, eine Ausgabe der ersten Prüfdaten zu veranlassen, die in ihrer Prüfeinheit (vgl. 1 bis 3) über einen Prüfalgorithmus anhand von im zugeführten Block enthaltenen Daten nach einer vorbestimmten Rechenvorschrift berechnet wurden. Die ersten Prüfdaten werden von der Sendeeinheit 45.3 des ersten Sendeempfängers 45 an den zweiten Senderempfänger 46 gesendet. Dieser nutzt die ersten Prüfdaten als Rückkopplungsinformation über die aktuellen Übertragungsbedingungen des Übertragungskanals zwischen den beiden Senderempfängern. Auf dieser Grundlage kann der Senderempfänger 46 die verwendete Kodierung anpassen, um für die weitere Datenübertragung vom zweiten zum ersten Senderempfänger 45 je nach Kodierung im Falle guten Übertragungsbedingungen die Datenrate zu erhöhen oder bei schlechten Übertragungsbedingungen die Fehlerrate zu reduzieren.
-
5 zeigt ein Flussdiagramm eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zum Dekodieren mindestens eines Blocks eines über einen Übertragungskanal empfangenen Datenstroms im Basisband, der mit einem systematischen Blockcode einer blockbasierten Kanalkodierung kodiert ist. Zunächst erfolgt der Empfang 51 eines Blocks. Dieser wird zur Verarbeitung 52 nach einem vordefinierten Verarbeitungsalgorithmus in einer Blockdekodierungseinheit und parallel zur Prüfung 53 nach einem vorbestimmten Prüfalgorithmus auf Freiheit von zu korrigierenden Fehlern überprüft. Ergibt die Prüfung das Ergebnis „fehlerfrei“ 53b, so erfolgt eine Ausgabe des Blocks 55 und ein Stopp 54 der Verarbeitung in der Blockdekodierungseinheit.
-
Ergibt die Prüfung dagegen das Ergebnis „fehlerbehaftet“ 53a erfolgt eine Ausgabe 56 des von der Blockdekodierungseinheit fertiggestellten und fehlerkorrigierten Ausgabeblocks.
-
Die in 5 dargestellten Schritte des Verfahrens sind nachfolgend noch einmal zusammengefasst:
- 51
- Dateneingang
- 52
- Verarbeitung des Blocks
- 53
- Prüfung des Blocks auf Fehlerfreiheit
- 53a
- Block wird als fehlerhaft identifiziert
- 53b
- Block wird als fehlerfrei identifiziert
- 54
- Abbruch
- 55
- Ausgabe des Blocks
- 56
- Ausgabe des fehlerkorrigierten Blocks
-
Der in 5 dargestellte Verfahrensablauf betrifft nicht solche Ausführungsvarianten, bei denen die Prüfeinheit der Dekodiereinheit vorgeschaltet ist. In solchen Ausführungsvarianten wird ein Block erst nach der Prüfung verarbeitet, sofern er fehlerbehaftet ist. Sonst wird er direkt ausgegeben.