Incremental redundancy transmission in a mimo communication system
Abstract
This record has no abstract on file.
Term
Term ended
Projected expiry passed 9 September 2024, 2 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
1 claim: 1 independent, 0 dependent
- 1Patent claims Zastrzeżenia patentowe 1. A method of performing incremental redundancy, hereinafter referred to as IR, transmission in a multi-input wireless multi-output communication system, hereinafter referred to as MIMO, using orthogonal frequency division multiplexing, hereinafter referred to as OFDM, comprising processing steps (220) of a data packet to obtain multiple symbol blocks for data packets, said processing comprising encoding said data packet; 1. Sposób przeprowadzania przyrostowej redundancji, określanym dalej jako IR, transmisji w bezprzewodowym systemie komunikacyjnym typu wiele-wejść wielewyjść, określanym dalej jako MIMO, wykorzystującym multipleksowanie z ortogonalnym podziałem częstotliwości, określanym dalej jako OFDM, zawierającym etapy przetwarzania (220) pakietu danych w celu otrzymania wielu bloków symboli dla pakietów danych, przy czym wspomniane przetwarzanie zawiera kodowanie wspomnianego pakietu danych; transmitowania (222) pierwszego bloku symboli z wielu anten nadawczych w nadajniku (110) do wielu anten odbiorczych w odbiorniku (150), przy czym pierwszy blok symboli jest jednym z wielu bloków symboli; transmitting (222) the first symbol block from the plurality of transmit antennas at the transmitter (110) to the plurality of receive antennas at the receiver (150), the first symbol block being one of the plurality of symbol blocks; odbieranie (232) negatywnego potwierdzenia, określanego dalej jako NAK; transmitowanie (222) następnego bloku symboli wśród pozostałych z wielu bloków symboli w odpowiedzi na odbieranie NAK, jeden blok symboli na raz, dopóki pakiet danych jest prawidłowo odzyskiwany w odbiorniku albo wszystkie z wielu bloków symboli są transmitowane; i otrzymywania (212) wybranej szybkości dla transmisji danych na kanale MIMO między wieloma antenami nadawczymi i wieloma antenami odbiorczymi, przy czym pakiet danych jest przetwarzany zgodnie z wybraną szybkością, przy czym sposób jest znamienny tym, że każde NP pakietów danych jest przetwarzane zgodnie z wybraną szybkością w celu otrzymania wielu NP bloków symboli, jeden zbiór bloków symboli dla każdego pakietu danych, gdzie NP jest równe lub większe niż jeden i jest wybrane na podstawie rangi kanału MIMO, i przy czym NP bloków symboli dla NP pakietów danych jest transmitowanych jednocześnie po przekątnej macierzy zawierającej wiele podpasm i wiele anten nadawczych. receiving (232) negative acknowledgment, hereinafter referred to as NAK; transmitting (222) the next symbol block among the remaining of the plurality of symbol blocks in response to receiving NAK, one symbol block at a time, until the data packet is correctly recovered at the receiver or all of the many symbol blocks are transmitted; and receiving (212) a selected rate for data transmission on the MIMO channel between multiple transmit antennas and multiple receive antennas, wherein the data packet is processed according to the selected rate, the method being characterized in that each NP of the data packets is processed according to the selected speed to obtain multiple NP symbol blocks, one set of symbol blocks for each data packet, where NP is equal to or greater than one and is selected based on the rank of the MIMO channel, and wherein NP symbol blocks for NP data packets are transmitted simultaneously across a diagonal matrix comprising multiple subbands and multiple transmit antennas. 2. The method of claim 1, wherein the processing (220) comprises encoding (414) a data packet according to an encoding scheme indicated by the selected rate to obtain the encoded packet, dividing (416) the encoded packet into multiple encoded subpackets, and modulating (426) the multiple encoded subpackages according to the diagram 2. Sposób według zastrzeżenia 1, w którym przetwarzanie (220) zawiera kodowanie (414) pakietu danych zgodnie ze schematem kodowania wskazanym przez wybraną szybkość w celu otrzymania zakodowanego pakietu, dzielenie (416) zakodowanego pakietu na wiele zakodowanych podpakietów, i modulowanie (426) wielu zakodowanych podpakietów zgodnie ze schematem 53/55P26905PL00 modulowania wskazanym przez wybraną szybkość w celu otrzymania wielu bloków symboli. Modulation indicated by the selected rate to obtain a plurality of symbol blocks. 3. The method of claim 1, wherein each of the plurality of blocks is transmitted from multiple subbands of multiple transmission antennas, if any. 3. Sposób według zastrzeżenia 1, w którym każdy z wielu bloków jest transmitowany z wielu podpasm wielu anten transmisyjnych, jeżeli w ogóle. 4. The method of claim 1, wherein each at least two data packets are processed at a selected rate to obtain at least two sets of symbol blocks, one set of symbol blocks for each data packet, and wherein at least two symbol blocks for at least two packets data is transmitted simultaneously from multiple transmit antennas to multiple receive antennas. 4. Sposób według zastrzeżenia 1, w którym każde co najmniej dwa pakiety danych są przetwarzane zgodnie z wybraną szybkością w celu otrzymania co najmniej dwóch zbiorów bloków symboli, jeden zbiór bloków symboli dla każdego pakietu danych, i w którym co najmniej dwa bloki symboli dla co najmniej dwóch pakietów danych są transmitowane jednocześnie z wielu anten nadawczych do wielu anten odbiorczych. 5. A device operating to perform incremental redundancy, hereinafter referred to as IR, transmission in a multi-input wireless multi-output communication system, hereinafter referred to as MIMO, using orthogonal frequency division multiplexing, hereinafter referred to as OFDM, the device comprising:5. Urządzenie działające w celu przeprowadzania przyrostowej redundancji, określanym dalej jako IR, transmisji w bezprzewodowym systemie komunikacyjnym typu wiele-wejść wiele-wyjść, określanym dalej jako MIMO, wykorzystującym multipleksowanie z ortogonalnym podziałem częstotliwości, określanym dalej jako OFDM, przy czym urządzenie zawiera: means for processing (220) a data packet to obtain a plurality of symbol blocks for a data packet, wherein said processing means comprises means for encoding said data packet;środki do przetwarzania (220) pakietu danych w celu otrzymania wielu bloków symboli dla pakietu danych, w którym wspomniane środki do przetwarzania zawierają środki do kodowania wspomnianego pakietu danych;means for transmitting (222) the first symbol block from the plurality of transmit antennas at the transmitter (110) to the plurality of receive antennas at the receiver (150), wherein the first symbol block is one of the plurality of symbol blocks;środki do transmitowania (222) pierwszego bloku symboli z wielu anten nadawczych w nadajniku (110) do wielu anten odbiorczych w odbiorniku (150), w którym pierwszy blok symboli jest jednym z wielu bloków symboli;means for receiving (232) negative acknowledgment, hereinafter referred to as NAK;means for transmitting (222) the next symbol block among the remaining multiple symbol blocks in response to receiving the NAK, one symbol block at a time until the data packet is correctly recovered at the receiver or all of the many symbol blocks are transmitted;and means for obtaining (212) a selected rate for data transmission on the MIMO channel between multiple transmit antennas and multiple receive antennas, wherein the device is characterized in that środki do odbierania (232) negatywnego potwierdzenia, określanego dalej jako NAK;środki do transmitowania (222) następnego bloku symboli pośród pozostałych wielu bloków symboli w odpowiedzi na odebranie NAK, jeden blok symbolu na raz dopóki pakiet danych jest prawidłowo odzyskiwany w odbiorniku albo wszystkie z wielu bloków symboli są transmitowane;i środki do otrzymywania (212) wybranej szybkości dla transmisji danych na kanale MIMO między wieloma antenami nadawczymi i wieloma antenami odbiorczymi, przy czym urządzenie jest znamienne tym, że NP data packets are each processed according to the selected rate for obtaining multiple NP symbol blocks, one set of symbol blocks for each data packet, where NP is equal to or greater than one and is selected based on the rank of the MIMO channel, and in which NP symbol blocks for NP data packets NP pakietów danych jest każdorazowo przetwarzanych zgodnie z wybraną szybkością dla otrzymania wielu NP bloków symboli, jeden zbiór bloków symboli dla każdego pakietu danych, gdzie NP jest równe lub większe niż jeden i jest wybrane na podstawie rangi kanału MIMO, i w którym NP bloków symboli dla NP pakietów danych 53 / 55P26905EN00 is transmitted simultaneously diagonally in a matrix comprising a plurality of subbands and a plurality of transmit antennas. 53/55P26905PL00 jest transmitowanych jednocześnie po przekątnej macierzy zawierającej wiele podpasm i wiele anten nadawczych. 6. The device of claim 5, wherein the device is a transmitter (110) comprising: 6. Urządzenie według zastrzeżenia 5, w którym urządzenie jest nadajnikiem (110), zawierającym: said means for processing (220) the data packet is a transmission data processor operating to process the data packet to obtain a plurality of symbol blocks for the data packet;and said means for transmitting (222) the first symbol block are a controller operating to start transmission of the first symbol block from the plurality of transmit antennas at the transmitter to the plurality of receive antennas at the receiver, said means for transmitting the next symbol block are the controller operating to start transmitting the next block symbols. wspomniane środki do przetwarzania (220) pakietu danych są procesorem danych transmisyjnych działającym w celu przetwarzania pakietu danych w celu otrzymania wielu bloków symboli dla pakietu danych;i wspomniane środki do transmitowania (222) pierwszego bloku symboli są kontrolerem działającym w celu rozpoczęcia transmisji pierwszego bloku symboli z wielu anten nadawczych w nadajniku do wielu anten odbiorczych w odbiorniku, wspomniane środki do transmitowania następnego bloku symboli są kontrolerem działającym w celu rozpoczęcia transmisji następnego bloku symboli. 7. A transmitter (110) according to claim 6, wherein the transmission data processor operates to encode (414) the data packet according to the coding scheme indicated by the selected rate to obtain the encoded packet, divide (416) the encoded packet into a plurality of encoded subpackets, and modulate ( 426) multiple coded subpackets according to the modulation scheme indicated by the selected rate to obtain multiple symbol blocks. 7. Nadajnik (110) według zastrzeżenia 6, w którym procesor danych transmisyjnych działa w celu kodowania (414) pakietu danych zgodnie ze schematem kodowania wskazanym przez wybraną szybkość w celu otrzymania zakodowanego pakietu, dzielenia (416) zakodowanego pakietu na wiele zakodowanych podpakietów, i modulowania (426) wielu zakodowanych podpakietów zgodnie ze schematem modulacji wskazanym przez wybraną szybkość w celu otrzymania wielu bloków symboli. 8. The transmitter (110) according to claim 6, further comprising: 8. Nadajnik (110) według zastrzeżenia 6, dodatkowo zawierający: a transmission spatial processor (130) operating to receive the symbol block to be transmitted and provide symbols in the symbol block for multiple transmit antennas. transmisyjny procesor przestrzenny (130) działający w celu odbierania bloku symboli, który ma być transmitowany i zapewniania symboli w bloku symboli dla wielu anten nadawczych. 9. The apparatus of claim 5, wherein the processing means (220) comprises means for encoding (414) the data packet according to the coding scheme indicated by the selected rate to obtain the encoded packet, means for dividing (416) the encoded packet into a plurality of encoded subpackets, and means for modulating (426) a plurality of coded subpackets according to a modulation scheme indicated by the selected rate to obtain multiple symbol blocks. 9. Urządzenie według zastrzeżenia 5, w którym środki do przetwarzania (220) zawierają środki do kodowania (414) pakietu danych zgodnie ze schematem kodowania wskazanym przez wybraną szybkość w celu otrzymania kodowanego pakietu, środki do dzielenia (416) zakodowanego pakietu na wiele zakodowanych podpakietów, i środki do modulowania (426) wielu zakodowanych podpakietów zgodnie ze schematem modulacji wskazanym przez wybraną szybkość w celu otrzymania wielu bloków symboli. 53 / 55P26905PL00 53/55P26905PL00 10. System przeprowadzania przyrostowej redundancji transmisji w bezprzewodowym systemie komunikacyjnym typu wiele-wejść wiele-wyjść wykorzystującym multipleksowanie z ortogonalnym podziałem częstotliwości zawierający: Of 10. A system for performing incremental transmission redundancy in a multi-input multi-output wireless communication system using orthogonal frequency division multiplexing including: means for obtaining (212) a selected rate at the transmitter (110) for data transmission on the MIMO channel between a plurality of transmit antennas at the transmitter and a plurality of receive antennas at the receiver (150);środki do otrzymywania (212) wybranej szybkości w nadajniku (110) dla transmisji danych na kanale MIMO między wieloma antenami nadawczymi w nadajniku i wieloma antenami odbiorczymi w odbiorniku (150);means for processing (220) NP data packets at the transmitter according to the selected rate to obtain NP symbol block sets, one set of symbol blocks for each data packet, where NP is equal to or greater than one and is selected based on the rank of the MIMO channel;środki do przetwarzania (220) NP pakietów danych w nadajniku zgodnie z wybraną szybkością w celu otrzymania NP zbiorów bloków symboli, jeden zbiór bloków symboli dla każdego pakietu danych, gdzie NP jest równe lub większe niż jeden i jest wybrane na podstawie rangi kanału MIMO;means for transmitting (222) NP first symbol blocks for NP data packets simultaneously diagonally of a matrix comprising multiple subbands and a plurality of transmit antennas at a transmitter to multiple receive antennas at a receiver, wherein the first symbol block for each data packet is one of many symbol blocks for data packet;środki do transmitowania (222) NP pierwszych bloków symboli dla NP pakietów danych jednocześnie po przekątnej macierzy zawierającej wiele podpasm i wiele anten nadawczych w nadajniku do wielu anten odbiorczych w odbiorniku, przy czym pierwszy blok symboli dla każdego pakietu danych jest jednym z wielu bloków symboli dla pakietu danych;means for obtaining NP blocks of detected symbols for NP data packets in a receiver, each detected symbol block is an estimate of a data symbol block transmitted from multiple transmit antennas at the transmitter and received by multiple receive antennas at the receiver;środki do otrzymywania NP bloków wykrytych symboli dla NP pakietów danych w odbiorniku, przy czym każdy wykryty blok symboli jest estymatą bloku symboli danych transmitowanego z wielu anten nadawczych w nadajniku i odbieranych przez wiele anten odbiorczych w odbiorniku;means for decoding at the receiver all detected symbol blocks received for each data packet to obtain a corresponding decoded packet;środki do dekodowania w odbiorniku wszystkich wykrytych bloków symboli otrzymanych dla każdego pakietu danych w celu otrzymania odpowiedniego dekodowanego pakietu;means for determining in the receiver whether each data packet is decoded correctly or with error;środki do określania w odbiorniku czy każdy pakiet danych jest dekodowany prawidłowo czy z błędem;means for sending ACK acknowledgment at the receiver for each correctly decoded data packet and negative NAK acknowledgment for each error decoded data packet;środki do wysyłania w odbiorniku potwierdzenia ACK dla każdego pakietu danych dekodowanego prawidłowo i negatywnego potwierdzenia NAK dla każdego pakietu danych dekodowanego z błędem;means for receiving (232) ACK or NAK for each of the NP data packets at the transmitter;and means for transmitting at the transmitter (222) the next symbol block among the remaining blocks of the plurality of symbol blocks for each data packet for which a NAK was received. środki do odbierania (232) ACK albo NAK dla każdego z NP pakietów danych w nadajniku;i środki do transmitowania w nadajniku (222) następnego bloku symboli wśród pozostałych bloków z wielu bloków symboli dla każdego pakietu danych, dla którego odebrano NAK. 53 / 55P26905PL00 53/55P26905PL00 11. A receiver (150) for receiving incremental redundancy, hereinafter referred to as IR, transmission in a multi-input wireless communication system, many outputs, hereinafter referred to as MIMO, comprising means for receiving a block of detected symbols for a data packet, the detected symbol block being an estimate of the symbol block data transmitted from multiple transmit antennas at the transmitter (110) and received by multiple receive antennas at the receiver (150), and wherein the data symbol block is one of many data symbol blocks generated for the data packet;11. Odbiornik (150) do odbierania przyrostowej redundancji, określanej dalej jako IR, transmisji w bezprzewodowym systemie komunikacyjnym typu wiele-wejść wielewyjść, określanym dalej jako MIMO, zawierający środki do odbierania bloku wykrytych symboli dla pakietu danych, przy czym wykryty blok symboli jest estymatą bloku symboli danych transmitowanego z wielu anten nadawczych w nadajniku (110) i odebranych przez wiele anten odbiorczych w odbiorniku (150), i w którym blok symboli danych jest jednym z wielu bloków symboli danych wygenerowanych dla pakietu danych;means for decoding all detected symbol blocks received for the data packet to obtain a decoded packet;środki do dekodowania wszystkich wykrytych bloków symboli otrzymanych dla pakietu danych w celu otrzymania dekodowanego pakietu;means for determining whether the decoded packet is valid or with error;środki do określania czy dekodowany pakiet jest prawidłowy czy z błędem;means for sending the ACK acknowledgment for the data symbol block if the decoded packet is correct or the negative NAK acknowledgment if the decoded packet is with error;środki do wysyłania potwierdzenia ACK dla bloku symboli danych, jeżeli dekodowany pakiet jest prawidłowy albo negatywnego potwierdzenia NAK, jeżeli dekodowany pakiet jest z błędem;means for repeating receiving, decoding and determining for the next of the plurality of data symbol blocks if the encoded packet is with an error;and means for providing a selected rate for data transmission on the MIMO channel between multiple transmit antennas and multiple receive antennas, and wherein the receiver is characterized in that: the receiver is adapted to receive NP data packets, each being processed at the transmitter according to the selected rate to obtain NP sets of symbol blocks, one set of symbol blocks for each data packet, where NP is equal to or greater than one and is selected based on MIMO channel rank and wherein the NP symbol blocks for NP data packets have been transmitted simultaneously diagonally across a matrix comprising multiple subbands and multiple transmit antennas and are received at the receiver. środki do powtarzania otrzymywania, dekodowania i określania dla kolejnego z wielu bloków symboli danych, jeżeli zakodowany pakiet jest z błędem;i środki do zapewniania wybranej szybkości dla transmisji danych na kanale MIMO między wieloma antenami nadawczymi i wieloma antenami odbiorczymi, i przy czym odbiornik jest znamienny tym, że: odbiornik jest przystosowany do odbierania NP pakietów danych, przy czym każdy jest przetwarzany w nadajniku zgodnie z wybraną szybkością w celu otrzymania NP zbiorów bloków symboli, jeden zbiór bloków symboli dla każdego pakietu danych, gdzie NP jest równe albo większe niż jeden i jest wybierane na podstawie rangi kanału MIMO, i przy czym NP bloków symboli dla NP pakietów danych zostało przetransmitowane jednocześnie po przekątnej macierzy zawierającej wiele podpasm i wiele anten nadawczych i są odbierane w odbiorniku. Qualcomm Incorporated Pełnomocnik: Qualcomm Incorporated Proxy: 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905EN00 data 53/55P26905PL00 danych 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 Podpasma £Λ Subbands £ Λ FIG. 7B FIG. 7B 53 / 55P26905PL00 53/55P26905PL00 Nr odebranych fąT wykrytych Wykryte Zdekodowane sekwencji symboli sekwencji symboli bioki symbo!i pakiety Nr receivedT detected Detected Decoded symbol sequence symbol sequence bioki psmbo! and packets X. X. What is it co to 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00 53 / 55P26905PL00 53/55P26905PL00
192 paragraphs in 8 sections, as filed
[0001] This application claims priority from U.S. Provisional Patent Application No. 60 / 501,777, filed September 9, 2003 and U.S. Provisional Patent Application No. 60/531, 391, filed December 19, 2003.
Background of the invention
I. Field [0002] The present invention relates generally to communication, and in particular to data transmission techniques in the MIMO (multiple-input multiple-output) communication system.
II. Background [0003] The MIMO system uses multiple (NT) transmit antennas and multiple (NR) receive antennas for data transmission and is designated as (NT, NR) system. The MIMO channel created by NT transmit antennas and NR receive antennas can be spread over N<sub>S</sub> spatial channels, where N<sub>S</sub> <min {N<sub>T</sub>N<sub>R</sub>}. The MIMO system can provide increased transmission capacity if NS spatial channels formed by multiple transmit and receive antennas are used for data transmission.
[0004] The main challenge for the MIMO system is the selection of an appropriate data rate based on channel conditions. Here, the term "data rate" may mean a particular data rate or information bit rate, a specific coding scheme, a specific modulation scheme, a particular size of a data packet, and the like. The goal of speed selection is to maximize bandwidth in NS spatial channels, while maintaining certain quality goals that can be quantified through a specific packet error rate (e.g. PER of 1%).
[0005] The transmission capacity of the MIMO channel depends on the useful signal to noise ratios and interfering signals (SNR) achieved by the NS spatial channels. SNR coefficients in turn depend on the channel conditions. In one of the traditional MIMO systems, the transmitter encodes, modulates, and transmits data according to the bit rate selected on the basis of the model
53 / 55P26905EN00 static MIMO channel. Good performance can be obtained if the model is accurate and if the MIMO channel is relatively static (that is, it does not change over time). In another traditional MIMO system, the receiver estimates the MIMO channel, selects the appropriate speed based on the channel estimates and sending, and the selected speed to the transmitter. The transmitter then processes the data and sends it according to the selected bit rate. The performance of this system depends on the nature of the MIMO channel and the accuracy of the channel estimates.
[0006] For both traditional MIMO systems described above, the transmitter typically processes and transmits each data packet at the rate selected for that packet. The receiver decodes every data packet sent by the transmitter and determines whether the packet is decoded correctly or incorrectly. The receiver can send back an acknowledgment signal (ACK) if the packet has been decoded correctly or a negative acknowledgment (NAK) if the packet has been decoded incorrectly.
The transmitter can retransmit any data packet decoded incorrectly by the receiver, in full, after receiving, for this packet, the NAK signal from the receiver.
[0007] The performance of both MIMO systems described above is highly dependent on the precision of speed selection. If the selected data packet speed is too conservative (for example, because the actual SNR value is better than the SNR estimate), then the system consumes excessive resources to transmit the data packet and the channel capacity is not fully utilized. On the contrary, if the speed chosen for the data packet is too aggressive, then this packet can be decoded with error by the receiver and the system resources can be used to retransmit that data packet. The selection of speed for the MIMO system is a challenge due to 1) greater complexity of channel estimation for the MIMO channel and 2) time-varying and independent nature of numerous spatial MIMO channel channels.
[0008] There is therefore a need for efficient data transmission techniques in a MIMO system that do not require precise speed selection to achieve good performance.
[0009] In the article "A Novel HARQ and AMC Scheme Using Space-time Block Coding and Turbo Codes for Wireless Packet Data Transmission", IEEE, vol. 2, April 9, 2003, pages 1046-1050, a diversified transmitter scheme using the Hybrid technique is described ARQ and Adaptive Modulation and Coding (AMC)
53 / 55P26905EN00 (Adaptive Modulation and Coding) with Space-Time Block Coding (STBC) and Turbo codes for wireless packet data transmission. If the packet is being transmitted again, phase combining is used to process the old packet data stored in the buffer and currently received packet data.
SUMMARY OF THE INVENTION [0010] According to aspects of the invention, there is provided a method of performing incremental redundancy transmission in wireless MIMO communication systems according to claim 1, as well as a corresponding transmitter according to claim 6.
[0011] According to an aspect of the invention, a suitable system is provided according to claim 10, and it is provided that the receiver is used to receive incremental redundancy in a wireless communication system multiple inputs multiple outputs according to claim 11.
[0012] Techniques for performing incremental redundant (IR) transmission in a MIMO system are presented here. Initially, the receiver or transmitter in the MIMO system estimates the MIMO channel and selects the appropriate data rate in the MIMO channel. The transmitter is supplied at the selected speed if the receiver selects the speed.
[0013] The transmitter performs data packet processing (e.g., encoding, partitioning, interleaving and modulation) based on the selected rate and receives numerous (NB) data symbol blocks for the data packet. The first block of data symbols typically contains sufficient information to enable the receiver to recover a data packet in favorable channel conditions. Each of the other data symbol blocks contains an additional excess to allow the receiver to recover the data packet in less favorable channel conditions. The transmitter transmits the first block of data symbols from the NT transmit antennas to the NR receive antennas at the receiver. The transmitter then transmits the remaining NB data symbol blocks, one block at a time, until the data packet is correctly recovered by the receiver or all NB blocks are sent.
[0014] If multiple (NP) data symbol blocks for NP data packets from NT transmit antennas are to be transmitted simultaneously, then the transmitter further processes these NP data symbol blocks, so that NP data packets are subject to similar channel conditions. This allows one rate to be used for all data packets sent simultaneously on the MIMO channel.
[0015] The receiver receives a received symbol block for each data symbol block transmitted by the transmitter. The receiver performs "detecting" each received symbol block to obtain the detected symbol block, which is an estimate of the corresponding data symbol block. The receiver then processes (e.g. demodulates, deinterleaves, plays and decodes) all detected symbol blocks received for the given data packet and provides the decoded packet. The receiver can send back the ACK signal if the decoded packet is decoded correctly and the NAK signal if the decoded packet is incorrect. If the decoded packet is incorrect then the receiver repeats the processing procedure when another received symbol block is obtained for another data symbol block transmitted by the transmitter.
[0016] The receiver can also recover a data packet using an iterative detection and decoding (IDD) scheme. For the IDD scheme, whenever a new received symbol block is obtained for a data packet, detection and decoding are performed iteratively repeatedly (Ndd) times for all received symbol blocks to obtain the decoded packet. The detector performs detection on all received symbol blocks and provides the detected symbol blocks. The decoder performs decoding on all detected symbol blocks and provides a priori information that is used by the detector in the next iteration. The decoded packet is generated based on the decoder output in the last iteration.
[0017] Various aspects and embodiments of the invention will be described in more detail below.
BRIEF DESCRIPTION OF THE DRAWINGS [0018] The characteristics and nature of the present invention will become better understood on the basis of the specific description set forth below together with the drawings in which the same reference symbols are used throughout the text, respectively:
53 / 55P26905PL00
Fig. 1 is a block diagram of a transmitter and receiver in a MIMO system performing IR transmission;
Fig. 2 shows the process of sending and receiving an IR transmission in a MIMO system; Fig. 3 is a time diagram illustrating IR transmission;
Fig. 4A shows a transmission data processor (TX) in a transmitter;
Fig. 4B shows a Turbo encoder inside a TX data processor;
Fig. 5 illustrates the processing of one data packet by a TX data processor;
Figures 6A to 6D show four embodiments of a spatial TX process in a transmitter;
Figs. 7A and 7B illustrate the demultiplexing procedure of one data symbol block and two data symbol blocks, respectively, for an exemplary MIMO-OFDM system;
Fig. 8A shows one embodiment of a receiver;
Fig. 8B shows the receiving data processor (RX) at the receiver of Fig. 8A; Fig. 9A shows a receiver that performs an iterative detection and decoding procedure; and
Fig. 9B shows a Turbo decoder.
DETAILED DESCRIPTION [0019] The term "exemplary" as used herein means "serving as an example, example, or illustration." Not every embodiment or structure described herein as "exemplary" must necessarily be described as preferred or preferred over other embodiments or structures.
[0020] Simultaneous N transmission can be performed for a MIMO system with the number of NS of spatial channels<sub>P</sub> data packages with N<sub>T</sub> transmitting antennas, where 1 <N<sub>P</sub><N<sub>S</sub>.
One rate can be used for all data packets transmitted simultaneously, regardless of the NP value. The use of one speed can simplify the processing process performed in both the transmitter and receiver of the system
DESPITE.
[0021] Fig. 1 is a block diagram of a transmitter 110 and a receiver 150 in a MIMO 100 system performing IR infrared transmissions. At transmitter 110, the TX 120 data processor receives data packets from data source 112. The TX 120 data processor processes (e.g., formats, codes, partitions, interleaves and modulates)
Each data packet in accordance with the rate selected for that packet to obtain NB data symbol blocks for that packet, where NB> 1 and may depend on the selected rate. The selected rate for each data packet can mean data rate, coding scheme or coding rate, modulation scheme, packet size, number of data symbol blocks and the like for that packet, which are indicated by various control variables provided by the controller 140. For IR transmission, NB data symbol blocks are transmitted for each data packet, one block at a time, until the packet is correctly decoded by receiver 150 or all NB data symbol blocks are sent.
[0022] The TX spatial processor 130 receives data symbol blocks and performs the necessary processing to send each data symbol block from all NT transmit antennas in one time slot (or simply a "slot"). The slot is a predetermined time interval for the MIMO 100 system. The TX 130 spatial processor can perform demultiplexing, spatial processing, and the like, as described below. For each slot, the TX spatial processor 130 processes one data symbol block, demultiplexes in pilot symbols as appropriate, and provides NT transmission symbol sequences to the transmitter unit (TMTR) 132. Each transmission symbol may be for a data symbol or pilot symbol .
[0023] Transmitter unit 132 receives and conditions (e.g., converts to analog form, converts to higher frequencies, filters and amplifies) NT transmission symbol sequences to obtain NT modulated signals. Each modulated signal is then transmitted from a respective transmit antenna (not shown in Fig. 1) and via a channel
MIMO to the receiver 150. The MIMO channel distorts NT transmitted signals with H channel response and additionally degrades the transmitted signals with the addition of white Gaussian noise and possible interference from other transmitters.
[0024] At the receiver 150, the transmitted signals, in the number of NT, are received by each of the NR receive antennas (not shown in Fig. 1), and the NR of received signals from the NR receive antennas are delivered to the receiver unit (RCVR) 154. The receiver unit 154 performs conditioning, digitization and pre-treatment
Processing each received signal to obtain a sequence of received symbols for each slot. Receiver unit 154 provides NR received symbol sequences (for data) to the RX 160 spatial processor and received pilot symbols (for pilot) to the channel estimator 172. The RX 160 spatial processor performs processing (e.g. detection and multiplexing) NO of received symbol sequences for each slot to obtain a detected symbol block, which is an estimate for the data symbol block sent by the transmitter 110 for that slot.
[0025] The RX 170 data processor receives all detected symbol blocks that have been received for the recovered data packet (ie, the "current" packet), performs processing (e.g., demodulates, deinterlaces, reassembles, and decodes) these detected symbol blocks according to the selected rate, and also provides a decoded packet that is an estimate of the data packet sent by the transmitter 110. The RX 170 data processor also provides the status of a decoded packet, which indicates whether the packet is decoded correctly or incorrectly.
[0026] The channel estimator 172 performs processing of received pilot symbols and / or received data symbols to obtain channel estimates (e.g., channel gain estimates and SNRs estimates) for the MIMO channel. Rate selector 174 receives the channel estimates and makes the rate selection for the next data packet to be sent to the receiver 150. The controller 180 receives the selected rate information from the speed selector 174 and the packet status from the RX 170 data processor, then creates feedback information for the transmitter 110. The feedback information may include the selected rate for the next packet, the ACK or NAK signal for the current packet and the like. The feedback information is processed by the TX 190 spatial processor / data processor and then conditioned by the transmitter unit 192, as well as sent via the reverse channel to the transmitter 110.
[0027] At transmitter 110, the signal (s) transmitted by the receiver 150 are received and conditioned by the receiver unit 146 and further processed by the spatial processor / data processor RX 148 to retrieve the feedback information sent by the receiver 150. The controller 140 receives the reproduced feedback information, uses the selected speed for processing
53 / 55P26905EN00 the next data packet to send to receiver 150 and uses the ACK / NAK signal to control the IR transmission of the current packet.
[0028] Controllers 140 and 180 direct work at transmitter 110 and receiver 150, respectively. Memory units 142 and 182 provide storage of program codes and data used by controllers 140 and 180, respectively. Memory units 142 and 182 may be located inside controllers 140 and 180 as shown in Fig. 1, or outside of these controllers. The processing units shown in Fig. 1 are described in more detail below.
[0029] Fig. 2 shows a flowchart of a process 200 for sending and receiving IR transmissions in the MIMO system. Initially, the receiver estimates the MIMO channel based on pilot symbols and / or data symbols received from the transmitter (step 210). The receiver selects one rate for data transmission on the MIMO channel based on the channel estimates and sends the selected rate to the transmitter (step 212). The transmitter receives the selected rate and encodes the data packet according to the selected rate to obtain the encoded packet (step 220). The transmitter then divides the encoded packet into NB subpackets, where the NB number can also be determined by the selected rate, and then processes each subpackage to obtain the corresponding data symbol block (also in step 220). The transmitter transmits one data symbol block at a time from NT transmit antennas until all NB data symbol blocks are transmitted or the ACK signal from the receiver for the data packet is received (step 222).
[0030] The receiver receives each transmitted data symbol block via the NR receive antennas (step 230). As soon as a new data symbol block is received, the receiver performs detection and decoding of all data symbol blocks that have been received for this data packet (step 232). The receiver also checks the decoded packet to determine if the packet has been decoded correctly (good) or incorrectly (cleared) (also step 232). If the decoded packet is cleared, then the receiver can send the NAK signal back to the transmitter, which uses this feedback to initiate transmission of the next block of data symbols for the data packet. Alternatively, the transmitter may send one block of data symbols at a time until an ACK signal is received from the receiver, which may or may not send back NAK signals. The receiver finishes processing the data packet if the packet is decoded correctly or if all NB data symbol blocks for this packet were received (step 234).
[0031] Fig. 2 shows a particular embodiment of an IR transmission in a MIMO system. IR transmission may also be implemented in other ways and this is also within the scope of the present invention. IR transmission can be implemented both in a duplex frequency division (FDD) system and a duplex time division system (TDD). For an FDD system, the target MIMO channel and the reverse channel use different frequency bands and are likely to be subject to different channel conditions. In this case, the receiver can estimate the target MIMO channel and send back the selected rate as shown in Fig. 2. For a TDD system, the target MIMO channel and the reverse channel share the same frequency band and are likely to be subject to the same channel conditions. In this case, the transmitter may estimate the MIMO channel based on the pilot sent by the receiver and use this channel estimation to select the data transmission rate to the receiver. Channel estimation and speed selection can be done by receiver, transmitter or both.
[0032] Fig. 3 shows IR transmission in a MIMO system. The receiver estimates the MIMO channel, selects the speed r1 and sends information about the selected speed to the transmitter in slot 0. The transmitter receives the selected speed from the receiver, processes the data packet (Package 1) according to the selected speed, and then sends the first block of data symbols (Block 1 ) for this data packet in slot 1. The receiver receives, detects and decodes the first block of data symbols, states that packet 1 is decoded with error and sends back the NAK signal in slot 2. The transmitter receives the NAK signal and passes the second block of data symbols (Block 2) for Package 1 in slot 3. The receiver receives Block 2, performs detection and decodes the first two blocks of data symbols, states that packet 1 is still coded with error, and then sends back the NAK signal in slot 4. Block transmission and the NAK signal response can be repeated any number of times. In the example shown in Fig. 3, the transmitter receives the NAK signal for the Nx-1 data symbol block times and transmits the Nx data symbol block times for Packet 1 in slot m, where Nx is a number less than or equal to the total number of blocks for Packet 1. The receiver receives, detects and decodes all Nx data symbol blocks received in Packet 1, determines whether this packet is decoded correctly, and also sends back the ACK signal in slot m + 1. The receiver also makes an estimation
MIMO channel, selects the rate r2 for the next data packet, and also sends the selected rate to the transmitter in slot m + 1. The transmitter receives the ACK signal for the Nx data symbol block and completes the transmission of Package 1. The transmitter also processes the next data packet (Package 2) according to the selected speed and sends the first block of data symbols (Block 1) for Package 2 in the m + 2 slot. Processing at the transmitter and receiver continues in the same way for each data packet transmitted via the MIMO channel.
[0033] For the embodiment shown in Fig. 3, there is a delay of one slot for the ACK / NAK response from the receiver for each block transmission. To improve channel utilization, multiple interlaced data packets can be transmitted. For example, data packets for one channel may be transmitted in interleaving mode. For example, data packets for one traffic channel may be transmitted in odd numbered slots, while data packets for another traffic channel may be transmitted in even slots. You can also interleave more than two channels if the ACK / NAK delay is longer than one slot.
1. Transmitter [0034] Fig. 4A is a block diagram of an embodiment of the TX data processor 120 within the transmitter 110. The TX data processor 120 receives data packets, processes each packet based on its selected rate, and provides NB data symbol blocks for that packet. Fig. 5 shows the processing of one data packet by the TX 120 data processor.
[0035] Inside the TX 120 data processor, the cyclic redundancy check (CRC) generator 412 receives a data packet, generates CRC values for the data packet, and appends the CRC value to the end of the data packet to form a formatted packet. The CRC value is used by the receiver to check whether the packet is decoded correctly or incorrectly. Instead of CRC, other error detection codes may also be used. Then, the correction coding encoder (FEC) 414 encodes the formatted packet according to the coding scheme or coding rate indicated by the selected rate and provides the coded packet or "code word". Coding increases the reliability of data transmission. The 414 FEC encoder may use a block code, convolutional code, Turbo code, other code or a combination of the above.
[0036] Fig. 4B is a block diagram of a parallel connected convolutional encoder (or Turbo encoder) 414a that can be used as the FEC encoder 414 of Fig. 4A. Turbo encoder 414a contains two component convolutional encoders 452a and 452b, interleaver 454 code interleaver, as well as 455 multiplexer (MUX). Code interleaver 454 interleaves data bits in a formatted packet (marked as {d}) according to the interleaving scheme code. The component encoder 452a receives and codes the data bits with the first component code and provides the first parity bits (designated as {cp1}). Similarly, the component encoder 452b receives and codes the interleaved data bits from the code interleaver 454 with the second component code and provides the second parity bits (designated as {cp2}). The component coders 452a and 452b may use two recursive systematic component codes with the coding scheme R1 and R2, respectively, where the value of R1 may be equal to, but not necessarily equal to, the value of R2. The 456 multiplexer receives and multiplexes data bits and parity bits from the 452a and 452b encoders and provides the encoded bit packet (designated as {c}). The encoded packet contains data bits {d}, which is also referred to as system bits and means {cdata}, followed by the first parity bits {cp1} followed by the second parity bits {cp2}.
[0037] Referring again to Fig. 4A, the partitioning unit 416 receives and divides the encoded packet into NB encoded subpackets, where the number NB may depend on the selected speed and indicated by the partitioning control variable from controller 140. The first encoded subpackage typically includes all systematic bits and zero or more parity bits. This allows the receiver to play a data packet with the first coded subpackage under favorable channel conditions. The remaining NB-1 coded subpackets contain the remaining first and second parity bits. Each of these NB-1 coded subpackets typically includes the first few parity bits and the second second parity bits, with the parity bits being taken over the entire data packet. For example, if the number NB = 8, and the remaining first and second parity bits have indexes starting at 0, then the second encoded subpackage may contain bits 0, 7, 14, ... among the remaining first and second parity bits, the third encoded subpackage may contain bits 1, 8, 15, ... of the remaining first and second parity bits and so on, and the eighth and last coded subpackage may contain bits
53 / 55P26905PL00
6, 13, 20, ... of the remaining first and second parity bits. Improved decoding can be achieved by spreading the parity bits on the remaining NB-1 encoded subpackets.
[0038] Channel interleaver 420 includes NB block interleavers 422a to 422nb that receive NB coded subpackets from partitioning unit 416. Each block interleaver 422 performs interleaving (i.e., rearranging) code bits for its subpackage according to the interleaving scheme and provides interlaced packet. Interleaving gives time, frequency and / or spatial diversification for code bits. A 424 multiplexer is present that interfaces with all NB block interleavers from 422a to 422nb and provides NB interleaving interpackets, one subpackage at a time, and, if directed, an IR transmission control variable from controller 140. In particular, multiplexer 424 first provides the interleaving sub-packet from the block interleaver 422a, then the interleaving sub-packet from the block interleaver 422b and so on, and finally the interleaving sub-packet from the 422nb block interleaver. Multiplexer 424 provides the next interleaving sub-packet if the NAK signal is received for this data packet. All NB block interleavers 422a to 422nb can be cleared as soon as an ACK signal is received.
[0039] Symbol mapping unit 426 that receives the interleaving sub-packets from the channel interleaver 420 and maps the interleaving data in each sub-pack to modulation symbols. Symbol mapping is performed according to the modulation scheme indicated by the selected speed. Mapped symbols can be obtained by 1) grouping sets of B bits to create binary
B-bit values, where the number B> 1, and 2) mapping each B-bit value to a point in the signal constellation containing 2<sup>B</sup> points. This signal constellation corresponds to the selected modulation scheme, which may be the BPSK, QPSK, 2 scheme<sup>B</sup>-PSK, 2<sup>B</sup>-QAM and so on. The term "data symbol" in the present sense means a modulation symbol for data, and the term "pilot symbol" is a modulation symbol for a pilot. Symbol mapping unit 426 provides a data symbol block for each coded subpackage as shown in Fig. 5.
[0040] For each data packet, the TX data processor 120 provides NB blocks of data symbols that collectively contain NSYM data symbols and can be marked as {s} = [s1 s2 ... sNSYM]. Each data symbol si, where i = 1, ... NSYM,
53 / 55P26905EN00 is obtained by mapping B bits as follows, s = map (b), where fy = [bi, 1, bi, 2 ... bi, B].
[0041] The IR transmission techniques described herein may be implemented in a single-carrier MIMO system that uses a single carrier for data transmission and in a multi-carrier MIMO system that uses multiple carriers for data transmission. Multiple carriers can be provided by orthogonal frequency division multiplexing (OFDM), thanks to other multi-carrier modulation techniques, or other solutions. OFDM technique effectively divides the whole system band into numerous (NF) orthogonal subbands, which are also collectively referred to as tones, containers or frequency channels. In the case of OFDM, each subband is associated with an appropriate carrier, which can be modulated by data.
[0042] The processing performed by the TX spatial processor 130 and the transmitter unit 132 within the transmitter 110 depends on whether one or more data packets are transmitted simultaneously and whether one or more carriers are used for data transmission. Some examples of structures for these two units are described below. For simplicity, the following description assumes a full-range MIMO channel with N<sub>S</sub> = N<sub>T</sub> <N<sub>R</sub>. In this case, one modulation symbol may be transmitted from each of the NT transmit antennas for each subband in each symbol period.
[0043] Fig. 6A shows a block diagram of a TX spatial processor 130a and transmitter unit 132a that can be used to transmit one packet IR at a time in a single carrier MIMO system. TX spatial processor 130a includes a multiplexer / demultiplexer (MUX / DEMUX) 610 that receives a block of data symbols and performs demultiplexing of data symbols in a block on NT subblocks for NT transmit antennas. The multiplexer / demultiplexer 610 also multiplexes pilot symbols (e.g., time division multiplexing (TDM)) and provides NT transmission symbol sequences for NT transmit antennas. Each sequence of the transmission symbol is intended for transmission from one transmitting antenna in one slot. Each transmission symbol may be for a data symbol or a pilot symbol.
[0044] Transmitter unit 132a includes NT TX RF units 652a to 652t for NT transmit antennas. Each TX RF 652 unit receives and conditions the appropriate transmission sequence from the TX 130a spatial processor in the target
Generating a modulated signal. NT modulated signals from TX RF units 652a to 652t are transmitted from NT transmit antennas, respectively from 672a to
672t.
[0045] Fig. 6B is a block diagram of a TX spatial processor 130b and transmitter unit 132a that can be used to transmit multiple packets of IR at a time in a single carrier MIMO system. The TX spatial processor 130b includes an matrix multiplication unit 620 that receives NP data symbol blocks for transmission in one slot, where 1 <N<sub>P</sub><N<sub>S</sub>. Unit 620 multiplies the data symbol matrix in NP blocks with the transmission base matrix and the diagonal matrix as follows:
s = MAs
Equation (1) where:
s is a data vector with dimensions {N<sub>T</sub> x 1},
p.
M stands for the preconditioned data vector with dimensions {NT x 1}, stands for the transmission base matrix with dimensions {N<sub>T</sub>, N<sub>T</sub>}, which is a unitary matrix, a
Λ is a diagonal matrix with dimensions {N<sub>T</sub> x N<sub>T</sub>}.
[0046] The vector s contains N<sub>T</sub> elements for N<sub>T</sub> transmitting antennas, N<sub>P </sub>elements are set for NP data symbols from NP blocks, while other NT N<sub>P</sub> items are set to zero. The vector Δ contains N<sub>T</sub> elements for N<sub>T </sub>preconditioned symbols to be sent from NT transmit antennas in one symbol period. The M base transmission matrix allows you to send each block of data symbols from all NT transmit antennas. Due to this, it is possible for all NP data symbol blocks to be subject to similar channel conditions and in addition it allows one rate to be used for all NP data packets. The M matrix also allows the use of full power P for data transmission<sub>ant</sub> each transmitting antenna. The M matrix can be defined as:
<img file="PL1665602T3_D0001.tif" />
where U is the Wash-Hadamard matrix. The M matrix can also be defined as:
<img file="PL1665602T3_D0002.tif" />
Where V is a matrix of discrete Fourier transform (DTF) with (k, i) specified as:
--Nv = e <sup>Nt</sup> where m is the index of the row an is the index of the column in the matrix V, where m = 1, ... N<sub>T</sub> and n = 1, ... N<sub>T</sub>. The diagonal matrix Λ can be used to allocate different transmission powers for NP data symbol blocks, meeting the condition of limiting the total Ptot transmission power for each transmitting antenna. The "effective" channel response observed by the receiver is then He<sub>ff</sub> = HM. This transmission scheme is described in more detail in US Patent Application Publication No. 10 / 367,234 entitled "Rate Adaptive Transmission Scheme for MIMO Systems," filed February 14, 2003.
[0047] Multiplexer 622 receives the preconditioned symbols from the matrix multiplication unit 620, performs multiplexing in pilot symbols, and provides NT transmission symbol sequences for NT transmit antennas. Transmitter unit 132a receives and conditions NT transmission symbol sequences and generates NT modulated signals.
[0048] Fig. 6C is a block diagram of a TX spatial processor 130 and transmitter unit 132b that can be used to transmit one packet IR at a time in a MIMO-OFDM system. Within TX spatial processor 130a, multiplexer / demultiplexer 610 receives and demultiplexes data symbols, multiplexes pilot symbols, and provides NT transmission symbol sequences for NT transmit antennas.
[0049] Transmitter unit 132b includes NT OFDM modulators 660a to 660t and NT TX RF units 666a to 666t for NT transmit antennas. Each OFDM 660 modulator includes a 662 inverse fast Fourier transform (IFFT) 662 unit and a cyclic prefix generator 664. Each OFDM 660 modulator receives the appropriate sequence of transmission symbols from the TX 130a spatial processor and groups each set of NF transmission symbols and zero signal values for the NF subbands. (Subbands not used for data transmission are filled with zeros). The IFFT 662 transforms each set of NF transmission symbols and zeros into the time domain using an NF-point inverse fast Fourier transform and provides a corresponding transformed symbol that contains NF chips. The cyclic prefix generator 664 repeats a fragment of each transformed symbol to obtain the corresponding OFDM symbol that contains NF + Ncp chips. The repeated fragment is determined
53 / 55P26905EN00 as a cyclic prefix, and Ncp is the number of chips being repeated. The cyclic prefix ensures that the OFDM symbol retains its orthogonal properties in the presence of a multi-path delay caused by frequency-selective signal loss (i.e. a frequency response that is not flat). The cyclic prefix generator 664 provides the OFDM symbol sequence for the transmission symbol sequence which is further conditioned by the associated TX RF 666 unit to generate a modulated signal.
[0050] Fig. 7A illustrates demultiplexing of a data symbol block for an exemplary MIMO-OFDM system with four transmit antennas (NT = 4) and 16 subbands (NF = 16). The data symbol block can be marked as {s} = [s1 s2 ... sNSYM]. For the example shown in Fig. 7A demultiplexing is performed so that the first four data symbols from s1 to s4 in the block are sent in the subband 1 of transmit antennas from 1 to 4, respectively, the next four data symbols from s5 to s8 are sent in the subband of 2 transmit antennas from 1 to 4 and so on.
[0051] Fig. 6D shows a block diagram of a TX spatial processor 130c and transmitter unit 132b that can be used for IR transmission of multiple packets simultaneously in a MIMO-OFDM system. Within the TX 130c spatial processor, the multiplexer / demultiplexer 630 receives NP data symbol blocks, where 1 <NP <NS and provides data symbols in each block to different subbands and different transmit antennas as illustrated below. Multiplexer / demultiplexer 630 also multiplexes pilot symbols and provides NT transmission symbol sequences for NT transmit antennas.
[0052] Fig. 7B illustrates an embodiment of multiplexing / demultiplexing two data symbol blocks (NP = 2) for an exemplary MIMO-OFDM system with four transmit antennas (NT = 4) and 16 subbands. For the first block of data symbols, the first four data symbols s1,1, s1,2, s1,3 and s1,4 are transmitted in subbands 1, 2, 3 and 4 respectively of transmission antennas 1, 2, 3, 4. The next four data symbols s1,5, s1,6, s1,7 and s1,8 are arranged cyclically and are sent in subbands 5, 6, 7, 8 respectively of transmitting antennas 1, 2, 3, 4. For the second block of data symbols the first four data symbols s2,1, s2,2, s2,3, s2,4 are sent in subbands 1, 2, 3, 4 respectively of the transmitting antennas 3, 4, 1 and 2. The next four data symbols s2,5, s2,6, s2,7, s2,8 are arranged cyclically and sent on subbands
5, 6, 7, 8 of the respective transmission antennas 3, 4, 1 and 2, respectively. For the embodiment shown in Fig. 7B, the set of NF frequency domain values for each transmission antenna for each symbol period includes transmission symbols for some subbands and zeros for other subbands.
[0053] Fig. 7B shows the transmission of two data symbol blocks simultaneously in NF subbands and NT transmit antennas. In principle, any number of data symbol blocks can be transmitted simultaneously in these subbands and transmit antennas. For example, in Fig. 7B one, two, three or four data symbol blocks can be transmitted simultaneously. However, the number of data symbol blocks that can be reliably transmitted at the same time depends on the rank of the MIMO channel, such that the NP should be less than or equal to NS. The transmission scheme shown in Fig. 7B allows easy adaptation of the transmission of different numbers of data symbol blocks simultaneously based on the rank of the MIM4 channel.
[0054] For the embodiment shown in Fig. 7B, each data symbol block is transmitted diagonally on the NF subbands and from all NT transmit antennas. This gives diversity in both frequency and spatial distribution for all NP data symbol blocks simultaneously transmitted, which allows the use of one rate for all data packets. However, different rates can also be used for different data packets sent simultaneously. The use of different speeds may give better results for some receivers, such as a line receiver that does not implement the IDD scheme. The IR transmission of multiple data packets simultaneously with different speeds is described in US Patent Application 10 / 785,292, entitled "Incremental Redundancy Transmission for Multiple Parallel Channels in a MIMO Communication System," filed February 23, 2004.
[0055] Multiplexing / demultiplexing can also be performed in other ways, also obtaining diversity in both frequency and spatial distribution. For example, multiplexing / demultiplexing can be such that all NF subbands of each transmit antenna are used to carry transmission symbols. Due to the fact that the total power of each transmit antenna is limited to the value of Pant, the amount of available transmission power for each transmission symbol depends on the number of subbands carrying the transmission symbols.
[0056] Referring again to Fig. 6D, transmitter unit 132b receives and conditions NT transmission symbol sequences from TX spatial processor 130c and generates NT modulated signals.
2. Receiver [0057] Fig. 8A shows a block diagram of a receiver 150a, which is an embodiment of the receiver 150 of Fig. 1. At receiver 150a, NR receiving antennas 810a through 810r receives NT modulated signals transmitted by transmitter 110 and provides NR received signals to NR units RX RF 812a to 812r, respectively, inside the receiving unit 154. Each RX RF 812 unit conditions and digitizes its received signal and provides a stream of symbols / chips. For a single-carrier MIMO system, OFDM demodulators 814a to 814r are not required and each RX RF 812 unit provides a symbol stream directly to the appropriate 816 demultiplexer. For the MIMOOFDM system, each RX RF 812 unit provides a stream of chips to the appropriate OFDM 814 demodulator. Each OFDM 814 demodulator performs OFDM demodulation on its chip stream by 1) removing the cyclic prefix in each received OFDM symbol to obtain the received transformed symbol, and 2) transforming each received transformed symbol into the frequency domain with a fast Fourier transform (FFT) in to receive NF received symbols for NF subbands. For both systems, demultiplexers 816a to 816r receive NR symbol streams from RX RF 812 units or OFDM 814 demodulators, provide the received sequence ID symbols (for data) for each slot to the RX 160a spatial processor, and provide received pilot symbols to the channel estimator 172 [0058] The RX spatial processor 160a includes a detector 820 and a multiplexer 822. Detector 820 performs spatial or spatio-temporal processing (or "detecting") on the NR received symbol sequences to obtain NT detected symbol sequences. Each detected symbol is an estimate of the data symbol transmitted by the transmitter. The 820 detector can implement an MRC detector with summation of received power (maximal ratio combining), a ZF detector with zero excitation (also referred to as a detector with inverted channel correlation matrix (CCMI)), a detector with a minimum mean square error (MMSE), an MMSE detector equalizer (MMSE-LE), detector with decision
53 / 55P26905EN00 feedback (DFE) or other type of detector / equalizer. Detection can be performed based on an estimate of the H channel response matrix if spatial processing is not performed at the transmitter. Alternatively, detection can be performed based on an effective H channel response matrix<sub>eff</sub> = HM if the data symbols are pre-multiplied with the M transmission base matrix in the transmitter for a single carrier MIMO system. For the sake of simplicity, the following description assumes that the base transmission matrix M was not used.
[0059] The MIMO-OFDM system model can be expressed as:
r (^) - + η (Λ), for k ~ 1 ... N<sub>F</sub>, Equation (2) where:
s (k) is the vector {N<sub>T</sub> x 1} at N<sub>T</sub> elements for N<sub>T</sub> data symbols transmitted from NT transmit antennas on subband k;
r (k) is the receiving vector {N<sub>T</sub> x 1} at N<sub>R</sub> elements for N<sub>R</sub> received symbols received via the NR receive antennas on subband k;
H (k) is the {N<sub>R</sub> x N<sub>T</sub>} for subband k; an (k) is the additive Gaussian white noise vector (AWGN)
It is assumed that the vector n (k) has a zero mean and covariance matrix Λη = σ<sup>2</sup>1 where σ<sup>2</sup> denotes the variance of noise, and l denotes the unitary matrix with ones on the diagonal and zeros beyond.
[0060] For the MIMO-OFDM system, the receiver performs detection separately for each subband used for data transmission. The following description is given for one subband and for simplicity of mathematical description the subband index k is omitted. The following description can also be used for a single carrier MIMO system. For simplicity, it is assumed that the vector s contains NT data symbols sent from NT transmit antennas.
[0061] Spatial processing performed by the MRC detector may be expressed as:
Equation (3) where
53 / 55P26905PL00
AND
Wmrc means MRC detector response, which is W<sub>m</sub>rc = H; is a vector {N<sub>T</sub> x 1} containing the detected symbols for the MRC detector; and "H" means conjugate transposition.
[0062] A detected symbol for the transmitting antenna and can be expressed as: '^<sup>=</sup>^ Ε. where Wmrc.i means the i-th column of Wmrc and is given as w<sub>mrc</sub>j = h<sub>and</sub>, where h is the channel response vector between transmit antennas and a NR receive antennas.
[0063] Spatial processing performed by the MMSE detector can be expressed as:
£ -w *
2mrn «» Equation (4) where W<sub>mm</sub>se = (HH<sup>h</sup> + σ<sup>2</sup>Ι)<sup>-1</sup>Η for the MMSE detector. MMSE detector response for the transmitting antenna and can be expressed as in<sub>mm</sub>se, j = (HH<sup>h</sup> + σ<sup>2</sup>Ι)<sup>-1</sup>ή,.
[0064] Spatial processing performed by the detector with zero induction can be expressed as:
s = W<sup>H</sup>r
Equation (5) where W<sub>zf</sub> = H (H<sup>h</sup>H)<sup>-1</sup> for a detector with zero forcing. The detector response with zero forcing for the i-th transmitting antenna can be expressed as Wz<sub>f</sub> = hi ^ H) '<sup>1</sup>[0065] For each slot, detector 820 provides NT detected symbol sequences that correspond to N<sub>T</sub> S. multiplexer 822 receives N<sub>T</sub> of detected symbol sequences from the detector 820 and performs processing complementary to the processing performed by the TX spatial processor 130 in the transmitter. If in each slot only one data symbol block is transmitted, such as for the TX spatial processor 130a in Figs. 6A and 6C, then multiplexer 822 multiplexes detected symbols in NT sequences to one detected symbol block. If a plurality of data symbol blocks are transmitted in each slot, such as for the spatial processor TX 130b and 130c in Figs. 6B and 6D, respectively, then multiplexer 822 multiplexes and demultiplexes the detected symbols in NT sequences to the form of NP detected symbol blocks (not shown) in Fig. 8A). In any case, each detected symbol block is an estimate of the data symbol block transmitted by the transmitter.
[0066] The channel estimator 172 estimates the H channel response matrix for the MIMO channel and the noise level for the receiver (based, for example, on received pilot symbols) and provides channel estimates for the controller 180. Inside the controller 180, the unit 176 for matrix calculations obtains the response of the detector W (which may be the answer of W<sub>mrc</sub>, In<sub>mm</sub>se, Wz<sub>f</sub>) based on the estimated channel response matrix, as described above, and provides the detector response to the detector 820. The detector 820 performs a pre-multiplication of the received symbol vector r with the response of the detector W to obtain the vector of detected symbols S. Rate selector 174 (which is implemented by controller 180 for the embodiment of the receiver shown in Fig. 8A) makes a rate selection based on channel estimates, as described below. There is a handy table (LUT) 184 that stores a set of speeds supported by the MIMO system and a set of parameter values associated with each speed (e.g. data rate, packet size, coding scheme or coding rate, modulation scheme and others for each speed) Speed selector 174 goes to LUT 184 for the information used to make the speed selection.
[0067] Fig. 8B is a block diagram of the RX 170a data processor, which is one example of the RX 170 data processor of Figs. 1 and 8A. Inside the RX 170a data processor, the symbol demapping unit 830 receives the detected symbol blocks from the RX 160a spatial processor, one block at a time. For each detected symbol block, the symbol demapping unit 830 demodulates the detected symbols according to the modulation scheme used for that block (indicated by the demodulation variable from controller 180) and provides a demodulated data block to the channel interleaver 840. The channel interleaver 840 includes a demultiplexer 842 and NB block interleavers from 844a to 844nb. Before receiving a new data packet, block interleavers 844a to 844nb are initialized by deleting. As a result of the deletion, a value is set that replaces the missing code bit (i.e. one that has not yet been received) and is given appropriate weight in the decoding process. Multiplexer 842 receives the demodulated data blocks from the symbol demapping unit 830 and provides each demodulated data block to the corresponding block interleaver 844. Each block layout
Interleaving 844 performs deinterleaving from demodulated data in its block in a manner complementary to the interleaving process performed for that block at the transmitter. If interleaving is dependent on the speed selected, then controller 180 provides the de-interleaving control variable to block interleavers 844, as indicated by the dashed line.
[0068] As soon as a new data symbol block for the data packet is received from the transmitter, a new decoding procedure is performed on all blocks received for that packet. A reassembly unit 848 is present that forms the de-interleaved data packet for the next decoding step. The de-interleaved data packet contains (1) de-interleaved data blocks for all data symbol blocks received for the current packet and 2) cleared places for data symbol blocks that were not received for the current packet. The reassembly unit 848 performs reproduction in a complementary manner to the partitioning procedure performed by the transmitter indicated by the control variable from controller 180.
[0069] The FEC 850 decoder decodes a de-interleaved data packet in a way that is complementary to the FEC coding performed by the transmitter, indicated by the decoding control variable from controller 180. For example, a Turbo decoder or a Viterbi decoder can be used as an FEC 850 decoder if the Turbo type encoding or convolutional coding, respectively, is performed at the transmitter. The FEC 850 decoder provides a decoded packet for the current packet. The CRC 852 checker checks if the packet is decoded correctly or with error, and gives the decoded packet the appropriate status.
[0070] Fig. 9A shows a block diagram of a receiver 150b, which is another example of the receiver 150 of Fig. 1. The receiver 150b implements an iterative detection and decoding (IDD) scheme. For clarity, the IDD scheme is described below for the coding scheme shown in Figs. 4B and 5, which encodes the data packet into three parts - systematic bits {cdata}, first parity bits {cp1} and second parity bits {cp2}.
[0071] Receiver 150b includes a detector 920 and a FEC decoder 950 that perform an iterative detection and decoding procedure on the received symbols for a data packet to obtain a decoded packet. IDD scheme
53 / 55P26905EN00 uses channel error correction capabilities for better performance. This is achieved by iteratively passing a priori information between the detector 920 and the decoder 950 for Ndd iteration, where Ndd> 1, as described below. A priori information indicates the probability of the bits being transmitted.
[0072] The receiver 150b includes the RX spatial processor 160b and the RX data processor 170b. Inside the RX 160b spatial processor, buffer 918 receives and stores the NR received sequences provided by the receiving unit 154 for each slot. As soon as a new data symbol block for the data packet is received from the transmitter, a new (i.e. from the beginning) iterative detection and decoding procedure is performed on the received symbols for all blocks received for that packet. Detector 920 performs spatial processing or detection on the NR received symbol sequences for each received block and provides NT detected symbol sequences for that block. The 920 detector can implement an MRC detector, a zero-forced detector, an MMSE detector, or other type of detector / corrector. For clarity, detection using the MMSE detector will be described below.
[0073] For an MMSE detector with iterative detection and coding, the detected symbol s<sub>and</sub> for the transmitting antenna and can be expressed as:
, for i = 1, ... N<sub>T</sub> Equation (6) where in<sub>and</sub> and in<sub>and</sub> they are obtained on the basis of the MMSE criterion, which can be expressed as:
Equation (7) [0074] Solutions to the optimization problem identified in equation (7) can be expressed as:
"(P. <sup>+</sup> Q <sup>+ cr</sup> i) L and Equation (8)
<img file="PL1665602T3_D0003.tif" />
h "- W, zz
P = h<sub>(</sub>h "
Equation (9)
Equation (10)
53 / 55P26905PL00
Q = 2 ^ (8, - ^ 1) (8, -¾] ^] ^ and
Equation (11) ~~ - Equation (12) where h<sub>and</sub> is the ith column of the H channel response matrix;
H<sub>and</sub> is H with the i-th column set to zero;
s<sub>and</sub> is a vector {(N<sub>T</sub>-1) x 1} obtained by removing the ith element s;
E [a] are the expected values of the elements of vector a; and VAR [aa<sup>H</sup>] is the covariance matrix for vector a.
[0075] The matrix P is the external product of the channel response vector h<sub>and</sub> for the i-th transmit antenna. The Q matrix is the interference covariance matrix for the -th transmit antenna. The z vector is the interference expected value for the-th transmitting antenna.
[0076] Equation (6) can be simplified into:
PLN, for / = 1, ... Nt Equation (13) zy; - in H I. <sub>rr</sub> where and n<sub>and</sub> is a Gaussian noise sample with zero mean and and / - P 'variance' - · '. The Gaussian noise sample η assumes that interference from other transmit antennas is Gaussian after the MMSE detector.
In the following description, the superscript n denotes the nth iteration of the detection / decoding procedure, and the subscript m denotes the mth block of data symbols received for the current data packet being played back. For the first iteration (i.e. n = 1) the detection is based solely on the received symbols because there is no a priori information from the FEC decoder. Therefore, it is assumed that bits "1" and "0" have equal probability. In this case, equation (8) is reduced to a linear MMSE detector, which can be expressed as: w<sub>and</sub> = (HH<sup>h</sup> +
-1 ^ I) hj · For each subsequent iteration (i.e. n> 1), the detector uses a priori information provided by the FEC decoder. As the number of iterations increases, the interference is reduced and the detector converges to the MRC detector, which achieves full diversification.
[0078] For each received data symbol block for the current data packet, the detector 920 in Fig. 9A performs detection on the NR received symbol sequences for that block and provides NT detected symbol sequences. A multiplexer 922 is present that multiplexes the detected symbols in NT sequences to obtain the detected symbol block that is provided to the RX 170b data processor. The detected symbol block obtained in the nth detection / decoding iteration for the mth data symbol block is denoted as {Sm}. [0079] Within the RX 170b data processor, the unit 930 for calculating the log-likelihood ratio (LLR) receives the detected symbols from the RX spatial processor 160b and calculates the LLR B values of the code bits for each detected symbol. Each S symbol detected<sub>and</sub> is an estimate of the data symbol s, which is obtained by mapping the B bits of the code b<sub>and</sub> = [b<sub>and</sub>,<sub>1</sub> b<sub>2</sub> ... b<sub>and</sub>,<sub>B</sub>] to a point in the signal constellation. LLR value for the jth bit of the detected S symbol<sub>and</sub> can be expressed as:
<img file="PL1665602T3_D0004.tif" />
Equation (14) where:
bi, j is the jth bit of the detected symbol S<sub>and</sub> ;
Pr (S<sub>and</sub> | <sub>bi</sub>, j = 1) is the probability of the detected symbol s<sub>and</sub> at bit bi, j of 1;
Pr (S<sub>and</sub> | <sub>bi</sub>, j = -1) is the probability of the symbol s detected<sub>and</sub> at bit bi, j of -1 (i.e. '0'); and xi, j is the LLR value of bit bi, j.
[0080] The LLR values {xi, j} represent the initial information provided by the detector to the FEC decoder and are also referred to as detector LLR values.
[0081] For simplicity, it is assumed that interleaving is such that there are B independent bits for each detected S symbol<sub>and</sub> . Equation (14) can then be expressed as:
53 / 55P26905PL00
<img file="PL1665602T3_D0005.tif" />
Equation (15) where
Ωj,<sub>q</sub> is the set of points in the signal constellation whose jth bit is q; s is the modulation symbol or estimated point in the set Gj,<sub>q</sub> (that is, the hypothesized symbol);
and<sub>and</sub> is the gain of the transmitting antenna and is defined above; v<sub>and</sub> is the variance of the Gaussian noise sample n<sub>and</sub> for the detected symbol p<sub>and</sub> ;
bj is the set of B bits for the symbol s under hypothesis;
bi (j) is equal to b<sub>and</sub> with j-bit removed;
Li is the set of LLR values obtained from the FEC decoder for B bits of the s symbol being hypothesized;
L<sub>and</sub>(j) is equal to L<sub>and</sub> with LLR decoder for j-bit removed (i.e. L<sub>j</sub>(J) = [λ<sub>and</sub>,<sub>1</sub>, ...
<sup>,</sup> \ j-1> \ j + 1> ···! <sup>λ</sup>ί, Β<sup>]) while</sup> "T" means transposition.
[0082] The LLR decoder for (i, j) -th bit can be expressed as:
Aj = 10g
Pr% = l). Prr (Aj = -D
Equation (16) where:
Pr (bi, j = 1) means the probability of bit b /, jo of 1; and
Pr (bi, j = -1) means the probability of bit b /, jo of -1.
[0083] For the first iteration (n = 1), all L elements<sub>and</sub>(j) are set to zero to denote the equal probability of the value of each bit of 1 or -1, as no preliminary information is available for that bit. For each subsequent iteration, the L elements<sub>and</sub>(j) are calculated on the basis of "soft" values for bits from the FEC decoder. The computing LLR 930 provides LLR values for the code bits of each detected symbol received from the RX 160b spatial processor. The LLR value block obtained in the nth detection / decoding iteration for the mth data symbol block is designated as {x<sub>m</sub><sup>n</sup> }.
[0084] The channel de-interleaver 940 receives and deinterleaves from each block of LLR values received from the computational unit LLR 930 and provides for that block the de-interleaved LLR values. The reassembly unit 948 forms an LLR value packet that includes (1) LLR blocks deinterleaved from the channel deinterleaver 940 for all data symbol blocks received from the transmitter, and (2) zero LLR blocks for the unclaimed data symbol blocks. The LLR value packet for the nth detection / decoding iteration is marked as {x<sup>n</sup>}. The FEC decoder 950 receives and decodes the LLR value packet from the reassembly unit 948, as described below.
[0085] Fig. 9B is a block diagram of a Turbo 950a decoder that can be used as FEC decoders 950 and 850 in Figures 9A and 8B, respectively. The Turbo 950a decoder performs iterative decoding for a parallel connected convolutional code, such as for example shown in Fig. 4B. [0086] Inside the Turbo 950a decoder, the demultiplexer 952 receives and demultiplexes the LLR value packet {x<sup>n</sup>} from the reassembly unit 948 (which is also labeled as LLR input values) to the LLR value of the data bits {xd<sup>n</sup>ata}, the first LLR parity bits {x<sup>n</sup>p1}, second parity bits LLR {x<sup>n</sup>p2}. A 954a soft input / output (SISO) decoder is present that receives LLR values of the data bits {x<sub>d</sub><sup>n</sup>ata} and LLR values of the first parity bits {x<sup>n</sup>p1} from demultiplexer 952 and LLR values of data bits {<sup>~</sup>x<sub>date2</sub> } de-interleaved from the 958 de-interleaver. Then the SISO 954a decoder receives new LLR values for the data bits and the first parity bits, {x<sub>date1</sub> } and {x<sup>n</sup>p1<sup>+1</sup> } based on the first component convolutional code. Code interleaver 956 interleaves the LLR values of the data bits {xdata1} according to the code interleaving scheme used at the transmitter and provides the LLR values of the interlaced data bits {<sup>~</sup>x<sub>date1</sub>}. Similarly, the SISO 954B decoder receives LLR values of the data bits {x<sub>d</sub><sup>n</sup>ata} and LLR values of the second parity bits {x<sub>p</sub><sup>n</sup>2 } from demultiplexer 952 and LLR values of interlaced data bits { <sup>~</sup>x<sub>date1</sub>} from interleaver 956. The SISO 954B decoder then receives new LLR values for data bits and second parity bits {xdata2} and
53 / 55P26905EN00 {x<sup>n</sup>p<sup>+</sup>2<sup>1</sup>} based on the second component of the convolutional code. De-interleaver 958 deinterleaves the LLR values of the data bits {xdata2} in a complementary manner to code interleaving and provides LLR values of the de-interleaved data bits {<sup>~</sup>x<sub>date2</sub> }. SISO 954a and 954b decoders can implement the BCJR SISO maximum a posteriori (MAP) algorithm or its less complex derivatives, the soft-output Viterbi (SOV) algorithm, or some other decoding algorithm that is known in the art.
[0087] Decoding by SISO 954a and 954B decoders is iterated Ndec times for the current detection / decoding n iteration, where N<sub>dec</sub>> 1. After all Ndec decoding iterations, the combiner / multiplexer 960 receives the final LLR values of the data bits {xdata1} and the final LLR values of the first parity bits {x<sup>n</sup>p1<sup>+1</sup> } from SISO 954a decoder, de-interleaved LLR final data bits { <sup>~</sup>xdata2} from the 958 deinterleaver, as well as the final LLR values of the second parity bits {xp<sup>n +</sup>2<sup>1</sup> } from the SISO 954B decoder. The linker / multiplexer 960 then calculates the decoder LLR values {xd<sup>n</sup>e<sup>+</sup>c<sup>1</sup> } for the next iteration n + 1 detection / decoding as follows:
f γ<sup>+ ιι Ι</sup> 1 - [I y j.n + 1 "n + l 1 'Decoder LLR values {χ" /<sup>1</sup>} correspond to the value of λ<sub>and</sub>, as in equation (16) and represent the a priori information provided by the FEC decoder to the detector.
[0088] After all Ndd detection / decoding iterations are completed, the linker / multiplexer 960 calculates the final LLR values of the data bits {xdata} {* 4 »ο 1 = + <sup>Χ</sup>Α * Λ ł ,, as follows:
where {xdNata} is the LLR values of the data bits provided by the LLR 930 calculation unit for the last detection / decoding iteration. The split circuit 962 divides the final LLR values of the data bits {x<sub>date</sub>} and provide the decoded packet {d} for the packet being played. A CRC 968 checker is present that checks the decoded packet and provides the packet status.
[0089] Referring again to Fig. 9A, LLR values {x<sub>d</sub><sup>n</sup>e<sup>+</sup>c<sup>1</sup> } from the FEC 950 decoder are interleaved by the 970 channel interleaver and the LLR values of the interleaver decoder are supplied to the 920 detector. The 920 detector
53 / 55P26905EN00 receives new detected symbols {s ^<sup>1</sup>} based on the symbols received {r<sub>m</sub>} and the decoder LLR values {x<sub>d</sub><sup>n</sup>e<sup>+</sup>c<sup>1</sup> }. Decoder LLR values {x<sub>d</sub><sup>n</sup>e<sup>+</sup>c<sup>1</sup> } are used to calculate (a) the expected interference value (i.e. E [s<sub>and</sub>]), which is used to obtain the number z in equation (12) and (b) interference variance (i.e. VAR [s<sub>and</sub>]), which is used to obtain the number Q in equation (11).
[0090] The detected symbols {} for all received data symbol blocks from the RX spatial processor 160a are again decoded by data processor 170b as described above. The detection and decoding process is repeated Ndd times. During the iterative detection and decoding process, the reliability of the detected symbols improves with each iteration of the detection / decoding process.
[0091] As shown in equation (8), the answer in<sub>t</sub> the MMSE detector depends on the Q value, which in turn depends on the VAR interference variance [p<sub>and</sub>]. Because the Q value is different for each detection / coding iteration, the answer in<sub>and</sub> the MMSE detector is also different in each iteration. To simplify the receiver 150b, the detector 920 can implement (1) an MMSE detector for Ndd1 detection / decoding iteration and then (2) an MRC detector (or some other type of detector / corrector with a response that does not change in subsequent iterations) for subsequent Ndd2 detection / decoding iterations where each number Ndd1 and Ndd2 can have values of 1 or more. For example, the MMSE detector for the first detection / decoding iteration and the MRC detector for the next five detection / decoding iterations can be used. In another example, the MMSE detector can be used for the first two detection / decoding iterations, and the MRC detector can be used for the next four detection / decoding iterations.
[0092] The MRC detector may be implemented with the expression u<sub>and</sub>, as shown in equation (6), where<sub>mrc</sub>,<sub>and</sub> replaces in<sub>and</sub>. As shown in equations (6), (9) and (12), the word u depends on the expected interference value E [s<sub>and</sub>]. To further simplify the 150b receiver, the word u<sub>and</sub> can be bypassed after switching from the MMSE detector to the MRC detector.
[0093] The iterative detection and decoding scheme has various advantages. For example, the IDD scheme supports the use of one rate for all packets
53 / 55P26905EN00 data transmitted simultaneously via NT transmit antennas, can overcome selective frequency decay, and can be flexibly used with various coding and modulation schemes, including the parallel connected convolutional code shown in Fig. 4B.
3. Rate selection [0094] For both the MIMO system and the MIMO-OFDM system with a single carrier, the receiver and / or transmitter can estimate the MIMO channel and select the appropriate rate for data transmission on the MIMO channel. The choice of speed can be made in various ways. The following are some sample schemes for making a speed selection.
[0095] In the first rate selection scheme, the MIMO data rate is selected based on a metric that is obtained using an equivalent system that models channel responses for NT transmit antennas. The equivalent system is defined to have an AWGN channel (i.e., with a flat frequency response) and spectral efficiency that is equal to the average spectral efficiency of NT transmit antennas. The equivalent system has a total capacity equal to the total capacity of NT transmit antennas. The average spectral efficiency can be determined by (1) estimating the received SNR signal for each transmitting antenna (e.g. based on the received pilot symbols and / or data symbols), (2) calculating the spectral efficiency of each transmitting antenna based on the received factor SNR and based on (limited or unlimited) spectral efficiency function, f (x), and 3) calculating the average spectral efficiency of NT transmit antennas based on the spectral efficiency of the individual transmit antennas. This metric can be defined as the SNR required by an equivalent system to support average spectral efficiency. This SNR can be determined based on the average spectral efficiency based on the inverse function f<sup>1</sup>(X).
[0096] The system may be designed to support a set of rates. One of the supported speeds may be zero speed (i.e., zero data rate). Each of the other speeds is associated with a particular non-zero speed, a specific coding scheme or coding rate, a specific modulation scheme, and a particular
53 / 55P26905EN00 minimum SNR required to achieve the target performance level (e.g. 1% PER) for the AWGN channel. For each supported non-zero data rate, the required SNR is obtained based on the specific system design (i.e., the specific coding rate, interleaving scheme, modulation scheme, and so on, used by the system for this rate) as well as for the AWGN channel. The required SNR can be obtained by computer simulation, experimental measurements and the like as is known in the art. The set of speeds supported and the SNRs required by them may be stored in a handy table (e.g., tables and LUT 184 of Fig. 8A).
[0097] This metric can be compared with the required SNR for each speed supported by the system. The highest speed with the required SNR, which is less than or equal to the metric, is selected for use when transmitting data on the MIMO channel. The first rate selection scheme is described in detail in US Patent Application 10 / 176.567, entitled "Rate Control for Multi-Channel Communication Systems", filed June 20, 2002.
[0098] In the second rate selection scheme, the data rate on the MEMO channel is selected based on the received SNRs for NT transmit antennas. First, the received SNR value is determined for each transmitting antenna, and then the average value of the received SNR coefficients, Y is calculated<sub>rx</sub>,<sub>avg</sub> for N<sub>T</sub> transmitting antennas. Then the working SNR, Y is calculated<sub>op</sub>, for N<sub>T</sub> transmitting antennas based on the average received SNR value, Y<sub>rx</sub>,<sub>avg</sub>, as well as SNR offset or undo factor, Yos (for example, Y<sub>op</sub> = γ ™ + γ<sub>Οδ</sub>, where units are expressed in dB). The SNR offset is used to take into account estimation error, MIMO channel variability and other factors. The value of the working SNR, Y<sub>op</sub>, it can be compared with the required SNR for each of the speeds supported by the system. The fastest speed with the required SNR, which is less than or equal to the working SNR (i.e. Y<sub>req</sub><y<sub>op</sub>) is selected for use when transmitting data on the MIMO channel. A second speed selection scheme is described in detail in US Patent Application
53 / 55P26905PL00
10 / 394,529 entitled "Transmission Mode Selection for Data Transmission in a Multi-Channel Communication System”, filed March 20, 2003.
[0099] The IR transmission techniques described herein can be implemented in various ways. For example, these techniques can be implemented on a hardware or software platform, or a combination thereof. For hardware implementation, the processing units used in the transmitter for IR transmission can be implemented inside one or more specialized integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPD), programmable logic devices (PLD), field programmable devices gate matrices (FPGAs), processors, controllers, microcontrollers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. Processing units used in the receiver to receive IR transmission can also be implemented inside one or more of the following: ASIC, DSP, DSPD, PLD, FPGA, processors, controllers and others.
[0100] To implement program-based IR transmission techniques, they may be implemented in the form of modules (e.g., procedures, functions, and others) that perform the functions described herein. Software codes may be stored in a memory unit (e.g., memory units 142 and 182 of Fig. 1) and executed by a processor (e.g. controllers 140 and 180). The memory unit may be implemented inside the processor or outside the processor, in which case it may be communicatively connected to the processor via various means known in the art.
[0101] In this document, headings are provided for reference purposes and to assist in locating some sections. These headers are not intended to limit the scope of the ideas described herein, but these concepts may be implemented in other sections of the entire description.
[0102] The above description of the presented embodiments has been given to enable any person skilled in the art to make or use the present invention. Those skilled in the art will readily recognize the possibility of various modifications to these embodiments, and the general solutions defined herein may be applied to other embodiments without departing from the scope of the invention. The present invention is not intended to be
Limited to the embodiments shown, but is to be understood to the fullest extent in accordance with the principles set forth herein and new features.
53 / 55P26905PL00
Contents8
67 members in 22 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 50177703 | United States of America | P | |
| 50177703 | United States of America | P | |
| 53139103 | United States of America | P | |
| 53139103 | United States of America | P | |
| 80162404 | United States of America | A | |
| 80162404 | United States of America | A | |
| 04783748 | European Patent Office (EPO) | A | |
| 2004029648 | United States of America | W | |
| 2004029648 | United States of America | W | |
| EP20040783748 | – | – | – |
| US20030501777P | – | – | – |
| US20030531391P | – | – | – |
| US20040801624 | – | – | – |
| WO2004US29648 | – | – | – |
Members67
| Document | Office | Kind | |
|---|---|---|---|
| US2005052991A1 | United States of America | A1 | |
| AU2004303128A1 | Australia | A1 | |
| CA2538057A1 | Canada | A1 | |
| WO2005025117A2 | World Intellectual Property Organization (WIPO) | A2 | |
| TW200522566A | Taiwan Province of China | A | |
| AR045622A1 | Argentina | A1 | |
| AR047069A1 | Argentina | A1 | |
| MXPA06002662A | Mexico | A | |
| EP1665602A2 | European Patent Office (EPO) | A2 | |
| BRPI0414188A | Brazil | A | |
| KR20060121867A | Republic of Korea | A | |
| WO2005025117A3 | World Intellectual Property Organization (WIPO) | A3 | |
| JP2007509511A | Japan | A | |
| RU2006111513A | Russian Federation | A | |
| CN101142774A | China | A | |
| EP1665602A4 | European Patent Office (EPO) | A4 | |
| EP1959600A1 | European Patent Office (EPO) | A1 | |
| HK1112339A1 | Hong Kong, China | A1 | |
| HK1125756A1 | Hong Kong, China | A1 | |
| RU2369021C2 | Russian Federation | C2 | |
| EP2146455A2 | European Patent Office (EPO) | A2 | |
| EP2146456A2 | European Patent Office (EPO) | A2 | |
| AU2004303128B2 | Australia | B2 | |
| EP1959600B1 | European Patent Office (EPO) | B1 | |
| ATE463894T1 | Austria | T1 | |
| DE602004026491D1 | Germany | D1 | |
| ES2342444T3 | Spain | T3 | |
| KR20100082385A | Republic of Korea | A | |
| KR20100090793A | Republic of Korea | A | |
| EP1665602B1 | European Patent Office (EPO) | B1 | |
| AU2004303128C1 | Australia | C1 | |
| ATE480061T1 | Austria | T1 | |
| PL1959600T3 | Poland | T3 | |
| DE602004028947D1 | Germany | D1 | |
| JP2010252365A | Japan | A | |
| JP2010252366A | Japan | A | |
| TW201042935A | Taiwan Province of China | A | |
| TW201042936A | Taiwan Province of China | A | |
| RU2009120027A | Russian Federation | A | |
| CN101917257A | China | A | |
| CN101917262A | China | A | |
| ES2349742T3 | Spain | T3 | |
| PL1665602T3This record | Poland | T3 | |
| JP4741495B2 | Japan | B2 | |
| TWI353129B | Taiwan Province of China | B | |
| EP2146456A3 | European Patent Office (EPO) | A3 | |
| EP2146455A3 | European Patent Office (EPO) | A3 | |
| CN101142774B | China | B | |
| CN101917262B | China | B | |
| CN101917257B | China | B | |
| JP5204152B2 | Japan | B2 | |
| KR101280734B1 | Republic of Korea | B1 | |
| KR101285901B1 | Republic of Korea | B1 | |
| JP5280404B2 | Japan | B2 | |
| RU2502197C2 | Russian Federation | C2 | |
| TWI426724B | Taiwan Province of China | B | |
| TWI427947B | Taiwan Province of China | B | |
| CA2538057C | Canada | C | |
| US8908496B2 | United States of America | B2 | |
| BRPI0414188B1 | Brazil | B1 | |
| EP2146455B1 | European Patent Office (EPO) | B1 | |
| TR201815083T4 | Türkiye | T4 | |
| PT2146455T | Portugal | T | |
| DK2146455T3 | Denmark | T3 | |
| SI2146455T1 | Slovenia | T1 | |
| ES2700138T3 | Spain | T3 | |
| PL2146455T3 | Poland | T3 |
Numbers
- Publication, DOCDB
- 1665602
- Publication, EPODOC
- PL1665602T
- Application
- 783748
- Application, DOCDB
- 04783748
- Application, EPODOC
- PL20040783748T
Titles2
- English
- INCREMENTAL REDUNDANCY TRANSMISSION IN A MIMO COMMUNICATION SYSTEM
- Polish
- Transmisja przyrostowej redundacji w systemie komunikacyjnym MIMO
Classification
- CPC, 15
- H04L1/1819
- H04B7/0417
- H03M13/33
- H04L1/0003
- H04L1/0009
- H04L1/0048
- H04L1/005
- H04L1/0071
- H04L1/0618
- H04L1/1671
- H04L5/0023
- H04L5/0048
- H04L27/2626
- H04L27/2647
- H04B7/0623
- IPC, 12
- H04J11 00
- H03D1 00
- H04L
- H04L1 00
- H04L1 06
- H04L1 16
- H04L1 18
- H04L12 26
- H04W16 28
- H04W28 04
- H04W28 18
- H04W28 22