DE112009004337B4 - Signalempfang - Google Patents
Signalempfang Download PDFInfo
- Publication number
- DE112009004337B4 DE112009004337B4 DE112009004337.2T DE112009004337T DE112009004337B4 DE 112009004337 B4 DE112009004337 B4 DE 112009004337B4 DE 112009004337 T DE112009004337 T DE 112009004337T DE 112009004337 B4 DE112009004337 B4 DE 112009004337B4
- Authority
- DE
- Germany
- Prior art keywords
- bits
- candidate
- group
- sample values
- block
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
- H03M13/455—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
Description
- Gebiet der Erfindung
- Die Erfindung betrifft den Empfang demodulierter Wellenformen, insbesondere die Ermittlung eines Blocks von Bits, welcher der demodulierten Wellenform entspricht. Die vorliegende Erfindung kann insbesondere dazu eingesetzt werden, eine Wellenform in Übereinstimmung mit einem Protokoll zu empfangen, bei dem die Wellenform einen Block übertragener Bits repräsentiert, bei dem einige der Bits eine Funktion von anderen der Bits sind.
- Hintergrund der Erfindung
- Bei RDS (Radio Data System) und RBDS (Radio Broadcast Data System) handelt es sich um Kommunikationsprotokolle, die dazu dienen, Daten in FM (frequenzmodulierte) analoge Broadcasts einzubetten. RDS und RBDS Bitstream besitzen eine gemeinsame Organisationsstruktur. Sie weisen eine Bitrate von 1187,5 Bit pro Sekunde auf. Jeder Bitstream ist in Gruppen gegliedert, jede Gruppe besteht aus vier Blocks. Jedem Block ist ein Blocktyp von einem der Blocktypen
A ,B ,C ,C' ,D undE zugeordnet. Für RDS ist der erste Block einer GruppeA , der zweite Block vom TypB , der dritte vom TypC oderC' , der vierte vom TypD . Bei RBDS können einige Blöcke den TypE aufweisen. Jeder Block besteht aus 26 Bit, welche 16 Informationsbits und 10 Parity-Bits umfassen. Die Informationsbits enthalten die eingebetteten Daten. Die Parity-Bits werden aus den Informationsbits abgeleitet, indem die Informationsbits mit einer Generatorsequenz (oft bezeichnet als verkürzter zyklischer Code „shortened cyclic code“) und eines aus einer Auswahl von 10 Bit-Worten, welche durch das RDS/RBDS-Protokoll definiert sind, kombiniert werden. Diese Ableitung kann wie folgt ausgeführt werden. -
- Die Multiplikation ergibt eine 26 x 1 Matrix, bei der die ersten 16 Terme die 16 Informationsbits darstellen. Die verbleibenden 10 Terme werden durch eine Exklusiv-Oder Funktion mit einem aus einer Auswahl von 10 Bitworten (Offset-Worten), die durch das RDs/RDBS-Protokoll definiert sind, verglichen („XORed“). Gegenwärtig sind sechs Offset-Worte definiert, von denen jedes einem zugehörigen Blocktyp zugeordnet ist. Entsprechend werden die verbleibenden 10 Terme mittels einer Exklusiv-Oder Funktion mit dem Offset-Wort verknüpft, welches dem Blocktyp des zu erzeugenden Blocks zugeordnet ist. Bei den 10 Bit, welche sich aus dem Vergleich mit der Exklusiv-Oder Funktion ergeben, handelt es sich um die Parity-Bits.
- Die Funktion, die die Parity-Bits mit den Informationsbits in Beziehung setzt, ist der Empfangsseite der Übertragung bekannt. Die resultierende Redundanz in den Dekodierten eingebetteten Daten kann von dem Empfänger dazu verwendet werden, Datenfehler zu detektieren und/oder zu korrigieren.
- Die RDS- und RBDS-Protokolle verwenden denselben Fehlerkorrekturcode. Ein Standardverfahren zur Implementierung einer Fehlerkorrektur für die empfangenen Daten besteht darin, die Daten basierend auf bekannten Eigenschaften des verkürzten zyklischen Codes zu dekodieren, der zur Erzeugung der Parity-Bits verwendet wurde. Beispielsweise beschreibt der RBDS-Standard von April 1998 die Verwendung eines Fehler abfangenden Dekoders, der so arbeitet, dass eine bitweise Wiederherstellung der kodierten Bits aus der demodulierten Wellenform durchgeführt wird, gefolgt von einer Dekodierung der kodierten Bits, so dass der Hamming-Abstand zwischen den empfangenen Bits und den erwarteten übertragenen Bits minimiert wird, wobei die erwarteten übertragenen Bits auf der Grundlage bekannter Eigenschaften des verkürzten zyklischen Codes bestimmt wurden.
- Die Leistungsfähigkeit einer Dekodiertechnik kann durch einen prozentualen Anteil der Blöcke gemessen werden, die mit einem oder mehreren Fehlern empfangen werden.
1 zeigt die Leistungsfähigkeit der Blockdekodierung des Fehler abfangenden Dekodierverfahrens als Funktion des Signal-Rausch-Verhältnisses (SNR) des empfangenen Signals.1 zeigt außerdem die Leistungsfähigkeit von Hard-Decision Dekodierung. Hard-Decision Dekodierung liegt vor, wenn die empfangene demodulierte Wellenform bitweise und ohne Fehlerkorrektur bitweise wiederhergestellt und dekodiert wird.1 zeigt, dass Fehler ermittelnde Dekodierung über den gemessenen Bereich des Signals-Rausch-Verhältnisses (SNR) wesentlich besser funktioniert als Hard-Decision Dekodierung. Allerdings funktioniert Fehler abfangende Dekodierung bei niedrigem Signal-Rausch-Verhältnis (SNR) nach wie vor schlecht. Die prozentuale Blockfehlerrate für Fehler abfangende Dekodierung übersteigt 25%, sobald das Signal-Rausch-Verhältnis auf 4,5 dB gefallen ist, und übersteigt 50%, sobald das Signal-Rausch-Verhältnis auf 3 dB gefallen ist. - Es besteht daher ein Bedarf an einem verbesserten Verfahren zur Dekodierung eines empfangenen RDS/RBDS-Signals, das die Empfindlichkeit des Empfängers verbessert.
- Aus
EP 1 282 237 A2 ist ein Decodierverfahren eines Produktcodes bekannt, das einen k-ten weichen Ausgabewert von jedem der r Cl-Codewörter [Ct] (t = 1, 2, ..., r) berechnet, die in einem Codewort-Erzeugungsschritt erfasst werden. Wenn von k = 1 aus ein k-ter Wert eines C1-Codewortes [Ct] gleich Null ist, dann wird die erste Variable, deren Anfangswert vorbestimmt ist, mit der Wahrscheinlichkeit des Codewortes verglichen, und in die erste Variable die Summe einer größeren der ersten Variablen und der Wahrscheinlichkeit und einem Korrekturwert der Differenz zwischen ihnen gesetzt. Wenn der k-te Wert ungleich Null ist, wird die zweite Variable auf dieselbe Weise aktualisiert. Die Aktualisierung der ersten und der zweiten Variablen wird mit schrittweisem Inkrementieren von t von Eins bis r durchgeführt, und der k-te Soft-Output-Wert wird aus der Differenz zwischen der ersten und der zweiten Variablen berechnet. - In HU, T.-H.; LIN, S.: An Efficient Hybrid Decoding Algorithm for Reed-Solomon Codes Based on Bit Reliability. In: IEEE Transactions on Communications, Vol. 51, 2003, No. 7, S. 1073-1081 wird ein rechnerisch effizienter hybrider, auf Zuverlässigkeit basierender Decodierungsalgorithmus für Reed-Solomon-Codes (RS-Codes) beschrieben. Dieser Hybriddecodierungsalgorithmus besteht aus zwei Hauptkomponenten, einem Neucodierungsprozess und einem nachfolgenden Lösch- und Fehlerdecodierungsprozess für Bit- und Symbolebenen. Der Neucodierungsprozess dient zum Erzeugen einer Sequenz von Kandidatencodewörtern auf der Grundlage der Informationen, die von dem durch einen algebraischen Decodierer decodierten Codewort und einem Satz von Testfehlermustern bereitgestellt werden. Es werden zwei Kriterien zum Testen im Dekodierungsprozess verwendet, um die Rechenkomplexität der Dekodierung zu reduzieren. Das erste Kriterium besteht darin, die Anzahl von Neucodiervorgängen durch das Eliminieren der unwahrscheinlichen Fehlermuster zu reduzieren. Das zweite Kriterium besteht darin, die Optimalität eines erzeugten Kandidatencodewortes zu testen.
- Zusammenfassung der Erfindung
- Entsprechend einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Empfangen einer demodulierten Wellenform in Übereinstimmung mit einem Protokoll bereitgestellt, bei dem die Wellenform einem Block von übertragenen Bits entspricht, der eine erste Gruppe von Bits und eine zweite Gruppe von Bits umfasst, wobei die zweite Gruppe von Bits eine Funktion der ersten Gruppe von Bits darstellt, und wobei das Verfahren umfasst: Samplen der demodulierten Wellenform, um eine erste Gruppe von Sample-Werten wiederherzustellen, welche der ersten Gruppe der übertragenen Bits entsprechen, sowie einer zweiten Gruppe von Sample-Werten, welche einer zweiten Gruppe von übertragenen Bits entsprechen; Zuordnen von Bit-Werten zu zuverlässigen Sample-Werten der ersten Gruppe von Sample-Werten; Erzeugen eines ersten Sets von Kandidaten für einen Block von Bits, der der demodulierten Wellenform entspricht, wobei jeder Kandidat eine erste Gruppe von Kandidatenbits und eine zweite Gruppe von Kandidatenbits umfasst, wobei die erste Gruppe von Kandidatenbits erzeugt wird, indem die zugeordneten Bit-Werte und eine Kombination von Bit-Werten, welche für den Kandidaten des Sets von Kandidaten eindeutig sind, verwendet werden, und wobei die zweite Gruppe von Kandidatenbits erzeugt wird, indem die genannte Funktion auf die erste Gruppe von Kandidatenbits angewandt wird; Durchführen eines Korrelationsschrittes, indem eine Korrelation zwischen jedem Kandidaten und der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten bestimmt wird, um einen Korrelationswert zu bilden, der mit jedem Kandidaten verknüpft ist; und Auswählen des Kandidaten, der mit dem Korrelationswert verknüpft ist, der auf den höchsten Grad von Übereinstimmung zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, als den Block von Bits, der mit der demodulierten Wellenform korrespondiert.
- Vorzugsweise umfasst das Verfahren weiterhin das Dekodieren des Blocks von Bits, welche der demodulierten Wellenform entsprechen, gemäß dem genannten Protokoll.
- Das Verfahren kann weiterhin das Sortieren der Sample-Werte der ersten Gruppe in der Reihenfolge ihrer Absolutwerte umfassen, sowie das Auswählen der Sample-Werte, die die höchsten Absolutwerte aufweisen, als die zuverlässigen Sample-Werte.
- Das Verfahren kann weiterhin das Ermitteln einer Anzahl von Sample-Werten aufweisen, die in Abhängigkeit vom Signal-Rausch-Verhältnis des empfangenen Signals als zuverlässig auszuwählen sind, so dass die Anzahl der als zuverlässig auszuwählenden Sample-Werte mit dem Anstieg des Signal-Rausch-Verhältnisses des empfangenen Signals ansteigt.
- Der Schritt des Zuordnens kann das Durchführen einer Kreuzkorrelation umfassen, bei der jeder Kandidat mit der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten korreliert wird, und wobei der Auswahlschritt das Auswählen desjenigen Kandidaten umfasst, der den höchsten Kreuzkorrelationswert aufweist, wobei es sich bei dem höchsten Kreuzkorrelationswert um den Korrelationswert handelt, der auf den höchsten Korrelationsgrad zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt.
- Das Verfahren kann das Vergleichen des Korrelationswertes des ausgewählten Kandidaten mit der Summe der Absolutwerte der ersten und zweiten Gruppe von Sample-Werten enthalten, sowie das Abschätzen einer Wahrscheinlichkeit, dass der ausgewählte Kandidat in Abhängigkeit von diesem Vergleich identisch ist mit dem Block der übertragenen Bits.
- Das Verfahren kann weiterhin das Abschätzen enthalten, dass die Wahrscheinlichkeit hoch ist, wenn der Unterschied zwischen dem Korrelationswert des ausgewählten Kandidaten und der Summe der Absolutwerte der ersten und zweiten Gruppe von Sample-Werten niedrig ist.
- Das Ausführen der Korrelationsfunktion kann umfassen: Das Abschätzen einer Signalleistung, die mit der ersten und zweiten Gruppe von Sample-Werten verknüpft ist; und das Bilden eines Ersatzkandidaten von jedem der Kandidaten des Sets von Kandidaten durch Ersetzen jedes Kandidatenbits, das einen ersten Bit-Wert aufweist, mit einem Bit, das einen ersten Ersatzwert besitzt, und Ersetzen jedes Kandidatenbits, das einen zweiten Bit-Wert aufweist mit einem Bit, das einen zweiten Ersatzwert besitzt, wobei der erste und der zweite Ersatzwert von der geschätzten Signalleistung abhängen.
- Das Durchführen der Korrelationsfunktion kann weiterhin aufweisen: Ermitteln des Euklidischen Abstandes zwischen einem ersten Vektor, der die Bits des Ersatzkandidaten aufweist, und einem zweiten Vektor, der die erste und zweite Gruppe von Sample-Werten aufweist, für jeden aus den Kandidaten des Kandidatensets ausgewählten Ersatzkandidaten; und wobei das Auswählen des Kandidaten, der mit dem Korrelationswert verknüpft ist, der auf den höchsten Grad von Korrelation zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, das Auswählen des Kandidaten umfasst, aus dem der Ersatzkandidat gebildet wurde, der den geringsten Euklidischen Abstand liefert.
- Das Durchführen und das Ausführen der Korrelationsfunktion kann weiterhin aufweisen: Ermitteln des Hamming-Abstandes zwischen einem ersten Vektor, der die Bits des Ersatzkandidaten aufweist, und einem zweiten Vektor, der die erste und zweite Gruppe von Sample-Werten aufweist, für jeden aus den Kandidaten des Kandidatensets ausgewählten Ersatzkandidaten; und wobei das Auswählen des Kandidaten, der mit dem Korrelationswert verknüpft ist, der auf den höchsten Grad von Korrelation zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, das Auswählen des Kandidaten umfasst, aus dem der Ersatzkandidat gebildet wurde, der den geringsten Hamming-Abstand aufweist.
- Das Verfahren kann außerdem den Schritt des Erzeugens eines Sets von Kandidaten durch Bilden eines Kandidatenvektors umfassen, bei dem die zugeordneten Bit-Werte innerhalb der ersten Gruppe von Kandidatenbits dieselben Positionen einnehmen, die die zuverlässigen Sample-Werte innerhalb der ersten Gruppe der Sample-Werte eingenommen haben.
- Bei dem Protokoll kann es sich um ein RDS (Radio Data System) Protokoll oder ein RBDS (Radio Broadcast Data System) Protokoll handeln, und wobei die erste Gruppe von übertragenen Bits Informationsbits aufweist, und wobei die zweite Gruppe von übertragenen Bits Parity-Bits aufweist.
- Die demodulierte Wellenform kann entsprechend einem Protokoll empfangen werden, bei dem die Wellenform innerhalb eines Stroms übertragener Bits einen Block übertragener Bits repräsentiert, wobei der genannte Block übertragener Bits bei einer Bitposition innerhalb des genannten Stroms von Bits beginnt, die dem Empfänger nicht bekannt ist, und wobei das Verfahren das Synchronisieren des Empfängers mit dieser Bitposition umfasst, durch: Samplen der demodulierten Wellenform, so dass für jede Bitposition, bei der der Block der übertragenen Bits begonnen haben kann, eine erste Gruppe von Sample-Werten wiederhergestellt wird, die mit der ersten Gruppe übertragener Bits korrespondieren würde, wenn der Block der übertragenen Bits bei dieser Bitposition begonnen hätte, und eine zweite Gruppe von Sample-Werten wiederhergestellt wird, die mit der zweiten Gruppe übertragener Bits korrespondieren würde, wenn der Block übertragener Bits bei der genannten Bitposition begonnen hätte, sowie Erzeugen eines entsprechenden Sets von Kandidaten aus der ersten Gruppe von Sample-Werten; Ausführen eines Korrelationsverfahrens für jede Bitposition durch Ermitteln einer Korrelation zwischen jedem Kandidaten des entsprechenden Sets von Kandidaten, die mit der betreffenden Bitposition korrespondieren, und der entsprechenden ersten und zweiten Gruppe von Sample-Werten, die mit der betreffenden Bitposition korrespondieren, um einen entsprechenden Korrelationswert zu bilden, der mit einem jeden Kandidaten bei der betreffenden Bitposition verknüpft ist; und Synchronisieren des Empfängers mit der Bitposition, welche mit dem Kandidaten korrespondiert, der dem Korrelationswert zugeordnet ist, der auf den höchsten Korrelationsgrad zwischen dem Kandidaten und der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten schließen lässt.
- Das Protokoll, gemäß dem die demodulierte Wellenform empfangen wird, ist so ausgestaltet, dass die Funktion, mittels der die zweite Gruppe von Bits aus der ersten Gruppe von Bits abgeleitet wird, eine von einer Vielzahl von durch das Protokoll definierter Funktionen ist, wobei das Verfahren das Ermitteln derjenigen aus der Vielzahl von Funktionen umfasst, die auf die erste Gruppe der übertragenen Bits angewendet wurde, indem: für jede der durch das Protokoll definierten Funktionen ein Set von Kandidaten erzeugt wird, bei dem die zweite Gruppe von Kandidatenbits bei einem jedem Kandidaten dadurch erzeugt wird, dass die genannte Funktion auf die erste Gruppe von Kandidatenbits angewendet wird; und indem die Funktion, die auf die erste Gruppe der übertragenen Bits angewendet wird, als die Funktion festgelegt wird, durch die der Kandidat, der dem Korrelationswert zugeordnet ist, welcher auf den höchsten Grad der Korrelation zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, erzeugt wurde.
- Die Wellenform kann eine Vielzahl von Blocks übertragener Bits repräsentieren, wobei jeder eine entsprechende erste Gruppe von Bits aufweist, sowie eine entsprechende zweite Gruppe von Bits, die eine Funktion der entsprechenden ersten Gruppe von Bits darstellt, wobei die Vielzahl von Blöcken übertragener Bits einen Teil eines Stroms von übertragenen Bits gebildet haben und bei einer Bitposition des genannten Stroms von Bits begonnen haben, die einem Empfänger unbekannt ist, wobei das Verfahren aufweist: Samplen der demodulierten Wellenform, für jeden Block von übertragenen Bits, so dass für jede Bitposition, bei der der Block übertragener Bits begonnen haben könnte, eine erste Gruppe von Sample-Werten wiederhergestellt wird, die der ersten Gruppe übertragener Bits entsprechen würde, wenn der Block übertragener Bits an dieser Bitposition begonnen hätte, und bei dem eine zweite Gruppe von Sample-Werten wiederhergestellt wird, die einer zweiten Gruppe übertragener Bits entsprechen würde, wenn der Block übertragener Bits an der genannten Bitposition begonnen hätte.
- Die demodulierte Wellenform kann weiterhin in Übereinstimmung mit einem Protokoll empfangen werden, so dass für jeden Block übertragener Bits die Funktion, durch die die betreffende zweite Gruppe von Bits, welche in dem Block übertragener Bits enthalten ist, aus der betreffenden ersten Gruppe von Bits abgeleitet wird, eine aus einer Vielzahl von durch das Protokoll definierter Funktionen ist, wobei das Verfahren aufweist: Erzeugen eines Sets von Kandidaten für jeden Block der übertragenen Bits, wobei jede durch das Protokoll definierte Funktion und jede der ersten und zweiten Gruppen von Sample-Werten, die einer betreffenden Bitposition zugeordnet sind, bei der der Block übertragener Bits begonnen haben könnte, durch Anwenden dieser Funktion auf jede erste Gruppe von Kandidatenbits, die aus der ersten Gruppe von Sample-Werten gebildet sind, welche der betreffenden Bitposition zugeordnet sind, um eine entsprechende zweite Gruppe von Kandidatenbits zu erzeugen.
- Das Verfahren kann weiterhin das Ausführen eines Korrelationsschrittes aufweisen, bei dem eine Korrelation zwischen jedem Kandidaten, der eine erste Gruppe von Kandidatenbits umfasst, welche aus einer ersten Gruppe von Sample-Werten gebildet sind, die mit einer entsprechenden Bitposition verknüpft sind, und der wiederhergestellten ersten Gruppe von Sample-Werten, die der betreffenden Bitposition zugeordnet sind, bestimmt wird, um einen mit dem Kandidaten verknüpften Korrelationswert zu bilden.
- Das Verfahren kann weiterhin für jedes Set von Kandidaten das Auswählen desjenigen Kandidaten umfassen, der dem Korrelationswert zugeordnet ist, der auf den höchsten Grad von Korrelation zwischen einem Kandidaten und dessen entsprechenden ersten und zweiten Gruppen von Sample-Werten schließen lässt.
- Das Verfahren kann weiterhin das Ermitteln einer Wahrscheinlichkeit einer bestimmten aus einer Mehrzahl von Funktionen umfassen, die dazu verwendet wurden, einen Block übertragener Bits zu bilden, indem eine Integration über Korrelationswerte durchgeführt wurde, die den verschiedenen Blöcken übertragener Daten zugeordnet sind.
- Das Verfahren kann weiterhin die Ermittlung einer Wahrscheinlichkeit umfassen, dass ein Block übertragener Bits an einer bestimmten Bitposition begonnen hat, indem ein Integrationsverfahren über Korrelationswerte durchgeführt wird, die verschiedenen Blöcken übertragener Daten zugeordnet sind.
- Das Verfahren kann das Durchführen der Integration über die Korrelationswerte umfassen, die dem ausgewählten Kandidaten eines jeden Sets von Kandidaten zugeordnet sind, unter Verwendung einer bestimmten von einer Mehrzahl von Funktionen und einer bestimmten anfänglichen Bitposition, um für jeden Block übertragener Bits eine Wahrscheinlichkeit dafür zu bilden, dass die betreffende Kombination von Funktion und anfänglicher Bitposition dazu verwendet wurde, diesen Block übertragener Bits zu bilden.
- Das Verfahren kann weiterhin das Aufsummieren kombinierter Wahrscheinlichkeiten umfassen, die bestimmten der Funktionen und bestimmten der Blöcke übertragener Datenbits zugeordnet sind, um Funktionswahrscheinlichkeiten zu bilden, die auf eine Wahrscheinlichkeit schließen lassen, dass bestimmte der Blöcke übertragener Datenbits dadurch gebildet wurden, dass bestimmte der Funktionen verwendet wurden, und Auswählen der Funktion, die der höchsten Funktionswahrscheinlichkeit entspricht, die den Block übertragener Datenbits zugeordnet ist, als die Funktion, die am Wahrscheinlichsten dazu verwendet worden ist, einen Block übertragener Datenbits zu bilden.
- Das Verfahren kann weiterhin für jeden Block übertragener Datenbits das Auswählen der Bitposition umfassen, die mit der Wahrscheinlichkeit korrespondiert, dass sie den höchsten Wert aufweist, der der Funktion zugeordnet ist, die als diejenige Funktion bestimmt wurde, die mit der höchsten Wahrscheinlichkeit dazu verwendet worden ist, den Block übertragener Bits zu bilden, als die Position, bei der der Block übertragener Datenbits mit höchster Wahrscheinlichkeit begonnen hat.
- Gemäß der vorliegenden Erfindung wird eine Vorrichtung bereitgestellt, die dazu ausgebildet ist, eine demodulierte Wellenform in Übereinstimmung mit einem Protokoll zu empfangen, bei dem die Wellenform einen Block übertragener Bits repräsentiert, die eine erste Gruppe von Bits und eine zweite Gruppe von Bits umfassen, wobei die zweite Gruppe von Bits eine Funktion der ersten Gruppe von Bits darstellt, und wobei die Vorrichtung umfasst: Ein Samplemodul, das dazu ausgebildet ist, die empfangene, demodulierte Wellenform zu samplen, um eine erste Gruppe von Sample-Werten wiederherzustellen, die der ersten Gruppe übertragener Bits zugeordnet sind, sowie eine zweite Gruppe von Sample-Werten, die einer zweiten Gruppe übertragener Bits zugeordnet sind; ein Zuverlässigkeitsmodul, das dazu ausgebildet ist, Bit-Werte zuverlässigen Sample-Werten der ersten Gruppe von Sample-Werten zuzuordnen; einen Kandidatenwort-Generator, der dazu ausgebildet ist, ein Set von Kandidaten für einen Block von Bits zu erzeugen, die der empfangenen demodulierten Wellenform entsprechen, wobei jeder Kandidat eine erste Gruppe von Kandidatenbits und eine zweite Gruppe von Kandidatenbits aufweist, wobei die erste Gruppe von Kandidatenbits erzeugt wird, indem die zugeordneten Bit-Werte und eine Kombination von Bit-Werten, die für denjenigen der Kandidaten des Sets von Kandidaten eindeutig sind, verwendet werden, und wobei die zweite Gruppe von Kandidatenbits erzeugt wird, indem die genannte Funktion auf die erste Gruppe von Kandidatenbits angewendet wird; und einen Korrelator, der dazu ausgebildet ist, ein Korrelationsverfahren durchzuführen, indem eine Korrelation zwischen jedem Kandidaten und der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten durchgeführt wird, um einen Korrelationswert zu bilden, der mit jedem Kandidaten verknüpft ist; wobei der Kandidatenwort-Generator weiterhin dazu ausgebildet ist, denjenigen Kandidaten auszuwählen, der dem Korrelationswert zugeordnet ist, der auf den höchsten Korrelationsgrad zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, als den Block von Bits, der der empfangenen, demodulierten Wellenform entspricht.
- Figurenliste
- Die vorliegende Erfindung wird nun beispielhaft bezugnehmend auf die beigefügten Figuren erläutert. Es zeigen:
-
1 einen Graphen, mit dem die Leistungsfähigkeit von drei Dekodierverfahren verglichen werden; -
2 ein schematisches Diagramm zur grundsätzlichen Aufbau einer Dekodiervorrichtung; -
3 ein schematisches Diagramm eines Beispiels für einen Aufbau einer Synchronisiervorrichtung; -
4 einen Graphen zum Vergleich der Leistungsfähigkeit des Synchronisationsschemas; -
5 ein schematisches Diagramm eines allgemeinen Aufbaus einer alternativen Dekodiervorrichtung; und -
6 ein schematisches Diagramm eines Transceivers, der die Vorrichtung gemäß den2 ,3 und5 umfassen kann. - Beschreibung der bevorzugten Ausführungsbeispiele
-
2 zeigt ein schematisches Diagramm der allgemeinen Anordnung einer Dekodiervorrichtung. Die Dekodiervorrichtung umfasst ein Samplemodul200 . Die empfangene, codierte und demodulierte Wellenform wird dem Samplemodul200 zugeführt. Ein erster Ausgang des Samplemoduls200 ist mit einem Eingang eines Buffers201 verbunden. Ein erster Ausgang des Buffers201 ist mit einem Eingang eines Zuverlässigkeitsmoduls202 verbunden. Ein zweiter Ausgang des Buffers201 ist mit einem Eingang eines Hard-Decision-Wiederherstellungsmoduls205 verbunden. Ein Ausgang eines Signal-Rausch-Verhältnis-(SNR)-Moduls206 ist mit einem zweiten Eingang des Zuverlässigkeitsmoduls202 verbunden. Ein Ausgang des Zuverlässigkeitsmoduls202 ist mit einem zweiten Eingang des Hard-Decision-Wiederherstellungsmoduls205 verbunden. Ein Ausgang des Hard-Decision-Wiederherstellungsmoduls205 ist mit einem ersten Eingang eines Kandidatencodewort-Generators203 verbunden. Ein erster Ausgang des Kandidatenwort-Generators203 ist mit einem ersten Eingang eines Korrelators204 verbunden. Ein dritter Ausgang des Buffers201 ist mit einem zweiten Eingang des Korrelators204 verbunden. Ein Ausgang des Korrelators204 ist mit einem zweiten Eingang des Kandidatencodewort-Generators203 verbunden. Ein zweiter Ausgang des Kandidatenwort-Generators203 bildet den Ausgang der Dekodiervorrichtung. - Während des Betriebs werden Signale durch die Dekodiervorrichtung gemäß
2 dekodiert und im Hinblick auf Fehler korrigiert. Das Samplemodul200 empfängt die demodulierte RDS/RBDS-Wellenform (bei einer Basis-Bandfrequenz), die einen codierten Block von übertragenen Bits repräsentiert. Das Samplemodul200 sampled die Wellenform zu Zeiten, die so geschätzt sind, dass die Wahrscheinlichkeit einer korrekten Detektion maximiert wird. Zum Beispiel können die Samplezeiten mit der Mitte der empfangenen Symbole korrespondieren. Für einen RDS/RBDS-Block sampled das Samplemodul die Wellenform26 Mal ab, woraus26 Sample-Werte der demodulierten Wellenform resultieren. Das Samplemodul gibt die Sample-Werte an den Buffer201 weiter. Der Buffer speichert diese26 Sample-Werte (bezeichnet mitw1 ,w2 , .....w25 ,w26 ). Der Buffer speichert ebenso den letzten Sample-Wert (w0 ) der vorherigen Wellenform, die den vorherigen Block übertragener Bits repräsentiert. Wie nachfolgend erläutert, kann dieser Sample-Wert dazu verwendet werden, den aktuellen Block zu dekodieren. - Die RDS/RBDS-Protokolle verwenden differentielles Codieren und Dekodieren. Differentielles Codieren und Dekodieren erfolgt so, dass jedes aktuell codierte Bit das Exklusiv-Oder Ergebnis des zuvor codierten Bits und des aktuell codierten Bits vor dessen Codierung darstellt. Dies kann wie folgt ausgedrückt werden:
-
- Folglich sind
27 aufeinanderfolgende codierte Bits (wobei eines das letzte Bit des vorherigen Blocks darstellt) erforderlich, um einen Block mit 26 Bits zu dekodieren. - Die ersten
17 Sample-Werte im Buffer201 (diese entsprechen den16 übertragenen Informationsbits) werden an das Zuverlässigkeitsmodul202 ausgegeben. Das Zuverlässigkeitsmodul202 bewertet diese17 Sample-Werte, um abzuschätzen, welche von deren entsprechenden durch Hard-Decision wiederhergestellten Bits die zuverlässigsten durch Hard-Decision wiederhergestellten Bits des Blocks darstellen und welche die unzuverlässigsten. Es ist nicht notwendig, die Hard-Decision-Wiederherstellung auszuführen, um die Zuverlässigkeit der Hard-Decision dekodierten Bits zu bewerten. Ein Weg, die Zuverlässigkeit der Hard-Decision dekodierten Bits zu bewerten, ist folgender. Das Zuverlässigkeitsmodul202 sortiert die ersten17 Sample-Werte in aufsteigender Reihenfolge nach ihren Absolutwerten. Die17 Sample-Werte können wie folgt bezeichnet werden: - Das Zuverlässigkeitsmodul bestimmt, dass durch Hard-Decision wiederhergestellte Bits, welche Sample-Werten mit 1k < Kdec entsprechen, unzuverlässig sind, und dass Hard-Decision wiederhergestellte Bits, welche Sample-Werten mit 1k ≥ Kdec entsprechen, zuverlässig sind.
- Kdec wird bevorzugt dynamisch ermittelt, und zwar auf Basis der Qualität oder des Signal-Rausch-Verhältnisses (SNR) des empfangenen Signals. Betrachtet man ein Modell für demodulierte Sample-Werte, die aus idealen Bits der Magnitude B überlagert mit einem Rauschen mit Mittelwert Null der Leistung P besteht, ist das Signal-Rausch-Verhältnis (SNR) des empfangenen Signals definiert als 10log10(B2/P) definiert. Andere Definitionen des Signal-Rausch-Verhältnisses (SNR) können auf gleiche Weise geeignet sein. Das Signal-Rausch-Verhältnis (SNR)
206 gibt das Signal-Rausch-Verhältnis an das Zuverlässigkeitsmodul202 aus. Das Zuverlässigkeitsmodul202 variiert Kdec so, dass ein Anstieg des Signal-Rausch-Verhältnisses (SNR) zu einem kleineren Kdec führt und eine Verringerung des Signal-Rausch-Verhältnisses (SNR) zu einem höheren Kdec führt. Alternativ dazu kann Kdec basierend auf anderen Eigenschaften des Kanals dynamisch ermittelt werden. Als weitere Alternative kann Kdec vor dem Empfang des Signals bestimmt werden und während des gesamten Empfangs des Signals konstant bleiben. - Das Zuverlässigkeitsmodul
202 gibt die Indizes der zuverlässigen (17 -Kdec) Werte an das Hard-Decision-Wiederherstellungsmodul205 aus. Das Hard-Decision-Wiederherstellungsmodul205 extrahiert die zuverlässigen Sample-Werte aus dem Buffer201 und stellt diese mittels einer Hard-Decision wieder her. Alternativ dazu kann das Hard-Decision-Wiederherstellungsmodul205 alle Sample-Werte aus dem Buffer201 extrahieren und mittels Hard-Decision wiederherstellen, vorzugsweise vor dem Empfang der zuverlässigen (17 -Kdec) Werte von dem Zuverlässigkeitsmodul202 . Bei jeglicher Implementierung gibt das Hard-Decision-Wiederherstellungsmodul205 die zuverlässigen, mittels Hard-Decision wiederhergestellten Bits an den Kandidatencodewort-Generator203 aus. - Der Kandidatencodewort-Generator
203 erzeugt ein Set von Kandidaten-Codewörtern für einen Block von Bits, die der codierten demodulierten Wellenform entsprechen. Ein jedes dieser Kandidaten-Codewörter umfasst27 Bits, welche17 Informationsbits und10 Parity-Bits enthalten. Bei jedem der Kandidatenworte, die er erzeugt, ordnet der Kandidatencodewort-Generator203 die zuverlässigen mit Hard-Decision wiederhergestellten Bits entsprechenden Bitpositionen der codierten Informationsbits zu. Der Kandidatencodewort-Generator203 variiert die verbleibenden Bits der Informationsbits von Kandidaten-Codewort zu Kandidaten-Codewort, so dass für jede mögliche wiederhergestellte Kombination der verbleibenden Bits ein Kandidaten-Codewort erzeugt wird. Vorzugsweise ist die Kombination von Bits, welche für die verbleibenden Informationsbits eines jeden Kandidaten-Codeworts verwendet wird, für diesen Kandidaten des Sets von Kandidaten eindeutig. Die Anzahl unterschiedlicher Kandidaten-Codewörter ist 2Kdec. -
-
-
-
-
-
-
-
-
-
- Der Kandidatencodewort-Generator
203 ermittelt aus den16 dekodierten Informationsbits die uncodierten Parity-Bits, indem er das im Hintergrund dieser Erfindung erläuterte Verfahren verwendet. Es wird darauf hingewiesen, dass zur Ermittlung der Parity-Bits ein Offset-Wort verwendet wird, welches von der Art des Blocks abhängt. Die resultierenden10 uncodierten Parity-Bits können wie folgt dargestellt werden: -
-
- Allgemeiner ausgedrückt können andere Hard-Decision Verfahren als Gleichung 7 in Abhängigkeit von der Charakteristik der Modulation und der vor der Dekodierung auf das Signal angewendeten Demodulationsverarbeitung geeigneter sein. Beispielsweise kann die Wellenform eine negative Polarität aufweisen, so dass negative Werte von w
k als ‚1‘ Bit und positive Werte als ‚0‘ Bit dekodiert werden. Bei einem anderen Beispiel kann jedes demodulierte Symbol mehr als ein Bit an Informationen übertragen. Das oben beschriebene Verfahren kann unkompliziert geändert werden, um in diesen Fällen Kandidaten-Codeworte zu erzeugen. - Der Kandidatencodewort-Generator
203 gibt die 2Kdec-1 Kandidaten-Codeworte an den Korrelator204 aus. Der Korrelator204 korreliert jedes Kandidaten-Codewort mit den in dem Buffer201 gespeicherten Sample-Werten. Für jedes Kandidaten-Codewort führt der Korrelator204 eine Kreuzkorrelation zwischen jedem Bit des Kandidaten-Codeworts und seinem entsprechenden Sample-Wert durch. Der Kreuzkorrelationswert führt das n-te Kandidaten-Codewort X(n) und kann mathematisch wie folgt ausgedrückt werden: - Das Kandidaten-Codewort, welches den höchsten Grad von Korrelation ergibt, wird als dasjenige ausgewählt, das dem codierten Block von Bits entspricht, der durch die demodulierte Wellenform repräsentiert wird. In diesem Fall wird der höchste Grad von Korrelation durch den größten Kreuzkorrelationswert angegeben. Dies rührt daher, dass das Kandidaten-Codewort umso näher an den Sample-Werten liegt, je höher der Kreuzkorrelationswert ist, und dass es deshalb umso wahrscheinlicher ist, dass das Kandidaten-Codewort dem übertragenen Block von Bits entspricht. Die Identität dieses ausgewählten Kandidaten-Codeworts wird durch den Korrelator
204 an den Kandidatencodewort-Generator203 ausgegeben. Alternativ dazu kann der Korrelator jedes andere geeignete Kreuzkorrelationsverfahren verwenden. - Der Kandidatencodewort-Generator
203 hat zuvor die Informationsbits des ausgewählten Kandidaten dekodiert. Er erhält diese dekodierten Kandidaten-Informationsbits und gibt diese von der Dekodiervorrichtung als die dekodierten Informationsbits der demodulierten Wellenform aus. Alternativ dazu kann der Korrelator204 oder der Kandidatencodewort-Generator203 , wenn die dekodierten Informationsbits nicht in dem Kandidatencodewort-Generator203 gespeichert sind, das codierte, von dem Korrelator ausgewählte Kandidaten-Codewort dekodieren und die dekodierten Informationsbits aus der Dekodiervorrichtung ausgeben. Die Hard-Decision Dekodierung dekodiert alle Sample-Werte, die einen Absolutwert aufweisen, der größer ist als ein bestimmter Wert (beispielsweise 0), so dass diese ein übertragenes Bit mit dem Bit-Wert1 repräsentieren, und dass alle anderen Sample-Werte ein übertragenes Bit mit dem Bit-Wert0 repräsentieren. Das Prinzip hinter dem beschriebenen Verfahren besteht darin, eine Hard-Decision Dekodierung für die zuverlässigsten Sample-Werte aus einer Gruppe von Sample-Werten zu verwenden, die die Informationsbits repräsentieren, sowie darin, für die verbleibenden weniger zuverlässigen Sample-Werte alle möglichen Dekodier-Kombinationen zu versuchen. Zuverlässige Sample-Werte sind diejenigen mit größeren Absolutwerten. Es wird eine Anzahl von Kandidaten-Codewörtern erzeugt, von denen jedes eine andere der möglichen Kombinationen für die unzuverlässigen Sample-Werte enthält. Die Kandidaten-Codeworte sind gegenüber den wiederhergestellten Sample-Werten korreliert. Das Kandidaten-Codewort, welches mit den wiederhergestellten Sample-Werten am besten korreliert, wird als der Block von Bits verwendet, der der demodulierten Wellenform entspricht. Das ausgewählte Kandidaten-Codewort wird dann dekodiert. - Die „Soft-Decision Dekodierung“ des beschriebenen Verfahrens ist aus den nachfolgend erläuterten Gründen genauer als die im Hintergrund der vorliegenden Erfindung beschriebene Hard-Decision Dekodierung und das Fehler abfangende Verfahren. Das Kreuzkorrelationsverfahren ist äquivalent dazu, dasjenige Codewort herauszufinden, welches sich am nächsten an der empfangenen Wellenform befindet, und zwar basierend auf dem Euklidischen Abstand, und sie ist unter bestimmten Annahmen darüber, auf welche Weise sich die empfangene Wellenform von dem übertragenen Codewort unterscheidet optimal. Beispielsweise maximiert die minimale Abstands-Dekodierung unter der Annahme, dass die empfangene Wellenform gleich ist der übertragenen Wellenform plus additivem weißem Gaußschen Rauschen ist, die Wahrscheinlichkeit einer korrekten Detektion.
- Die Parity-Bits eines RDS/RBDS-Blocks werden aus den Informationsbits erzeugt. Das bedeutet, dass die eingebetteten Daten in einem Block ermittelt werden können, in dem entweder die Parity-Bits des Blocks oder die Informationsbits des Blocks dekodiert werden. Das hierin beschriebene Verfahren nutzt die Vorteile dieser Redundanz dadurch, dass es anfänglich nur die Informationsbits zur Dekodierung des Blocks verwendet. Für jedes Kandidaten-Codewort werden die Parity-Bits aus den dekodierten Informationsbits für dieses Kandidaten-Codewort erzeugt. Jedes Kandidaten-Codewort ist dann gegenüber den wiederhergestellten Sample-Werten einschließlich der wiederhergestellten Sample-Werte, die die Parity-Bits (diese Sample-Werte werden nicht dazu verwendet, die Kandidaten-Codeworte zu erzeugen) repräsentieren, korreliert. Fehler im Kandidaten-Codewort können durch den Korrelationswert zwischen den Parity-Bits, wie sie durch die dekodierten Informationsbits bestimmt wurden, und die Parity-Sample-Werte abgeleitet werden. Durch das Korrelieren des Kandidaten-Codeworts gegenüber den wiederhergestellten Sample-Werten anstelle gegenüber durch Hard-Decision wiederhergestellter Bits verbessert das hierin beschriebene Verfahren die Genauigkeit der Korrelation. Die Absolutwerte der wiederhergestellten Sample-Werte werden durch die Hard-Decision und die Fehler abfangenden Dekodierverfahren nicht weiter verwendet. Zusätzlich ist es aufgrund der Korrelation einer Vielzahl von Kandidaten-Codeworten mit den Sample-Werten, wobei diese Kandidaten-Codeworte alle möglichen Kombinationen der als unzuverlässig angesehenen Informationsbits umfasst, wahrscheinlicher, dass die korrekten Informationsbits wiederhergestellt werden, als dies bei der Verwendung einer Hard-Decision Dekodierung oder einer Fehler abfangenden Dekodierung der Fall wäre. Fehler in dem hierin beschriebenen Dekodierverfahren werden durch die Auswahl des Kandidaten-Codewortes, das am besten mit den wiederhergestellten Sample-Werten korreliert, minimiert.
- Bei der Erläuterung des Hintergrunds dieser Erfindung werden die Informationsbits als 1 x 16 Matrix ausgedrückt, in anderen Worten, als Vektor der Länge
16 . Auf gleiche Weise kann jedes Kandidaten-Codewort als Vektor der Länge27 ausgedrückt werden und jedes Set von27 in dem Buffer201 gespeicherten Sample-Werten kann als Vektor der Länge27 ausgedrückt werden. Das Punktprodukt oder das Skalarprodukt aus zwei Vektoren a und b ist gegeben durch: - Die Längen der Vektoren, welche die verschiedenen Kandidaten-Codeworte repräsentieren, sind identisch, weshalb die Moduli der Vektoren, die verschiedene Kandidaten-Codeworte repräsentieren, dieselben sind. Das Punktprodukt zwischen dem Vektor des Sample-Wertes und dem Vektor eines Kandidaten-Codewortes variiert von Kandidaten-Codewort-Vektor zu Kandidaten-Codewort-Vektor, weil der Winkel θ variiert. Die beste Übereinstimmung zwischen dem Sample-Wert-Vektor und den Kandidaten-Codewort-Vektoren liegt folglich dann vor, wenn der Winkel θ minimal ist. Wenn θ gleich Null ist, fallen die Richtungen der Vektoren zusammen. θ ist dann minimal, wenn cos θ maximal ist. Die in dem beschriebenen Verfahren ausgeführte Berechnung der Kreuzkorrelation ist äquivalent zur Auswertung des Punktproduktes des Sample-Wert-Vektors und eines Kandidaten-Codewort-Vektors. Da die Moduli der Vektoren für ein gegebenes Set von Sample-Werten fixiert sind, ist der Winkel θ minimal, wenn der Kreuzkorrelationswert X maximal ist. Das Kandidaten-Codewort mit dem höchsten Korrelationswert X stellt deshalb die beste Übereinstimmung mit den Sample-Werten dar. Die dekodierten Informationsbits des Kandidaten-Codeworts mit dem höchsten Korrelationswert werden deshalb als die am wahrscheinlichsten uncodierten übertragenen Bits betrachtet und als solche von der Dekodiervorrichtung gemäß
2 ausgegeben. - Die Zuverlässigkeit der von der Dekodiervorrichtung gemäß
2 ausgegebenen Informationsbits wird in dem Korrelator204 abgeschätzt. Der Korrelator204 umfasst ein Summationsmodul, das die absoluten Werte der27 in dem Buffer201 gespeicherten Sample-Werte summiert. Diese Summation kann wie folgt beschrieben werden: - Der Korrelator
204 vergleicht den maximalen Korrelationswert Xmax mit dieser Summation. Je näher der maximale Korrelationswert und die Summation beieinander liegen, desto zuverlässiger ist das Ergebnis der Dekodierung. - Ein (zu dem Kreuzkorrelationsverfahren) alternatives Verfahren zur Berechnung des minimalen Abstandes zwischen einem Kandidaten-Codewort-Vektor und dem Sample-Wert-Vektor wird nachfolgend unter Bezugnahme auf
5 beschrieben. Die den beiden2 und5 gemeinsamen Module besitzen dieselbe Funktionalität, soweit in der nachfolgenden Beschreibung nichts anderes erläutert wird. Das Zuverlässigkeitsmodul201 ist zusätzlich mit einem Tiefpassfilter501 verbunden. Bei einer Beispiel-Implementierung ist der Tiefpassfilter501 ein IIR-Filter (IIR = Infinite Impulse Response) erster Ordnung mit einer durch die Z-Transformation beschriebene Übertragungsfunktion. - Die Absolutwerte der Sample-Werte werden durch das Zuverlässigkeitsmodul an den Tiefpassfilter
501 ausgegeben. Das Ausgangssignal des Tiefpassfilters501 wird einem Leistungsmodul502 zugeführt. Das Leistungsmodul502 schätzt die Signalleistung der von dem Tiefpassfilter ausgegebenen Sample-Werte. Die geschätzte Amplitude des Sample-Wertes wird mit r̂ bezeichnet. Das Leistungsmodul502 gibt r̂ an den Kandidatencodewort-Generator203 aus. Der Kandidatencodewort-Generator203 skaliert jedem Kandidaten-Codewort-Vektor mit r̂, indem er jeden Bit-Wert von 1 durch r̂ und jeden Bit-Wert von 0 durch -r̂ersetzt. So wird beispielsweise der Kandidaten-Codewort-Vektor: - Der Kandidatencodewort-Generator
203 gibt das skalierte Kandidaten-Codewort an ein Abstands-Berechnungs-Modul3 aus. Das Abstands-Berechnungs-Modul503 berechnet den Euklidischen Abstand zwischen dem skalierten Kandidaten-Codewort-Vektor und dem Vektor der Sample-Werte. Der Euklidische Abstand ist gegeben durch: - Der Euklidische Abstand ist ein Maß für die Stärke der Korrelation zwischen einem skalierten Kandidaten-Codewort und dem Vektor der Sample-Werte. Je kleiner der Euklidische Abstand ist, desto stärker korrespondieren die Vektoren miteinander und desto höher ist er Korrelationsgrad zwischen den Vektoren. Folglich wird das durch den geringsten Euklidischen Abstand zum Vektor der Sample-Werte verdrängte skalierte Kandidaten-Codewort als der codierte Block von Bits ausgewählt, der durch die demodulierte Wellenform repräsentiert wird. Alternativ berechnet das Abstandskalkulationsmodul
503 den Hamming-Abstand zwischen den skalierten Kandidaten-Codewort-Vektoren und dem Vektor der Sample-Werte und wählt das skalierte Kandidaten-Codewort, das den geringsten Hamming-Abstand zu dem Vektor der Sample-Werte aufweist, als den codierten Block von Bits aus, der durch die empfangene, demodulierte Wellenform repräsentiert wird. In diesem Fall korrespondieren die Vektoren umso besser miteinander und ist der Grad der Korrelation zwischen ihnen umso stärker, je kleiner der Hamming-Abstand ist. Die Berechnung des Hamming-Abstandes ist rechentechnisch weniger komplex als die Berechnung des Euklidischen Abstandes und kann gegenüber dem Euklidischen Abstand bevorzugt verwendet werden, wenn die rechentechnische Komplexität der Berechnung reduziert werden soll. - Ein Nachteil bei der Verwendung sowohl des Euklidischen Abstandes als auch des Hamming-Abstandes verglichen mit dem Korrelationsverfahren besteht darin, dass diese beiden Abstandsberechnungen eine Abschätzung der Leistung der demodulierten Sample-Werte erfordern, bevor sie verwendet werden können. Dies liegt daran, dass die relative Länge der beiden Vektoren für die Berechnung des Euklidischen Abstandes oder des Hamming-Abstandes zwischen den beiden Vektoren wesentlich ist, wohingegen diese bei dem Kreuzkorrelationsverfahren nicht relevant ist, das jedoch stattdessen vom Winkel zwischen den beiden Vektoren abhängt. Es erfordert einige Zeit, dass die Abschätzung der Leistung der demodulierten Sample-Werte zuverlässig wird. Diese Zeit hängt von der Filterstruktur und dem Signal-Rausch-Verhältnis (SNR) des empfangenen Signals ab. Daher gibt es zu Beginn des Empfangs eines Signals eine Zeit, während der die Dekodiervorrichtung ein unzuverlässiges Ausgangssignal erzeugt. Umgekehrt erfordert das Kreuzkorrelationsverfahren zur Bestimmung des Abstandes zwischen den Vektoren keine Abschätzung der empfangenen Signalleistung und leidet daher nicht an diesem Zuverlässigkeitsproblem. Zusätzlich ist die rechentechnische Komplexität des Kreuzkorrelationsverfahrens im Ergebnis geringer.
- Die Identität des ausgewählten Kandidaten-Codewortes wird durch das Abstandsberechnungsmodul
503 an den Kandidatencodewort-Generator203 ausgegeben. - Der Kandidatencodewort-Generator
203 hat zuvor die Informationsbits des ausgewählten Kandidaten dekodiert. Er holt sich diese Informationsbits und gibt sie aus der Dekodiervorrichtung als die dekodierten Informationsbits aus. Alternativ kann, wenn die dekodierten Informationsbits nicht in dem Kandidatencodewort-Generator203 gespeichert sind, das Abstandsberechnungsmodul503 oder der Kandidatencodewort-Generator203 das codierte Kandidaten-Codewort, welches durch das Abstands-Kalkulations-Modul ausgewählt wurde, dekodieren und die dekodierten Informationsbits aus der Dekodiervorrichtung ausgeben. - Die Leistungsfähigkeit des hierin beschriebenen Verfahrens steigt mit wachsendem Kdec. Die Leistungsfähigkeit des Verfahrens ist maximal, wenn jedes mögliche Kandidaten-Codewort erzeugt wird, indem alle möglichen Kombinationen von
17 Bits erzeugt werden, anders ausgedrückt, wenn Kdec gleich17 ist. Die mit einem solchen Verfahren rechentechnisch verbundene Komplexität ist sehr hoch, da 217 Codewort erzeugt und analysiert werden. Um die rechentechnische Komplexität zu verringern, erzeugt das beschriebene Verfahren 2Kdec Kandidaten-Codeworte aus den 217 Codeworten, indem die am wenigsten zuverlässigen Kdec Bits variiert und Hard-Decision Bitwerte den zuverlässigsten (17 -Kdec) Bits zugeordnet werden. - Das Signal-Rausch-Verhältnis (SNR) des empfangenen Signals beeinflusst die Leistungsfähigkeit des Verfahrens. Je höher das Signal-Rausch-Verhältnis (SNR), desto kleiner kann Kdec sein, während es nahezu die volle Such-Leistungsfähigkeit erreicht. Die volle Such-Leistungsfähigkeit ist die volle Leistungsfähigkeit in Verbindung mit dem Erzeugen und Analysieren aller 217 Codewörter. Für ein Signal-Rausch-Verhältnis SNR ≥ 2 dB, wenn Kdec = 12 ist, ist die Verschlechterung der Dekodier-Leistungsfähigkeit gegenüber der vollen Such-Leistungsfähigkeit vernachlässigbar. Vorteilhafterweise kann die Rechenintensität bei hohem Signal-Rausch-Verhältnis (SNR) durch eine Verringerung von Kdec reduziert werden. Umgekehrt kann die Leistungsfähigkeit bei niedrigem Signal-Rausch-Verhältnis (SNR) erhöht werden, indem Kdec erhöht wird.
- In
1 ist Kdec 17. - Die Leistungsfähigkeit einer Dekodiertechnik kann als Prozentwert von Blöcken gemessen werden, die mit einem oder mehreren Fehlern empfangen werden.
1 zeigt die Leistungsfähigkeit der Block-Dekodierung von Fehler abfangender Dekodierung, Hard-Decision Dekodierung, sowie der hierin beschriebenen Soft-Decision Dekodierung, jeweils als Funktion des Signal-Rausch-Verhältnisses (SNR) des empfangenen Signals.1 zeigt, dass die Soft-Decision Dekodierung über den gemessenen Bereich des Signal-Rausch-Verhältnisses (SNR) wesentlich leistungsfähiger ist als die Hard-Decision Dekodierung und die Fehler abfangende Dekodierung. Zusätzlich ist die Soft-Decision Dekodierung bei niedrigem Signal-Rausch-Verhältnis (SNR) gut. Die prozentuale Blocksignalrate für Soft-Decision Dekodierung bei einem Signal-Rausch-Verhältnis (SNR) von 4,5 dB beträgt 2,5% verglichen mit 29% für die Fehler abfangende Dekodierung und 56% für die Hard-Decision Dekodierung. Sogar bei 2,5 dB beträgt die Fehlerrate für die Soft-Decision Dekodierung nur 19% verglichen mit 64% für die Fehler abfangende Dekodierung und 81% für die Hard-Decision Dekodierung. - Zu Beginn (vor der Blockdekodierung) oder nach dem Auftreten eines starken Fadings muss die Dekodiervorrichtung von
2 synchronisiert werden. Diese Synchronisierung beinhaltet das Identifizieren des Beginns eines empfangenen Blocks von Bits und das Identifizieren des Blocktyps des empfangenen Blocks. Das oben beschriebene Verfahren kann vorteilhaft dazu verwendet werden, eine Synchronisation wie nachfolgend beschrieben zu erreichen. - Blocktypen
A ,B ,C ,C' ,D undE werden in vier Kategorien gruppiert, welche KombinationenA/E (Kategorie 0),B/E (Kategorie1 ),C/C'/E (Kategorie2 ) und D/E (Kategorie3 ). Bei einigen Implementierungen ist die Detektion des BlocktypsE nicht erforderlich. Bei diesen Implementierungen entsprechen die vier Kategorien den KombinationenA ,B ,C/C' bzw.D . - Die Synchronisation basiert auf der Beobachtung, dass RDS- und RBDS-Daten eine bekannte Folge von Blocks enthalten, die mit einer Periode einer Gruppe wiederholt wird. Daher weist der maximale Kreuzkorrelationswert für jeden Blocktyp Peaks auf, die Blöcken einmal je Gruppe empfangender Bits entsprechen (alle 104 Bits). Es besteht die Möglichkeit, die maximalen Kreuzkorrelationswerte entsprechend einer Folge mehrerer aufeinanderfolgender Sets von 26 empfangenen Bits zu kombinieren, beginnend 26 Bits entfernt. Wenn in dieser Folge das Start-Bit der Bit-Sets mit dem Start-Bit von Blöcken der empfangenen Daten abgeglichen ist, und wenn die Blocktypen der Folge an die Blocktypen der empfangenen Daten angeglichen sind, addieren sich die maximalen Kreuzkorrelationswerte konstruktiv.
- Die Synchronisationsprofile werden bezeichnet mit
P0(f) ,P1(f) ,P2(f) und P3(f)(f = 0, 1,...25 ) wobei f die Position des Start-Bits in einem Block aus26 Bits angibt, die für jede betreffende der vier Kategorien wie folgt definiert sind. - Die Synchronisation wird eingeleitet, sobald sich
27 Sample-Werte im Buffer201 befinden. Das in Verbindung mit der Vorrichtung gemäß2 beschriebene Verfahren wird dazu verwendet, für jeden der folgenden Fälle den maximalen Kreuzkorrelationswert zu ermitteln: Wenn der erste Sample-Wert dem ersten Bit eines Blocks entspricht und der Blocktyp der Kategorie0 zugeordnet ist, wenn der erste Beispielwert dem ersten Bit eines Blocks entspricht und der Blocktyp der Kategorie1 zugeordnet ist, wenn der erste Sample-Wert dem ersten Bit eines Blocks entspricht und der Blocktyp die Kategorie2 besitzt, und wenn der erste Sample-Wert dem ersten Bit eines Blocks entspricht und der Blocktyp von der Kategorie3 ist. Auf gleiche Weise wird das in Verbindung mit der Dekodiervorrichtung gemäß2 beschriebene Verfahren dazu verwendet, vier maximale Kreuzkorrelationswerte (für jede der vier Kategorien) zu ermitteln für den Fall, dass jeder 2-te bis26 -te Sample-Wert dem ersten Bit eines Blocks entspricht. Diese Berechnungen der maximalen Kreuzkorrelation werden weiterhin für jedes nachfolgende Set von26 Sample-Werten ausgeführt. - Sofern er in einem Synchronisationsverfahren verwendet wird, wird der Kandidatencodewort-Generator
203 gemäß2 wie in3 gezeigt näher definiert. Der Kandidatencodewort-Generator umfasst vier Sub-Module:301 ,302 ,303 und304 . Jedes Sub-Modul empfängt, wie in Bezug auf2 beschrieben wurde, dieselbe Information von dem Hard-Decision-Wiederherstellungsmodul. Das Sub-Modul301 erzeugt für jedes Kandidaten-Codewort Parity-Bits unter Verwendung des mit der Kategorie0 verknüpften Offset-Worts. Auf gleiche Weise erzeugen Sub-Module302 ,303 und304 für jedes Kandidaten-Codewort Parity-Bits unter Verwendung der mit den Kategorien1 ,2 bzw.3 verknüpften Offset-Worte. Bei der Erzeugung der Kandidaten-Codeworte wird von dem Kandidatencodewort-Generator-Sub-Modulen Ksync anstelle von Kdec verwendet. Ksync wird im Allgemeinen kleiner als Kdec gewählt, um die rechnerische Komplexität des Synchronisationsprozesses zu reduzieren. - Der Korrelator
204 kann ebenso vier Sub-Module305 ,306 ,307 und308 aufweisen, wobei jedes Sub-Modul von einem der Sub-Module des Kandidatencodewort-Generators Kandidaten-Codewörter empfängt. Das Sub-Modul305 berechnet jedes der Kandidaten-Codewörter, die der Kategorie0 zugeordnet sind und die von dem Sub-Modul301 des Kandidatencodewort-Generators ausgegeben werden, Kreuzkorrelationswerte. Die Sub-Module306 ,307 und308 arbeiten hinsichtlich der Sub-Module302 ,303 und304 auf gleiche Weise. Die Korrelator-Sub-Module ermitteln weiterhin für jede Gruppe von Kandidaten-Codewörter, die einem bestimmten Block und einer ersten Bit-Position zugeordnet sind, die maximalen Kreuzkorrelationswerte. - Die Korrelator-Sub-Module geben die maximalen Kreuzkorrelationswerte an ein Profilmodul
309 (ebenso unterteilt in vier Module310 ,311 ,312 und313 ) aus, das für jede Kategorie und Start-Bit-Position Synchronisationsprofile aufbaut, in dem es die für jede Kategorie und jede Start-Bit-Position berechneten maximalen Kreuzkorrelationswerte für die vier Blocks integriert. Dies kann beispielsweise durch die Verwendung eines Tiefpassfilters erfolgen. Für jede Kategorie kann der n-te Integrationsschritt, welcher dem n-ten durch das Synchronisationsmodul verarbeiteten Bit entspricht, nach seiner Initialisierung entspricht, wie folgt ausgedrückt werden: -
104 ) = f. -
-
- Andere als die durch Gleichung 16 beschriebenen Filter können für die Integration ebenso geeignet sein.
- Beispielsweise stellt
1 und die Bit-Position4 (von den 26 Bit-Positionen), bei welcher es sich um das erste Bit des Blocks handelt, dar, und zwar nach dem n-ten Integrationsschritt. Dieses Synchronisationsprofil hängt von den maximalen Kreuzkorrelationswerten ab, die für die Bit-Position4 , welche die erste Bit-Position darstellt, ermittelt wurden, wobei das Signal vom Blocktyp der Kategorie1 ist. - Einmal pro Gruppe, wenn mod(n,
104 ) =103 ist, gibt das Profilmodul309 die Synchronisationsprofile an das Komparatormodul314 aus. Das Komparatormodul314 berechnet für die vier Kategorien und die Start-Bit-Positionen die Maximalwerte des Synchronisationsprofils. Das Komparatormodul314 vergleicht diese Maximalwerte und wählt die Kategorie mit dem maximalen Profilwert aus, um den Blocktyp des Blocks anzugeben. Das Komparatormodul wählt weiterhin die Startbit-Position (der gewählten Kategorie), welche den Maximalwert aufweist, um die Startbit-Position des Blocks anzugeben. Der Blocktyp und die Startbit-Position werden an einen (nicht gezeigten) Prozessor ausgegeben, um die dem Empfänger der2 vorgeschaltete Vorrichtung sowie die Vorrichtung gemäß2 zu kalibrieren. - Das erläuterte Synchronisationsschema wird für weitere Blocks wiederholt, um eine zuverlässigere Blocksynchronisation zu erreichen.
- Die Leistungsfähigkeit eines Synchronisationsschemas kann als Prozentwert der Wahrscheinlichkeit einer erfolgreichen Synchronisation gegenüber der Synchronisationszeit angegeben werden.
4 zeigt die Leistungsfähigkeit der Blocksynchronisation des hier beschriebenen Verfahrens über einen Bereich von Werten für das Signal-Rausch-Verhältnis (SNR) (jeweils repräsentiert durch eine andere Kurve). Diese Daten wurden auf Basis von 2000 Simulationen für jedes Paar (Simulationszeit, Signal-Rausch-Verhältnis SNR) erhalten. Es ist zu sehen, dass die Zeit, die erforderlich ist, um eine zuverlässige Synchronisation zu erhalten, zunimmt, wenn das Signal-Rausch-Verhältnis (SNR) abnimmt. Für Signal-Rausch-Verhältnisse von mehr als 3 dB wird eine zuverlässige Blocksynchronisation nach zwei Gruppen von vier Blöcken erreicht. Für ein Signal-Rausch-Verhältnis von 2 dB werden 300 ms verwendet (ungefähr vier Gruppen zu vier Blöcken), um eine Synchronisation mit einer Zuverlässigkeit von mehr als 90% zu erhalten. - Das hierin beschriebene Verfahren verbessert die Empfindlichkeit des RDS-Empfängers, indem es eine minimale Abstandsdekodierung des RDS-Fehlerkorrekturcodes verwendet. Die Synchronisation zu RDS-Blocks und -Gruppen wird ebenso verbessert. Die auf diese Art und Weise ausgeführte Fehlerkorrektur und Gruppensynchronisation gewährleisten eine Verbesserung der RDS-Empfängerempfindlichkeit von etwa 2,7 dB verglichen mit der Verwendung von Hard-Decision Dekodierung und Fehler abfangender Dekodierung des verkürzten zyklischen Codes.
- Die hierin beschriebenen Verfahren und Vorrichtungen eignen sich für die Verwendung mit jedem Protokoll, bei dem die übertragenen Bits zwei Gruppen enthalten, von denen eine Gruppe durch den Empfänger von der anderen Gruppe abgeleitet werden kann.
- Die
2 ,3 und5 stellen schematische Diagramme einer hierin beschriebenen Dekodiervorrichtung und einer hierin beschriebenen Synchronisationsvorrichtung dar. Die beschriebenen Verfahren müssen nicht bei den in irgendeiner dieser Figuren gezeigten dedizierten Blocks implementiert werden. Die Funktionalität eines jeden Blocks könnte durch einen anderen der beschriebenen Blocks oder die Verwendung anderer Vorrichtungen ausgeführt werden. Beispielsweise könnte das hierin beschriebene Verfahren teilweise oder vollständig in Software implementiert werden. - Die Dekodiervorrichtung gemäß den
2 oder5 könnte in nützlicher Weise in einem tragbaren Transceiver implementiert werden. Ein solcher Transceiver600 ist in6 gezeigt. Ein Prozessor602 ist mit einem Transmitter604 , einem Empfänger606 , einem Speicher608 und einer Dekodiervorrichtung610 verbunden. Jeder geeignete, dem Fachmann bekannte Transmitter, Empfänger, Speicher und Prozessor gemäß dem Stand der Technik könnte in den Transceiver implementiert werden. Die Dekodiervorrichtung610 umfasst vorzugsweise die Vorrichtung gemäß2 oder3 . Die Dekodiervorrichtung610 kann durch die Synchronisationsvorrichtung611 modifiziert werden. Die Synchronisationsvorrichtung611 umfasst die Vorrichtung gemäß5 . Die Dekodiervorrichtung ist zusätzlich mit dem Empfänger606 verbunden. Die von dem Empfänger empfangenen und demodulierten Signale können direkt an die Dekodiervorrichtung weitergeleitet werden. Alternativ dazu können die empfangenen Signale in dem Speicher608 gespeichert werden, bevor sie an die Dekodiervorrichtung weitergeleitet werden. Der tragbare Transceiver gemäß6 könnte entsprechend auch als drahtloses Telekommunikationsgerät implementiert werden. - Die Anmelderin weist auf die Tatsache hin, dass die vorliegende Erfindung jedes hierin offenbarte Merkmal oder jede hierin offenbarte Kombination von Merkmalen implizit oder explizit oder in jeder Verallgemeinerung hiervor enthalten kann, ohne dass dadurch der Geltungsbereich irgendeines der vorliegenden Ansprüche begrenzt wird. Angesichts der vorangehenden Beschreibung ist es für den Fachmann ersichtlich, dass innerhalb des Bereichs der Erfindung verschiedene Modifikationen vorgenommen werden können.
Claims (24)
- Verfahren zum Empfangen einer demodulierten Wellenform in Übereinstimmung mit einem Protokoll, bei dem die Wellenform einem Block von übertragenen Bits entspricht, der eine erste Gruppe von Bits und eine zweite Gruppe von Bits umfasst, wobei die zweite Gruppe von Bits eine Funktion der ersten Gruppe von Bits darstellt, und wobei das Verfahren umfasst: Samplen der demodulierten Wellenform, um eine erste Gruppe von Sample-Werten wiederherzustellen, welche der ersten Gruppe der übertragenen Bits entsprechen, sowie einer zweiten Gruppe von Sample-Werten, welche einer zweiten Gruppe von übertragenen Bits entsprechen; Zuordnen von Bit-Werten zu zuverlässigen Sample-Werten der ersten Gruppe von Sample-Werten; Erzeugen eines ersten Sets von Kandidaten für einen Block von Bits, der der demodulierten Wellenform entspricht, wobei jeder Kandidat eine erste Gruppe von Kandidatenbits und eine zweite Gruppe von Kandidatenbits umfasst, wobei die erste Gruppe von Kandidatenbits erzeugt wird, indem die zugeordneten Bit-Werte und eine Kombination von Bit-Werten, welche für den Kandidaten des Sets von Kandidaten eindeutig sind, verwendet werden, und wobei die zweite Gruppe von Kandidatenbits erzeugt wird, indem die genannte Funktion auf die erste Gruppe von Kandidatenbits angewandt wird; Durchführen eines Korrelationsschrittes, indem eine Korrelation zwischen jedem Kandidaten und der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten bestimmt wird, um einen Korrelationswert zu bilden, der mit jedem Kandidaten verknüpft ist; und Auswählen des Kandidaten, der mit dem Korrelationswert verknüpft ist, der auf den höchsten Grad von Übereinstimmung zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, als den Block von Bits, der mit der demodulierten Wellenform korrespondiert.
- Verfahren gemäß
Anspruch 1 , weiterhin umfassend das Dekodieren des Blocks von Bits, welche der demodulierten Wellenform entsprechen, gemäß dem genannten Protokoll. - Verfahren gemäß
Anspruch 1 oder2 , weiterhin umfassend das Sortieren der Sample-Werte der ersten Gruppe in der Reihenfolge ihrer Absolutwerte, sowie das Auswählen der Sample-Werte, die die höchsten Absolutwerte aufweisen, als die zuverlässigen Sample-Werte. - Verfahren gemäß einem der vorangehenden Ansprüche, weiterhin umfassend das Ermitteln einer Anzahl von Sample-Werten, die in Abhängigkeit vom Signal-Rausch-Verhältnis des empfangenen Signals als zuverlässig auszuwählen sind, so dass die Anzahl der als zuverlässig auszuwählenden Sample-Werte mit dem Anstieg des Signal-Rausch-Verhältnisses des empfangenen Signals ansteigt.
- Verfahren gemäß einem der vorangehenden Ansprüche, weiterhin umfassend: Durchführen einer Korrelation, indem jeder Kandidat mit der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten kreuzkorreliert wird, und: Auswählen desjenigen Kandidaten, der mit dem höchsten Kreuzkorrelationswert assoziiert ist, wobei es sich bei dem höchsten Kreuzkorrelationswert um den Korrelationswert handelt, der auf den höchsten Korrelationsgrad zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt.
- Verfahren gemäß einem der vorangehenden Ansprüche, weiterhin umfassend das Vergleichen des Korrelationswertes des ausgewählten Kandidaten mit der Summe der Absolutwerte der ersten und zweiten Gruppe von Sample-Werten, sowie das Abschätzen einer Wahrscheinlichkeit, dass der ausgewählte Kandidat in Abhängigkeit von diesem Vergleich identisch ist mit dem Block der übertragenen Bits.
- Verfahren gemäß
Anspruch 6 , weiterhin umfassend das Abschätzen, dass die Wahrscheinlichkeit hoch ist, wenn der Unterschied zwischen dem Korrelationswert des ausgewählten Kandidaten und der Summe der Absolutwerte der ersten und zweiten Gruppe von Sample-Werten niedrig ist. - Verfahren gemäß einem der
Ansprüche 1 bis4 , bei dem das Ausführen der Korrelationsfunktion weiterhin umfasst: Abschätzen einer Signalleistung, die mit der ersten und zweiten Gruppe von Sample-Werten verknüpft ist; und das Bilden eines Ersatzkandidaten von jedem der Kandidaten des Sets von Kandidaten durch Ersetzen jedes Kandidatenbits, das einen ersten Bit-Wert aufweist, mit einem Bit, das einen ersten Ersatzwert besitzt, und Ersetzen jedes Kandidatenbits, das einen zweiten Bit-Wert aufweist mit einem Bit, das einen zweiten Ersatzwert besitzt, wobei der erste und der zweite Ersatzwert von der geschätzten Signalleistung abhängen. - Verfahren gemäß
Anspruch 8 , bei dem das Durchführen der Korrelationsfunktion weiterhin aufweist: Ermitteln des Euklidischen Abstandes zwischen einem ersten Vektor, der die Bits des Ersatzkandidaten aufweist, und einem zweiten Vektor, der die erste und zweite Gruppe von Sample-Werten aufweist, für jeden aus den Kandidaten des Kandidatensets ausgewählten Ersatzkandidaten; und wobei das Auswählen des Kandidaten, der mit dem Korrelationswert verknüpft ist, der auf den höchsten Grad von Korrelation zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, das Auswählen des Kandidaten umfasst, aus dem der Ersatzkandidat gebildet wurde, der den geringsten Euklidischen Abstand liefert. - Verfahren gemäß
Anspruch 8 , bei dem das Durchführen der Korrelationsfunktion weiterhin aufweist: Ermitteln des Hamming-Abstandes zwischen einem ersten Vektor, der die Bits des Ersatzkandidaten aufweist, und einem zweiten Vektor, der die erste und zweite Gruppe von Sample-Werten aufweist, für jeden aus den Kandidaten des Kandidatensets ausgewählten Ersatzkandidaten; und wobei das Auswählen des Kandidaten, der mit dem Korrelationswert verknüpft ist, der auf den höchsten Grad von Korrelation zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, das Auswählen des Kandidaten umfasst, aus dem der Ersatzkandidat gebildet wurde, der den geringsten Hamming-Abstand aufweist. - Verfahren gemäß einem der vorangehenden Ansprüche, weiterhin umfassend den Schritt des Erzeugens eines Sets von Kandidaten durch Bilden eines Kandidatenvektors, bei dem die zugeordneten Bit-Werte innerhalb der ersten Gruppe von Kandidatenbits dieselben Positionen einnehmen, die die zuverlässigen Sample-Werte innerhalb der ersten Gruppe der Sample-Werte eingenommen haben.
- Verfahren gemäß einem der vorangehenden Ansprüche, bei dem es sich bei dem Protokoll um ein RDS (Radio Data System) Protokoll oder ein RBDS (Radio Broadcast Data System) Protokoll handelt, und wobei die erste Gruppe von übertragenen Bits Informationsbits aufweist, und wobei die zweite Gruppe von übertragenen Bits Parity-Bits aufweist.
- Verfahren gemäß einem der vorangehenden Ansprüche, bei dem die demodulierte Wellenform entsprechend einem Protokoll empfangen wird, bei dem die Wellenform innerhalb eines Stroms übertragener Bits einen Block übertragener Bits repräsentiert, wobei der genannte Block übertragener Bits bei einer Bitposition innerhalb des genannten Stroms von Bits beginnt, die dem Empfänger nicht bekannt ist, und wobei das Verfahren das Synchronisieren des Empfängers mit dieser Bitposition umfasst, durch: Samplen der demodulierten Wellenform, so dass für jede Bitposition, bei der der Block der übertragenen Bits begonnen haben kann, eine erste Gruppe von Sample-Werten wiederhergestellt wird, die mit der ersten Gruppe übertragener Bits korrespondieren würde, wenn der Block der übertragenen Bits bei dieser Bitposition begonnen hätte, und eine zweite Gruppe von Sample-Werten wiederhergestellt wird, die mit der zweiten Gruppe übertragener Bits korrespondieren würde, wenn der Block übertragener Bits bei der genannten Bitposition begonnen hätte, sowie Erzeugen eines entsprechenden Sets von Kandidaten aus der ersten Gruppe von Sample-Werten; Ausführen eines Korrelationsverfahrens für jede Bitposition durch Ermitteln einer Korrelation zwischen jedem Kandidaten des entsprechenden Sets von Kandidaten, die mit der betreffenden Bitposition korrespondieren, und der entsprechenden ersten und zweiten Gruppe von Sample-Werten, die mit der betreffenden Bitposition korrespondieren, um einen entsprechenden Korrelationswert zu bilden, der mit einem jeden Kandidaten bei der betreffenden Bitposition verknüpft ist; und Synchronisieren des Empfängers mit der Bitposition, welche mit dem Kandidaten korrespondiert, der dem Korrelationswert zugeordnet ist, der auf den höchsten Korrelationsgrad zwischen dem Kandidaten und der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten schließen lässt.
- Verfahren gemäß einem der vorangehenden Ansprüche, bei dem das Protokoll, gemäß dem die demodulierte Wellenform empfangen wird, so ausgestaltet ist, dass die Funktion, mittels der die zweite Gruppe von Bits aus der ersten Gruppe von Bits abgeleitet wird, eine von einer Vielzahl von durch das Protokoll definierter Funktionen ist, wobei das Verfahren das Ermitteln derjenigen aus der Vielzahl von Funktionen umfasst, die auf die erste Gruppe der übertragenen Bits angewendet wurde, indem: für jede der durch das Protokoll definierten Funktionen ein Set von Kandidaten erzeugt wird, bei dem die zweite Gruppe von Kandidatenbits bei einem jedem Kandidaten dadurch erzeugt wird, dass die genannte Funktion auf die erste Gruppe von Kandidatenbits angewendet wird; und indem die Funktion, die auf die erste Gruppe der übertragenen Bits angewendet wird, als die Funktion festgelegt wird, durch die der Kandidat, der dem Korrelationswert zugeordnet ist, welcher auf den höchsten Grad der Korrelation zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, erzeugt wurde.
- Verfahren gemäß einem der vorangehenden Ansprüche, bei dem die Wellenform eine Vielzahl von Blocks übertragener Bits repräsentiert, von denen jeder eine entsprechende erste Gruppe von Bits aufweist, sowie eine entsprechende zweite Gruppe von Bits, die eine Funktion der entsprechenden ersten Gruppe von Bits darstellt, wobei die Vielzahl von Blöcken übertragener Bits einen Teil eines Stroms von übertragenen Bits gebildet haben und bei einer Bitposition des genannten Stroms von Bits begonnen haben, die dem Empfänger unbekannt ist, wobei das Verfahren aufweist: Samplen der demodulierten Wellenform, für jeden Block von übertragenen Bits, so dass für jede Bitposition, bei der der Block übertragener Bits begonnen haben könnte, eine erste Gruppe von Sample-Werten wiederhergestellt wird, die der ersten Gruppe übertragener Bits entsprechen würde, wenn der Block übertragener Bits an dieser Bitposition begonnen hätte, und bei dem eine zweite Gruppe von Sample-Werten wiederhergestellt wird, die einer zweiten Gruppe übertragener Bits entsprechen würde, wenn der Block übertragener Bits an der genannten Bitposition begonnen hätte.
- Verfahren gemäß
Anspruch 15 , bei dem weiterhin die demodulierte Wellenform in Übereinstimmung mit einem Protokoll empfangen wird, so dass für jeden Block übertragener Bits die Funktion, durch die die betreffende zweite Gruppe von Bits, welche in dem Block übertragener Bits enthalten ist, aus der betreffenden ersten Gruppe von Bits abgeleitet wird, eine aus einer Vielzahl von durch das Protokoll definierter Funktionen ist, wobei das Verfahren aufweist: Erzeugen eines Sets von Kandidaten für jeden Block der übertragenen Bits, wobei jede durch das Protokoll definierte Funktion und jede der ersten und zweiten Gruppen von Sample-Werten, die einer betreffenden Bitposition zugeordnet sind, bei der der Block übertragener Bits begonnen haben könnte, durch Anwenden dieser Funktion auf jede erste Gruppe von Kandidatenbits, die aus der ersten Gruppe von Sample-Werten gebildet sind, welche der betreffenden Bitposition zugeordnet sind, um eine entsprechende zweite Gruppe von Kandidatenbits zu erzeugen. - Verfahren gemäß
Anspruch 16 , weiterhin umfassend das Ausführen eines Korrelationsschrittes, bei dem eine Korrelation zwischen jedem Kandidaten, der eine erste Gruppe von Kandidatenbits umfasst, welche aus einer ersten Gruppe von Sample-Werten gebildet sind, die mit einer entsprechenden Bitposition verknüpft sind, und der wiederhergestellten ersten Gruppe von Sample-Werten, die der betreffenden Bitposition zugeordnet sind, bestimmt wird, um einen mit dem Kandidaten verknüpften Korrelationswert zu bilden. - Verfahren gemäß
Anspruch 17 , das weiterhin für jedes Set von Kandidaten das Auswählen desjenigen Kandidaten umfasst, der dem Korrelationswert zugeordnet ist, der auf den höchsten Grad von Korrelation zwischen einem Kandidaten und dessen entsprechenden ersten und zweiten Gruppen von Sample-Werten schließen lässt. - Verfahren gemäß
Anspruch 17 , oder 18, weiterhin umfassend das Ermitteln einer Wahrscheinlichkeit einer bestimmten aus einer Mehrzahl von Funktionen, die dazu verwendet wurden, einen Block übertragener Bits zu bilden, indem eine Integration über Korrelationswerte durchgeführt wurde, die den verschiedenen Blöcken übertragener Daten zugeordnet sind. - Verfahren gemäß einem der
Ansprüche 17 bis19 , das weiterhin das Ermitteln einer Wahrscheinlichkeit umfasst, dass ein Block übertragener Bits an einer bestimmten Bitposition begonnen hat, indem ein Integrationsverfahren über Korrelationswerte durchgeführt wird, die verschiedenen Blöcken übertragener Daten zugeordnet sind. - Verfahren gemäß
Anspruch 19 und20 , wie es vonAnspruch 18 abhängt, und das das Durchführen der Integration über die Korrelationswerte umfasst, die dem ausgewählten Kandidaten eines jeden Sets von Kandidaten zugeordnet sind, unter Verwendung einer bestimmten von einer Mehrzahl von Funktionen und einer bestimmten anfänglichen Bitposition, um für jeden Block übertragener Bits eine Wahrscheinlichkeit dafür zu bilden, dass die betreffende Kombination von Funktion und anfänglicher Bitposition dazu verwendet wurde, diesen Block übertragener Bits zu bilden. - Verfahren gemäß
Anspruch 21 , das weiterhin das Aufsummieren kombinierter Wahrscheinlichkeiten umfasst, die bestimmten der Funktionen und bestimmten der Blöcke übertragener Datenbits zugeordnet sind, um Funktionswahrscheinlichkeiten zu bilden, die auf eine Wahrscheinlichkeit schließen lassen, dass bestimmte der Blöcke übertragener Datenbits dadurch gebildet wurden, dass bestimmte der Funktionen verwendet wurden, und Auswählen der Funktion, die der höchsten Funktionswahrscheinlichkeit entspricht, die den Block übertragener Datenbits zugeordnet ist, als die Funktion, die am Wahrscheinlichsten dazu verwendet worden ist, einen Block übertragener Datenbits zu bilden. - Verfahren gemäß
Anspruch 22 , das weiterhin für jeden Block übertragener Datenbits das Auswählen der Bitposition, die mit der Wahrscheinlichkeit korrespondiert, dass sie den höchsten Wert aufweist, der der Funktion zugeordnet ist, die als diejenige Funktion bestimmt wurde, die mit der höchsten Wahrscheinlichkeit dazu verwendet worden ist, den Block übertragener Bits zu bilden, als die Position umfasst, bei der der Block übertragener Datenbits mit höchster Wahrscheinlichkeit begonnen hat. - Vorrichtung, die dazu ausgebildet ist, eine demodulierte Wellenform in Übereinstimmung mit einem Protokoll zu empfangen, bei dem die Wellenform einen Block übertragener Bits repräsentiert, die eine erste Gruppe von Bits und eine zweite Gruppe von Bits umfassen, wobei die zweite Gruppe von Bits eine Funktion der ersten Gruppe von Bits darstellt, und wobei die Vorrichtung umfasst: Ein Samplemodul, das dazu ausgebildet ist, die empfangene, demodulierte Wellenform zu samplen, um eine erste Gruppe von Sample-Werten wiederherzustellen, die der ersten Gruppe übertragener Bits zugeordnet sind, sowie eine zweite Gruppe von Sample-Werten, die einer zweiten Gruppe übertragener Bits zugeordnet sind; ein Zuverlässigkeitsmodul, das dazu ausgebildet ist, Bit-Werte zuverlässigen Sample-Werten der ersten Gruppe von Sample-Werten zuzuordnen; einen Kandidatenwort-Generator, der dazu ausgebildet ist, ein Set von Kandidaten für einen Block von Bits zu erzeugen, die der empfangenen demodulierten Wellenform entsprechen, wobei jeder Kandidat eine erste Gruppe von Kandidatenbits und eine zweite Gruppe von Kandidatenbits aufweist, wobei die erste Gruppe von Kandidatenbits erzeugt wird, indem die zugeordneten Bit-Werte und eine Kombination von Bit-Werten, die für denjenigen der Kandidaten des Sets von Kandidaten eindeutig sind, verwendet werden, und wobei die zweite Gruppe von Kandidatenbits erzeugt wird, indem die genannte Funktion auf die erste Gruppe von Kandidatenbits angewendet wird; und einen Korrelator, der dazu ausgebildet ist, ein Korrelationsverfahren durchzuführen, indem eine Korrelation zwischen jedem Kandidaten und der wiederhergestellten ersten und zweiten Gruppe von Sample-Werten durchgeführt wird, um einen Korrelationswert zu bilden, der mit jedem Kandidaten verknüpft ist; wobei der Kandidatenwort-Generator weiterhin dazu ausgebildet ist, denjenigen Kandidaten auszuwählen, der dem Korrelationswert zugeordnet ist, der auf den höchsten Korrelationsgrad zwischen einem Kandidaten und der ersten und zweiten Gruppe von Sample-Werten schließen lässt, als den Block von Bits, der der empfangenen, demodulierten Wellenform entspricht.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0821615.2 | 2008-11-26 | ||
GBGB0821615.2A GB0821615D0 (en) | 2008-11-26 | 2008-11-26 | Signal reception |
PCT/EP2009/064422 WO2010060734A2 (en) | 2008-11-26 | 2009-11-02 | Signal reception |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112009004337T5 DE112009004337T5 (de) | 2012-06-14 |
DE112009004337B4 true DE112009004337B4 (de) | 2019-07-18 |
Family
ID=40230867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112009004337.2T Active DE112009004337B4 (de) | 2008-11-26 | 2009-11-02 | Signalempfang |
Country Status (4)
Country | Link |
---|---|
US (1) | US8649469B2 (de) |
DE (1) | DE112009004337B4 (de) |
GB (1) | GB0821615D0 (de) |
WO (1) | WO2010060734A2 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8213546B2 (en) * | 2007-11-13 | 2012-07-03 | Silicon Laboratories Inc. | System and method for decoding RDS/RBDS data |
RU2012141880A (ru) * | 2012-10-01 | 2014-04-10 | ЭлЭсАй Корпорейшн | Эффективный способ построения кода с низкой плотностью контроля четности путем сравнения событий ошибок с использованием способа на основе голосования |
TWI681396B (zh) * | 2018-12-06 | 2020-01-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1282237A2 (de) | 2001-08-03 | 2003-02-05 | Mitsubishi Denki Kabushiki Kaisha | Produktkodes- Dekodierungsverfahren und Dekodierungsapparat |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602004030991D1 (de) * | 2004-02-17 | 2011-02-24 | St Microelectronics Nv | Verfahren und Vorrichtung zur Sequenzschätzung |
US7512861B2 (en) * | 2004-05-20 | 2009-03-31 | Vladimir Brajovic | Method for determining identity of simultaneous events and applications to image sensing and A/D conversion |
CA2656976C (en) * | 2006-07-07 | 2012-03-20 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
JP4224105B2 (ja) * | 2007-01-19 | 2009-02-12 | 日本電波工業株式会社 | 信号処理部及び無線機 |
US8352840B2 (en) * | 2008-03-25 | 2013-01-08 | Her Majesty The Queen in Right of Canada, As Represented by The Minister of Industry, Through The Commincations Research Centre Canada | Event cleanup processing for improving the performance of sequence-based decoders |
US8126091B2 (en) * | 2008-09-30 | 2012-02-28 | Silicon Laboratories Inc. | RDS/RBDS decoder with reliable values |
-
2008
- 2008-11-26 GB GBGB0821615.2A patent/GB0821615D0/en not_active Ceased
-
2009
- 2009-11-02 WO PCT/EP2009/064422 patent/WO2010060734A2/en active Application Filing
- 2009-11-02 US US13/130,928 patent/US8649469B2/en not_active Expired - Fee Related
- 2009-11-02 DE DE112009004337.2T patent/DE112009004337B4/de active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1282237A2 (de) | 2001-08-03 | 2003-02-05 | Mitsubishi Denki Kabushiki Kaisha | Produktkodes- Dekodierungsverfahren und Dekodierungsapparat |
Non-Patent Citations (2)
Title |
---|
HU, T.-H.; LIN, S.: An Efficient Hybrid Decoding Algorithm for Reed-Solomon Codes Based on Bit Reliability. In: IEEE Transactions on Communications, Vol. 51, 2003, No. 7, S. 1073-1081 |
HU, T.-H.; LIN, S.: An Efficient Hybrid Decoding Algorithm for Reed-Solomon Codes Based on Bit Reliability. In: IEEE Transactions on Communications, Vol. 51, 2003, No. 7, S. 1073-1081. – ISSN 0090-6778 * |
Also Published As
Publication number | Publication date |
---|---|
DE112009004337T5 (de) | 2012-06-14 |
GB0821615D0 (en) | 2008-12-31 |
WO2010060734A2 (en) | 2010-06-03 |
WO2010060734A3 (en) | 2010-07-29 |
US8649469B2 (en) | 2014-02-11 |
US20110305304A1 (en) | 2011-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69535458T2 (de) | Verfahren und Anordnung zur Erkennung variabler Übertragungsraten | |
DE69804810T2 (de) | Kommunikationssysteme bzw. verfahren, bei denen eine selektive und rekursive dekodierung verwendet wird | |
DE69712492T2 (de) | Zuverlässigkeitsinformation benutzender dekoder zur verringerung der fehlerhäufigkeit | |
EP2266114B1 (de) | Einbetter und detektor eines wasserzeichens mit zusatzinformation | |
DE4192982C2 (de) | Fehlererkennungssystem | |
DE69328034T2 (de) | Kodierung mit modulation, fehlerkontrolle, gewichtung und bitzuordnung | |
DE69915400T2 (de) | Vorrichtung zur Kodierung und Dekodierung von Audiosignalen | |
DE60015448T2 (de) | Teilband-Audiokodiersystem | |
DE69326832T2 (de) | Fehlerdetektorschaltung und Verfahren für Empfänger zum Empfang von Diskretkodierten Signalen | |
DE60012576T2 (de) | Spreizfaktorbestimmung | |
DE102010035210B4 (de) | Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten | |
DE112009004337B4 (de) | Signalempfang | |
DE102005059525A1 (de) | System und Verfahren für eine Blindtransportformatdetektion mit einer zyklischen Redundanzprüfung | |
DE60320295T2 (de) | Formatdetektion | |
DE69825274T2 (de) | Bitdetektionsverfahren in einem funkkommunikationssystem | |
DE3779897T2 (de) | Verfahren und vorrichtung zur ableitung der formantfrequenzen aus einem teil eines sprachsignals. | |
DE60319557T2 (de) | Verfahren zur Verminderung der Anzahl der Bits pro Softbit | |
EP0048859B1 (de) | Verfahren zur Erkennung von Digitalinformation bei einer digitalen Informationsübertragung, insbesondere Informationsübertragung in Mobilfunk-Kommunikationssystemen | |
DE60035099T2 (de) | Verfahren zur bestimmung der rahmenfrequenz eines datenrahmens in einem kommunikationssystem | |
WO1993026099A1 (de) | Verfahren für die fehlererkennung digitalisierter, datenreduzierter ton- und datensignale | |
WO2019202031A1 (de) | Paket-korrelator für ein funkübertragungssystem | |
DE102018203109B3 (de) | Verfahren zum Übertragen von Daten | |
WO1992008296A1 (de) | Verfahren zum erkennen von fehlern bei der übertragung von frequenzcodierten digitalen signalen | |
EP1238481A2 (de) | Verfahren zur dekodierung von digitalen audiodaten | |
DE4137609C2 (de) | Kombiniertes Sprach- und Kanaldecodierverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS, DE Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE Representative=s name: OLSWANG GERMANY LLP, DE |
|
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS, DE Representative=s name: OLSWANG GERMANY LLP, DE Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE |
|
R081 | Change of applicant/patentee |
Owner name: QUALCOMM TECHNOLOGIES INTERNATIONAL, LTD., GB Free format text: FORMER OWNER: CAMBRIDGE SILICON RADIO LTD., CAMBRIDGE, CAMBRIDGESHIRE, GB |
|
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS, DE Representative=s name: OLSWANG GERMANY LLP, DE Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE |
|
R082 | Change of representative |
Representative=s name: MAUCHER JENKINS, DE Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |