-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Entschachtler-Modul eines drahtlosen
Empfängers,
beispielsweise eines Empfängers
mit orthogonaler Frequenzaufteilung (OFDM) auf der Grundlage des IEEE
802.11a Standards.
-
Hintergrund
der Erfindung
-
In
der Vergangenheit wurden in Nahbereichsnetzwerken Netzwerkkabel
oder andere Medien eingesetzt, um Stationen in einem Netzwerk miteinander
zu verbinden. Neuere drahtlose Technologien wurden entwickelt, um
OFDM-Modulationsverfahren für
Anwendungen in drahtlosen Nahbereichsnetzwerken zu nutzen, zu denen
drahtlose LAN's
(d. h. drahtlose Infrastrukturen mit festgelegten Zugriffspunkten),
mobile ad hoc-Netzwerke, etc. gehören. Insbesondere spezifiziert
der IEEE-Standard 802.11a mit dem Titel „Spezifikationen für drahtlose LAN-Medienzugriffssteuerung
(MAC) und physikalische Schichten (PHY): physikalische Hochgeschwindigkeitsschicht
im 5 GHz-Band" eine
OFDM-PHY für ein
drahtloses LAN mit einer Nutzdatenkommunikationskapazität von bis
zu 54 Mbps. Der Standard IEEE 802.11a spezifiziert ein PHY-System,
das zweiundfünfzig
(52) Subträgerfrequenzen
verwendet, die unter Anwendung einer binären Phasenumtastung oder einer
Quadraturphasenumtastung (BPSK/QPSK), einer 16-Quadraturamplitudenmodulation
(QAM) oder einer 64-QAM moduliert werden.
-
Somit
spezifiziert der Standard IEEE 802.11a eine OFDM-Schicht, die eine
kabellose Hochgeschwindigkeitsdatenübertragung mit zahlreichen
Verfahren zur Minimierung der Datenfehler bereitstellt.
-
Ein
spezieller Aspekt beim Einrichten einer OFDM-PHY auf Basis des IEEE
802.11 als eine Hardwareeinrichtung betrifft ein kosteneffizientes kompaktes
Gerät,
das in kleineren drahtlosen Einheiten eingerichtet werden kann.
Zu Implementationsproblemen gehören
typischerweise die Kosten, die Gerätegröße und die Gerätekomplexität.
-
Beispielsweise
spezifiziert der Standard IEEE 802.11a, dass das Verschachteln in
dem Sendedatenstrom unter Anwendung einer zweischrittigen Permutation
durchgeführt
wird, um das Bitfehlerverhalten bei Anwesenheit einer frequenzselektiven Kanalabschwächung zu
verbessern. Insbesondere werden benachbarte codierte Bits in der
ersten Permutation auf nicht benachbarte Subträgerfrequenzen (d. h. „Töne") zugeordnet, um
eine frequenzselektive Abschwächung
zu verhindern; abhängig
von dem von dem Sender verwendeten Modulationsschema (beispielsweise
BPSQ, QPSK, 16-QAM oder 64 QAM) können benachbarte codierte Bits
auch in der zweiten Permutation abwechselnd weniger signifikanten
oder signifikanteren Bits in der Konstellationsabbildung bzw. Zuordnung
(I + jQ) zugeordnet werden, um längere
Folgen mit kleineren Zuverlässigkeitswerten
(d. h. weniger signifikante Bits) zu reduzieren.
-
Somit
erfordert ein OFDM-PHY-Empfänger, der
für das
Empfangen von kabellosen Signalen auf der Grundlage des IEEE 802.11a
ausgebildet ist, einen Entschachteler bzw. eine Entschachtelungseinheit,
um zwei inverse Permutationen auszuführen, die an den Codierungswörtern vor
dem Aussenden durchgeführt
wurden. Jedoch ist die Blockgröße für jede verschachtelnde
Permutation variabel, abhängig
von dem Modulationsschema, das von dem Sender eingesetzt wird (beispielsweise
BPSK, QPSK, 16-QAM oder 16-QAM). Ferner kann die bloße Speicherung
des seriellen Datenstromes in aufeinanderfolgenden Speicherstellen
eines wahlfreien Speichers, gefolgt von einer zweistufigen Manipulation des
seriellen Datenstromes nach der Speicherung, um die entschachtelten
Daten wieder zu gewinnen, deutliche Verarbeitungszeitverzögerungen
innerhalb des Entschachtelers auf Grund des Verarbeitungsaufwands
und der wesentlichen Speicher-Lese/Schreib-Zugriffsoperationen, die zum Entschachteln
des empfangenen seriellen Stromes erforderlich sind, erzeugen.
-
Die
Schrift „Eine
neue rekonfigurierbare Zuordnungs-Symbol-Entschachtelungsarchitektur
für DVB-T
mit hoher Geschwindigkeit" von
Mocvath et al., zeigt einen konventionellen OFDM-Entschachteler.
-
Überblick über die Erfindung
-
Es
besteht ein Bedarf für
eine Anordnung, die es einem drahtlosen Sender/Empfänger-Host-Rechner ermöglicht,
das Entschachteln eines empfangenen seriellen Stromes in einer effizienten
und ökonomischen
Weise durchzuführen.
-
Es
besteht ferner ein Bedarf für
eine Anordnung, die es einem drahtlosen Sender/Empfänger-Host-Rechner
ermöglicht,
das Entschachteln eines empfangenen seriellen Stromes mit einer
minimalen Verarbeitungszeit auszuführen.
-
Diese
und weitere Forderungen werden von der vorliegenden Erfindung erfüllt, in
der ein Entschachteler-Modul in einem drahtlosen OFDM-Sender/Empfänger unterteilte
bzw. partionierte Speicherbänke
zur Speicherung von Codierungswortfragmenten aus einem verschachtelten
Datenstrom aufweist, wobei jedes Codierungswortfragment mit einer
vorgegebenen Subträgerfrequenz
verknüpft
ist. Jedes Codierungswortfragment enthält eine vorgegebene Anzahl
an Codierungswortbits auf der Grundlage einer vorgegebenen Modulation
des verschachtelten Datenstromes, und die Codierungswortbits für jedes Codierungswortfragment
werden in entsprechende ausgewählte
Stellen der entsprechenden Speicherbank auf der Grundlage der vorgeschriebenen
Modulation und der entsprechenden vorgegebenen Subträgerfrequenz
geschrieben. Das Entschachteler-Modul gibt die entschachtelten Daten
aus den Speicherbänken
auf der Grundlage einer parallelen Ausgabe der entsprechenden gespeicherten
Codierungswortbits aus einer ausgewählten Adresse der Speicherbänke aus.
-
Somit
können
die Entschachtelungsvorgänge
in effizienter Weise auf der Grundlage der Implementierung von seriellen
Eingabe/parallelen Ausgabe-Schreib/Lese-Operationen in den partionierten Speicherbänken eingerichtet
werden. Ein Aspekt der vorliegenden Erfindung betrifft ein Verfahren
in einem Entschachteler-Modul zum Entschachteln von verschachtelten
Daten in entschachtelte Daten. Das Verfahren umfasst das Speichern
einer ersten Gruppe aufeinanderfolgender Codierungswortfragmente aus
den verschachtelten Daten in einer entsprechenden Gruppe partionierter
Speicherbänke.
Jedes Codierungswortfragment ist einer vorgegebenen Subträgerfrequenz
zugeordnet und besitzt eine vorgegebene Anzahl an Codierungswortbits
entsprechend einer vorgegebenen Modulation der verschachtelten Daten.
Das Speichern beinhaltet das Schreiben der Codierungswortbits für jedes
Codierungswortfragmet in entsprechende ausgewählte Stellen der entsprechenden
Speicherbank auf der Grundlage der vorgegebenen Modulation und der
entsprechenden vorgegebenen Subträgerfrequenz. Das Verfahren
umfasst ferner das Ausgeben eines ausgewählten Bereichs der entschachtelten
Daten durch paralleles Abrufen von Codierungswortbits, die an einer
entsprechenden ausgewählten
Adresse für
die Speicherbänke gespeichert
sind.
-
Ein
weiterer Aspekt der vorliegenden Erfindung betrifft ein Entschachteler-Modul
mit einer Gruppe aus partionierten Speicherbänken, einem Schreiblogikmodul
und einem Ausgabemodul. Die Gruppe aus partionierten Speicherbänken ist
ausgebildet, verschachtelte Daten als eine entsprechende Gruppe
aufeinanderfolgender Codierungswortfragmente zu speichern. Jedes
Codierungswortfragment ist mit einer vorgegebenen Subträgerfrequenz
verknüpft
und besitzt eine vorgegebene Anzahl an Codierungswortbits entsprechend
einer vorgegebenen Modulation der verschachtelten Daten. Jede Speicherbank
ist ausgebildet, ein ausgewähltes
Bit eines entsprechenden empfangenden Codierungswortfragments an
einer entsprechenden ausgewählten
Stelle zu speichern. Das Schreiblogikmodul ist ausgebildet, für jede Speicherbank
die Codierungswortbits für
jedes entsprechende Codierungswortfragment in den entsprechenden
ausgewählten
Stellen entsprechend der vorgegebenen Modulation und der entsprechenden
vorgegebenen Subträgerfrequenz
zu speichern. Das Ausgabemodul ist ausgebildet, entschachtelte Daten
aus den partionierten Speicherbänken
durch paralleles Abrufen von Codierungswortbits, die an einer entsprechenden
ausgewählten
Adresse für
die Speicherbänke
gespeichert sind, auszugeben.
-
Weitere
Vorteile und neue Merkmale der Erfindung werden teilweise in der
folgenden Beschreibung angegeben und werden zum Teil auch für den Fachmann
beim Ausüben
der folgenden Lehre deutlich oder können durch die Praktizierung
der Erfindung erhalten werden. Die Vorteile der vorliegenden Erfindung
können
mittels Einrichtungen, die speziell in den angefügten Patentansprüchen dargelegt
sind, realisiert und erhalten werden.
-
Kurze Beschreibung
der Zeichnungen
-
Es
wird auf die begleitenden Zeichnungen verwiesen, in denen Elemente
mit den gleichen Bezugszeichen durchwegs gleiche Elemente repräsentieren,
und in denen:
-
1 eine
Ansicht ist, die ein Empfängermodul
eines IEEE 802.11-OFDM Sender/Empfängers mit einem Entschachteler,
der gemäß einer
Ausführungsform
der vorliegenden Erfindung eingerichtet ist, darstellt.
-
2 eine
Ansicht ist, die den Entschachteler aus 1 gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt.
-
3 eine
Ansicht ist, die im Detail das Signalspeicherschaltungsmodul aus 2 zeigt.
-
4 eine
Ansicht ist, die detailliert das Datenauswahllogikmodul aus 2 zeigt.
-
5 eine
Ansicht ist, die die Funktionsweise des Schreibadressenlogikmoduls
aus 2 zusammenfasst.
-
6 ein
Zeitablaufdiagramm ist, das das Schreiben verschachtelter Daten
und das Auslesen entschachtelter Daten durch das Entschachteler-Modul
aus 2 gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt.
-
7a, 7b, 7c und 7d Ansichten
sind, die das Speichern von Codierungswortbits in den partionierten
Speicherbänken
aus 2 entsprechend der binären Phasenumtastungsmodulation,
der Quadraturphasenumtastungsmodulation, der 16-QAM-Modulation bzw.
der 64-QAM-Modulation gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigen.
-
8a, 8b und 8c Ansichten
sind, die ein Einfügeverfahren
für ein
Null-Symbol darstellen, das während
des Entschachtels durch den Empfänger
aus 1 angewendet werden kann.
-
Beste Art
zum Ausführen
der Erfindung
-
Die
offenbarte Ausführungsform
wird mit Bezug zu einem Überblick
eines IEEE 802.11-OFDM-Sender/Empfängers beschrieben,
woran sich die detaillierte Beschreibung des Entschachtelers anschließt, der
gemäß einer
Ausführungsform
der vorliegenden Erfindung implementiert wird.
-
Überblick über die
Empfängerarchitektur
-
1 ist
eine Ansicht, in der eine Architektur eines Empfängermoduls 50 eines
Sender/Empfängers
mit orthogonaler Frequenzaufteilung (OFDM) gemäß dem IEEE 802.11-Standard gemäß einer Ausführungsform
der vorliegenden Erfindung gezeigt ist. Das Empfängermodul 50, das
als eine digitale Schaltung eingerichtet ist, umfasst ein I/Q-Fehlanpassungskompensationsmodul 52,
das detektierte drahtlose Signalabtastwerte (in digitaler Form)
von einem R/F-Eingangsbereich, beispielsweise einem Empfängerverstärker, empfängt. Die
erfassten drahtlosen Signalwerte enthalten eine I-Komponente und eine
Q-Komponente: diese I- und Q-Komponenten, die idealerweise orthogonal
zueinander sein sollten und eine gleiche relative Verstärkung aufweisen
sollen, besitzen typischerweise eine nicht orthogonale Phasendifferenz
(d. h. verschieden von 90 Grad) und besitzen ungleiche Amplituden.
Daher ist das I/Q-Fehlanpassungskompensationsmodul ausgebildet,
die nicht übereinstimmenden
I/Q-Komponenten zu kompensieren, um kompensierte Signalabtastwerte
mit angepassten I/Q-Komponenten mit einer orthogonalen Phasendifferenz
und einem gleichen relativen Verstärkungsverhältnis zu erzeugen.
-
Das
Empfängermodul 50 umfasst
ferner ein Modul 54 für
das Einstellen des dynamischen Bereichs bzw. ein Dynamikbereicheinstellmodul.
Das Dynamikbereicheinstellmodul 54 ist ausgebildet, die Amplitude
der kompensierten Signalabtastwerte auf einen vorgegebenen Dynamikbereich
für eine
optimierte Signalverarbeitung einzustellen, wodurch eingestellte
Signalabtastwerte gemäß dem vorgegebenen
Dynamikbereich ausgegeben werden.
-
Die
Rotorschaltung bzw. Drehschaltung 56 ist ausgebildet, eine
Kompensation zwischen einer lokalen Trägerfrequenz des Empfängers (d.
h. dem lokalen Osziallator) und der Trägerfrequenz des entfernten
Senders (d. h. der entfernte Oszillator), die zum Senden des drahtlosen
Signals verwendet wird, auszuführen.
Insbesondere ist der Grob/Fein-Frequenz-Offset-Abschätzer bzw. Abschätzungseinheit 58 ausgebildet,
den Unterschied in der Frequenz zwischen der lokalen Trägerfrequenz
des Empfängers und
der Trägerfrequenz
des entfernten Empfängers abzuschätzen und
um diese Differenz einer Phasenschaltung 60 zuzuführen; die
Phasenschaltung 60 wandelt den Differenzwert in einen komplexen
Phasenwert (der die Winkelinformation beinhaltet) um, der der Drehschaltung 56 zugeführt wird.
Somit dreht die Drehschaltung 56 die justierten Signalabtastwerte
auf der Grundlage des komplexen Phasenwertes und gibt gedrehte Signalabtastwerte
aus.
-
Der
Ringpuffer 62 ist ausgebildet, die gedrehten Signalabtastwerte
zu speichern. Insbesondere ist nicht garantiert, dass der Anfang
des Datenpakets innerhalb der Sequenz aus gedrehten Signalabtastwerten
an der gleichen Position liegt. Somit werden die gedrehten Signalabtastwerte
in dem Ringpuffer 62 so gespeichert, dass ein Datenabtastwert
innerhalb einer vorgegebenen Dauer (beispielsweise einer maximalen
Länge eines
Datenpakets) in dem Ringpuffer 62 gefunden und abgerufen
werden kann. Sobald die Kapazitätsgrenze
des Ringpuffers 62 erreicht ist, wird ein neuer Signalabtastwert,
der in dem Ringpuffer 62 zu speichern ist, durch Überschreiben
des ältesten
gespeicherten Signalabtastwertes gespeichert. Somit ermöglicht es
der Ringpuffer 62 dem Empfänger 50, den „Startpunkt" des Datenpaktes
innerhalb der Sequenz aus gedrehten Signalabtastwerten einzustellen.
-
Die
schnelle Fourier-Transformations-(FFT)Schaltung 64 ist
ausgebildet, die Sequenz aus gedrehten Signalabtastwerten im Zeitbereich
in eine Reihe aus Frequenzen im Frequenzbereich mit vorgegebenen
Frequenzpunkten (d. h. „Tönen") umzuwandeln; gemäß der offenbarten
Ausführungsform bildet
die FFT-Schaltung 64 die gedrehten Signalabtastwerte auf
einen Frequenzbereich mit zweiundfünfzig (52) verfügbaren Tönen ab.
-
Insbesondere
werden die verfügbaren
zweiundfünfzig
(52) Töne
verwendet, um Information zu übertragen:
vier (4) Töne
werden als Pilottöne
verwendet und die verbleibenden achtundvierzig (48) werden als Datentöne verwendet,
wobei jeder Ton ein bis sechs (1 bis 6) Bits an Information tragen kann.
Gemäß der IEEE
802.11a/g-Spezifikation sollte das Datenpaket der physikalischen
Schicht eine kurze Übungssequenz,
eine lange Übungssequenz,
ein Signalfeld (das die Datenrate und die Länge der Nutzdaten angibt und
mit der geringsten Datenrate von 6 Mbps codiert ist) und die Nutzdatensymbole, die
in einer von acht Datenraten von 6 Mbps bis 54 Mbps codiert sind,
enthalten. Die FFT-Schaltung 64 bestimmt die Datenrate
aus dem Signalfeld und stellt die Datentöne wieder her.
-
Die
FFT-Schaltung 64 gibt eine Gruppe aus Tondaten an einen
Puffer 66 aus, der als ein erster Pufferbereich 66a,
ein zweiter Pufferbereich 66b und ein Schalter 66c dargestellt
ist: Die FFT-Schaltung 64 gibt abwechselnd die Gruppe aus
Tondaten an den Pufferbereich 66a und 66b aus,
so dass der Schalter 66 eine Gruppe der Tondaten von einem
Pufferbereich (beispielsweise 66a) ausgeben kann, während die
FFT-Schaltung 64 die nächste
Gruppe aus Tondaten an den anderen Pufferbereich (beispielsweise 66b)
ausgibt. Zu be achten ist, dass eine tatsächliche Implementierung eine
Adressierlogik verwenden kann, um die Funktionen des Schalters 66c auszuführen.
-
Da
gewisse Töne,
die von der FFT-Schaltung 64 ausgegeben werden, einer Abschwächung auf Grund
einer Signalabschwächung
und einer Verzerrung auf dem drahtlosen Kanal unterliegen können, ist
eine Entzerrung zur Korrektur der Signalabschwächung erforderlich. Der Entzerrer 68 im
Frequenzbereich ist ausgebildet, die Abschwächung, denen die Töne unterliegen,
umzukehren, um damit entzerrte Töne
bereitzustellen. Die Kanalinformation wird von dem Kanalabschätzer 70 aus
der langen Übungssequenz
in der IEEE 802.11-Präambel erhalten;
die Kanalinformation wird von dem Kanalabschätzer 70 verwendet,
um die Kanaleigenschaften abzuschätzen; die abgeschätzten Kanaleigenschaften
werden dem Frequenzentzerrer 68 zugeführt, um die Entzerrung jedes
Tones zu ermöglichen.
-
Zusätzlich zu
dem Grob/Fein-Frequenzoffsetabschätzer 58, der Phasenschaltung 60 und
dem Kanalabschätzer 70 enthält das Empfängermodul 50 auch
ein Zeitsynchronisiermodul 72, einen Frequenzverfolgungsblock 54,
einen Kanalverfolgungsblock 76 und einen Zeitkorrekturblock 78 zum
Steuern der Signalaufbereitung, um sicherzustellen, dass die empfangenen
Signalabtastwerte in korrekter Weise decodiert werden, um damit
in genauer Weise die Datensymbole wieder herzustellen.
-
Der
Decodierbereich 80 enthält
ein digitales Unterteilungs- bzw. Fenstermodul 82, einen
Entschachtler 84 und einen Viterbi-Decodierer 86.
Das digitale Aufteilungsmodul stellt bis zu 6 Bits aus Symboldaten
aus jedem Ton auf der Grundlage der Datenrate, die in dem Signalfeld
in der Präambel
spezifiziert ist, wieder her. Der Entschachtler 84 führt die umgekehrte
Operation der Verschachtelungsschaltung im Sender aus und bringt
die Daten zurück
in die geeignete Reihenfolge aus entschachtelten Daten. Der Viterbi-Decodierer 86 ist
ausgebildet, die entschachtelten Daten in decodierte Daten gemäß der IEEE
802.11-Spezifikation
zu decodieren.
-
Die
Entwürflerschaltung 90 ist
ausgebildet, den ursprünglichen
seriellen Bitstrom aus den decodierten Daten wieder herzustellen,
indem eine 127-Bit-Sequenz, die von dem Verwürfler des Senders gemäß der IEEE
802.11-Spezifikation erzeugt wurde, wieder zu entwürfeln. Die
Entwürflerschaltung 90 verwendet
eine Verwürfelungssaateinrichtung,
die aus dem Dienstfeld des Datenpakets durch die Saateinheitabschützschaltung 92 gewonnen wird, um
den Entwürfelungsvorgang
durchzuführen.
Die Signalfeldinformation aus der Präambel wird auch in einem Signalfeldpuffer 64 gespeichert,
der ausgebildet ist, die Länge
und die Datenrate der Nutzdaten in dem Datenpaket zu speichern.
Die Gesamtsteuerung der Komponenten des Empfängers 50 wird von
der Zustandsmaschine 96 durchgeführt.
-
Somit
wird der serielle Bitstrom, der von Entwürflerschaltung 90 wieder
hergestellt wird, an eine IEEE 802.11-kompatible Mediumszugriffssteuerung (MAC)
ausgegeben.
-
Entschachtler
mit partionierten Speicherbänken
-
2 ist
eine Ansicht, die detailliert das Entschachtlermodul 84 aus 1 gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt. Das Entschachtler-Modul 84 umfasst
eine Gruppe aus partionierten Speicherbänken 100 (beispielsweise 100a, 100b, 100c und 100d),
ein Schreiblogikmodul 102, ein Ausgabemodul 104 und
eine Füllschaltung 106.
-
Das
Entschachtler-Modul 84 empfängt einen Eingangsdatenstrom 108 aus
verschachtelten Daten für
ein Codierungswort. Insbesondere werden Paketdaten in Form von Bits
vor dem Senden aus zwei Gründen
verschachtelt: benachbarte codierte Bits werden nicht benachbarten
Subträgerfrequenzen
(d. h. Tönen)
zugeordnet, um eine frequenzselektive Abschwächung zu verhindern; und benachbarte
codierte Bits werden abwechselnd niedrigeren oder höher signifikanten
Bits in der Konstellation zugeordnet, um ein weißes Rauschen zu reduzieren.
Somit ist der Eingangsdatenstrom für das Entschachtler-Modul 84 aus
Fragmenten 110 aus einem Codierungswort (beispielsweise
einem 48-Bit-Codierungswort, einem 96-Bit-Codierungswort, einem
192-Bit-Codierungswort oder einem 288-Bit-Codierungswort) zusammengesetzt, wobei
jedes Fragment auf einem speziellen Ton gesendet wird. Somit ermöglicht das
Sammeln der Fragmente über
die achtundvierzig (48) Datentöne
hinweg eine Wiederherstellung des ursprünglichen Codierungswortes.
-
Der
offenbarte Entschachtler 84 ist ausgebildet, die Codierungswortfragmente
aus dem verschachtelten Datenstrom 108 in den partionierten Speicherbänken 100 in
einer seriellen Reihenfolge, wie sie nachfolgend beschrieben ist,
zu speichern, wobei eine Gruppe aus aufeinanderfolgenden Codierungswortfragmenten 110 in
der entsprechenden Gruppe partionierter Speicherbänke gespeichert wird.
Somit wird die erste Gruppe des ersten bzw. des zweiten bzw. dritten
bzw. vierten Codierungswortfragments 110 in der Speicherbank 100a bzw. 100b bzw. 100c bzw. 100d gespeichert,
und die nächste
Gruppe des fünften
bzw. sechsten bzw. siebenten bzw. achten Codierungswortfragments 110 wird
in der Speicherbank 100a bzw. 100b bzw. 100c bzw. 100d gespeichert.
-
Das
Schreiblogikmodul 102 enthält einen Signalspeicherschaltungsmodulabschnitt 112,
ein Datenauswahllogikmodul 114, ein Schreibfreigabelogikmodul 116 und
ein Schreibadressenlogikmodul 118. Wie nachfolgend beschrieben
ist, ermöglichen
es diese Module, dass die Decodierungswortbits für ein gegebenes Codierungswortfragment 110 in
der entsprechenden Speicherbank (beispielsweise 100a) auf
der Grundlage der vorgegebenen Modulation und der entsprechenden
vorgegebenen Subträgerfrequenz
gespeichert werden, wodurch die Verschachtelungsoperationen auf
der Grundlage des Schreibens der Codierungswortbits in die partionierten Speicherbänke 100 ausgeführt werden.
Somit gibt das Ausgabemodul 104 entschachtelte Daten 120 aus,
indem parallel Codierungswortbits aus einer vorgegebenen Adresse
(rd_addr) der Speicherbänke 100 ausgelesen
werden.
-
Wie
nachfolgend detailliert beschrieben ist, ist das Schreiblogikmodul 102 ausgebildet,
für jede Speicherbank
(beispielsweise 100a) Codierungswortbits für ein entsprechendes
Codierungswortfragment in den entsprechenden ausgewählten Stellen auf
der Grundlage der verwendeten Modulation (beispielsweise BPSK, QPSK,
16-QAM oder 64-QAM) und auf der Grundlage der Subträgerfrequenz
(d. h. der Nummer des Tones) der zum Modulieren des entsprechenden
Codierungswortfragments verwendet wird, zu speichern. Die Bitauswahl
wird durch das Datenauswahlmodul 114 durchgeführt, und
die Auswahl der Adresse wird von dem Schreibadressenlogikmodul 118 durchgeführt.
-
3 ist
eine Blockansicht, in der detailliert der Signalspeicherschaltungsmodulabschnitt 112 aus 2 gezeigt
ist. Der Signalspeicherschaltungsmodulabschnitt 112 enthält Signalspeichermodule 112a, 122b, 122c (nicht
gezeigt) und 122d für
jede der entsprechenden Speicherbänke 100a, 100b, 100c und 100d.
Jedes Signalspeicherschaltungsmodul 122 enthält ein sechselementiges
Register 124, das zur Zwischenspeicherung jedes entsprechenden Codierungswortfragments
in Reaktion auf ein Speichersignal, das nachfolgend beschrieben
wird, und einen Multiplexer 126 ausgebildet ist. Der Multiplexer 126 ist
ausgebildet, ein ausgewähltes
Bit des gespeicherten Codierungswortfragments an die entsprechende
Speicherbank (beispielsweise 100a) in Reaktion auf ein
Bitauswahlsignal (beispielsweise msel_0) auszugeben.
-
Die
Bitauswahlsignale (beispielsweise msel_0), die den Multiplexern 126 zugeführt werden, werden
von dem Datenauswahllogikmodul 114 erzeugt. 4 ist
eine vereinfachte Darstellung des Datenauswahllogikmoduls 114.
Das Datenauswahllogikmodul 114 umfasst die Entschachtler-Sequenzlogik 130,
die ausgebildet ist, eine Bitentschachtelungssequenz, beispielsweise 132a,
auf der Grundlage (teilweise) der entsprechenden Subträgerfrequenz
auszuwählen,
die für
das entsprechende Codierungswortfragment verwendet wird. Insbesondere werden
die Verschachtelungssequenzen in dem Sender auf der Grundlage der
Subträgerfrequenz
(d. h. der Nummer des Tones), die für die Modulation verwendet
wird, und der Modulationsart ausgewählt, die die Anzahl der Bits
bestimmt, die in einer gegebenen Nummer des Tones moduliert werden.
Somit bildet im Falle einer 64-QAM die Entschachtelungssequenzlogik 120 den
erkannten Ton auf eine von drei verfügbaren Entschachtelungssequenzen 132a, 132b oder 132c ab.
-
Der
Multiplexer 140 ist ausgebildet, die entschachtelte Sequenz
für die
geeignete Modulation (beispielsweise keine Sequenz für BPSK,
1-2-Sequenz für
QPSK, 1-2-3-4 oder 2-1-4-3 für
16-QAM und 1-2-3-4-5-6, 3-1-2-6-4-5 oder 2-3-1-5-6-4 für 64-QAM)
auszugeben. Es können
auch andere Sequenzen verwendet werden. Obwohl dies in 4 nicht
gezeigt ist, werden die Bitentschachtelungssequenzen aufeinanderfolgend
bei jedem Taktzyklus bereitgestellt, wodurch der entsprechende Multiplexer 126 das
geeignete ausgewählte
Bit bei jedem Taktzyklus zur Speicherung in der entsprechenden Speicherbank
(beispielsweise 100a) ausgegeben kann. Des weiteren führt das
Datenauswahlmodul 114 die Auswahl an Bitentschaltelungssequenzen
für jeden
der Multiplexer 126 der Signalspeicherschaltungsmodul 122a, 122b, 122c und 122d durch.
-
5 ist
eine Ansicht, die das Schreibadressenlogikmodul 118 aus 2 zeigt.
Das Schreibadresslogikmodul 118 ist ausgebildet, für jedes
Codierungswortfragmet die entsprechenden Adressen für die Speicherung
der Codierungswortbits auf der Grundlage der Modulation, der Subträgerfrequenz und
eines vorgegebenen Offsets relativ zu jeder aufeinanderfolgenden
Gruppe aus aufeinanderfolgenden Codierungswortfragmenten auszuwählen. Insbesondere
umfasst das Schreibadressenlogikmodul 118 Signalspeicher
bzw. Latches 142, die es ermöglichen, dass ein erzeugter
Adressenwert über
die entsprechenden Speicherbänke 100 kaskadiert
wird (d. h. linear verschoben). Somit wird eine gegebene Adresse
(beispielsweise waddr_i=0) zuerst zu der Speicherbank 100a übertragen
(waddr_0=0) für
das erste Codierungswortbit, das zuspeichern ist; nach zwei Taktzyklen
wird die Adresse der nächsten Speicherbank 100b (waddr_1=0)
für das
entsprechende erste Codierungswortbit, das zu speichern ist, zugeführt, usw.,
so dass die Speicherbänke
die Adressierlogik gemeinsam benutzen können. Die nächste Adresse (waddr_0=4) für das nächste Codierungswortbit,
das zu speichern ist, wird dann im nächsten Taktzyklus weitergegeben.
-
Das
Schreibadressenlogikmodul 118 umfasst ferner eine Logik 144 auf
Multiplexerbasis und einen Addierer 146. Der Addierer 146 wird
verwendet, um einen vorgegebenen Versatz bzw. Offset für jedes
Codierungswortbit zu addieren, das in der Speicherbank zu speichern
ist; wie in 5 gezeigt ist, wird der Offset-Wert
auf einen Wert von „Offset
= 4" gesetzt. Wie
in 5 gezeigt ist, werden die sechs (6) Codierungswortbits
für jedes
Codierungswortfragment in der ersten Gruppe, die den Speicherbänken 100a, 100b, 100c und 100d ausgeführt werden,
an der Adresse 0, 4, 8, 12, 16 und 20 gespeichert (wobei eine 64-QAM
angenommen wird).
-
Sobald
die erste Gruppe aus Codierungswortfragmenten gespeichert ist, wählt die
Multiplexerlogik 144 die nächste Gruppe verfügbarer Adressen
(beispielsweise „1 ") zur Speicherung
der nächsten
Gruppe aus Codierungswortfragmenten aus.
-
6 ist
ein Zeitablaufdiagramm, das das Schreiben verschachtelter Daten 108 in
die Speicherbänke 100 und
das Auslesen der verschachtelten Daten 120 gemäß einer
Ausführungsform
der vorliegenden Erfindung darstellt. 6 zeigt ein
Taktsignal 150, ein Rücksetz-
bzw. Reset-Signal 152, den eintreffenden Datenstrom 108 aus
Codierungswortfragmenten 110, eine Datengültigkeitsmarkierung 154,
eine Tonidentifizierung 156, die die entsprechende Subträgerfrequenz
für das
entsprechende Codierungswortfragment 110 kennzeichnet,
eine Modulationsratenidentifizierung 158, das Schreibzustandsstatussignal 160,
ein Lesestartsignal 162, ein Lesezustandsstatussignal 164,
Ausgabedaten 130 und eine Ausgabendatengültigkeitsmarkierung 166.
-
7a, 7b, 7c und 7d zeigen die
Speicherung von Codierungswortfragmenten gemäß einer BPSK-(1-Bit-)Modulation,
einer QPSK-(2-Bit-)Modulation, einer 16-QAM-(4-Bit)Modulation und
einer 64-QAM(6-Bit)Modulation. In jeder der 7a, 7b, 7c und 7d wird
die Sequenz 108 der Codierungswortfragmente entsprechend
den achtundvierzig (48) Datentö nen
gemäß der Sequenz
38, 41, 45, 48, 51, 54, 58, 61, 1, 4, 8, 11, 14, 17, 20, 24, 39,
42, 46, 49, ..., 3, 6, 10, 13, 16, 19, 23, 26 gespeichert.
-
Gemäß 6 speichert
die Signalspeicherschaltung 122a das erste Codierungswortfragment 110 (val38),
gefolgt von dem Rücksetzsignal
beim Ereignis 170, an der ansteigenden Taktsignalflanke
des Ereignisses 172 auf der Grundlage des Speichersignals
(nicht gezeigt). Der Wert der Tonnummer 156 wird dem Datenauswahllogikmodul 114 und
dem Schreibadressenlogikmodul 118 zugeleitet, wodurch die
Erkennung der geeigneten Entschachtelungssequenz 132 aus 4 ermöglicht wird.
Ferner spezifiziert die Modulationsrate 158 die Modulationsart
(beispielsweise 6 Mbps entsprechend BPSK). Der Einfachheit halber
wird angenommen, dass BPSK verwendet wird, und somit werden die
Codierungswortfragmente 110 in den Speicherbänken 100 gespeichert,
wie dies in 7a gezeigt ist. Da lediglich
ein einzelnes Bit in einem BPSK-modulierten Codierungswortfragment 110 repräsentiert
ist, liefert der Multiplexer 144 des Schreibadressenlogikmoduls 118 die
Schreibadressen in einer zusammenhängenden Reihenfolge. Das Ausgabemodul 104 beginnt mit
der parallelen Ausgabe der 4-Bit-Ausgangswerte 120 beginnend
beim Ereignis 184.
-
Im
Falle von QPSK, wie in 7b gezeigt ist, erzeugt das
Datenauswahllogikmodul 114 Auswahlsignale für die Multiplexer 126,
um die Codierungswortbits 190 entsprechend der Sequenz
1, 2, 1, 2, usw. bereitzustellen. Das Schreibadressenlogikmodul 118 liefert
die Schreibadresse für
das Schreiben jedes Codierungswortbits 190. Somit speichert
beim Ereignis 172 das Signalspeicherschaltungsmodul 122a das
Codierungswortbit 190a in der Speicherbank 100a an
der Adresse „0"; beim Ereignis 174 speichert
das Signalspeicherschaltungsmodul 122a das Codierungswortbit 190b in
der Speicherbank 100a bei der Adresse „4".
-
Beim
Ereignis 176 wird das Codierungswortfragment 108 für die nächste Subträgerfrequenz „41" in dem Signalspeicherschaltungsmodul 122b zwischengespeichert,
und das Codierungswortbit 190e (41.1) wird in die Speicherbank 100b an
der Adresse „0" geschrieben, woran
sich beim Ereignis 178 die Speicherung des nächstes Codierungswortbits 190f in
der Speicherbank 100b an der Adresse „b" anschließt.
-
Nachdem
die erste Gruppe aus Codierungswortfragmenten für die Töne 38, 41, 45 und 48 gespeichert
ist, erhöht
das Schreibadressenlogikmodul 118 den Adressenzeiger zum
Spei chern der Codierungswortbits (beispielsweise 190c und 190d)
für das
nächste
Codierungswortfragment in den Adressen „1" bzw. „5". Die Speichersequenz geht weiter, bis
das letzte Codierungswortfragment entsprechend dem Ton 26 gespeichert
ist.
-
7c zeigt
die Speicherung der 4-Bit-16-QAM-modulierten Codierungswortfragmente 110.
Insbesondere werden die Codierungswortbits 190g, 190h, 190i und 190j für das Codierungswortfragment 110,
das dem Ton 38 entspricht, bei den Ereignissen 172, 174, 176 und 178 jeweils
an den Adressen „0", „4", „8" und „c" (hexadezimal) gespeichert.
Die Codierungswortbits 190k, 190l, 190m und 190n für das Codierungswortfragment 110,
das dem Ton 41 entspricht, werden bei den Ereignissen 176, 178, 180 und 182 jeweils
an den Adressen „0", „4", „8" und „c" (hexadezimal) gespeichert.
-
Zu
beachten ist, dass die Codierungswortbits 190g, 190h, 190i und 190j für das Codierungswortfragment 110,
das dem Ton 38 entspricht, entsprechend der Bit-Entschachtelungssequenz 132e („1-2-3-4") geschrieben werden,
wohingegen die Codierungswortbits 100k, 100l, 100m und 100n für das Codierungswortfragment 110,
das dem Ton 41 entspricht, entsprechend der Bit-Entschachtelungssequenz 122e („2-1-4-3") geschrieben werden.
Wie zuvor beschrieben ist, kann die Bit-Entschachtelungssequenz
für die
entsprechende Modulationsrate auf der Grundlage der Nummer des Tons
ausgewählt werden,
wobei jeder Ton auf eine vorgegebene Gruppe aus Entschachtelungssequenzen 132 über die Entschachtelungssequenzlogik 130 abgebildet
wird. Somit enthält
der erste 4-Bit-Ausgangswert 120 beim Ereignis 184 die
Bits „38.1,
41.2, 45.1 und 48.2",
woran sich der nächste
4-Bit-Ausgabewert beim Ereignis 186 mit den Bits „51.1,
54.2, 58.1, 61.2" anschließt.
-
7d zeigt
das Speichern der 6-Bit-64-QAM-modulierten Codierungswortfragmente 110.
Insbesondere werden die Codierungswortbits 190o, 190p, 190q, 190r, 190s und 190t für das Codierungswortfragment 110,
das dem Ton 38 entspricht, bei den Ereignissen 172, 174, 176, 178, 180 und 182 an
den Adressen „0", „4", „8", „c", „10" und „14" (hexadezimal) gespeichert.
Die Codierungswortbits für
die Codierungswortfragmente 110, die den Tönen 41,
45 und 48 entsprechen, werden ebenso an den Adressen „0", „4", „8", „c", „10" und „14" (hexadezimal) gespeichert.
-
Zu
beachten ist jedoch, dass die Codierungswortbits für die Codierungswortfragmente 110,
die den Tönen
38 und 48 entsprechen, gemäß der Sequenz 132a („1-2-3-4-5-6") gespeichert werden,
die Decodierungswortbits für
die Codierungswortfragmente 110 entsprechend den Tönen 41 und
45 gemäß der Sequenz 132b („3-1-2-6-4-5") bzw. entsprechend
der Sequenz 132c („2-3-1-5-6-4") gespeichert werden.
Obwohl somit das gleiche Adressierschema für die Gruppe aus Codierungswortfragmenten
für die
ersten vier Töne
38, 41, 45 und 48 verwendet wird, werden unterschiedliche Entschachtelungssequenzen 132 für die Signalspeicherschaltungsmodule 122 auf
der Grundlage der Nummer des Tones für das vorgegebene Modulationsschema
ausgewählt. Wie
zuvor beschrieben ist, wird die Bit-Entschachtelungssequenz für die entsprechende
Modulationsrate auf der Grundlage der Nummer des Tones ausgewählt, wobei
jede Tonnummer einer vorgegebenen Gruppe aus Entschachtelungssequenzen
(beispielsweise 132a, 132b oder 132c)
mittels der Entschachtelungssequenzlogik 130 zugeordnet
ist. Somit enthält
der erste 4-Bit-Ausgabewert 120 beim Ereignis 184 die
Bits „38.1,
41.3, 45.2 und 48.1 ",
woran sich der nächste
4-Bit-Ausgabewert
beim Ereignis 186 mit den Bits „51.3. 54.2, 58.1, 61.3" anschließt.
-
Ferner
wird die Adressauswahl für
jede aufeinanderfolgende Gruppe aus Codierwortfragmenten durch die
Adressenauswahllogik 144 der 5 gesteuert
(zu beachten ist, dass Adressenwerte in 5 dezimal
sind), wodurch das Schreibadressenlogikmodul 118 in die
Lage versetzt wird, Adressen auf der Grundlage des Modulationsschemas
und der Nummer des Tones auszuwählen.
-
Gemäß der offenbarten
Ausführungsform
ermöglicht
eine Architektur mit mehreren Speicherbänken, dass Daten beim Schreiben
der Codierungswortfragmente in den Speicher entschachtelt werden,
wodurch es möglich
ist, die Adressierung und die Entschachtelungslogik in flexibler
Weise zu implementieren, so dass das Entschachtelungsmodul 84 in
der Lage ist, die Flexibilität
beim Entschachteln unterschiedlicher Modulationsratendatenströme in der gleichen
Architektur bereitzustellen. Ferner minimiert das Schema mit serieller
Eingabe/paralleler Ausgabe die Verarbeitungszeit in dem Entschachtelungsprozess,
wodurch die entschachtelten Daten ausgegeben werden, sobald die
erste Reihe aus Daten gespeichert ist. Des weiteren wird die Gesamtbearbeitungszeit
kleiner als eine OFDM-Symbollänge (160 Taktzyklen
bei 40 MHz) auf Grund der überlappenden Schreib-
und Leseoperationen und auf Grund einer kaskadierten Bit-Entschachtelung.
Somit ist das Ausgabemodul 104 ausgebildet, die entschachtelten
Daten für
ein gesamtes Codierungswort aus den Speicherbänken 100 innerhalb
einer einzigen OFDM-Symbolzeit 200 des Empfangs der verschachtelten
Daten durch das Entschachtelungsmodul auszugeben.
-
Verfahren zum Einfügen eines
Null-Symbols während
der Entschachtelung
-
Gewisse
Datenraten in der IEEE 802.11a-Spezifkation verwenden „mit Lücken versehene" Codierungswörter (Bit-Stehl-Funktion).
Codierungsraten, die nicht Vielfache von ½ sind, d. h. „mit Lücken versehende" Codierungswörter machen
eine Viterbi-Decodierung schwieriger auf Grund der Eingangssequenzen
mit ungerader Länge.
-
Das
folgende Verfahren zum Einfügen
von Null-Symbolen bewahrt eine konstante Eingangsdatenlänge für den Viterbi-Decodierer,
während
Anforderungen für
die Hardware minimiert werden. 8a zeigt
ein repräsentatives
Codierungswort 200 vor der Einfügung eines Null-Symbols und
ein Codierungswort 202 nach dem Einfügen eines Null-Symbols. Das
Entschachteln erfordert ein Speichern eines gesamten Codierungswortes
in dem Speicher; da jedoch das Muster aus Null-Symbolen wiederholend
ist und a priori bekannt ist, kann statt dem Speichern der Null-Symbole
in dem Entschachteler-Speicher, wie in 8b gezeigt
ist, Speicherplatz eingespart werden, indem die Null-Symbole („0") nach dem Auslesen
der Daten aus dem Entschachteler-Speicher eingefügt werden, wie in 8c gezeigt
ist.
-
Für das größte OFDM-Codierungswort
mit 288 Werten vor dem Einfügen
und mit 432 Werten nach dem Einfügen
spart diese Anordnung 144 Speicherelemente bei ungefähr 1 kbit
Einsparung bei einer 7-Bit-breiten/elementigen Anwendung.
-
Obwohl
diese Erfindung im Zusammenhang damit beschrieben ist, was aktuell
als die bevorzugteste Ausführungsform
erachtet wird, ist es selbstverständlich, dass die Erfindung
nicht auf die offenbarten Ausführungsformen
beschränkt
ist, sondern es ist beabsichtigt, diverse Modifizierungen und äquivalente
Anordnungen abzudecken, die innerhalb des Schutzbereichs der angefügten Patentansprüche liegen.
-
Industrielle Anwendbarkeit
-
Die
vorliegende Erfindung ist auf Computer in Netzwerken und drahtlose
Netzwerkcomputersysteme anwendbar.