-
Technisches Gebiet
-
Die Erfindung bezieht sich auf drahtlose Kommunikationen im Allgemeinen und, im Spezielleren, auf Techniken zum Implementieren von MIMO mit geschlossenem Regelkreis in Systemen, die sowohl Einzelnutzer-(single-user)-MIMO-Teilnehmerstationen als auch Mehrnutzer-(multi-user)-MIMO-Teilnehmerstationen aufweisen.
-
Hintergrund der Erfindung
-
Es werden drahtlose Kommunikationssysteme entwickelt, die es sowohl Einzelnutzer-(single-user)-MIMO-Teilnehmerstationen als auch Mehrnutzer-(multi-user)-MIMO-Teilnehmerstationen gestatten, innerhalb eines gemeinsamen Netzwerkgebietes zu arbeiten. Es werden Techniken benötigt, um einen effizienten Betrieb solcher Systeme zu unterstützen.
-
Inter-Digital Communications, LLC: ”MU-MIMO Codebook Subset Selection and Signalling Considerations for E-UTRA”, R1-073353, 3GPP TSG RAN WGI Meeting #50, Athen, Griechenland, 20.–24. August 2007, beschreibt Mehrnutzer-MIMO-Verfahren, bei denen entweder das vollständige Codebuch für Einzelnutzer-MIMO oder eine Teilmenge davon als Codebuch für Mehrnutzer-MIMO verwendet wird. Beispielsweise wird vorgeschlagen, die ersten 8 Vektoren des Einzelnutzer-MIMO-Codebuchs als Mehrnutzer-MIMO-Codebuch zu verwenden.
-
Kurze Beschreibung der Figuren
-
1 ist ein Blockdiagramm, das eine beispielhafte drahtlose SU-MIMO-Kommunikationsanordnung zeigt, welche ein MIMO mit geschlossenem Regelkreis gemäß einer Ausführungsform der vorliegenden Erfindung verwendet;
-
2 ist ein Blockdiagramm, das eine beispielhafte drahtlose MU-MIMO-Kommunikationsanordnung zeigt, die ein MIMO mit geschlossenem Regelkreis gemäß einer Ausführungsform der vorliegenden Erfindung verwendet;
-
3 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Erzeugen eines Mehrfachauflösungscodebuchs gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
-
4 und 5 sind Teile eines Flussdiagramms, dass ein beispielhaftes Verfahren zum Erzeugen eines Grobcodebuchs zum Verwenden mit SU-MIMO-Teilnehmerstationen aus einem Feincodebuch zum Verwenden mit MU-MIMO-Teilnehmerstationen gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
-
6 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Erzeugen eines Mehrfachauflösungscodebuchs gemäß einer anderen Ausführungsform der vorliegenden Erfindung zeigt;
-
7 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Verwenden beim Erzeugen eines Feincodebuchs zeigt, das M Codewörter eines Grobcodebuchs und N-M zufällig erzeugte Vektoren als Initialcodewörter verwendet gemäß einer Ausführungsform der vorliegenden Erfindung;
-
8 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Verwenden eines Verfolgungscodebuchs zum Aktualisieren von kanalbezogenen Informationen zeigt, gemäß einer Ausführungsform der vorliegenden Erfindung;
-
9 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zeigt, das verwendet werden kann, um Teilnehmerstationen zu finden, die annähernd orthogonale strahlbildende Vektoren aufweisen, gemäß einer Ausführungsform der vorliegenden Erfindung; und
-
10 ist ein Diagramm, das ein Verfolgungscodebuch zeigt, das Einheitsvektoren auf einer Kappe einer Kugel mit einem Radius r und einer Höhe h aufweist gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Detaillierte Beschreibung
-
In der folgenden detaillierten Beschreibung wird Bezug genommen auf die beigefügten Zeichnungen, die mittels Illustrationen spezielle Ausführungsformen zeigen, in denen die Erfindung angewendet werden kann. Diese Ausführungsformen sind in hinreichendem Detail beschrieben, um Fachleute in die Lage zu versetzen, die Erfindung anzuwenden. Es muss verstanden werden, dass sich die verschiedenen Ausführungsformen der Erfindung nicht notwendigerweise gegenseitig ausschließen, obwohl sie unterschiedlich sind. Z. B. kann ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum, das hier in Verbindung mit einer Ausführungsform beschrieben ist, innerhalb anderer Ausführungsformen eingesetzt werden, ohne von dem Geist und dem Umfang der Erfindung abzuweichen. Es muss ferner verstanden werden, dass die Positionierung oder die Anordnung einzelner Elemente innerhalb jeder offenbarten Ausführungsform verändert werden kann, ohne von dem Geist und dem Umfang der Erfindung abzuweichen. Die folgende detaillierte Beschreibung darf daher nicht in einem beschränkenden Sinne verstanden werden, und der Umfang der vorliegenden Erfindung ist nur durch die beigefügten Ansprüche – geeignet ausgelegt – zusammen mit dem vollen Bereich von Äquivalenten, zu denen die Ansprüche berechtigt sind, definiert. In den Zeichnungen beziehen sich ähnliche Bezugszeichen in den verschiedenen Ansichten auf die gleiche oder eine ähnliche Funktionalität.
-
Mehrfacher Eingang, mehrfacher Ausgang (Multiple Input, Multiple Output – MIMO) ist eine drahtlose Kommunikationstechnik, bei der sowohl eine Übertragungseinrichtung als auch eine Empfangseinrichtung mehrere Antennen verwendet, um eine drahtlose Kommunikationsverbindung zwischen den Einrichtungen (z. B. einen MIMO-Kanal) zu unterstützen. MIMO kann entweder als eine Technik mit offenem Regelkreis oder mit geschlossenem Regelkreis angewendet werden. In einem MIMO mit offenen Regelkreis hat die Übertragungseinrichtung keine Kenntnis über den aktuellen Zustand des MIMO-Kanals, bevor Daten an die Empfangseinrichtung übertragen werden. In einem MIMO mit geschlossenem Regelkreis erhält die Übertragungseinrichtung andererseits Informationen über den MIMO-Kanal und verwendet diese Informationen, um Daten vor der Übertragung vorzukodieren, um die Daten auf den Kanal abzustimmen. Die Informationen, die von der Übertragungseinrichtung erhalten werden, können einen oder mehrere strahlbildende Vektoren aufweisen (z. B. einzelne Vektoren, etc.), die es der Übertragungseinrichtung erlauben, übertragene Signale auf geeignete Weise durch den MIMO-Kanal zu steuern.
-
In einem möglichen Ansatz erhält die Übertragungseinrichtung die kanalbezogenen Informationen als Rückkopplung von der Empfangseinrichtung. Das heißt, die Übertragungseinrichtung kann zunächst kanalsondierende Signale an die Empfangseinrichtung senden, die es der Empfangseinrichtung gestatten, den Abwärtskanal abzuschätzen, um eine Kanalmatrix zu erzeugen. Die Empfangseinrichtung kann dann diese Kanalmatrix verarbeiten, um strahlbildende Informationen zu erzeugen (z. B. einen oder mehrere strahlbildende Vektoren), die dazu dienen, von der Übertragungseinrichtung verwendet zu werden. Die Empfangseinrichtung kann z. B. eine Matrix-Zerlegungstechnik verwenden (z. B. Einzelwertzerlegung (Singular Value Decomposition – SVD), etc), um die strahlbildenden Informationen zu erzeugen. Die strahlbildenden Informationen können dann an die Übertragungseinrichtung zum Verwenden beim Vorkodieren eines folgenden Übertragungssignals rückgekoppelt werden. In Mehrträgersystemen, wie z. B. Orthogonalfrequenzteilungsmultiplex–(Orthogonal Frequency Division Multiplexing – OFDM)-Systemen, können mehrere strahlbildende Vektoren rückgekoppelt werden, um die mehreren Unterträger des Systems zu unterstützen. Wie anerkannt werden wird, kann die Informationsmenge, die in einer MIMO-Anordnung mit geschlossenem Regelkreis zurückgekoppelt wird, sehr groß sein. Diese Rückkopplungsinformationen stellen einen Überhang in dem zugrunde liegenden System dar, welcher einen direkten Einfluss auf den gesamten Datendurchsatz haben kann, der in dem System erreicht werden kann. Eine Technik, die angewandt werden kann, um den Umfang der Rückkopplung in einem MIMO-System mit geschlossenem Regelkreis zu beschränken, ist Vektorquantisierung. Vektorquantisierung definiert eine endliche Anzahl von Vektoren (d. h. ein Codebuch), die als Rückkopplung in dem System verwendet werden. Jeder der Vektoren in dem Codebuch besitzt eine Indexzahl zum Verwenden beim Identifizieren des Vektors, die mit diesem in Verbindung steht. Wenn eine Empfangseinrichtung einen strahlbildenden Vektor erzeugt hat, der dazu dient, an eine Übertragungseinrichtung rückgekoppelt zu werden, kann sie zunächst bestimmen, welcher Vektor (oder Codewort) in dem Codebuch dem tatsächlichen strahlbildenden Vektor am meisten ähnelt. Der Index des ausgewählten Vektors wird dann an die Übertragungseinrichtung rückgekoppelt. Die Übertragungseinrichtung kennt den Codebuch-Vektor, der mit dem rückgekoppelten Index in Verbindung steht, und verwendet diesen Vektor, um ein Sende-Vorkodieren durchzuführen. Die Größe des Index' ist wesentlich kleiner als die des ursprünglichen strahlbildenen Vektors und reduziert daher die Menge an Informationen, die rückgekoppelt werden sollen, wesentlich. Auch Matrixquantisierung kann verwendet werden.
-
1 ist ein Blockdiagramm, das eine beispielhafte drahtlose Kommunikationsanordnung 10 zeigt, die ein MIMO mit geschlossenen Regelkreis gemäß einer Ausführungsform der vorliegenden Erfindung verwendet. Die Anordnung 10 realisiert eine Technik, die als Einzelnutzer-MIMO (single-user MIMO – SU-MIMO) bekannt ist. Bei SU-MIMO kommuniziert eine Basisstation 12 mit einer einzigen Teilnehmerstation 14 zur Zeit über einen entsprechenden MIMO-Kanal. Wie vorher beschrieben, kann die Basisstation 12 zunächst eine Kanalsondierung über den Kanal an die Teilnehmerstation 14 übertragen. Die Teilnehmerstation 14 verwendet die Kanalsondierung dann, um eine Kanalmatrix und strahlbildende Informationen (z. B. einen oder mehrere strahlbildende Vektoren) zu erzeugen. Die strahlbildenden Informationen können dann an die Basisstation 12 zum Verwenden beim Durchführen eines Vorkodierens bei einer folgenden Datenübertragung rückgekoppelt werden. Wie vorher beschrieben können Vektorquantisierungstechniken verwendet werden, um die strahlbildenden Informationen zu Quantisieren, bevor sie zurück übertragen werden.
-
Wie gezeigt können die Basisstation 12 und die Teilnehmerstation 14 jeweils einen drahtlosen Sender-Empfänger aufweisen, um drahtlose Signale von dem MIMO-Kanal zu empfangen und drahtlose Signale in den MIMO-Kanal zu übertragen. Die Basisstation 12 und die Teilnehmerstation 14 können jeweils auch eine Steuereinheit aufweisen, um verschiedene Basisbandsteuerungsfunktionen für die jeweiligen Einrichtungen durchzuführen. Steuereinrichtungen können jeweils beispielsweise unter Verwenden einer oder mehrer Digitalverarbeitungseinrichtungen realisiert sein. Es kann jede Art von Digitalverarbeitungseinrichtungen verwendet werden inklusive z. B. Vielzweckmikroprozessoren, Digitalsignalprozessoren (DSP), Computer mit reduzierter Anweisungsmenge (Reduced Instruction Set Computers – RISC), Computer mit Komplexanweisungsmenge (CISC), benutzerprogrammierbare Gatterfelder (Field Programmable Gate Arrays – FPGA), anwendungsspezifische integrierte Schaltkreise (Application Specific Integrated Circuits – ASIC), Mikrosteuerungseinheiten und/oder andere, inklusive Kombinationen der oben genannten.
-
In einer anderen Technik, die als Mehrnutzer-MIMO (multiple-user MIMO, MU-MIMO) bekannt ist, kann eine Basisstation mit mehreren Teilnehmerstationen zur gleichen Zeit und innerhalb des gleichen Frequenzbandes kommunizieren. 2 ist ein Blockdiagramm, das eine beispielhafte drahtlose Kommunikationsanordnung 20 zeigt, die ein MU-MIMO mit geschlossenem Regelkreis gemäß einer Ausführungsform der vorliegenden Erfindung verwendet. Wie gezeigt überträgt eine Basisstation 22 sowohl an die Teilnehmerstation 24 als auch an die Teilnehmerstation 26 zur gleichen Zeit in dem gleichen Frequenzband. Um dies zu ermöglichen, verwendet MU-MIMO ein Konzept, das als Vielfachzugriff durch Raummultiplexzierung (Special Division Multiple Access – SDMA) bekannt ist. Dies bedeutet, dass die Basisstation 22 Teilnehmerstationen auswählt, die ungefähr orthogonale strahlbildende Vektoren zur gleichzeitigen Kommunikation aufweisen.
-
Um SDMA zu realisieren, muss die Basisstation 22 kanalbezogene Informationen (z. B. strahlbildende Vektoren, etc.) von den Teilnehmerstationen erhalten. In einem Ansatz kann die Basisstation 22 kanalbezogene Informationen von einer großen Anzahl von Teilnehmerstationen in einer entsprechenden Zelle sammeln und die Informationen dann analysieren, um eine kleinere Anzahl von Teilnehmerstationen für eine gleichzeitige Kommunikation auszuwählen. Die Basisstation 22 kann die kanalbezogenen Informationen dann verwenden, um ein Vorkodieren zum gleichzeitigen Übertragen an die ausgewählten Teilnehmerstationen durchzuführen. Die kanalbezogenen Informationen können von den Teilnehmerstationen auf eine ähnliche Weise wie jene, welche für SU-MIMO beschrieben wurde, erhalten werden. Das heißt, die Basisstation 22 kann zunächst eine Kanalsondierung an die Teilnehmerstationen in der Zelle übertragen und die Teilnehmerstationen können die empfangene Kanalsondierung dann verwenden, um strahlbildende Vektoren zu erzeugen. Die strahlbildenden Vektoren können dann von den einzelnen Teilnehmerstationen zu geeigneten Zeiten an die Basisstation rückgekoppelt werden. Wie vorher beschrieben können Vektorquantisierungstechniken verwendet werden, um die strahlbildenden Informationen zu Quantisieren, bevor sie an die Basisstation 22 rückgekoppelt werden. Obwohl sie in 2 mit zwei Teilnehmerstationen 24, 26 dargestellt sind, sollte verstanden werden, dass MU-MIMO-Techniken verwendet werden können, um gleichzeitig an jede Anzahl von Teilnehmerstationen zu übertragen, solange eine hinreichende Anzahl von Teilnehmerstationen mit annähernd orthogonalen strahlbildenden Vektoren gefunden werden kann. Zusätzlich kann jede Teilnehmerstation mehr als eine Antenne aufweisen und mehr als einen räumlichen Strom empfangen. Wie in 1 können die Basisstation 22 und die Teilnehmerstationen 24, 26 in 2 jeweils einen drahtlosen Sender-Empfänger und eine Steuereinheit aufweisen.
-
In einigen drahtlosen Netzwerken können innerhalb der gleichen Zelle sowohl SU-MIMO als auch MU-MIMO unterstützt werden. In einem Aspekt der vorliegenden Erfindung wird ein Mehrfachauflösungscodebuch bereitgestellt, das in der gleichen Zelle sowohl SU-MIMO-Teilnehmerstationen als auch MU-MIMO-Teilnehmerstationen bedienen kann. Das Mehrfachauflösungscodebuch kann ein „Fein”-Codebuch mit einer höheren Auflösung zum Verwenden mit MU-MIMO-Teilnehmerstationen und ein „Grob”-Codebuch mit niedrigerer Auflösung zum Verwenden mit SU-MIMO-Teilnehmerstationen aufweisen. Das heißt, die MU-MIMO-Teilnehmerstationen innerhalb der Zelle werden das Feincodebuch verwenden, um kanalbezogene Informationen (z. B. strahlbildende Vektoren, etc.) zu quantisieren, die dazu dienen, an die Basisstation rückgekoppelt zu werden, und die SU-MIMO-Teilnehmerstationen innerhalb der Zelle werden das Grobcodebuch verwenden, um kanalbezogene Informationen zu quantisieren, die dazu dienen, an die Basisstation rückgekoppelt zu werden. Die Basisstation kann die kanalbezogenen Informationen, die sie von den MU-MIMO-Teilnehmerstationen und den SU-MIMO-Teilnehmerstationen empfangt, dann verwenden, um ein Vorkodieren für die Teilnehmerstationen durchzuführen. Die Mehrfachauflösungscodebuchtechnik kann in drahtlosen Systemen verwendet werden, die sowohl Zeitteilungsduplexing (Time Division Duplexing – TDD) als auch Frequenzteilungsduplexing (Frequency Division Duplexing – FDD) anwenden.
-
In zumindest einer Ausführungsform kann das Grobcodebuch eine Untermenge des Feincodebuchs sein. Zum Beispiel weist das Feincodebuch in einer Umsetzung eine Menge von 256 komplexen Einheitsvektoren auf und das Grobcodebuch weist die ersten 64 Vektoren des Feincodebuchs auf. Im Allgemeinen ist ein MU-MIMO-Betrieb viel empfindlicher auf Veränderungen und/oder Fehler in Kanalinformationen als es ein SU-MIMO-Betrieb ist. Daher werden im Allgemeinen für einen MU-MIMO-Betrieb detailliertere Kanalinformationen (d. h. weniger Quantisierungsfehler, etc.) benötigt. Das Feincodebuch ist konstruiert, um das Niveau von Codebuch-Granularität bereitzustellen, das für einen MU-MIMO-Betrieb benötigt wird. Das Grobcodebuch stellt ein Niveau der Granularität bereit, das für einen SU-MIMO-Betrieb akzeptabel ist. Die Indizes der Codewörter innerhalb des Mehrfachauflösungscodebüchern können die Informationen sein, die tatsächlich an die Basisstation rückgekoppelt werden. Techniken zum Erzeugen und Verwenden von Mehrfachauflösungscodebüchern sind hier beschrieben. Techniken zum Erzeugen und Verwenden eines Verfolgungscodebuchs, um MU-MIMO-Kanalinformationen innerhalb einer Basisstationen zu aktualisieren, werden auch beschrieben. Zusätzlich wird eine Teilnehmerstationsauswahltechnik zum Verwenden in einem Netzwerk beschrieben, welches das Mehrfachauflösungscodebuch verwendet. In einigen Fällen (z. B. die Quantisierung einer strahlbildenden Richtung) können die Codewörter Vektoren mit Einheitsnorm sein, wenn ein einzelner räumlicher Strom pro Teilnehmerstation gesendet wird. Zusätzlich können die Codewörter orthogonale Matrizen sein, wobei die Spalten jeder Matrix orthogonal sind und eine Einheitsnorm besitzen. Wenn Einheits- oder Orthogonalcodebücher verwendet werden, dürfen Größeninformationen (z. B. die Norm des Kanalvektors) anders als Richtungsinformationen nicht quantisiert werden.
-
3 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 30 zum Verwenden beim Erzeugen eines Mehrfachauflösungscodebuchs gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Zunächst wird ein Feincodebuch mit N Codewörtern für die MU-MIMO-Teilnehmerstationen erzeugt (Block 32). Dann wird ein Grobcodebuch mit M Codewörtern für die SU-MIMO-Teilnehmerstationen aus dem Feincodebuch durch Greedy-Suche erzeugt (Block 34). M und N sind ganze Zahlen und der Wert von M ist kleiner als der Wert von N. In zumindest einer Ausführungsform wird das Feincodebuch durch ein Verwenden des gut bekannten Linde-Buzo-Gray-(LBG)-Algorithmus erzeugt. Um den LBG-Algorithmus auszuführen, kann zunächst eine zufällige Menge von N Vektoren erzeugt werden und als Initialcodewörter verwendet werden. In einigen Fällen können die Vektoren von Einheitsnorm sein. Sodann werden Übungsfolgen erzeugt und verwendet, um die Voronoi-Gebiete der Initialcodewörter zu erhalten. Eine nichtlineare Optimierungsprozedur kann dann verwendet werden, um die Zentroide der Voronoi-Gebiete zu berechnen. Verschiedene Abstandsmetriken zwischen zwei Codewörtern (z. B. der Winkel zwischen zwei Vektoren, ein inneres Produkt, ein Euklidischer Abstand, ein Sehnenabstand, das Signalverlust-zu-Interferenz-Plus-Rausch-Verhältnis, der Verlust von Kanalkapazität, etc.) können zum Berechnen der Voronoi-Gebiete und Zentroide verwendet werden. Als nächstes werden die berechneten Zentroide als neue Codewörter hergenommen. Sodann werden neue Übungsfolgen erzeugt, um neue Voronoi-Gebiete für die neuen Codewörter zu erhalten. Der Prozess wiederholt sich dann, bis eine vorbestimmte Konvergenzbedingung erfüllt ist. Das sich ergebende Feincodebuch kann die folgende Form haben: C = {V1, i = 1, ..., N), wobei Vi die Codewörter sind. In anderen Ausführungsformen können andere Codebuch-Suchalgorithmen verwendet werden, um das Feincodebuch zu erzeugen.
-
Wie oben beschrieben kann in einem Ansatz eine Greedy-Suchprozedur verwendet werden, um das Grobcodebuch aus dem Feincodebuch zu erzeugen. Die 4 und 5 sind Teile eines Flussdiagramms, das ein beispielhaftes Verfahren 40 zum Erzeugen des Grobcodebuchs mit M Codewörtern aus dem Feincodebuch C mit N Codewörtern gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Mit Bezug auf 4 wird der Index i, welcher der Index der Codewörter in dem Feincodebuch ist, zunächst mit 1 initialisiert (Block 42). Sodann wird ein Initialcodewort h1 eines ersten Grobcodebuch-Kandidaten S1 auf das erste Codewort V1 des feines Codebuchs gesetzt (Block 44). Ebenso wird eine Menge R1 definiert, die all die Codewörter des Feincodebuchs C außer dem Codewort V1 aufweist. Der Index k, welcher der Index der Codewörter in dem Grobcodebuch ist, wird nun mit 2 initialisiert (Block 46). Als nächstes wird das Codewort h2 in der Menge R1 identifiziert, das den größten Minimalabstand zu allen Codewörtern in S1 hat (Block 48). Das Codewort h2 wird dann dem ersten Grobcodebuch-Kandidaten S1 hinzugefügt (Block 50) und aus der Menge R1 entfernt (Block 52). Der Index k wird dann um 1 erhöht (Block 54). Wenn Vektor-Codewörter verwendet werden, kann die Operation von Block 48 den Vektor hk in R1 finden, der die größte Norm in dem Nullraum von Si hat.
-
Als nächstes wird festgestellt, ob der Index k schon einen Wert von M + 1 erreicht hat, wobei M die Anzahl von Codewörtern ist, die in dem Grobcodebuch sein werden (Block 56). Falls nicht (Block 56-N), kann das Verfahren 40 zu Block 48 zurückkehren und ein nächstes Codewort h3 wird in R1 gefunden, welches den größten Minimalabstand zu allen Codewörtern in S1 hat. Das Codewort h3 wird dann dem ersten Grobcodebuch-Kandidaten S1 hinzugefügt (Block 50) und aus der Menge R1 entfernt (Block 52). Der Index k wird dann wiederum erhöht (Block 54). Dieser Prozess wird dann wiederholt, bis der erste Grobcodebuch-Kandidat S1 M Codewörter aufweist (Block 56-Y).
-
Nun werden Bezug nehmend auf 5 der Mittelwert und die Varianz des Quantisierungsfehlers für den ersten Grobcodebuch-Kandidat S1 berechnet und aufgezeichnet (Block 58). Der Quantisierungsfehler kann durch die ausgewählte Abstandsmetrik (z. B. den Winkel zwischen zwei Vektoren und den Kanalkapazitätsverlust) gemessen werden. Der Index i kann dann um 1 erhöht werden (Block 60). Es wird dann festgestellt, ob der Index i schon einen Wert von N + 1 erreicht hat, wobei N die Anzahl von Codewörtern in dem Feincodebuch ist (Block 62). Falls nicht (Block 62-N), kann das Verfahren 40 zu Block 44 zurückkehren (siehe 4) und der Initialvektor eines zweiten Grobcodebuch-Kandidaten S2 wird auf das zweite Codewort V2 des Feincodebuchs C gesetzt (Block 44). Ebenfalls wird eine Menge R2 definiert, um alle Elemente des Feincodebuchs C außer dem zweiten Codewort V2 zu enthalten. Der Index k wird dann wiederum auf 2 initialisiert (Block 46). Die gleiche Prozedur, die für den ersten Grobcodebuch-Kandidaten S1 verwendet wurde (Blöcke 48, 50, 52, 54 und 56), wird dann verwendet, um die verbleibenden Codewörter des zweiten Grobcodebuch-Kandidaten S2 zu finden. Der Mittelwert und die Varianz des Quantisierungsfehlers des zweiten Grobcodebuch-Kandidaten S2 werden dann berechnet und aufgezeichnet (Block 58). Dieser Prozess wird dann wiederholt, bis N Grobcodebuch-Kandidaten erzeugt wurden, wobei jeder ein unterschiedliches Codewort des Feincodebuchs als Initialcodewort aufweist (Block 62-Y). An diesem Punkt wird ein Grobcodebuch-Kandidat S1 mit einem minimalen Mittelwert oder einer minimalen Varianz aus den Grobcodebuch-Kandidaten als das tatsächliche Grobcodebuch zum Verwenden mit SU-MIMO-Teilnehmerstationen ausgewählt (Block 64). Das Verfahren 40 kann dann enden (Block 66).
-
6 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 70 zum Erzeugen eines Mehrfachauflösungscodebuchs gemäß einer anderen Ausführungsform der vorliegenden Erfindung zeigt. Zunächst wird ein Grobcodebuch mit M Codewörtern zum Verwenden mit SU-MIMO-Teilnehmerstationen erzeugt (Block 72). Das Grobcodebuch kann erzeugt werden, indem z. B. der LBG-Algorithmus, der oben diskutiert wurde, verwendet werden (nur mit M Zufallsvektoren als Initialcodewörtern anstelle von N). Ein Feincodebuch mit N Codewörtern wird dann zum Verwenden mit MU-MIMO-Teilnehmerstationen durch einen LBG-Algorithmus erzeugt, der die M Codewörter des Grobcodebuchs und N-M zufällig erzeugte Vektoren als Initialcodewörter verwendet (Block 74).
-
7 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 80 zum Verwenden beim Erzeugen eines Feincodebuchs mit N Codewörtern zeigt, das die M Codewörter eines Grobcodebuchs verwendet, gemäß einer Ausführungsform der vorliegenden Erfindung. Das Verfahren 80 kann beispielsweise innerhalb des Verfahrens 70 in 6 verwendet werden. Wie in größerem Detail beschrieben werden wird, verwendet das Verfahren 80 eine veränderte Fassung des LBG-Algorithmus. Zunächst werden N-M Zufallsvektoren erzeugt (Block 82). Als nächstes werden die M Codewörter des Grobcodebuchs und die N-M Zufallsvektoren als eine Initialmenge von Codewörtern zusammengesetzt (Block 84). Als nächstes werden Übungsfolgen erzeugt, um Voronoi-Gebiete der Initialcodewörter zu erhalten (Block 86). Die Zentroide der Voronoi-Gebiete, die mit den N-M Zufallsvektoren in Verbindung stehen, werden als nächstes berechnet und die Zentroide und die M Codewörter des Grobcodebuchs werden als Menge von neuen Codewörtern hergenommen (Block 88).
-
Als nächstes wird bestimmt, ob eine Konvergenzbedingung erfüllt wurde (Block 90). Falls die Konvergenzbedingung nicht erfüllt wurde (Block 90-N), kann das Verfahren 80 zu Block 86 zurückkehren, und es können wiederum Übungsfolgen erzeugt werden, um Voronoi-Gebiete der neuen Codewörter zu erhalten. Die Zentroide der neuen Voronoi-Gebiete, die mit den N-M Zufallsvektoren und den M Codewörtern des Grobcodebuchs in Verbindung stehen, können dann als neue Codewörter hergenommen werden (Block 88). Dieser Prozess wird wiederholt, bis die Konvergenzbedingung erfüllt ist (Block 90-Y), wobei das Verfahren 80 an diesem Punkt endet (Block 92). Die Konvergenzbedingung kann beispielsweise umfassen, dass die maximale Änderung der Zentroidpositionierungen kleiner als ein vorbestimmter Wert ist, dass eine vorbestimmte Anzahl von Iterationen erreicht ist, etc.
-
Das Verwenden des Fein- und Grobcodebuchs der vorliegenden Erfindung, um kanalbezogene Informationen zu quantisieren, ist relativ einfach. Beispielsweise wird in zumindest einer Ausführungsform die Metrik abs (x'*V1) zunächst für all die Codewörter in dem Codebuch berechnet, wenn ein Vektor x unter Verwendung eines Codebuchs V quantisiert werden soll. Das Codewort mit der größten Metrik wird dann als der quantisierte Vektor ausgewählt. Der gleiche Ansatz kann sowohl für das Fein- als auch für das Grobcodebuch verwendet werden. In einem Ansatz wird ein Index, der mit dem quantisierten Vektor in Verbindung steht, an die Basisstation zum Verwenden beim Vorkodieren rückgekoppelt. In einem anderen Beispiel wird der Abstand zwischen der Eingangsmatrix x und der Codewortmatrix Vi berechnet und der Index des Codeworts, das dem minimalen Abstand zwischen allen Codewörtern entspricht, wird rückgekoppelt.
-
Während eines typischen Netzwerkbetriebes können die MU-MIMO-Teilnehmerstationen über mehrere aufeinander folgende Übertragungsblöcke bedient werden. Diese Teilnehmerstationen können verpflichtet sein, jede Kanalveränderung bei jedem dieser Übertragungsblöcke zu melden. In zumindest einer Ausführungsform der vorliegenden Erfindung wird die Kanalveränderung gemeldet, indem die Veränderung quantisiert wird, wobei ein Verfolgungscodebuch verwendet wird. Die Teilnehmerstationen, die SU-MIMO verwenden, können ebenfalls das Verfolgungscodebuch verwenden, um Kanalveränderungen zu melden, obwohl sie verpflichtet sein können, Veränderungen seltener zu melden als die MU-MIMO-Stationen (z. B. nicht jeden Übertragungsblock). In zumindest einer Ausführungsform der vorliegenden Erfindung wird, wie in 10 gezeigt, ein Verfolgungscodebuch verwendet, das Einheitsvektoren 152 auf einer Kappe 154 einer Kugel 150 mit einem Radius r aufweist. Die Höhe der Kappe 154 ist h. Solch ein Verfolgungscodebuch kann auf ähnliche Weise wie das Initialquantisierungscodebuch erzeugt werden mit der zusätzlichen Bedingung, dass der erste Eintrag des Vektors größer als cosα sein muss, wobei cosα = 1 – h/r, wobei h die Höhe der Kugelkappe ist, und r der Radius der Kugel ist. Der Radius r kann für eine strahlbildende Richtungsrückkopplung auf eins gesetzt werden. Diese Bedingung beinhaltet, dass die Mitte der Kugelkappe bei dem Vektor [1 0 0 0] zentriert ist (unter der Annahme von 4 Übertragungsantennen). In zumindest einer Umsetzung hat das Verfolgungscodebuch 32 Codewörter, während das Fein- und das Grobcodebuch 256 bzw. 64 aufweisen. Andere Codebuch-Größen und Größenverhältnisse können in anderen Umsetzungen verwendet werden.
-
8 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 100 zum Verwenden eines Verfolgungscodebuchs mit einer Teilnehmerstation zeigt, um kanalbezogene Informationen gemäß einer Ausführungsform der vorliegende Erfindung zu aktualisieren. Die quantisierte Fassung des vorherigen Eingangsvektors (d. h. v) wird zunächst durch die Teilnehmerstation berechnet (Block 102). Der Vektor v wird kumulativ von allen vorherigen Rückkopplungen als v(t) = R(It)*v(t – 1) für t = 1, ..., T berechnet, wobei t der Zeitindex ist, T der Zeitindex der vorherigen Rückkopplungen ist, It der Rückkopplungsindex zur Zeit t ist, R(It) eine quadratische orthogonale Matrix ist, die durch die Verfolgungs-Rückkopplung It bestimmt ist, und v(t) der rekonstruierte strahlbildende Vektor für die Zeit t ist. R(It) rotiert v(t – 1) auf v(t). Eine orthogonale Matrix ist nicht notwendigerweise quadratisch und weist orthogonale Spalten auf, von welchen jede eine Einheitsnorm besitzt. Die Berechnung für R(It) unter Verwendung von It ist sowohl bei der Basisstation als auch der Teilnehmerstation bekannt. Es gibt verschiedene Wege, um R(It) zu berechnen inklusive beispielsweise einer Householder-Reflektion. Der Vektor kann beispielsweise von einem lokalen Speicher innerhalb der Teilnehmerstation erhalten werden. Das Verfolgungscodebuch wird dann um den Vektor v „zentriert”, um ein zentriertes Codebuch C' zu erzeugen (Block 104). Das Verfolgungscodebuch kann zentriert werden, indem zunächst der Nullraum von v gefunden wird, der als W bezeichnet wird. Die Spalten von W sind nicht eindeutig und der Nullraum von v kann auf verschiedene Weisen dargestellt werden. Die Berechnung von W kann sowohl der Basisstation als auch der Teilnehmerstation bekannt sein. Eine Basis kann dann als A = [vW] gebildet werden. Das neuzentrierte Verfolgungscodebuch wird dann als C' = A*C definiert, wobei C das ursprüngliche Verfolgungscodebuch ist, das bei dem Vektor [1, 0, 0, 0] zentriert ist (unter der Annahme von 4 (Übertragungsantennen). Nachdem das Verfolgungscodebuch zentriert wurde, wird als nächstes eine Metrik abs (x'*vi) für all die Vektoren in dem neu-zentrierten Codebuch C' berechnet (Block 106). Sodann wird der Vektor mit der größten Metrik ausgewählt (Block 108). Der Index des ausgewählten Vektors kann dann an die Basisstation rückgekoppelt werden (Block 110). Die Basisstation kann den Index dann verwenden, um den entsprechenden Vektor zu identifizieren. Die Basisstation kann den Vektor dann verwenden, um den vorherigen strahlbildenden Vektor der Teilnehmerstation zu aktualisieren. Der aktualisierte strahlbildende Vektor kann dann verwendet werden, um Daten zur Übertragung an die Teilnehmerstation vorzukodieren. Die Verfolgungsquantisierung kann von einem Vektor auf eine Matrix verallgemeinert werden, indem das Wort Vektor in der obigen Beschreibung durch Matrix ersetzt wird. Das Verfolgungscodebuch besteht aus Matrix-Codewörtern, welche um [1 0 0 0; 0 1 0 0]T zentriert sein können, unter der Annahme von vier Übertragungsantennen. Die Berechnung in Block 106 wird durch ein Berechnen des Abstandes zwischen der Eingangsmatrix und jeder Codewortmatrix in dem rotierten Codebuch C' ersetzt. Block 108 wählt die Codewortmatrix mit dem minimalen Abstand aus.
-
Bei der Basisstation kann die Basisstation, nachdem kanalbezogene Informationen von jeder der Teilnehmerstationen empfangen wurde, die als MU-MIMO-Einrichtungen arbeiten, eine vorgegebene Anzahl von Teilnehmerstationen auswählen, an welche gleichzeitig übertragen werden soll. Zusätzlich zu den strahlbildenden Vektoren (d. h. einzelnen Vektoren), die vorher beschrieben wurden, können die MU-MIMO-Teilnehmerstationen auch die entsprechenden Einzelwerte rückkoppeln. Diese Einzelwerte fungieren als Kanalqualitätsanzeigen (channel quality indications – CQI), welche verwendet werden können, um die Teilnehmerstationen zu beschränken, die für eine gleichzeitige Übertragung berücksichtigt werden. In einem Ansatz wird zunächst eine Initialmenge von Teilnehmerstationen mit den höchsten CQI-Werten in der Basisstation ausgewählt. Nachdem diese Initialmenge isoliert wurde, wird die Menge analysiert, um Teilnehmerstationen zu identifizieren, welche annähernd orthogonale strahlbildende Vektoren aufweisen.
-
9 ist ein Flussdiagramm, das ein beispielhaftes Verfahren 120 zeigt, das verwendet werden kann, um L MU-MIMO-Teilnehmerstationen in einer Zelle auszuwählen, an welche gleichzeitig durch eine Basisstation gemäß einer Ausführungsform der vorliegenden Erfindung übertragen werden soll. Zunächst wird eine Initialmenge von strahlbildenden Vektoren (U) erhalten, welche mit MU-MIMO-Teilnehmerstationen in Verbindung stehen, die die höchsten CQI-Werte in der Zelle aufweisen (Block 122). Der strahlbildende Vektor, welcher den höchsten CQI in der Menge U aufweist, wird dann als initialer strahlbildender Vektor h1 ausgewählt (Block 124). Der Vektor h1 wird zu einer Menge S hinzugefügt und eine Menge R wird definiert, welche alle Vektoren in U außer h1 aufweist (Block 126). Ein Index k, welcher der Index der ausgewählten Teilnehmerstationen ist, wird als nächstes mit 2 initialisiert (Block 128). Ein Vektor h2 in R, welcher eine größte Norm in dem Nullraum von S aufweist, wird als nächstes gefunden (Block 130). Der Vektor h2 wird dann zu der Menge S hinzugefügt und aus der Menge R entfernt (Block 132). Der Index k wird dann um 1 erhöht (Block 134).
-
Als nächstes wird festgestellt, ob der Index k einen Wert von L + 1 erreicht hat, wobei L die gewünschte Anzahl von ausgewählten Teilnehmerstationen ist (Block 136). Falls nicht (Block 136-N), kehrt das Verfahren 120 zu Block 130 zurück und findet einen Vektor h3 in R, welcher die größte Norm in dem Nullraum von S aufweist. Der Vektor h3 wird dann zu der Menge S hinzugefügt und aus der Menge R entfernt (Block 132). Der Index k wird dann wiederum um 1 erhöht (Block 134). Dieser Prozess wird dann wiederholt, bis der Wert des Index k gleich L + 1 ist (Block 136-Y). Zu dieser Zeit wurden L Teilnehmerstationen zum Verwenden bei einer gleichzeitigen Übertragung ausgewählt. Das Verfahren 120 endet dann (Block 138).
-
Die Techniken und Strukturen der vorliegenden Erfindung können in jeder aus einer Vielzahl verschiedener Formen ausgeführt werden. Zum Beispiel können Merkmale der Erfindung in Laptops, Palmtops, Desktops und Tablet-Computern mit Drahtlosfähigkeit, Personal-Digita-Assistants (PDAs) mit Drahtlosfähigkeit, Mobiltelefonen und anderen drahtlosen Handheld-Kommunikationseinrichtungen, Pagers, Satelliten-Kommunikationseinrichtungen, Kameras mit Drahtlosfähigkeit, Audio/Video-Einrichtungen mit Drahtlosfähigkeit; Netzwerk-Schnittstellenkarten (Network Interface Cards – NICs) und anderen Netzwerk-Schnittstellenstrukturen, Basisstationen, drahtlosen Zugangspunkten (Wireless Access Points), integrierten Schaltungen und/oder in anderen Formaten eingebaut sein. In einigen Ausführungsformen können die Verfahren, die hier beschrieben sind, als Anweisungen ausgeführt sein, die auf einem computerlesbaren Medium gespeichert sind. Beispiele verschiedener Formen computerlesbarer Medien, die verwendet werden können, schließen Floppy-Disketten, Festplatten, Optische Scheiben, Compact-Disc-Read-Only-Memories (CD-ROMs), Digital-Video-Disks (DVDs), Blu-Ray-Scheiben, magneto-optische Scheiben, Nur-Lese-Speicher (Read Only Memories – ROMs), Random-Access-Memories (RAMs), löschbare programmierbare ROMs (Erasable Programmable ROMs – EPROMs), elektrisch löschbare programmierbare ROMs (Electrically Erasable Programmable ROMs – EEPROMs), magnetische oder optische Karten, Flash-Speicher und/oder andere Typen von Medien ein, die geeignet sind, um elektronische Anweisungen oder Daten zu speichern.
-
In der obigen Beschreibung kann eine Terminologie verwendet sein, die typischerweise mit einem bestimmten Drahtlos-Kommunikation-Standard in Verbindung steht. Es sollte allerdings anerkannt werden, dass die erfinderischen Techniken und Strukturen nicht auf ein Verwenden mit einem bestimmten Standard beschränkt sind.
-
In der vorangehenden detaillierten Beschreibung sind verschiedene Merkmale der Erfindung zusammen in einer oder mehreren einzelnen Ausführungsformen zum Zwecke des Rationalisierens der Offenbarung gruppiert. Dieses Verfahren der Offenbarung soll nicht so ausgelegt werden, dass es eine Absicht reflektiert, dass die beanspruchte Erfindung mehr Merkmale erfordert als ausdrücklich in jedem Anspruch aufgezählt sind. Vielmehr können, wie sich in den folgenden Ansprüchen widerspiegelt, erfinderische Aspekte in weniger als allen Merkmalen jeder offenbarten Ausführungsform liegen.
-
Obwohl die vorliegende Erfindung im Zusammenhang mit bestimmten Ausführungsformen beschrieben wurde, soll verstanden werden, dass Anpassungen und Veränderungen angewendet werden können, ohne von dem Geist und dem Umfang der Erfindung abzuweichen, wie Fachleute leicht verstehen. Solche Anpassungen und Veränderungen werden so betrachtet, dass sie innerhalb des Rahmens und des Umfangs der Erfindung und der beigefügten Ansprüche liegen.