WO2013026164A1 - System and method for decoding space-time code matrices - Google Patents

System and method for decoding space-time code matrices Download PDF

Info

Publication number
WO2013026164A1
WO2013026164A1 PCT/CA2012/050579 CA2012050579W WO2013026164A1 WO 2013026164 A1 WO2013026164 A1 WO 2013026164A1 CA 2012050579 W CA2012050579 W CA 2012050579W WO 2013026164 A1 WO2013026164 A1 WO 2013026164A1
Authority
WO
WIPO (PCT)
Prior art keywords
symbols
matrix
decoding
decoder
symbol
Prior art date
Application number
PCT/CA2012/050579
Other languages
French (fr)
Inventor
Young Gil Kim
Norman C. Beaulieu
Original Assignee
The Governors Of The University Of Alberta
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Governors Of The University Of Alberta filed Critical The Governors Of The University Of Alberta
Publication of WO2013026164A1 publication Critical patent/WO2013026164A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0456Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0631Receiver arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0637Properties of the code
    • H04L1/0643Properties of the code block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03203Trellis search techniques
    • H04L25/03229Trellis search techniques with state-reduction using grouping of states
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03891Spatial equalizers
    • H04L25/03961Spatial equalizers design criteria

Definitions

  • the application relates to systems and methods for decoding space- time code matrices, for example Matrix C defined in the IEEE 802.16e-2005
  • MIMO Multiple-input multiple-output
  • Mobile WiMAX systems are based on the scalable OFDMA mode of IEEE 802.16e-2005 specifications and use a subset of the different options.
  • MIMO options the WiMAX Forum has specified two mandatory profiles for use on the downlink. One of them is based on the space-time code (STC) proposed by Alamouti for transmit diversity [2].
  • STC space-time code
  • Matrix A this code provides perfect second-order diversity when used with a single receive antenna and fourth-order diversity when used with two receive antennas. However, it is only half-rate, because it only transmits two symbols using two time slots and two transmit antennas.
  • Matrix B in the WiMAX standard is spatial multiplexing (SM), which uses two transmit antennas to transmit two independent data streams.
  • SM spatial multiplexing
  • Matrix C is known to be one of the best STCs of size 2x2.
  • this code has a high decoding complexity which grows with the fourth power of the modulation order for maximum likelihood (ML) decoding. This decoding complexity has likely hindered the adoption of Matrix C by the industry, despite its superior performance over Matrix A and Matrix B.
  • a method of decoding a transmitted M t x P space-time code matrix where M t is a number of transmit antennas > 2 and P is a number of time slots > 1 , that is a function of K symbols where K > 2, the method comprising: using M r receive antennas, receiving an M r x P matrix, where M r ⁇ 1 ; fixing at least one of the K symbols to each possible permution of the at least one of the K symbols; for each possible permutation of the at least one symbol, decoding the remaining symbols; using exhaustive search, finding the permutation of at least one symbol and the decoded remaining symbols that minimizes an objective function.
  • P > 2.
  • Figure 1 is a block diagram of a system for decoding space-time code matrices
  • Figure 2 is a flowchart of a method of decoding space-time code matrices
  • Figure 3 is a block diagram of another system for decoding space-time code matrices in which error correction coding is present;
  • Figure 4 is a flowchart of a method of decoding space-time code matrices where error correction coding has been performed;
  • Figures 5A and 5B show examples of a tree and a pruned tree respectively;
  • Figures 6 and 7 show example performance results.
  • any module, component, or device exemplified herein that executes instructions may include or otherwise have access to computer readable storage medium or media for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • computer readable storage media include magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as CD-ROM, digital versatile disks (DVD) or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, RAM, ROM, EEPROM, flash memory or other memory technology. Any such computer storage media may be part of the device or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable storage media.
  • a MIMO system On the transmit side, generally indicated at 10, a set of modulation signals s t , s 2 , s 3 and s 4 , 22, are input to a space-time transmit diversity encoder 24.
  • the space-time transmit diversity encoder operates using Matrix C.
  • the output of the space-time diversity encoder 24 is transmitted over two transmit antennas 26,28.
  • the average bit energy is denoted by E b , which is equal to E71og 2 .
  • the received signal is given by
  • H the M r x 2 channel gain matrix whose entries h lm represent the gain from the m th transmit antenna to the /th receive antenna.
  • the gains h lm are assumed to be independent and identically distributed (iid) circularly symmetric complex
  • the decoders and methods provided herein may be used in systems where one or more of these assumptions is not entirely valid; this may have an effect upon the performance of the decoders and methods.
  • the system shown in Figure 1 assumes two transmit antennas and M r receive antennas, where M r > 1 . More generally, a system can be implemented using M t transmit antennas, where M t ⁇ 2 . With these generalizations, the decoders described herein can be applied to Golden code decoding, and to MIMO systems generally.
  • the Matrix C is employed, this being a 2 x 2 matrix that is transmitted over two antennas and over two time slots. More generally, an M t x P space-time code matrix can be employed where again, M t is the number of transmit antennas and P is the number of time slots used to transmit the matrix, where P > 1 .
  • Matrix C has been employed, and this matrix is a function of four symbols, denoted as s t , s 2 , s 3 and s 4 in the above equation. More generally, the matrix is a function of K symbols, where K > 2.
  • a system may include many more components than those depicted in Figure 1 .
  • FIG. 2 shown is a flowchart of a method of decoding a transmitted M t x P space-time code matrix, where M t is a number of transmit antennas and P is a number of time slots, that is a function of K symbols.
  • the method begins in block 2-1 using M r antennas, to receive a M r x P matrix.
  • M r antennas to receive a M r x P matrix.
  • the decoding of the remaining symbols can be performed using any appropriate method. Specific examples include zero forcing decoding, null cancelling decoding and minimum mean square error decoding. However, it is to be clearly understood that other methods can be employed. Given that the received matrix is a function of K symbols, and at least one of these are fixed, the decoding of the remaining symbols involves decoding at most K-1 symbols. As an example, if L symbols are fixed, the K-L symbols are decoded and then the L symbols will be determined by exhaustive searching.
  • the pruned trees are generated by fixing the values of s 1 and s 4 to be every possible permutation of these two symbols and then determining s 2 and s 3 using another method, such as zero forcing decoding or null cancelling decoding. More generally, at least one symbol is fixed to each possible permutation, and the remaining symbols are determined using another method, and then a selection is made by exhaustive searching.
  • an exhaustive search and zero-forcing (ES-ZF) decoder with one receive antenna for uncoded systems is provided.
  • the received signal can be written as
  • R x and R 2 are the received signal at the first and the second time slot, respectively, and and h 2 are the channel gain from the first and the second transmit antennas, respectively. Then, the values of s x and s 4 are fixed to any symbol in the signal constellation, so one has
  • Symbols s 2 and s 3 can be detected, for example, using a slicer or threshold device, with the left hand side of Equation (7) being the input to the slicer or threshold device.
  • This ZF decoding step is repeated for every permutation of s x and s 4 in the signal constellation. Using exhaustive search, s x and s 4 are found that minimize where S 2 and 3 ⁇ 4 are symbols detected using the ZF decoder given s 1 and s 4 .
  • the example above uses squared Euclidean distance. This is used because of the assumption that the noise is Gaussian. The squared Euclidean distance is from the exponent of probability density function of the Gaussian distribution. If the noise is impulsive like the
  • Laplacian noise model another objective function may be better, for example, the one-norm or absolute value or other nonlinear function.
  • (6) can be viewed as a problem of detecting Matrix B with two receive antennas.
  • Eq. (8) can then be viewed as the distance metric of Matrix B decoding with two receive antennas.
  • an exhaustive search and null cancelling (ES-NC) decoder with one receive antenna for uncoded systems is provided.
  • ES-NC decoder an approach that is similar to the above-described exhaustive search and zero forcing decoder is employed, with an NC decoder used in place of the ZF decoder.
  • NC decoding is used for detecting s 2 and s 3 in (6). If
  • the details of NC decoding are well known to those skilled in the art. See for example [5], hereby incorporated by reference in its entirety.
  • NC decoding is repeated for every s l and s 4 in the signal constellation. Symbols s l and s 4 are detected using exhaustive search using equation (8) or another objective function.
  • ES-ZF decoder with two receive antennas for uncoded systems.
  • the received signal with two receive antennas can be written as
  • R LM and n lm are the received signal and the noise signal, respectively, at the /th receive antenna and the m th time slot. Then, the values of s x and s 4 are fixed to any symbol in the signal constellation, and one has Defining Ai na
  • (13) can be solved using ZF decoding as described previously.
  • a Moore Penrose pseudo-inverse of the 2 x 4 matrix can be used.
  • the detection of s 2 and s 3 is repeated by ZF decoding for each permutation of symbols s l and s 4 in the signal constellation.
  • ⁇ and s 4 are detected as before.
  • (13) can be viewed as a problem of detecting Matrix B with four receive antennas.
  • an ES-NC decoder with two receive antennas for uncoded systems is provided.
  • an approach that is similar to the above-described exhaustive search and zero forcing decoder is employed, with an NC decoder used in place of the ZF decoder. More specifically, NC decoding is used for detecting s 2 and s 3 in (13).
  • NC decoding is used for detecting s 2 and s 3 in (13).
  • ES-NC decoder a similar complexity equality holds as holds for the ES-ZF decoder.
  • the complexity of the ES-ZF decoder and the ES-NC decoder is proportional to M 2 , which comes from the exhaustive search operation.
  • the complexity of the ML decoder for Matrix C decoding is proportional to M 4 .
  • a discussion on the complexity of the ZF decoder and the NC decoder is available in [6, p. 8].
  • Another advantage of the ES-ZF decoder and the ES-NC decoder for Matrix C decoding is that they can reuse the hardware already implemented for Matrix B decoding.
  • NC decoder hardware for Matrix B decoding is implemented on a chip
  • additional hardware required for the ES-NC decoder for Matrix C decoding is only the ML decoder for searching M 2 candidates since the NC decoder hardware for Matrix B decoding can be reused.
  • Table 1 computational complexities of the ML decoder, the ES-ZF decoder, and the ES-NC decoder are shown.
  • the Matrix C decoding for uncoded systems can be thought of as a tree-searching problem.
  • For the ML decoder we have a tree with M 4 leaf nodes as in Fig. 5A.
  • Table 1 Computational complexity of ML decoding, ES-ZF decoding, and ES-NC decoding for uncoded systems
  • a double pruned tree (DPT) -ZF decoder and a DPT-NC decoder for coded systems are provided.
  • an error correction code is used as an outer code and Matrix C can be considered as an inner code.
  • the system diagram for decoding for coded systems is shown in Figure 3. This is similar to Figure 1 , but there are additional blocks for error correction encoding and decoding on the transmitter and receiver side respectively, and the space-time transmit diversity decoder in the receiver will be different as detailed below.
  • a system in accordance with Figure 3 may include additional components, and these may be interposed between the components shown in Figure 3.
  • the generalizations described for the Figure 1 embodiment concerning the number of transmit antennas, the number of receive antennas, the transmitted space-time code matrix used, the size of the transmitted matrix M t x P, and the number of symbols K represented in the transmitted matrix also apply here.
  • Soft decisions which will function as soft-input for the outer error correction decoder can approximated as [8] min II R - HC j)b
  • the metric below is the log-likelihood (LLR) of the b th bit of /'' symbol, which is the optimum metric for soft decoding. Compared to (18), it provides up to 0.25 dB gain. This metric could be used instead of the metric of equation (18). It is noted that Eq. (18) is a dominant term approximation of the following metric:
  • j 1 or 4
  • PT1 the terms in PT1 are added in both the numerator and the denominator.
  • the signal-to-noise ratio (SNR) loss of the max-log approximation in (18) is around 0.25 dB over a large range of SNRs [8].
  • This max-log approximation will be referred to as Max-Log decoding.
  • Matrix C that have zero at the b th bit in the h symbol is M 4 /2 . Note that Matrix C can be represented as a tree that has M 4 leaf nodes since Matrix C consists of four -ary symbols.
  • the number of computations of (18) is reduced through use of a double pruned tree approach.
  • the double pruned tree approach uses two pruned trees with a reduced number of leaf nodes for use in the comparison operation (18). More specifically, using an algorithm such as the previously detailed ZF or NC algorithm, the tree of Matrix C can be pruned to a tree that has only M 2 leaf nodes. This is achieved as in previous embodiments by fixing s 2 and s 3 to certain values for each permutation of s 1 and s 4 .
  • L(x J b ) in (18) are calculated.
  • the number of required comparisons is 2( 2 /2 -l) , which is much less than 2( 4 /2 - l) of the Max- Log decoding.
  • Table 2 the computational complexities of the Max-Log decoder, the DPT-ZF decoder, and the DPT-NC decoder are shown.
  • QPSK is used for s 1 ,s 2 ,s 3 ,s 4 and it is assumed that ZF decoding is employed to reduce the number of options, as in the previous embodiments.
  • a ZF decoder is used to determine two sets of candidate outputs - that can be represented as two pruned trees.
  • each pruned tree has 4x4 leaf nodes.
  • Each node corresponds to a set of (s 1 ,s 2 ,s 3 ,s 4 ), i.e. a Matrix C realization.
  • s 1 ,s 4 could be any symbols in QPSK, and s 2 ,s 3 are determined using a ZF decoder given s x ,s 4 . Since there are 16 permutations of s l ,s 4 , this set of candidate outputs contains 16 candidates.
  • the first set will contain entries that cover all of the permutations of s s 4 . However, the set may not contain entries that cover all of the permutations of s 2 ,s 3 . This is because there might be no leaf node that has zero at the b th bit in the f symbol in PT1.
  • s 2 ,s 3 could be any symbols in QPSK, and s 1 ,s 4 are determined using ZF decoder given s 2 ,s 3 . Since there are 16 permutations of s 2 ,s 3 , this set of candidate outputs contains 16 candidates.
  • the second set of candidates contains entries that covers all of the permutations of s 2 ,s 3 .
  • the cardinality of the set l,b is equal to 2x4x1 x 1.
  • "2" comes from the fact that only half of QPSK symbols have one in the b th bit for s ⁇ .
  • "1x1” comes from the fact that there is no freedom to choose s 2 , s 3 since s 2 ,s 3 are already determined by ZF decoder given s 15 s 4 . Any QPSK symbol for s 4 can be chosen. That is why there is a "4".
  • 2 and min 11 R - HC j b 11 2 is reduced by the factor of M 2 since the tree is pruned by the ZF decoder.
  • FIG. 4 shown is a flowchart of a method of processing a transmitted M t x P space-time code matrix where M t is a number of transmit antennas > 2 and P is a number of time slots > 1, that is a function of K symbols modulated using an M-ary modulation format, M > 2, K > 2.
  • the method begins in block 4-1 with using M r receive antennas, receiving an M r x P matrix, where M r > 1.
  • the method continues with generating at least two pruned trees, by for each pruned tree: a) fixing a respective at least one of the K symbols to each possible permution of the at least one of the K symbols; and b) for each possible permutation of the at least one symbol, decoding the remaining symbols.
  • the at least two pruned trees consist of an Sis 4 -tree and an S2S3-tree.
  • the sis 4 -tree has M 2 leaf nodes, as does does the s 2 s 3 -tree.
  • An alternative is to use an Si S 2 -tree and an s 3 s 4 -tree.
  • Another alternative is to use an SiS3-tree and an s 2 s 4 -tree.
  • a set of four trees namely an Si-tree, s 2 -tree, S3-tree, s 4 -tree can be employed.
  • the Sr tree has M nodes.
  • s 2 , s 3 , s 4 symbols are determined by using another method (such as the zero forcing algorithm). For the metric of any bit of Si symbol, this is looked up in the Si-tree. For the metric of any bit of s 2 symbol, this is looked up in the s 2 -tree, and so on.
  • a set of trees including an SiS 2 S3-tree, s 2 S3S 4 -tree, si s 2 s 4 -tree, Si S3S 4 -tree can be used.
  • the Si S 2 S3-tree has 3 leaf nodes.
  • Si S 2 S3-tree For the metric of any bit of Si symbol, we have to look up Si S 2 s 3 -tree, SiS 2 s 4 -tree, and SiS 3 s 4 -tree.
  • pruned trees can be used where one, two or three symbols are fixed out of four. More generally, as detailed above, when there are K symbols, at least one symbol is fixed and up to K-1 symbols, for each pruned tree. Numerical results
  • the ES- NC decoder provides virtually the same performance as that of the ML decoder, at reduced complexity. This is an important result as it implies that Matrix C can be implemented in 2 x 2 MIMO systems, greatly improving performance over Matrix A and Matrix B, with reduced decoding complexity using the ES-NC decoder with no performance loss relative to optimal ML decoding.
  • the DPT-NC decoder provides virtually the same performance as that of the Max-Log decoder, at reduced complexity.
  • IEEE 802.16e-2005 IEEE Standard for Local and Metropolitan Area Networks - Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems - Amendment 2: Physical Layer and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands, Feb. 2006.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Radio Transmission System (AREA)

Abstract

Systems and methods for decoding matrices, such as Matrix C in the WiMAX standard, are provided. An exhaustive search and zero-forcing (ES-ZF) decoder and an exhaustive search and nulling canceling (ES-NC) decoder are provided for uncoded systems. The computational complexity of the ES-ZF decoder for Matrix C decoding is shown to be the same as the complexity of the ZF decoder for Matrix B decoding with twice the number of receive antennas times the complexity of the maximum likelihood (ML) decoder for Matrix B decoding with twice the number of receive antennas. Matrix C can be implemented in a 2x2 multiple-input multiple- output (MIMO) system using the ES-NC decoder with reduced complexity compared to ML decoding with no performance loss. For coded systems, decoders employing double pruned trees using zero-forcing (DPT-ZF) algorithm or nulling canceling (DPT- NC) algorithm are provided. The DPT-NC decoder is shown to be implemented in a 2x2 MIMO coded system with reduced complexity compared to the Max-Log decoding, with no performance loss, by computer simulations.

Description

SYSTEM AND METHOD FOR DECODING SPACE-TIME CODE MATRICES Field
The application relates to systems and methods for decoding space- time code matrices, for example Matrix C defined in the IEEE 802.16e-2005
Standard.
Background
Multiple-input multiple-output (MIMO) techniques based on using multiple antennas at both transmitter and receiver can provide spatial diversity, multiplexing gain, and interference suppression, as well as make various tradeoffs among them. These techniques have been incorporated in all of the recently developed wireless communications system specifications including the IEEE
802.1 1 n standard for local area networks and the IEEE 802.16e-2005 standard for mobile broadband wireless access systems [1]. Mobile WiMAX systems are based on the scalable OFDMA mode of IEEE 802.16e-2005 specifications and use a subset of the different options. Regarding MIMO options, the WiMAX Forum has specified two mandatory profiles for use on the downlink. One of them is based on the space-time code (STC) proposed by Alamouti for transmit diversity [2]. Denoted in the WiMAX standard as Matrix A, this code provides perfect second-order diversity when used with a single receive antenna and fourth-order diversity when used with two receive antennas. However, it is only half-rate, because it only transmits two symbols using two time slots and two transmit antennas. The other profile, denoted Matrix B in the WiMAX standard, is spatial multiplexing (SM), which uses two transmit antennas to transmit two independent data streams. This scheme is full-rate, but it does not benefit from any diversity gain at the transmitter, and at best, it provides second-order diversity with two receive antennas.
Experience has shown that the desired quality of service cannot always be achieved using Matrix A or Matrix B. For future evolutions of the WiMAX standard, it is highly desirable to include a new code combining the respective advantages of the Alamouti code and spatial multiplexing, while avoiding their drawbacks. Such a code actually already exists in the IEEE 802.16e-2005 specifications, where it is referred to as Matrix C [3]. The Matrix C code is known to be one of the best STCs of size 2x2. However, this code has a high decoding complexity which grows with the fourth power of the modulation order for maximum likelihood (ML) decoding. This decoding complexity has likely hindered the adoption of Matrix C by the industry, despite its superior performance over Matrix A and Matrix B.
Summary
According to one aspect of the present invention, there is provided a method of decoding a transmitted Mtx P space-time code matrix where Mt is a number of transmit antennas > 2 and P is a number of time slots > 1 , that is a function of K symbols where K > 2, the method comprising: using Mr receive antennas, receiving an Mrx P matrix, where Mr≥ 1 ; fixing at least one of the K symbols to each possible permution of the at least one of the K symbols; for each possible permutation of the at least one symbol, decoding the remaining symbols; using exhaustive search, finding the permutation of at least one symbol and the decoded remaining symbols that minimizes an objective function. In some
embodiments, P > 2.
According to another aspect of the present invention, there is provided a method of processing a transmitted Mtx P space-time code matrix where Mt is a number of transmit antennas > 2 and P is a number of time slots > 1 , that is a function of K symbols modulated using an M-ary modulation format, M > 2, K > 2 the method comprising: using Mr receive antennas, receiving an Mrx P matrix, where Mr > 1 ; generating at least two pruned trees, by for each pruned tree: a) fixing a respective at least one of the K symbols to each possible permution of the at least one of the K symbols; and b) for each possible permutation of the at least one symbol, decoding the remaining symbols; the at least two pruned trees being such that the at least two prune trees collectively include at least one node that has a one in the bth bit of the jth symbol, and at least one node that has a zero in the bth bit of the jth symbol, for b = 1 ,2, ...,log2M, and j=1 K; for the bth bit of the jth symbol, for b
= 1 ,2, ...,log2M, and j=1 , ...,K, determining a respective soft decision using the at least two pruned trees. In some embodiments, P > 2.
Further embodiments provide a computer readable storage medium having stored thereon instructions for execution by a computer to execute one of the above summarized methods or any of the other methods described or claimed herein.
Further embodiments provide a receiver that comprises at least one antenna and a space-time transmit diversity decoder configured to implement any of the methods summarized above or described or claimed herein.
Further embodiments provide a space-time transmit diversity decoder configured to implement one of the methods summarized above or any of the methods described or claimed herein.
Brief Description of the Drawings Embodiments of the disclosure will now be described with reference to the attached drawings in which:
Figure 1 is a block diagram of a system for decoding space-time code matrices;
Figure 2 is a flowchart of a method of decoding space-time code matrices;
Figure 3 is a block diagram of another system for decoding space-time code matrices in which error correction coding is present;
Figure 4 is a flowchart of a method of decoding space-time code matrices where error correction coding has been performed; Figures 5A and 5B show examples of a tree and a pruned tree respectively; and
Figures 6 and 7 show example performance results.
Detailed Description The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the claimed subject matter and illustrate the best mode of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those skilled in the art will
understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Moreover, it will be appreciated that any module, component, or device exemplified herein that executes instructions may include or otherwise have access to computer readable storage medium or media for storage of information, such as computer readable instructions, data structures, program modules, or other data. A non-exhaustive list of examples of computer readable storage media include magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as CD-ROM, digital versatile disks (DVD) or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, RAM, ROM, EEPROM, flash memory or other memory technology. Any such computer storage media may be part of the device or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable storage media.
Referring now to Figure 1 , shown is a MIMO system. On the transmit side, generally indicated at 10, a set of modulation signals st, s2, s3 and s4 , 22, are input to a space-time transmit diversity encoder 24. In the illustrated example, the space-time transmit diversity encoder operates using Matrix C. The output of the space-time diversity encoder 24 is transmitted over two transmit antennas 26,28. On the receive side, generally indicated at 12, there are Mr receive antennas 30. These are connected to a space-time transmit diversity decoder 32 that produces a set of decoded symbols 34 that includes sx ,s2 ,s3 and s4 . Matrix C is defined in the WiMAX standard as [3]
Figure imgf000006_0001
where s1 ,s2 ,s3 ,s4 are -ary quadrature amplitude modulation (QAM) signals with average symbol energy Es , r = > and j = V-T . Since the complexity of Matrix C decoding is compared with that of Matrix B decoding, Matrix B is given as
Figure imgf000006_0002
The average bit energy is denoted by Eb , which is equal to E71og2 . The received signal is given by
R = HC + n (3) where H is the Mr x 2 channel gain matrix whose entries hlm represent the gain from the m th transmit antenna to the /th receive antenna. The gains hlm are assumed to be independent and identically distributed (iid) circularly symmetric complex
Gaussian random variables with unit variance. It is assumed that the vector n is a Mt x 2 additive white Gaussian noise (AWGN) vector with variance N0/2 per dimension. The symbol || · || is used for vector two-norm. Of course it should be clearly understood that the decoders and methods provided herein may be used in systems where one or more of these assumptions is not entirely valid; this may have an effect upon the performance of the decoders and methods. The system shown in Figure 1 assumes two transmit antennas and Mr receive antennas, where Mr > 1 . More generally, a system can be implemented using Mt transmit antennas, where Mt≥2 . With these generalizations, the decoders described herein can be applied to Golden code decoding, and to MIMO systems generally.
In the above example, the Matrix C is employed, this being a 2 x 2 matrix that is transmitted over two antennas and over two time slots. More generally, an Mt x P space-time code matrix can be employed where again, Mt is the number of transmit antennas and P is the number of time slots used to transmit the matrix, where P > 1 . In the illustrated example, Matrix C has been employed, and this matrix is a function of four symbols, denoted as st , s2, s3 and s4 in the above equation. More generally, the matrix is a function of K symbols, where K > 2.
It should be clearly understood that a system may include many more components than those depicted in Figure 1 . For example, there may be other components between the space-time transmit diversity encoder 24 and the transmit antennas 26, 28. Similarly, there may be other components between the receive antennas 30 and the space-time transmit diversity decoder 32.
Referring now to Figure 2, shown is a flowchart of a method of decoding a transmitted Mt x P space-time code matrix, where Mt is a number of transmit antennas and P is a number of time slots, that is a function of K symbols. The method begins in block 2-1 using Mr antennas, to receive a Mr x P matrix. In block
2-2, at least one of the K symbols is fixed to each possible permutation of the at least one symbol. In block 2-3, for each possible permutation of the at least one symbol, the remaining symbols are decoded. In block 2-4, using an exhaustive search, the permutation of the at least one symbol and the decoded remaining symbols that minimizes an objective function is found. It is noted that in block 2-3, the decoding of the remaining symbols can be performed using any appropriate method. Specific examples include zero forcing decoding, null cancelling decoding and minimum mean square error decoding. However, it is to be clearly understood that other methods can be employed. Given that the received matrix is a function of K symbols, and at least one of these are fixed, the decoding of the remaining symbols involves decoding at most K-1 symbols. As an example, if L symbols are fixed, the K-L symbols are decoded and then the L symbols will be determined by exhaustive searching.
Because of this, typically a method is used to decode the K-L symbols that is simpler than would be required to decode all K symbols. In the detailed examples provided below, two of the K symbols are fixed, but more generally at least one of the K symbols can be fixed .
In the examples below, the pruned trees are generated by fixing the values of s1 and s4 to be every possible permutation of these two symbols and then determining s2 and s3 using another method, such as zero forcing decoding or null cancelling decoding. More generally, at least one symbol is fixed to each possible permutation, and the remaining symbols are determined using another method, and then a selection is made by exhaustive searching.
Exhaustive Search and Zero Forcing Decoder for Matrix C Decoding for
Uncoded System with One Receive Antenna
In a first example, an exhaustive search and zero-forcing (ES-ZF) decoder with one receive antenna for uncoded systems is provided. The received signal can be written as
{hlsl + hl jrs4 + h2s2 - h2rs3 ) + nx (4)
Figure imgf000008_0001
{l rs2 + f s3 + h2jrs1 + h2s4) + n2 (5) where Rx and R2 are the received signal at the first and the second time slot, respectively, and and h2 are the channel gain from the first and the second transmit antennas, respectively. Then, the values of sx and s4 are fixed to any symbol in the signal constellation, so one has
Figure imgf000009_0001
= (¾ + KSA ) = I (krS2 + kS3 ) + «2 ·
+ r VI + r
Defining l = Rl
Figure imgf000009_0002
Given βχ and β2 , (6) can be solved using ZF decoding. The details of ZF decoding are well known to those skilled in the art. See for example [9], hereby incorporated by reference in its entirety. In a s ecific example of ZF decoding, multiplying the inverse of the
Figure imgf000009_0003
Symbols s2 and s3 can be detected, for example, using a slicer or threshold device, with the left hand side of Equation (7) being the input to the slicer or threshold device.
This ZF decoding step is repeated for every permutation of sx and s4 in the signal constellation. Using exhaustive search, sx and s4 are found that minimize
Figure imgf000010_0001
where S2 and ¾ are symbols detected using the ZF decoder given s1 and s4 .
Equation (8) is a specific example of an objective function. Others can be used. The equation has been written for Matrix C, with K= four symbols, but can easily be generalized to apply to other system configurations. The example above uses squared Euclidean distance. This is used because of the assumption that the noise is Gaussian. The squared Euclidean distance is from the exponent of probability density function of the Gaussian distribution. If the noise is impulsive like the
Laplacian noise model, another objective function may be better, for example, the one-norm or absolute value or other nonlinear function.
Note that (6) can be viewed as a problem of detecting Matrix B with two receive antennas. Eq. (8) can then be viewed as the distance metric of Matrix B decoding with two receive antennas. Thus, the complexity of the ES-ZF decoder for Matrix C decoding with one receive antenna, ΚΕΊΊ_ΖΡΤ = 1 , C) , is the same as the complexity of the ZF decoder for Matrix B decoding with two receive antennas, KZF (MI = 2, B) , times the complexity of the ML decoder for Matrix B decoding with two receive antennas, KML (MI = 2, B) . That is,
ES-ZF ( r = 1 , C) = ( r = 2, 2?) · KM, ( r (9) Exhaustive Search and Null Cancelling Decoder for Matrix C Decoding for Uncoded System with One Receive Antenna
In a second example, an exhaustive search and null cancelling (ES-NC) decoder with one receive antenna for uncoded systems is provided. For the ES-NC decoder, an approach that is similar to the above-described exhaustive search and zero forcing decoder is employed, with an NC decoder used in place of the ZF decoder. Thus, NC decoding is used for detecting s2 and s3 in (6). If || ||>|| h2 || , s3 is detected first. Then, putting the detected s3 into (6), s2 is detected following NC decoding. The details of NC decoding are well known to those skilled in the art. See for example [5], hereby incorporated by reference in its entirety. Then, NC decoding is repeated for every sl and s4 in the signal constellation. Symbols sl and s4 are detected using exhaustive search using equation (8) or another objective function. For the ES-NC decoder, a similar complexity equality holds as was the case for the ES-ZF decoder. The complexity of the ES-NC decoder for Matrix C decoding with one receive antenna, K CD (MT = 1,C) , is the complexity of the NC decoder for Matrix B decoding with two receive antennas, KNC(MR = 2, B) , multiplied by the complexity of the ML decoder for Matrix B decoding with two receive antennas, KML (MI = 2, B) . That is,
KBS-NCΤ = 1 ,€) = KNCΤ = 2, Β) - (ΜΤ = 2, Β). (10)
Exhaustive Search and Zero Forcing Decoder for Matrix C Decoding for Uncoded System with Two Receive Antennas
In another example, a ES-ZF decoder with two receive antennas for uncoded systems is provided. The received signal with two receive antennas can be written as
f
Figure imgf000011_0001
where RLM and nlm are the received signal and the noise signal, respectively, at the /th receive antenna and the m th time slot. Then, the values of sx and s4 are fixed to any symbol in the signal constellation, and one has Defining Ai na
Figure imgf000012_0001
(7^1 + ^4 ) ^ ^2) can be written as
+ r
Figure imgf000012_0002
Given βη , βη , and β22 , (13) can be solved using ZF decoding as described previously. A Moore Penrose pseudo-inverse of the 2 x 4 matrix can be used. The detection of s2 and s3 is repeated by ZF decoding for each permutation of symbols sl and s4 in the signal constellation. Using exhaustive search, ^ and s4 are detected as before. Note that (13) can be viewed as a problem of detecting Matrix B with four receive antennas. Thus, the complexity of the ES-ZF decoder for Matrix C decoding with two receive antennas, KES _ZF(MI = 2,C) , is the complexity of the ZF decoder for
Matrix B decoding with four receive antennas, KZF(MI = 4,B) , multiplied by the complexity of the ML decoder for Matrix B decoding with four receive antennas, KML(MI = 4,5) . That is,
KES-zA = 2,C) = Κζρτ = 4,Β) - ΚΜΙτ = 4,B). (14) Exhaustive Search and Null Cancelling Decoder for Matrix C Decoding for Uncoded System with Two Receive Antennas
In another example, an ES-NC decoder with two receive antennas for uncoded systems is provided. For the ES-NC decoder, an approach that is similar to the above-described exhaustive search and zero forcing decoder is employed, with an NC decoder used in place of the ZF decoder. More specifically, NC decoding is used for detecting s2 and s3 in (13). For the ES-NC decoder, a similar complexity equality holds as holds for the ES-ZF decoder. The complexity of the ES-NC decoder for Matrix C decoding with two receive antenna, KES_NC(MT = 2, C) , is the complexity of the NC decoder for Matrix B decoding with four receive antennas, ΚΝ(:τ = 4, B) , times the complexity of the ML decoder for Matrix B decoding with four receive antennas, KML(MI = 4,B) , viz
= 2, C) = ¾c( r = 4,B) - KML(MI = 4,B). (15)
Since the computational complexity of the ZF decoder and the NC decoder does not depend on the modulation order , the complexity of the ES-ZF decoder and the ES-NC decoder is proportional to M2 , which comes from the exhaustive search operation. However, the complexity of the ML decoder for Matrix C decoding is proportional to M4 . A discussion on the complexity of the ZF decoder and the NC decoder is available in [6, p. 8]. Another advantage of the ES-ZF decoder and the ES-NC decoder for Matrix C decoding is that they can reuse the hardware already implemented for Matrix B decoding. For example, if NC decoder hardware for Matrix B decoding is implemented on a chip, then the additional hardware required for the ES-NC decoder for Matrix C decoding is only the ML decoder for searching M2 candidates since the NC decoder hardware for Matrix B decoding can be reused. In Table 1 , computational complexities of the ML decoder, the ES-ZF decoder, and the ES-NC decoder are shown. The Matrix C decoding for uncoded systems can be thought of as a tree-searching problem. For the ML decoder, we have a tree with M4 leaf nodes as in Fig. 5A. For the ES-ZF and ES-NC decoders, we have a pruned tree with only M2 leaf nodes as in Fig. 5B. This fact explains why the computational complexity can be reduced by adopting the ES-ZF decoder or the ES-NC decoder.
Table 1 : Computational complexity of ML decoding, ES-ZF decoding, and ES-NC decoding for uncoded systems
Figure imgf000014_0001
Matrix C Decoding for Coded Systems
A double pruned tree (DPT) -ZF decoder and a DPT-NC decoder for coded systems are provided. For coded systems, an error correction code is used as an outer code and Matrix C can be considered as an inner code. The system diagram for decoding for coded systems is shown in Figure 3. This is similar to Figure 1 , but there are additional blocks for error correction encoding and decoding on the transmitter and receiver side respectively, and the space-time transmit diversity decoder in the receiver will be different as detailed below. On the transmit side, generally indicated at 36, there is error correction encoder 41 connected to space-time transmit diversity encoder 44. There are two antennas 46 and 48. On the receive side, generally indicated at 38, there are a set of Mr receive antennas 50 that are connected to space-time transmit diversity decoder 52, the output of 54 of which is connected to an error correction decoder 56. It should be clearly understood that a system in accordance with Figure 3 may include additional components, and these may be interposed between the components shown in Figure 3. For example, there may be additional elements between the antennas and the space-time transmit diversity encoder/decoders and there may be other components between the error correction coder and the space-time transmit diversity encoder, or between the space-time transmit diversity decoder and the error correction decoder. The generalizations described for the Figure 1 embodiment concerning the number of transmit antennas, the number of receive antennas, the transmitted space-time code matrix used, the size of the transmitted matrix Mt x P, and the number of symbols K represented in the transmitted matrix also apply here.
Soft decisions which will function as soft-input for the outer error correction decoder can approximated as [8] min II R - HCj)b ||2 - min \\ R ~ HC ^ ^ (18) b^Cj,b ^χ j,b } 'lCj,b^Cj,b ^χ j,b } where xJ b is the b bit in the / symbol in Matrix C, 7 = 1,2,3,4 , b = l ,2,...,log2 , zj° b is a set of Matrix C's that have zero at the bth bit in the f symbol and z) b is a set of Matrix C's that have one at the bth bit in the symbol. The equation has been written for Matrix C, with K= four symbols, but can easily be generalized to apply to other system configurations. More generally, other equations for the soft decisions can alternatively be used. By way of example, the metric below is the log-likelihood (LLR) of the bth bit of /'' symbol, which is the optimum metric for soft decoding. Compared to (18), it provides up to 0.25 dB gain. This metric could be used instead of the metric of equation (18). It is noted that Eq. (18) is a dominant term approximation of the following metric:
Figure imgf000015_0001
As an example, if j = 1 or 4, then the terms in PT1 are added in both the numerator and the denominator. As an example, if j = 2 or 3, then the terms in PT2 are added in both numerator and the denominator. In this way, the number of terms in the numerator and the denominator is reduced by a factor of M2 .
The signal-to-noise ratio (SNR) loss of the max-log approximation in (18) is around 0.25 dB over a large range of SNRs [8]. This max-log approximation will be referred to as Max-Log decoding. The Max-Log decoding for coded systems requires computation of (18) for / = 1,2,3,4 , b = 1,2,...,log2 . For each j and 6 , the number of required comparisons is 2( 4/2 -l) since the number of possible Matrix
C's that have zero at the bth bit in the h symbol is M4/2 . Note that Matrix C can be represented as a tree that has M4 leaf nodes since Matrix C consists of four -ary symbols.
In accordance with an embodiment of the invention, the number of computations of (18) is reduced through use of a double pruned tree approach. The double pruned tree approach uses two pruned trees with a reduced number of leaf nodes for use in the comparison operation (18). More specifically, using an algorithm such as the previously detailed ZF or NC algorithm, the tree of Matrix C can be pruned to a tree that has only M2 leaf nodes. This is achieved as in previous embodiments by fixing s2 and s3 to certain values for each permutation of s1 and s4 . For such a pruned tree as in Fig. 5B, L(xJ b) in (18) for 7 = 1,4 exists for b = l, 2,..., log2 . However, L(xJ b) in (18) for 7 = 2,3 may not exist for some 6 = 1,2,...,log2 . Thus, another pruned tree is made so that L(xJ b) in (18) for 7 = 2,3 exists for all > = l ,2,...,log2 . Using these two pruned trees, L(xJ b) in (18) are calculated. For each j and b , the number of required comparisons is 2( 2/2 -l) , which is much less than 2( 4/2 - l) of the Max- Log decoding. In Table 2, the computational complexities of the Max-Log decoder, the DPT-ZF decoder, and the DPT-NC decoder are shown. One can see that the number of comparisons of the DPT-ZF decoder and the DPT-NC decoder is reduced from the order of M4 to the order of M2 by pruning the tree in Fig. 5A. Table 2: Computational complexity of Max-Log decoding, DPT-ZF decoding, and DPT-NC decoding for coded systems
Figure imgf000017_0001
As a working example, QPSK is used for s1,s2,s3,s4 and it is assumed that ZF decoding is employed to reduce the number of options, as in the previous embodiments.
First, a ZF decoder is used to determine two sets of candidate outputs - that can be represented as two pruned trees. For the QPSK case, each pruned tree has 4x4 leaf nodes. Each node corresponds to a set of (s1,s2,s3,s4), i.e. a Matrix C realization.
For a first set of candidate outputs (also referred to herein as a first pruned tree (PT1), s1,s4 could be any symbols in QPSK, and s2,s3 are determined using a ZF decoder given sx,s4. Since there are 16 permutations of sl,s4, this set of candidate outputs contains 16 candidates. The first set will contain entries that cover all of the permutations of s s4. However, the set may not contain entries that cover all of the permutations of s2,s3. This is because there might be no leaf node that has zero at the bth bit in the f symbol in PT1.
For a second set of candidate outputs (also referred to herein as a second pruned tree (PT2), s2,s3 could be any symbols in QPSK, and s1,s4 are determined using ZF decoder given s2,s3. Since there are 16 permutations of s2,s3, this set of candidate outputs contains 16 candidates. The second set of candidates contains entries that covers all of the permutations of s2,s3.
To calculate || R-HC-b ||2 for j = 1,4, a search is conducted
Figure imgf000018_0001
through the PT1. To calculate || R-HCjb ||2 for j = 2,3 , a search is conducted
Figure imgf000018_0002
through PT2. As an example, assume j = l. Then the search is conducted through
1
PT1. The cardinality of the set l,b is equal to 2x4x1 x 1. "2" comes from the fact that only half of QPSK symbols have one in the bth bit for s} . "1x1" comes from the fact that there is no freedom to choose s2, s3 since s2,s3 are already determined by ZF decoder given s15s4. Any QPSK symbol for s4 can be chosen. That is why there is a "4".
Using ZF decoder, the number of candidate Matrix C realizations, which 1
is the cardinality of ^l,b , is reduced from "4x4" to "1x1", since s2,s3 (or s15s4) are determined by the ZF decoder.
In general, searching time for minimization in min || R -HCjb ||2 and min 11 R - HCj b 112 is reduced by the factor of M2 since the tree is pruned by the ZF decoder.
The following is an example of a step by step procedure for DPT-ZF decoder:
1) Given any s15s4, find s2,s3 using ZF algorithm. (Generate PT1 - this tree could also be referred to as the SiS4-tree because this tree is used to find the metric of any bit of Sj or s4.
2) Given any s2,s3 , find s15 s4 using ZF algorithm.
(Generate PT2 = - this tree could also be referred to as the s2s3-tree because this tree is used to find the metric of any bit of s2 or s3. ) 3) Calculate min \\R-HC°ib ||2, where C° is from PT1 for y = 1,4 and C° is from PT2 for j = 2,3. Note that the minimization is done over
M candidates ofC°
2 J'
4) Calculate min || R-HC)b ||2 , where C)b is from PT1 for j = 1,4 and C)b is from PT2 for j = 2,3. 5) Calculate L(xJb) = min \\R-HC%\\2- min \\R-HC)b\\2
Referring now to Figure 4, shown is a flowchart of a method of processing a transmitted Mtx P space-time code matrix where Mt is a number of transmit antennas > 2 and P is a number of time slots > 1, that is a function of K symbols modulated using an M-ary modulation format, M > 2, K > 2. The method begins in block 4-1 with using Mr receive antennas, receiving an Mrx P matrix, where Mr> 1. Next, in block 4-2, the method continues with generating at least two pruned trees, by for each pruned tree: a) fixing a respective at least one of the K symbols to each possible permution of the at least one of the K symbols; and b) for each possible permutation of the at least one symbol, decoding the remaining symbols. The pruned trees are such that they collectively include at least one node that has a one in the bth bit of the jth symbol, and at least one node that has a zero in the bth bit of the jth symbol, for b = 1 ,2, ...,log2M, and j=1 K. The method continues in block
4-3 with, for the bth bit of the symbol, for b = 1 ,2, ...,log2M, and j=1 , ...,K,
determining a respective soft decision using the at least two pruned trees.
In the detailed example above, the at least two pruned trees consist of an Sis4-tree and an S2S3-tree. The sis4-tree has M2 leaf nodes, as does does the s2s3-tree. An alternative is to use an Si S2-tree and an s3s4-tree. Another alternative is to use an SiS3-tree and an s2s4-tree.
In another example in which only one symbol is fixed in a given tree, a set of four trees, namely an Si-tree, s2-tree, S3-tree, s4-tree can be employed. The Sr tree has M nodes. In the s tree, for example, s2, s3, s4 symbols are determined by using another method (such as the zero forcing algorithm). For the metric of any bit of Si symbol, this is looked up in the Si-tree. For the metric of any bit of s2 symbol, this is looked up in the s2-tree, and so on.
In yet another example in which three symbols are fixed in a given tree, a set of trees including an SiS2S3-tree, s2S3S4-tree, si s2s4-tree, Si S3S4-tree can be used. The Si S2S3-tree has 3 leaf nodes. For the metric of any bit of Si symbol, we have to look up Si S2s3-tree, SiS2s4-tree, and SiS3s4-tree. For the metric of any bit of s2 symbol, we have to look up SiS2S3-tree, Si S2s4-tree, and s2S3S4-tree. and so on. This may still reduce complexity especially when M is large. The above examples show how pruned trees can be used where one, two or three symbols are fixed out of four. More generally, as detailed above, when there are K symbols, at least one symbol is fixed and up to K-1 symbols, for each pruned tree. Numerical results
Numerical results for the BEP performance are provided for the sake of illustration only. These results may not necessarily be achieved in a practical realization. The results are obtained by computer simulation. The FFT size is chosen as 1024 which corresponds to a system bandwidth of 10 MHz in the mobile WiMAX OFDMA PHY specifications [3], [7]. The downlink Partial Usage of Subchannel (PUSC) permutation for a 10 MHz bandwidth was used in the simulations as in [7]. Jake's channel model is used in a Pedestrian B environment with a speed of 3 km/h in [7] in the simulations. In Fig. 6, the BEP (bit error probability) vs. Eb/N0 for MR = 1, 2 and quadrature phase shift keying (QPSK) signaling is shown. Observe that when there is one receive antenna, MR = \ , the ES-ZF decoder gives up 4.2 dB in power gain to the ML decoder in return for its reduced complexity compared to the ML decoder for BEP = 10 3 . However, the ES-NC decoder gives up only 2.1 dB in power gain to the ML decoder for BEP = 10 3 when one receive antenna is used, while offering worthwhile reduced complexity. When two receive antennas are used, the ES-ZF decoder gives up only 1.4 dB to the ML decoder for BEP = 10 3 . Significantly, the ES- NC decoder provides virtually the same performance as that of the ML decoder, at reduced complexity. This is an important result as it implies that Matrix C can be implemented in 2 x 2 MIMO systems, greatly improving performance over Matrix A and Matrix B, with reduced decoding complexity using the ES-NC decoder with no performance loss relative to optimal ML decoding.
In Fig. 7, the BEP vs. Eb/N0 for Μτ = 1,2 and QPSK signaling is shown. A 1/2 convolutional code with a constraint length 7 that has the generator
polynomials 171 and 133 in octal format is used for coded system simulations with soft-input Viterbi decoding. For one receive antenna, the DPT-ZF decoder gives up 1.7 dB in power gain to the Max-Log decoder in return for its reduced complexity compared to the Max-Log decoder for BEP = 10 3 . However, the DPT-NC decoder gives up only 0.8 dB in power gain to the Max-Log decoder for BEP = 10 3 when one receive antenna is used, while offering worthwhile reduced complexity. When two receive antennas are used, the DPT-ZF decoder gives up only 0.1 dB to the ML decoder for BEP = 10 3 . Significantly, the DPT-NC decoder provides virtually the same performance as that of the Max-Log decoder, at reduced complexity.
Numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure may be practiced otherwise than as specifically described herein.
References (All incorporated by reference in their entirety)
[1] S. Sezginer and H. Sari, "Full-rate full-diversity 2 x 2 space-time codes for reduced decoding complexity," IEEE Communications Letters, vol. 1 1 , No. 12, pp. 1 - 3, Dec. 2007. [2] S. M. Alamouti, "A simple transmit diversity technique for wireless communications," IEEE J. Sel. Areas Commun., vol. 16, pp. 1451-1458, Oct. 1998.
[3] IEEE 802.16e-2005: IEEE Standard for Local and Metropolitan Area Networks - Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems - Amendment 2: Physical Layer and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands, Feb. 2006.
[4] J.-C. Belfiore, G. Rekaya, and E. Viterbo, "The Golden code: a 2 x 2 full rate space-time code with nonvanishing determinants," IEEE Trans. Inf. Theory, vol. 51 , No. 4, pp. 1432-1436, April 2005.
[5] G. B. Giannakis, Z. Liu, X. Ma, and S. Zhou, Space-Time Coding for Broadband Wireless Communications. Wiley, 2007.
[6] T. Kailath, H. Vikalo, and B. Hassibi, "MIMO Receive Algorithms," in Space-Time Wireless Systems: From Array Processing to MIMO Communications, (editors: H. Bolcskei, D. Gesbert, C. Papadias, and A. J. van der Veen), Cambridge University Press, 2005. [7] R. Kobeissi, S. Sezginer, and F. Buda, "Downlink performance analysis of full-rate STCs in 2 x 2 MIMO WiMAX systems," in Proc. IEEE Veh. Tech. Conf., pp. 1 -5, April 2009.
[8] C. Studer, A. Burg, and H. Bolcskei, "Soft-output sphere decoding:
algorithms and VLSI implementation," IEEE J. Sel. Areas Commun., vol. 26, pp. 290- 300, Feb. 2008. [9] C. Wang, E. K. S. Au, R. D. Murch, W. H. Mow, R. S. Cheng, and V. Lau, "On the Performance of the MIMO Zero-Forcing Receiver in the Presence of Channel Estimation Error," IEEE Transactions On Wireless Communications, Vol.6, No.3, March 2007, pp. 805 - 810.

Claims

WE CLAIM:
1 . A method of decoding a transmitted Mtx P space-time code matrix where Mt is a number of transmit antennas > 2 and P is a number of time slots > 1 , that is a function of K symbols, the method comprising: using Mr receive antennas, receiving an Mrx P matrix, where Mr> 1 ; fixing at least one of the K symbols to each possible permution of the at least one of the K symbols; for each possible permutation of the at least one symbol, decoding the remaining symbols; using exhaustive search, finding the permutation of at least one symbol and the decoded remaining symbols that minimizes an objective function.
2. A method of processing a transmitted Mtx P space-time code matrix where Mt is a number of transmit antennas > 2 and P is a number of time slots > 1 , that is a function of K symbols modulated using an M-ary modulation format, M > 2 the method comprising: using Mr receive antennas, receiving an Mrx P matrix, where Mr≥ 1 ; generating at least two pruned trees, by for each pruned tree: a) fixing a respective at least one of the K symbols to each possible permution of the at least one of the K symbols; and b) for each possible permutation of the at least one symbol, decoding the remaining symbols; the at least two pruned trees being such that the at least two prune trees collectively include at least one node that has a one in the bth bit of the jth symbol, and at least one node that has a zero in the bth bit of the jth symbol, for b = 1 ,2,...,log2M, and j=1 , ...,K; for the bth bit of the jth symbol, for b = 1 ,2, ... ,log2M, and j=1 K, determining a respective soft decision using the at least two pruned trees.
3. The method of claim 1 wherein:
K=4, such that the K symbols include a first two symbols and a second two symbols; generating at least two pruned trees comprises: generating a first pruned tree by: a) fixing the first two symbols of the K symbols to each possible permution of the first two of the K symbols; and b) for each possible permutation of the first two symbols, decoding the second two symbols; generating a second pruned tree by: a) fixing the second two symbols to each possible permution of the K symbols; and b) for each possible permutation of the second two symbols, decoding the first two symbols.
4. The method of claim 3 wherein the first two symbols are Si and s4 and the second two symbols are s2 and S3.
5. The method of claim 4 wherein for the bth bit of the jth symbol, for b = 1 ,2, ... ,log2M, and j=1 K, determining a respective soft decision using the at least two pruned trees comprises: determining min || R - HC°i b ||2 , where C°i b is from the first pruned
= J> 1 tree for j = 1,4 and C)b is from the second pruned tree for j = 2,3 ; determining mm || R - HC) b ||2 , where C) b is from the first pruned tree for j = 1,4 and C) b is from the second pruned tree for j = 2,3 ; determining soft decision
L{Xj b ) = min \\ R - HC°j b \ - min HC) b \^
where xj>b is the bth bit in the symbol in Matrix C , j = 1,2,3,4 , b = l,2,...,log2 , j°b is a set of Matrix C's that have zero at the bth bit in the f symbol and % b is a set of Matrix C's that have one at the bth bit in the symbol, where Matrix C is "Matrix C" from WiMAX standard or space-time code matrix.
6. The method of any preceding claim wherein the matrix is a Ml MO matrix .
7. The method of any preceding claim wherein the space-time code matrix is a Golden code.
8. The method of any one of claims 1 to 5 wherein the Matrix C is "Matrix C" as defined in the WiMAX standard.
9. The method of any preceding claim wherein for each possible permutation of the at least one symbol, decoding the remaining symbols comprises performing Zero Forcing decoding.
10. The method of any preceding claim wherein for each possible permutation of the at least one symbol, decoding the remaining symbols comprises performing null cancelling decoding.
1 1 . The method of any preceding claim wherein for each possible permutation of the at least one symbol, decoding the remaining symbols comprises performing minimum mean square error decoding.
12. The method of any preceding claim wherein Mt = 2, P = 2 and Mr = 1 .
13. The method of any one of claims 1 to 9 wherein Mt = 2, P = 2 and Mr = 2.
14, A computer readable storage medium having stored thereon
instructions for execution by a computer to cause the computer to execute the method of any one of claims 1 to 13.
15. A receiver comprising: at least one antenna; a space-time transmit diversity decoder configured to implement the method of any one of claims 1 to 13.
16. The receiver of claim 15 further comprising an error correction decoder.
17. A space-time transmit diversity decoder configured to implement the method of any one of claims 1 to 13.
PCT/CA2012/050579 2011-08-23 2012-08-22 System and method for decoding space-time code matrices WO2013026164A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161526365P 2011-08-23 2011-08-23
US61/526,365 2011-08-23

Publications (1)

Publication Number Publication Date
WO2013026164A1 true WO2013026164A1 (en) 2013-02-28

Family

ID=47745824

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2012/050579 WO2013026164A1 (en) 2011-08-23 2012-08-22 System and method for decoding space-time code matrices

Country Status (1)

Country Link
WO (1) WO2013026164A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10352049B2 (en) 2013-06-27 2019-07-16 Valinge Innovation Ab Building panel with a mechanical locking system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080279298A1 (en) * 2007-05-10 2008-11-13 Comsys Communication & Signal Processing Ltd. Multiple-input multiple-output (mimo) detector incorporating efficient signal point search

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080279298A1 (en) * 2007-05-10 2008-11-13 Comsys Communication & Signal Processing Ltd. Multiple-input multiple-output (mimo) detector incorporating efficient signal point search

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10352049B2 (en) 2013-06-27 2019-07-16 Valinge Innovation Ab Building panel with a mechanical locking system

Similar Documents

Publication Publication Date Title
CN107040341B (en) Apparatus and method for reordering subblock decoding
KR20090016439A (en) Apparatus and method for processing communications from multiple sources
KR101890998B1 (en) Semi-exhaustive recursive block decoding method and device
US8229013B2 (en) Methods and systems for maximum-likelihood detection using post-squaring compensation
KR20090046599A (en) Apparatus and method for detecting signal in multi-antenna system
JP2009060616A (en) Method and device for detecting signal with low complexity used for mimo system
US8811215B2 (en) Apparatus and method for detecting signal in spatial multiplexing system
US8139669B2 (en) Space domain filter detecting method in a multi-antenna wireless communication system
US8660217B2 (en) Methods and apparatus for low complexity soft-input soft-output group detection
JP2009268077A (en) System and device for transmitting data, and device for receiving vector of data
Ma et al. Blind maximum-likelihood decoding for orthogonal space-time block codes: A semidefinite relaxation approach
WO2013026164A1 (en) System and method for decoding space-time code matrices
Izadinasab et al. Efficient lattice-reduction-aided conditional detection for MIMO systems
Niroomand et al. A low complexity diversity achieving decoder based on a two-stage lattice reduction in frequency-selective MIMO channels
Wu et al. Low-complexity optimal detection for hybrid space-time block coding and spatial multiplexing
Diouf et al. Soft output detection for MIMO systems using binary polar codes
Li et al. Multi-feedback successive interference cancellation with multi-branch processing for MIMO systems
Yang et al. Fixed-complexity LLL-based signal detection for MIMO systems
Kim et al. On the decoding of matrix C in the WiMAX standard
Cortez et al. A low-complexity near-ML detector for a 3× n R hybrid space-time code
Sobrón et al. Low-complexity detection of Full-Rate SFBC in BICM-OFDM systems
Ammu et al. Performance Analysis of Decoding Algorithms in multiple antenna systems
Jar et al. Extended jointly Gaussian approach for MIMO multipath channels
Soltanmohammadi et al. Semi-blind data detection for unitary space-time modulation in MIMO communications systems
KR101666821B1 (en) Method for Calculating Soft Value

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12825224

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12825224

Country of ref document: EP

Kind code of ref document: A1