Reduced complexity detection and decoding for a receiver in a communication system
Claim Score by NHIP
Abstract
Techniques for performing detection and decoding at a receiver are described. In one scheme, the receiver obtains R received symbol streams for M data streams transmitted by a transmitter, performs receiver spatial processing on the received symbols to obtain detected symbols, performs log-likelihood ratio (LLR) computation independently for each of D best data streams, and performs LLR computation jointly for the M−D remaining data streams, where M>D≧1 and M>1. The D best data streams may be selected based on SNR and/or other criteria. In another scheme, the receiver performs LLR computation independently for each of the D best data streams, performs LLR computation jointly for the M−D remaining data streams, and reduces the number of hypotheses to consider for the joint LLR computation by performing a search for candidate hypotheses using list sphere detection, Markov chain Monte Carlo, or some other search technique.

Term
3.5 yearsto projected expiry
Projected expiry 11 April 2030, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
48 claims: 10 independent, 38 dependent
- 1An apparatus comprising:at least one processor configured to perform detection independently for each of at least one data stream selected from among multiple data streams, and to perform detection jointly for remaining data streams among the multiple data streams;and a memory coupled to the at least one processor.
- 11Broadest claimClaim Score 94, very broad(NHIP)A method comprising:performing detection independently for each of at least one data stream selected from among multiple data streams;and performing detection jointly for remaining data streams among the multiple data streams.
- 14An apparatus comprising:means for performing detection independently for each of at least one data stream selected from among multiple data streams;and means for performing detection jointly for remaining data streams among the multiple data streams.
- 17An apparatus comprising:at least one processor configured to compute log-likelihood ratios (LLRs) independently for each of at least one data symbol in a set of data symbols transmitted via a multiple-input multiple-output (MIMO) channel, and to compute LLRs jointly for remaining data symbols in the set of data symbols;and a memory coupled to the at least one processor.
- 25A method comprising:computing log-likelihood ratios (LLRs) independently for each of at least one data symbol in a set of data symbols transmitted via a multiple-input multiple-output (MIMO) channel;and computing LLRs jointly for remaining data symbols in the set of data symbols.
- 28An apparatus comprising:means for computing log-likelihood ratios (LLRs) independently for each of at least one data symbol in a set of data symbols transmitted via a multiple-input multiple-output (MIMO) channel;and means for computing LLRs jointly for remaining data symbols in the set of data symbols.
- 31An apparatus comprising:at least one processor configured to perform detection independently for each of at least one data stream selected from among multiple data streams, to perform detection jointly for remaining data streams among the multiple data streams, to perform decoding for the multiple data streams, and to perform detection independently for each of the at least one data stream, to perform detection jointly for the remaining data streams, and to perform decoding for the multiple data streams for at least one additional iteration;and a memory coupled to the at least one processor.
- 32An apparatus comprising:at least one processor configured to compute log-likelihood ratios (LLRs) independently for each of at least one data symbol in a set of data symbols transmitted via a multiple-input multiple-output (MIMO) channel, to determine a list of candidate hypotheses for remaining data symbols in the set of data symbols, and to compute LLRs jointly for the remaining data symbols with the list of candidate hypotheses;and a memory coupled to the at least one processor.
- 43A method comprising:computing log-likelihood ratios (LLRs) independently for each of at least one data symbol in a set of data symbols transmitted via a multiple-input multiple-output (MIMO) channel;determining a list of candidate hypotheses for remaining data symbols in the set of data symbols;and computing LLRs jointly for the remaining data symbols with the list of candidate hypotheses.
- 46An apparatus comprising:means for computing log-likelihood ratios (LLRs) independently for each of at least one data symbol in a set of data symbols transmitted via a multiple-input multiple-output (MIMO) channel;means for determining a list of candidate hypotheses for remaining data symbols in the set of data symbols;and means for computing LLRs jointly for the remaining data symbols with the list of candidate hypotheses.
Independent claims10
111 paragraphs in 4 sections, as filed
0001The present application claims priority to provisional U.S. Application Ser. No. 60/738,159, entitled “REDUCED COMPLEXITY INTERATIVE DETECTION AND DECODING FOR MIMO-OFDM SYSTEMS,” filed Nov. 18, 2005, assigned to the assignee hereof and incorporated herein by reference.
BACKGROUND
0002I. Field
0003The present disclosure relates generally to communication, and more specifically to techniques for performing detection and decoding at a receiver in a communication system.
0004II. Background
0005A multiple-input multiple-output (MIMO) communication system employs multiple (T) transmit antennas at a transmitter and multiple (R) receive antennas at a receiver for data transmission. A MIMO channel formed by the T transmit antennas and the R receive antennas may be decomposed into M spatial channels, where M≦min {T, R}. The M spatial channels may be used to transmit data in a manner to achieve higher overall throughput and/or greater reliability.
0006The transmitter may encode and transmit M data streams in parallel via the T transmit antennas. The receiver obtains R received symbol streams via the R receive antennas, performs MIMO detection to separate out the M data streams, and performs decoding on the detected symbol streams to recover the transmitted data streams. To achieve optimal performance, the receiver would need to evaluate many hypotheses for all possible sequences of data bits that might have been transmitted based on all of the information available at the receiver. Such an exhaustive search is computationally intensive and is prohibitive for many applications.
0007There is therefore a need in the art for techniques to perform detection and decoding with reduced complexity while achieving good performance.
SUMMARY
0008Techniques for performing detection and decoding with reduced complexity while achieving good performance are described herein. These techniques are embodied in various reduced complexity detection schemes described below.
0009In one reduced complexity detection scheme, a receiver obtains R received symbol streams for M data streams transmitted by a transmitter, performs receiver spatial processing (or spatial matched filtering) on the received symbols to obtain detected symbols, performs log-likelihood ratio (LLR) computation independently for each of D “best” data streams, and performs LLR computation jointly for the M−D remaining data streams, where in general M>D≧1 and M>1. The D best data streams may be selected based on signal-to-noise-and-interference ratio (SNR) and/or other criteria. In another reduced complexity detection scheme, the receiver performs LLR computation independently for each of the D best data streams, performs LLR computation jointly for the M−D remaining data streams, and reduces the number of hypotheses to consider for the joint LLR computation by performing a search for candidate hypotheses using list sphere detection, Markov chain Monte Carlo, or some other search technique.
0010For both detection schemes, dimensionality is reduced from M to M−D by performing per-stream LLR computation for the D best data streams. The reduction in dimensionality may substantially reduce the number of hypotheses to consider for the joint LLR computation for the M−D remaining data streams. The number of hypotheses may be further reduced by performing a search for candidate hypotheses. These detection schemes may be used for (1) a single-pass receiver that performs detection and decoding once and (2) an iterative receiver that performs detection and decoding iteratively. These and other detection schemes are described in detail below.
0011Various aspects and embodiments of the invention are also described in further detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
0012The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout.
0013<figref idref="DRAWINGS">FIG. 1</figref> shows a block diagram of a transmitter and a receiver.
0014<figref idref="DRAWINGS">FIG. 2</figref> shows a block diagram of a transmit (TX) data processor and a TX spatial processor at the transmitter.
0015<figref idref="DRAWINGS">FIG. 3</figref> shows a block diagram of a receive (RX) spatial processor and an RX data processor for a single-pass receiver.
0016<figref idref="DRAWINGS">FIG. 4</figref> shows a block diagram of an RX spatial processor and an RX data processor for an iterative receiver.
0017<figref idref="DRAWINGS">FIG. 5</figref> shows a flow diagram for a reduced dimensionality detection scheme.
0018<figref idref="DRAWINGS">FIG. 6</figref> shows an apparatus for the reduced dimensionality detection scheme.
0019<figref idref="DRAWINGS">FIG. 7</figref> shows an exemplary search tree for list sphere detection.
0020<figref idref="DRAWINGS">FIG. 8</figref> shows a flow diagram for a reduced order detection scheme.
0021<figref idref="DRAWINGS">FIG. 9</figref> shows an apparatus for the reduced order detection scheme.
DETAILED DESCRIPTION
0022The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
0023The detection and decoding techniques described herein may be used for various communication systems in which multiple data streams are transmitted in parallel via a communication channel. For example, these techniques may be used for a MIMO system with a single frequency subband, a MIMO system with multiple subbands, a Code Division Multiple Access (CDMA) system, a Frequency Division Multiple Access (FDMA) system, a Time Division Multiple Access (TDMA) system, and so on. Multiple subbands may be obtained with orthogonal frequency division multiplexing (OFDM), single-carrier frequency division multiple access (SC-FDMA), or some other modulation technique. OFDM and SC-FDMA partition the overall system bandwidth into multiple (L) orthogonal subbands, which are also called subcarriers, tones, bins, and so on. Each subband is associated with a subcarrier that may be independently modulated with data. In general, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDMA. For clarity, much of the description below is for a MIMO system that utilizes OFDM.
0024<figref idref="DRAWINGS">FIG. 1</figref> shows a block diagram of an embodiment of a transmitter <b>110</b> and a receiver <b>150</b> in a MIMO system <b>100</b>. Transmitter <b>110</b> is equipped with multiple (T) antennas, and receiver <b>150</b> is equipped with multiple (R) antennas. For downlink (or forward link) transmission, transmitter <b>110</b> may be part of, and may contain some or all of the functionality of, a base station, an access point, a Node B, and so on. Receiver <b>150</b> may be part of, and may contain some or all of the functionality of, a mobile station, a user terminal, a user equipment, and so on. For uplink (or reverse link) transmission, transmitter <b>110</b> may be part of a mobile station, a user terminal, a user equipment, and so on, and receiver <b>150</b> may be part of a base station, an access point, a Node B, and so on.
0025At transmitter <b>110</b>, a TX data processor <b>120</b> receives traffic data from a data source <b>112</b> and processes (e.g., formats, encodes, interleaves, and symbol maps) the traffic data to generate data symbols, which are modulation symbols for traffic data. A TX spatial processor <b>130</b> multiplexes the data symbols with pilot symbols, which are modulation symbols for pilot. A pilot is a transmission that is known a priori by both the transmitter and receiver and may also be referred to as a training signal, a reference, a preamble, and so on. TX spatial processor <b>130</b> performs transmitter spatial processing and provides T streams of transmit symbols to T transmitter units (TMTR) <b>132</b><i>a </i>through <b>132</b><i>t</i>. Each transmitter unit <b>132</b> processes (e.g., OFDM modulates, converts to analog, filters, amplifies, and upconverts) its transmit symbol stream and generates a modulated signal. T modulated signals from transmitter units <b>132</b><i>a </i>through <b>132</b><i>t </i>are transmitted from antennas <b>134</b><i>a </i>through <b>134</b><i>t</i>, respectively.
0026At receiver <b>150</b>, R antennas <b>152</b><i>a </i>through <b>152</b><i>r </i>receive the T modulated signals, and each antenna <b>152</b> provides a received signal to a respective receiver unit (RCVR) <b>154</b>. Each receiver unit <b>154</b> processes its received signal in a manner complementary to the processing performed by transmitter units <b>132</b> to obtain received symbols, provides received symbols for traffic data to an RX spatial processor <b>160</b>, and provides received symbols for pilot to a channel processor <b>194</b>. Channel processor <b>194</b> estimates the response of the MIMO channel from transmitter <b>110</b> to receiver <b>150</b> based on the received symbols for pilot (and possibly the received symbols for traffic data) and provides channel estimates to RX spatial processor <b>160</b>. RX spatial processor <b>160</b> performs detection on the received symbols for traffic data with the channel estimates and provides soft decisions, which may be represented by LLRs as described below. An RX data processor <b>170</b> further processes (e.g., deinterleaves and decodes) the soft decisions and provides decoded data to a data sink <b>172</b>. The detection and decoding may be performed with a single pass through processors <b>160</b> and <b>170</b> or iteratively between processors <b>160</b> and <b>170</b>.
0027Receiver <b>150</b> may send feedback information to assist transmitter <b>110</b> in controlling the data transmission to receiver <b>150</b>. The feedback information may indicate a particular transmission mode to use for transmission, a particular rate or packet format to use for each data stream, acknowledgments (ACKs) and/or negative acknowledgments (NAKs) for packets decoded by receiver <b>150</b>, channel state information, and so on, or any combination thereof. The feedback information is processed (e.g., encoded, interleaved, and symbol mapped) by a TX signaling processor <b>180</b>, multiplexed with pilot symbols and spatially processed by a TX spatial processor <b>182</b>, and further processed by transmitter units <b>154</b><i>a </i>through <b>154</b><i>r </i>to generate R modulated signals, which are transmitted via antennas <b>152</b><i>a </i>through <b>152</b><i>r. </i>
0028At transmitter <b>110</b>, the R modulated signals are received by antennas <b>134</b><i>a </i>through <b>134</b><i>t</i>, processed by receiver units <b>132</b><i>a </i>through <b>132</b><i>t</i>, spatially processed by an RX spatial processor <b>136</b>, and further processed (e.g., deinterleaved and decoded) by an RX signaling processor <b>138</b> to recover the feedback information. A controller/processor <b>140</b> controls the data transmission to receiver <b>150</b> based on the received feedback information. A channel processor <b>144</b> may estimate the response of the MIMO channel from receiver <b>150</b> to transmitter <b>110</b> and may derive spatial mapping matrices used by TX spatial processor <b>130</b>.
0029Controllers/processors <b>140</b> and <b>190</b> control the operation at transmitter <b>110</b> and receiver <b>150</b>, respectively. Memories <b>142</b> and <b>192</b> store data and program codes for transmitter <b>110</b> and receiver <b>150</b>, respectively.
0030<figref idref="DRAWINGS">FIG. 2</figref> shows a block diagram of an embodiment of TX data processor <b>120</b> and TX spatial processor <b>130</b> at transmitter <b>110</b>. For this embodiment, a common coding scheme is used for all data streams, and a separate code rate and a separate modulation scheme may be used for each data stream. For clarity, the following description assumes that M data streams are sent on M spatial channels.
0031Within TX data processor <b>120</b>, an encoder <b>220</b> encodes traffic data in accordance with a coding scheme and generates code bits. The coding scheme may include a convolutional code, a Turbo code, a low density parity check (LDPC) code, a cyclic redundancy check (CRC) code, a block code, and so on, or a combination thereof. A demultiplexer (Demux) <b>222</b> demultiplexes (or parses) the code bits into M streams and provides the M code bit streams to M sets of processing units. Each set includes a puncture unit <b>224</b>, a channel interleaver <b>226</b>, and a symbol mapper <b>228</b>. Each puncture unit <b>224</b> punctures (or deletes) code bits, as necessary, to achieve a code rate selected for its stream and provides the retained code bits to an associated channel interleaver <b>226</b>. Each channel interleaver <b>226</b> interleaves (or reorders) its code bits based on an interleaving scheme and provides interleaved bits to an associated symbol mapper <b>228</b>. The interleaving may be performed separately for each data stream (as shown in <figref idref="DRAWINGS">FIG. 2</figref>) or across some or all data streams (not shown in <figref idref="DRAWINGS">FIG. 2</figref>).
0032Each symbol mapper <b>228</b> maps its interleaved bits in accordance with a modulation scheme selected for its stream and provides a stream of data symbols {s<sub>m</sub>}. The symbol mapping for stream m may be achieved by (1) grouping sets of Q<sub>m </sub>bits to form Q<sub>m</sub>-bit values, where Q<sub>m</sub>≧1, and (2) mapping each Q<sub>m</sub>-bit value to one of 2<sup>Q</sup><sup><sub2>m </sub2></sup>points in a signal constellation for the selected modulation scheme. Each mapped signal point is a complex value and corresponds to a data symbol. The symbol mapping may be based on Gray mapping or non-Gray mapping. With Gray mapping, neighboring points in the signal constellation (in both the horizontal and vertical directions) differ by only one out of Q<sub>m </sub>bit positions. Gray mapping reduces the number of bit errors for more likely error events, which correspond to a received symbol being mapped to a location near the correct location, in which case only one coded bit would be detected in error. With non-Gray mapping, neighboring points may differ by more than one bit position. Non-Gray mapping may result in more independence between the coded bits and may improve performance for iterative detection and decoding.
0033Within TX spatial processor <b>130</b>, a multiplexer (Mux) <b>230</b> receives the M data symbol streams from symbol mappers <b>228</b><i>a </i>through <b>228</b><i>m </i>and maps the data symbols and pilot symbols to the proper subbands in each symbol period. A matrix multiplier <b>232</b> multiplies the data and/or pilot symbols for each subband l with a spatial mapping matrix <u style="single">P</u>(l) and provides transmit symbols for that subband. Different spatial mapping matrices may be used for different transmission modes, and different spatial mapping matrices may be used for different subbands for some transmission modes, as described below.
0034<figref idref="DRAWINGS">FIG. 2</figref> shows an embodiment in which a common coding scheme and separate code rates and modulation schemes may be used for the M data streams. Different code rates may be achieved for the M data streams by using different puncture patterns for these streams. In another embodiment, a common coding scheme and a common code rate are used for all data streams, and separate modulation schemes may be used for the M data streams. In yet another embodiment, a common coding scheme, a common code rate, and a common modulation scheme are used for all M data streams. In still yet another embodiment, each data stream is processed based on a coding and modulation scheme selected for that data stream. In general, the same or different coding schemes, the same or different code rates, and the same or different modulation schemes may be used for the M data streams. Furthermore, the same or different coding schemes, the same or different code rates, and the same or different modulation schemes may be used across the subbands.
0035Transmitter <b>110</b> typically encodes each packet separately. In an embodiment, the M data streams are jointly encoded so that a single packet may be sent on multiple (e.g., all M) spatial channels. In another embodiment, the M data streams are independently encoded so that each packet is sent on one spatial channel. In yet another embodiment, some data streams are jointly encoded while remaining data streams are independently encoded.
0036For clarity, the following description assumes that one data stream is sent on each spatial channel. The terms “data stream” and “spatial channel” are thus interchangeable for much of the description below. The number of data streams may be configurable and may be selected based on channel conditions and/or other factors. For clarity, the following description assumes that M data streams are sent on M spatial channels.
0037<figref idref="DRAWINGS">FIG. 3</figref> shows a block diagram of an RX spatial processor <b>160</b><i>a </i>and an RX data processor <b>170</b><i>a </i>for a single-pass receiver. Processors <b>160</b><i>a </i>and <b>170</b><i>a </i>are an embodiment of processors <b>160</b> and <b>170</b>, respectively, at receiver <b>150</b> in <figref idref="DRAWINGS">FIG. 1</figref>. For this embodiment, processors <b>160</b><i>a </i>and <b>170</b><i>a </i>perform detection and decoding with a single pass through each of processors <b>160</b><i>a </i>and <b>170</b><i>a. </i>
0038Within RX spatial processor <b>160</b><i>a </i>, a spatial filter matrix computation unit <b>308</b> receives the channel estimates from channel processor <b>194</b> and derives spatial filter matrices based on the channel estimates and the spatial mapping matrices used by transmitter <b>110</b>, as described below. A MIMO detector <b>310</b> obtains the received symbols from R receiver units <b>154</b><i>a </i>through <b>154</b><i>r</i>, the channel estimates from channel processor <b>194</b>, and the spatial filter matrices from unit <b>308</b>. MIMO detector <b>310</b> performs detection as described below and provides K soft decisions for K code bits of M data symbols sent on each subband in each symbol period used for data transmission. A soft decision is a multi-bit value that is an estimate of a transmitted code bit. The soft decisions may be represented as LLRs and may be referred to as extrinsic LLRs. If M data symbols are sent on one subband in one symbol period, then K may be computed as <maths id="MATH-US-00001" num="1"><math overflow="scroll"><mrow><mrow><mi>K</mi><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mo></mo><msub><mi>Q</mi><mi>m</mi></msub></mrow></mrow><mo>,</mo></mrow></math></maths><br /> where Q<sub>m </sub>is the number of code bits used to form a data symbol for stream m. If the same modulation scheme is used for all M data streams, then K may be computed as K=M·Q , where Q is the number of code bits for each data symbol.
0039Within RX data processor <b>170</b><i>a </i>, channel deinterleavers <b>316</b><i>a </i>through <b>316</b><i>m </i>receive the extrinsic LLRs for the M data streams. Each channel deinterleaver <b>316</b> deinterleaves the extrinsic LLRs for its stream in a manner complementary to the interleaving performed by channel interleaver <b>226</b> for that stream. A multiplexer <b>318</b> multiplexes (or serializes) the deinterleaved LLRs from channel deinterleavers <b>316</b><i>a </i>through <b>316</b><i>m</i>. A decoder <b>320</b> decodes the deinterleaved LLRs and provides decoded data. The detection and decoding are described in detail below.
0040<figref idref="DRAWINGS">FIG. 4</figref> shows a block diagram of an RX spatial processor <b>160</b><i>b </i>and an RX data processor <b>170</b><i>b </i>for an iterative receiver. Processors <b>160</b><i>b </i>and <b>170</b><i>b </i>are another embodiment of processors <b>160</b> and <b>170</b>, respectively, at receiver <b>150</b>. For this embodiment, processors <b>160</b><i>b </i>and <b>170</b><i>b </i>perform detection and decoding iteratively.
0041Within RX spatial processor <b>160</b><i>b</i>, a unit <b>408</b> derives spatial filter matrices based on the channel estimates and the spatial mapping matrices used by transmitter <b>110</b>. A MIMO detector <b>410</b> obtains the received symbols from R receiver units <b>154</b><i>a </i>through <b>154</b><i>r</i>, the channel estimates from channel processor <b>194</b>, the spatial filter matrices from unit <b>408</b>, and a priori LLRs from a decoder <b>420</b>. The a priori LLRs are denoted as L<sub>a</sub>(b<sub>k</sub>) and represent a priori information from decoder <b>420</b>. MIMO detector <b>410</b> performs detection as described below and provides K detector LLRs for K code bits of M data symbols sent on each subband in each symbol period used for data transmission. The detector LLRs are denoted as L(b<sub>k</sub>). K summers <b>412</b><i>a </i>through <b>412</b><i>k </i>subtract the a priori LLRs from the detector LLRs and provide extrinsic LLRs, which are denoted as L<sub>e</sub>(b<sub>k</sub>). The extrinsic LLRs represent extrinsic or new information from MIMO detector <b>410</b> to decoder <b>420</b>.
0042Within RX data processor <b>170</b><i>b</i>, an M-stream channel deinterleaver <b>416</b> deinterleaves the extrinsic LLRs for each stream in a manner complementary to the interleaving performed by channel interleaver <b>226</b> for that stream. Channel deinterleaver <b>416</b> may include M channel deinterleavers <b>316</b><i>a </i>through <b>316</b><i>m </i>shown in <figref idref="DRAWINGS">FIG. 3</figref>. A multiplexer <b>418</b> serializes the deinterleaved LLRs, which are denoted as L<sub>e</sub><sup>D</sup>(b<sub>k</sub>). A decoder <b>420</b> decodes the deinterleaved LLRs and provides decoder LLRs. A summer <b>422</b> subtracts the deinterleaved LLRs from the decoder LLRs and provides a priori LLRs, which represent extrinsic information from decoder <b>420</b> to MIMO detector <b>410</b> for the next iteration. The a priori LLRs for MIMO detector <b>410</b> are demultiplexed into M streams by a demultiplexer <b>424</b>. An M-stream channel interleaver <b>426</b> interleaves the a priori LLRs for each stream in the same manner performed by channel interleaver <b>226</b> for that stream. Channel interleaver <b>426</b> may include M channel interleavers <b>226</b><i>a </i>through <b>226</b><i>m </i>shown in <figref idref="DRAWINGS">FIG. 2</figref>. Channel interleaver <b>426</b> provides the interleaved a priori LLRs for the next iteration to MIMO detector <b>410</b>.
0043RX spatial processor <b>160</b><i>b </i>and RX data processor <b>170</b><i>b </i>may perform any number of iterations. In an embodiment, processors <b>160</b><i>b </i>and <b>170</b><i>b </i>perform a predetermined number of iterations (e.g., 4, 6, 8 or more iterations). In another embodiment, processors <b>160</b><i>b </i>and <b>170</b><i>b </i>perform one iteration, then check if a packet is decoded correctly and/or if a decoder reliability metric is sufficiently high, and perform another iteration if the packet is decoded in error or if the decoder reliability metric is low. The error detection may be achieved with a CRC and/or some other error detection code. Processors <b>160</b><i>b </i>and <b>170</b><i>b </i>may thus perform a fixed number of iterations or a variable number of iterations up to some maximum number of iterations. The iterative detection and decoding is described in detail below.
0044The received symbols at receiver <b>150</b> may be expressed as: <br /><i>y</i>(<i>l</i>)=<i>H</i><sub>ch</sub>(<i>l</i>)·<i>P</i>(<i>l</i>)·<i><u style="single">s</u></i>(<i>l</i>)+<i>n</i>(<i>l</i>)=<i>H</i>(<i>l</i>)·<i><u style="single">s</u></i>(<i>l</i>)+<i>n</i>(<i>l</i>), for <i>l=</i>1, . . . , L, Eq (1) <br /> where <u style="single">s</u>(l) is an M×1 vector with M data symbols sent on subband l; <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0045"><u style="single">P</u>(l) is a T×M spatial mapping matrix used by transmitter <b>110</b> for subband l; </li><li id="ul0002-0002" num="0046"> H<sub>ch</sub>(l) is an R×T MIMO channel response matrix for subband l; </li><li id="ul0002-0003" num="0047"> H(l)=H<sub>ch</sub>(l)·<u style="single">P</u>(l) is an R×M effective MIMO channel response matrix for subband l; </li><li id="ul0002-0004" num="0048"> y(l) is an R×1 vector with R received symbols for subband l; and </li><li id="ul0002-0005" num="0049"> n(l) is an R×1 vector of noise for subband l. <br /> The noise may be assumed to be additive white Gaussian noise (AWGN) with a zero mean vector and a covariance matrix of σ<sub>n</sub><sup>2</sup>·I, where σ<sub>n</sub><sup>2 </sup>is the variance of the noise and I is the identity matrix. The effective MIMO channel response H(l) includes the actual MIMO channel response H<sub>ch</sub>(l) and the spatial mapping matrix <u style="single">P</u>(l) used by transmitter <b>110</b>. </li></ul></li></ul>
0050In an embodiment, a MIMO detector (e.g., MIMO detector <b>310</b> or <b>410</b>) performs detection separately for each subband based on the received symbols and the channel estimate for that subband and, if available, the a priori LLRs for the data symbols sent on that subband. In another embodiment, the MIMO detector performs detection jointly for multiple subbands. A decoder (e.g., decoder <b>320</b> or <b>420</b>) performs decoding on a sequence of LLRs for a packet, which may be transmitted on one or multiple subbands. For clarity, subband index l is omitted in the following description.
0051A packet may be partitioned into multiple blocks, with each block containing K code bits. The K code bits for each block may be mapped to M data symbols, as follows: <br /><i><u style="single">s</u></i>=map (<i><u style="single">b</u></i>), Eq (2) <br /> where <u style="single">s</u>=[s<sub>1</sub>s<sub>2</sub>. . . s<sub>M</sub>] is a vector with M data symbols; <maths id="MATH-US-00002" num="2"><math overflow="scroll"><mtable><mtr><mtd><mrow><munder><mi>b</mi><mi>_</mi></munder><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><munder><mi>b</mi><mi>_</mi></munder><mn>1</mn></msub></mtd><mtd><msub><munder><mi>b</mi><mi>_</mi></munder><mn>2</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><msub><munder><mi>b</mi><mi>_</mi></munder><mi>M</mi></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><munder><mrow><msub><mi>b</mi><mrow><mn>1</mn><mo>,</mo><mn>1</mn></mrow></msub><mo></mo><mi>…</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>b</mi><mrow><mn>1</mn><mo>,</mo><msub><mi>Q</mi><mn>1</mn></msub></mrow></msub></mrow><munder><mi>︸</mi><msub><munder><mi>b</mi><mi>_</mi></munder><mn>1</mn></msub></munder></munder></mtd><mtd><munder><mrow><msub><mi>b</mi><mrow><mn>2</mn><mo>,</mo><mn>1</mn></mrow></msub><mo></mo><mi>…</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>b</mi><mrow><mn>2</mn><mo>,</mo><msub><mi>Q</mi><mn>2</mn></msub></mrow></msub></mrow><munder><mi>︸</mi><msub><munder><mi>b</mi><mi>_</mi></munder><mn>2</mn></msub></munder></munder></mtd><mtd><mi>…</mi></mtd><mtd><munder><mrow><msub><mi>b</mi><mrow><mi>M</mi><mo>,</mo><mn>1</mn></mrow></msub><mo></mo><mi>…</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>b</mi><mrow><mi>M</mi><mo>,</mo><msub><mi>Q</mi><mi>M</mi></msub></mrow></msub></mrow><munder><mi>︸</mi><msub><munder><mi>b</mi><mi>_</mi></munder><mi>M</mi></msub></munder></munder></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>b</mi><mn>1</mn></msub></mtd><mtd><msub><mi>b</mi><mn>2</mn></msub></mtd><mtd><mi>…</mi></mtd><mtd><msub><mi>b</mi><mi>K</mi></msub></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> is a vector with K code bits for one block; <ul id="ul0003" list-style="none"><li id="ul0003-0001" num="0000"><ul id="ul0004" list-style="none"><li id="ul0004-0001" num="0052"><u style="single">b</u><sub>m </sub>is a vector with Q<sub>m </sub>code bits used to form data symbol s<sub>m </sub>for stream m; </li><li id="ul0004-0002" num="0053"> b<sub>m,q</sub>, for m=1, . . . , M and q=1, . . . , Q<sub>m </sub>, is the q-th code bit in vector <u style="single">b</u><sub>m</sub>; and </li><li id="ul0004-0003" num="0054"> b<sub>k</sub>, for k=1, . . . , K, is the k-th code bit in vector <u style="single">b</u>. <br /> There is a one-to-one mapping between a given bit vector <u style="single">b</u> and a corresponding data vector <u style="single">s</u>. In general, Q may be the same or different for the M data symbols sent on a given subband, and K may be the same or different for the L subbands. </li></ul></li></ul>
0055An optimal receiver for the transmission scheme shown in equation (1) is a maximum likelihood (ML) sequence receiver that performs detection and decoding jointly for an entire packet. This optimal receiver would make joint decisions on all data bits in the packet using knowledge of the correlation introduced by the coding scheme across the blocks, subbands, and OFDM symbols for the packet. The optimal receiver would perform an exhaustive search over all possible sequences of data bits that might have been transmitted for the packet to find the sequence that is most likely to have been transmitted. This optimal receiver would be prohibitively complex.
0056A receiver that performs detection and decoding iteratively, e.g., as shown in <figref idref="DRAWINGS">FIG. 4</figref>, can achieve near-optimal performance with lower complexity. The detector and decoder compute soft decisions on the code bits and exchange this information in an iterative manner, which increases the reliability of the soft decisions with the number of iterations performed. The MIMO detector and decoder may each be implemented in various manners.
0057In an embodiment, the MIMO detector is a maximum a posteriori probability (MAP) detector that minimizes the error probability for each code bit and provides a soft decision for each code bit. The MAP detector provides soft decisions in the form of a posteriori probabilities (APPs) that are often expressed as LLRs. The detector LLR for code bit b<sub>k</sub>, L(b<sub>k</sub>), may be expressed as: <maths id="MATH-US-00003" num="3"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><mi>L</mi><mo></mo><mrow><mo>(</mo><msub><mi>b</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>ln</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mfrac><mrow><mi>P</mi><mo></mo><mrow><mo>{</mo><mrow><msub><mi>b</mi><mi>k</mi></msub><mo>=</mo><mrow><mrow><mo>+</mo><mn>1</mn></mrow><mo></mo><mstyle><mtext>|</mtext></mstyle><mo></mo><munder><mi>y</mi><mi>_</mi></munder></mrow></mrow><mo>}</mo></mrow></mrow><mrow><mi>P</mi><mo></mo><mrow><mo>{</mo><mrow><msub><mi>b</mi><mi>k</mi></msub><mo>=</mo><mrow><mrow><mo>-</mo><mn>1</mn></mrow><mo></mo><mstyle><mtext>|</mtext></mstyle><mo></mo><munder><mi>y</mi><mi>_</mi></munder></mrow></mrow><mo>}</mo></mrow></mrow></mfrac></mrow></mrow><mo>,</mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mrow><mi>for</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mi>k</mi></mrow><mo>=</mo><mn>1</mn></mrow><mo>,</mo><mi>…</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo>,</mo><mi>K</mi><mo>,</mo></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> where P{b<sub>k</sub>=+1|y} is the probability of code bit b<sub>k </sub>being +1 given received vector y; and <ul id="ul0005" list-style="none"><li id="ul0005-0001" num="0000"><ul id="ul0006" list-style="none"><li id="ul0006-0001" num="0058"> P{b<sub>k</sub>=−1|y} is the probability of code bit b<sub>k </sub>being −1 given received vector y, </li></ul></li></ul>
0059The detector LLR may be separated into two parts, as follows: <br /><i>L</i>(<i>b</i><sub>k</sub>)=<i>L</i><sub>a</sub>(b<sub>k</sub>)+<i>L</i><sub>e </sub>(<i>b</i><sub>k</sub>) Eq (4) <br /> where L<sub>a</sub>(b<sub>k</sub>) is the a priori LLR for code bit b<sub>k </sub>provided by the decoder or possibly other sources to the MIMO detector and L<sub>e</sub>(b<sub>k</sub>) is the extrinsic LLR for code bit b<sub>k </sub>provided by the MIMO detector to the decoder. The a priori LLR for code bit b<sub>k </sub>may be expressed as: <maths id="MATH-US-00004" num="4"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><msub><mi>L</mi><mi>a</mi></msub><mo></mo><mrow><mo>(</mo><msub><mi>b</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>ln</mi><mo></mo><mfrac><mrow><mi>P</mi><mo></mo><mrow><mo>{</mo><mrow><msub><mi>b</mi><mi>k</mi></msub><mo>=</mo><mrow><mo>+</mo><mn>1</mn></mrow></mrow><mo>}</mo></mrow></mrow><mrow><mi>P</mi><mo></mo><mrow><mo>{</mo><mrow><msub><mi>b</mi><mi>k</mi></msub><mo>=</mo><mrow><mo>-</mo><mn>1</mn></mrow></mrow><mo>}</mo></mrow></mrow></mfrac></mrow></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> where P{b<sub>k</sub>=+1} is the probability of code bit b<sub>k </sub>being +1; and <ul id="ul0007" list-style="none"><li id="ul0007-0001" num="0000"><ul id="ul0008" list-style="none"><li id="ul0008-0001" num="0060"> P{b<sub>k</sub>=−1} is the probability of code bit b<sub>k </sub>being −1. </li></ul></li></ul>
0061The MAP detector may be a log-MAP detector, a max-log-MAP detector, or some other type of MAP detector. The extrinsic LLR from a log-MAP detector, which is called a log-MAP LLR, may be computed as: <maths id="MATH-US-00005" num="5"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mrow><msub><mi>L</mi><mi>e</mi></msub><mo></mo><mrow><mo>(</mo><msub><mi>b</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mo>=</mo><mrow><mi>ln</mi><mo></mo><mfrac><mrow><munderover><mo>∑</mo><mrow><mrow><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><msub><mi>b</mi><mi>k</mi></msub></mrow><mo>=</mo><mrow><mo>+</mo><mn>1</mn></mrow></mrow><mstyle><mtext> </mtext></mstyle></munderover><mo></mo><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mo></mo><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup></mrow></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mover><munder><mi>s</mi><mi>_</mi></munder><mo>~</mo></mover></mrow></mrow><mo></mo></mrow><mn>2</mn></msup><mo>·</mo><mrow><mi>exp</mi><mo></mo><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><msubsup><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>)</mo></mrow></mrow></mrow></mrow><mrow><munderover><mo>∑</mo><mrow><mrow><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><msub><mi>b</mi><mi>k</mi></msub></mrow><mo>=</mo><mrow><mo>+</mo><mn>1</mn></mrow></mrow><mstyle><mtext> </mtext></mstyle></munderover><mo></mo><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mo></mo><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup></mrow></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mover><munder><mi>s</mi><mi>_</mi></munder><mo>~</mo></mover></mrow></mrow><mo></mo></mrow><mn>2</mn></msup><mo>·</mo><mrow><mi>exp</mi><mo></mo><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><msubsup><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>)</mo></mrow></mrow></mrow></mrow></mfrac></mrow></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> where <u style="single">{tilde over (b)}</u> and <u style="single">{tilde over (s)}</u> are vectors that are hypothesized to have been transmitted; <ul id="ul0009" list-style="none"><li id="ul0009-0001" num="0000"><ul id="ul0010" list-style="none"><li id="ul0010-0001" num="0062"><u style="single">{tilde over (b)}</u><sub>k </sub>is a vector with all code bits in vector <u style="single">{tilde over (b)}</u> except for code bit b<sub>k</sub>; </li><li id="ul0010-0002" num="0063"><u style="single">L</u><sub>a,[k]</sub> is a vector with a priori LLRs for all code bits in <u style="single">{tilde over (b)}</u><sub>[k]</sub>; </li><li id="ul0010-0003" num="0064"> ∥y−H·<u style="single">{tilde over (s)}</u>∥<sup>2 </sup>represents a Euclidean distance cost function; and </li><li id="ul0010-0004" num="0065"> “<sup>T</sup>” denotes a transpose. </li></ul></li></ul>
0066Equation (6) shows one expression for the extrinsic LLR from the log-MAP detector. The extrinsic LLR may also be expressed in other forms. The receiver typically derives Ĥ, which is an estimate of the effective MIMO channel response matrix H, and uses Ĥ in the LLR computation. For simplicity, the description herein assumes no channel estimation error, so that Ĥ=H.
0067Equation (6) is evaluated for each code bit in the transmitted bit vector <u style="single">b</u>. For each code bit b<sub>k</sub>, 2<sup>K </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u>for all possible sequences of code bits {b<sub>1</sub>. . . b<sub>K</sub>} (or all possible combinations of code bit values) that might have been transmitted for vector <u style="single">b</u> are considered. 2<sup>K−1 </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u> have b<sub>k</sub>=+1, and the other 2<sup>K−1 </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u> have b<sub>k</sub>=−1. Each hypothesized bit vector <u style="single">{tilde over (b)}</u> has a corresponding hypothesized data vector <u style="single">{tilde over (s)}</u>. The expression within the summation is computed for each hypothesized bit vector <u style="single">{tilde over (b)}</u> to obtain a result for that bit vector. The results for the 2<sup>K−1 </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u> with b<sub>k</sub>=+1 are summed to obtain a total result for the numerator. The results for the 2<sup>K−1 </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u> with b<sub>k</sub>=−1 are summed to obtain a total result for the denominator. The log-MAP LLR for code bit b<sub>k </sub>is equal to the natural logarithm (ln) of the total result for the numerator divided by the total result for the denominator.
0068A max-log-MAP detector approximates the log-MAP LLR in equation (6) and provides a max-log-MAP LLR, as follows: <maths id="MATH-US-00006" num="6"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><msub><mi>L</mi><mi>e</mi></msub><mo></mo><mrow><mo>(</mo><msub><mi>b</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mo>≈</mo><mrow><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><munder><mi>max</mi><mrow><mrow><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><msub><mi>b</mi><mi>k</mi></msub></mrow><mo>=</mo><mrow><mo>+</mo><mn>1</mn></mrow></mrow></munder><mo></mo><mrow><mo>{</mo><mrow><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mover><munder><mi>s</mi><mi>_</mi></munder><mo>~</mo></mover></mrow></mrow><mo></mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mrow><msubsup><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>}</mo></mrow></mrow></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><munder><mi>max</mi><mrow><mrow><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><msub><mi>b</mi><mi>k</mi></msub></mrow><mo>=</mo><mrow><mo>-</mo><mn>1</mn></mrow></mrow></munder><mo></mo><mrow><mrow><mo>{</mo><mrow><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mover><munder><mi>s</mi><mi>_</mi></munder><mo>~</mo></mover></mrow></mrow><mo></mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mrow><msubsup><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>}</mo></mrow><mo>.</mo></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> The max-log-MAP approximation in equation (7) replaces the summations in equation (6) with max { } operations. Only a small degradation in performance typically results from using the max-log-MAP approximation. Other approximations of the log-MAP LLR in equation (6) may also be used.
0069The log-MAP detector in equation (6) and the max-log-MAP detector in equation (7) make joint decisions on the received symbols in vector y and compute extrinsic LLRs for the code bits associated with these received symbols. In order to compute the extrinsic LLRs optimally, each MAP detector performs an exhaustive search over all possible combinations of data symbols that might have been transmitted for vector <u style="single">s</u>. This exhaustive search is computationally intensive and may be prohibitive for many applications. The complexity of the LLR computation is exponential in the number of bits (K) in the transmitted bit vector <u style="single">b</u> for both the log-MAP and max-log-MAP detectors. In particular, 2<sup>K </sup>hypotheses are considered by both MAP detectors for each code bit b<sub>k</sub>. Various detection schemes with reduced complexity are described below.
0070To reduce computational complexity, the receiver may perform receiver spatial processing (or spatial matched filtering) on the received symbols to obtain detected symbols and may then perform LLR computation independently for each detected symbol. The detected symbols are estimates of the data symbols transmitted by the transmitter. The receiver may perform receiver spatial processing based on a zero-forcing (ZF) technique, a minimum mean square error (MMSE) technique, a maximal ratio combining (MRC) technique, or some other technique. A spatial filter matrix may be derived based on the ZF, MMSE, or MRC technique, as follows: <br /><i><u style="single">M</u></i><sub>zf</sub><i>=[H</i><sup>H·H]</sup><sup>−1</sup><i>·H</i><sup>H</sup>, Eq (8) <br /><i><u style="single">M</u></i><sub>mmse</sub><i>=<u style="single">D</u></i><sub>mmse</sub><i>·[H</i><sup>H</sup><i>·H+σ</i><sub>n</sub><sup>2</sup><i>·I]</i><sup>−1</sup><i>·H</i><sup>H</sup>, Eq (9) <br /><i><u style="single">M</u></i><sub>mrc</sub><i>=<u style="single">D</u></i><sub>mrc</sub><i>·H</i><sup>H</sup>, Eq (10) <br /> where <u style="single">D</u><sub>mmse</sub>=diag {[H<sup>H</sup>·H+σ<sub>n</sub><sup>2</sup>·I]<sup>−1</sup>·H<sup>H</sup>·H}<sup>−1</sup>: <ul id="ul0011" list-style="none"><li id="ul0011-0001" num="0000"><ul id="ul0012" list-style="none"><li id="ul0012-0001" num="0071"><u style="single">D</u><sub>mrc</sub>=diag [H<sup>H</sup>·H]<sup>−1</sup>; </li><li id="ul0012-0002" num="0072"><u style="single">M</u><sub>zf</sub>, <u style="single">M</u><sub>mmse </sub>and <u style="single">M</u><sub>mrc </sub>are M×R spatial filter matrices for the ZF, MMSE, and MRC techniques, respectively; and </li><li id="ul0012-0003" num="0073"> “<sup>H</sup>” denotes a conjugate transpose. </li></ul></li></ul>
0074The receiver spatial processing may be expressed as: <br /><i><u style="single">ŝ</u>=<u style="single">M</u>·y,</i> Eq (11) <br /> where <u style="single">M</u> may be equal to <u style="single">M</u><sub>zf</sub>, <u style="single">M</u><sub>mmse </sub>or <u style="single">M</u><sub>mrc</sub>; and <ul id="ul0013" list-style="none"><li id="ul0013-0001" num="0000"><ul id="ul0014" list-style="none"><li id="ul0014-0001" num="0075"><u style="single">ŝ</u> is an M×1 vector of detected symbols and is an estimate of data vector <u style="single">s</u>. </li></ul></li></ul>
0076LLR computation may be performed independently for each detected symbol. The extrinsic LLRs may be computed for the Q<sub>m </sub>code bits of each detected symbol ŝ<sub>m </sub>with the max-log-MAP detector, as follows: <maths id="MATH-US-00007" num="7"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><msub><mi>L</mi><mi>e</mi></msub><mo></mo><mrow><mo>(</mo><msub><mi>b</mi><mrow><mi>m</mi><mo>,</mo><mi>q</mi></mrow></msub><mo>)</mo></mrow></mrow><mo>≈</mo><mrow><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><munder><mi>max</mi><mrow><mrow><msub><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mi>m</mi></msub><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><msub><mi>b</mi><mrow><mi>m</mi><mo>,</mo><mi>q</mi></mrow></msub></mrow><mo>=</mo><mrow><mo>+</mo><mn>1</mn></mrow></mrow></munder><mo></mo><mrow><mo>{</mo><mrow><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><msup><mi>σ</mi><mn>2</mn></msup></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mi>m</mi></msub><mo>-</mo><msub><mover><mi>s</mi><mo>~</mo></mover><mi>m</mi></msub></mrow><mo></mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mrow><msubsup><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mrow><mi>m</mi><mo>,</mo><mrow><mo>[</mo><mi>q</mi><mo>]</mo></mrow></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mi>m</mi><mo>,</mo><mrow><mo>[</mo><mi>q</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>}</mo></mrow></mrow></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><munder><mi>max</mi><mrow><mrow><msub><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mi>m</mi></msub><mo></mo><mstyle><mtext>:</mtext></mstyle><mo></mo><msub><mi>b</mi><mrow><mi>m</mi><mo>,</mo><mi>q</mi></mrow></msub></mrow><mo>=</mo><mrow><mo>-</mo><mn>1</mn></mrow></mrow></munder><mo></mo><mrow><mrow><mo>{</mo><mrow><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><msup><mi>σ</mi><mn>2</mn></msup></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mi>m</mi></msub><mo>-</mo><msub><mover><mi>s</mi><mo>~</mo></mover><mi>m</mi></msub></mrow><mo></mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mrow><msubsup><munderover><mi>b</mi><mi>_</mi><mo>~</mo></munderover><mrow><mi>m</mi><mo>,</mo><mrow><mo>[</mo><mi>q</mi><mo>]</mo></mrow></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mi>m</mi><mo>,</mo><mrow><mo>[</mo><mi>q</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>}</mo></mrow><mo>.</mo></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> where ŝ<sub>m </sub>is the m-th element of <u style="single">ŝ</u>; <ul id="ul0015" list-style="none"><li id="ul0015-0001" num="0000"><ul id="ul0016" list-style="none"><li id="ul0016-0001" num="0077"> {tilde over (s)}<sub>m </sub>is a hypothesized data symbol for transmitted data symbol s<sub>m</sub>; </li><li id="ul0016-0002" num="0078"><u style="single">{tilde over (b)}</u><sub>m,[q]</sub> is a vector with all code bits for data symbol s<sub>m </sub>except for code bit b<sub>m,q</sub>; </li><li id="ul0016-0003" num="0079"><u style="single">L</u><sub>a,m,[q]</sub> is a vector with a priori LLRs for all code bits in <u style="single">{tilde over (b)}</u><sub>m,[q]</sub>; and </li><li id="ul0016-0004" num="0080"> L<sub>e</sub>(b<sub>m,q</sub>) is the extrinsic LLR for code bit b<sub>m,q</sub>. </li></ul></li></ul>
0081Equation (12) is evaluated for each code bit in each transmitted bit vector <u style="single">b</u><sub>m</sub>, for m=1, . . . , M. For each code bit b<sub>m,q </sub>in bit vector <u style="single">b</u><sub>m</sub>2<sup>Q</sup><sup><sub2>m </sub2></sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u><sub>m </sub>for all possible sequences of code bits {b<sub>m,1</sub>. . . b<sub>m,Q</sub><sub><sub2>m</sub2></sub>} that might have been transmitted for vector <u style="single">b</u><sub>m</sub>, are considered. Each hypothesized bit vector <u style="single">{tilde over (b)}</u><sub>m </sub>has a corresponding hypothesized data symbol {tilde over (s)}<sub>m</sub>. The expression within the max { } operation is computed for each hypothesized bit vector <u style="single">{tilde over (b)}</u><sub>m </sub>to obtain a result for that vector. The results for the 2<sup>Q</sup><sup><sub2>m</sub2></sup><sup>−1 </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u><sub>m </sub>with b<sub>m,q</sub>=+1 are used in the first max { } operation. The results for the 2<sup>Q</sup><sup><sub2>m</sub2></sup><sup>−1 </sup>hypothesized bit vectors <u style="single">{tilde over (b)}</u><sub>m </sub>with b<sub>m,q</sub>=−1 are used in the second max { } operation.
0082The complexity of the receiver spatial processing is linear in the number of data streams (M) and is not dependent on the signal constellation size. Computing the extrinsic LLRs on a per-stream basis reduces the number of hypotheses to evaluate from 2<sup>M·Q </sup>to M·2<sup>Q</sup>, assuming that the same modulation scheme is used for all M data streams. The per-stream LLR computation may substantially reduce computational complexity but may result in higher performance degradation than desired.
0083In an aspect, the receiver performs receiver spatial processing on the received symbols to obtain detected symbols, performs LLR computation independently for each of D best detected symbols, and performs LLR computation jointly for the M−D remaining detected symbols, where M>D≧1. The D best detected symbols may be for the D data streams with the highest SNRs, the D data streams with the smallest SNR variation, the D data streams with the most robust coding, and so on. This detection scheme is referred to as a reduced dimensionality detection scheme and may be used for the single-pass receiver shown in <figref idref="DRAWINGS">FIG. 3</figref> and the iterative receiver shown in <figref idref="DRAWINGS">FIG. 4</figref>.
0084The receiver may perform receiver spatial processing on the R received symbols to obtain the D best detected symbols (instead of all M detected symbols). A reduced spatial filter matrix <u style="single">M</u><sub>D </sub>of dimension D×R may be derived based on a reduced channel response matrix H<sub>D</sub>. Matrix H<sub>D </sub>has dimension of R×D and includes D columns of H corresponding to the D best detected symbols. The receiver spatial processing for the D best detected symbols is less computationally complex.
0085The receiver may perform LLR computation independently for each of the D best detected symbols, e.g., based on the max-log-MAP detector shown in equation (12) or some other type of detector. The receiver may perform joint LLR computation for the M−D remaining detected symbols in various manners.
0086In one embodiment, the receiver performs joint LLR computation for the remaining detected symbols by considering the D best detected symbols. For this embodiment, hard decisions are made on the D best detected symbols. A hard decision <o ostyle="single">s</o><sub>m </sub>for a given detected symbol ŝ<sub>m </sub>is a modulation symbol that is closest in distance to ŝ<sub>m </sub>from among all modulation symbols in the signal constellation used for ŝ<sub>m</sub>. The receiver then computes extrinsic LLRs for the code bits for the remaining detected symbols, e.g., based on the max-log-MAP detector shown in equation (7) or some other type of detector. For this LLR computation, the D best detected symbols are constrained or fixed to the hard decisions determined for these detected symbols. Hence, the number of hypotheses to evaluate is reduced from <maths id="MATH-US-00008" num="8"><math overflow="scroll"><mrow><mrow><msup><mn>2</mn><mrow><munderover><mo>∑</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mo></mo><msub><mi>Q</mi><mi>m</mi></msub></mrow></msup><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mi>to</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msup><mn>2</mn><mrow><munderover><mo>∑</mo><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>M</mi><mo>-</mo><mi>D</mi></mrow></munderover><mo></mo><msub><mi>Q</mi><mi>m</mi></msub></mrow></msup></mrow><mo>,</mo></mrow></math></maths><br /> assuming that the D best detected symbols have indices of m=M−D+1, . . . , M.
0087In another embodiment, the receiver performs joint LLR computation for the remaining detected symbols without considering the D best detected symbols. For this embodiment, the receiver forms reduced vectors for <u style="single">{tilde over (b)}</u>, <u style="single">{tilde over (s)}</u>, <u style="single">L</u><sub>a,[k]</sub> and <u style="single">{tilde over (b)}</u><sub>[k]</sub> as well as a reduced matrix for H. The reduced vectors and matrix include only elements corresponding to the remaining detected symbols. The receiver then computes extrinsic LLRs for the code bits for the remaining detected symbols, e.g., based on the max-log-MAP detector shown in equation (7) or some other type of detector. The reduced vectors and matrix are used for the LLR computation. Hence, the number of hypotheses to evaluate and the computation for each hypothesis are both reduced.
0088In an embodiment, D is a fixed value that may be selected based on a tradeoff between complexity, performance, and/or other considerations. In another embodiment, D is a configurable value that may be selected based on the selected transmission mode, the channel conditions (e.g., the SNRs for the data streams) and/or other factors. D may be adaptive and may be selected per packet, per frame, per subband, or in some other manner.
0089The reduced dimensionality detection scheme may provide good performance with less complexity than the exhaustive detection scheme shown in equations (6) and (7). The reduced dimensionality detection scheme may be well suited for a data transmission in which some data streams observe high SNRs and/or low frequency selectivity and the remaining data streams observe lower SNRs and/or greater frequency selectivity. Frequency selectivity refers to variation in channel gains across frequency, which results in SNR variation across frequency. The reduced dimensionality detection scheme takes advantage of the high SNRs and/or low frequency selectivity for the D best data streams to reduce computational complexity. Near optimal detection is performed on the remaining data streams with lower SNRs and/or greater frequency selectivity to improve performance over a detection scheme that performs per-stream LLR computation for all M data streams.
0090<figref idref="DRAWINGS">FIG. 5</figref> shows a process <b>500</b> for performing detection and decoding based on the reduced dimensionality detection scheme. Receiver spatial processing is performed on received symbols for multiple data streams (e.g., based on the zero-forcing or MMSE technique) to obtain detected symbols (block <b>512</b>). Detection is performed independently for each of at least one data stream to obtain soft decisions for the stream (block <b>514</b>). Detection is performed jointly for the remaining data streams to obtain soft decisions for these streams (block <b>516</b>). The soft decisions (e.g., extrinsic LLRs) for each of the at least one data stream may be derived independently based on the detected symbols and a priori information (e.g., a priori LLRs) from the decoder, if any, for that stream. The soft decisions for the remaining data streams may be derived jointly based on the received symbols and the a priori information, if any. The soft decisions for the multiple data streams may be decoded to obtain a priori information for the detector (block <b>518</b>).
0091A determination is then made whether to perform another iteration of detection and decoding (block <b>520</b>). The answer for block <b>520</b> is ‘No’ after one iteration for a single-pass receiver and is also ‘No’ for an iterative receiver if a termination condition is encountered. If the answer is ‘Yes’ for block <b>520</b>, then the a priori information is used for detection in the next iteration (block <b>522</b>), and the process returns to block <b>514</b>. Otherwise, the soft decisions from the detector are further processed to obtain decoded data (block <b>524</b>). The soft decisions may also be decoded prior to block <b>520</b>, and the result of the decoding may be used in block <b>520</b> to determine whether or not to perform another iteration.
0092A packet may be encoded and demultiplexed into multiple subpackets that may be sent on the multiple data streams. A CRC may be used for each subpacket or each data stream. In this case, the CRC for each detected data stream may be checked after block <b>514</b>, and the subsequent processing may be terminated if the CRC fails for any of the data stream(s) detected in block <b>514</b>.
0093<figref idref="DRAWINGS">FIG. 6</figref> shows an apparatus <b>600</b> for performing detection and decoding based on the reduced dimensionality detection scheme. Apparatus <b>600</b> includes means for performing receiver spatial processing on received symbols for multiple data streams to obtain detected symbols (block <b>612</b>), means for performing detection independently for each of at least one data stream to obtain soft decisions for the stream (block <b>614</b>), means for performing detection jointly for the remaining data streams to obtain soft decisions for these streams (block <b>616</b>), means for decoding the soft decisions for the multiple data streams to obtain a priori information (block <b>618</b>), means for performing an additional iteration of detection and decoding, if applicable, using the a priori information (block <b>620</b>), and means for processing the soft decisions to obtain decoded data (block <b>622</b>).
0094The number of hypotheses to consider in the joint LLR computation may be reduced by performing a search for candidate hypotheses using list sphere detection (LSD), which is also referred to as sphere decoding, spherical decoding, and so on. List sphere detection may be used to reduce complexity for the log-MAP detector in equation (6), the max-log-MAP detector in equation (7), and other types of detector. List sphere detection seeks to reduce the search space of the detector by discarding less likely hypotheses based on a cost function. As an example, the log-MAP and max-log-MAP detectors may consider only hypotheses that satisfy the following condition: <br />∥<i>y−H·<u style="single">{tilde over (s)}</u>∥</i><sup>2</sup><i>≦r</i><sup>2</sup>, Eq (13) <br /> where ∥y−H·<u style="single">{tilde over (s)}</u>∥<sup>2 </sup>is the cost function and r<sup>2 </sup>is a sphere radius or threshold used to retain or discard hypotheses from consideration.
0095The cost function in equation (13) may be expanded, as follows: <maths id="MATH-US-00009" num="9"><math overflow="scroll"><mtable><mtr><mtd><mtable><mtr><mtd><mrow><mrow><mi>J</mi><mo></mo><mrow><mo>(</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover><mo>)</mo></mrow></mrow><mo>=</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow></mrow><mo></mo></mrow><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><msup><mrow><mo></mo><mrow><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><munder><mi>s</mi><mi>_</mi></munder></mrow><mo>+</mo><munder><mi>n</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow></mrow><mo></mo></mrow><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><msup><mrow><mo></mo><mrow><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow></mrow><mo>+</mo><munder><mi>n</mi><mi>_</mi></munder></mrow><mo></mo></mrow><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mrow><msup><mrow><mo>[</mo><mrow><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow></mrow><mo>+</mo><munder><mi>n</mi><mi>_</mi></munder></mrow><mo>]</mo></mrow><mi>H</mi></msup><mo>·</mo><mrow><mo>[</mo><mrow><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow></mrow><mo>+</mo><munder><mi>n</mi><mi>_</mi></munder></mrow><mo>]</mo></mrow></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mrow><mrow><msup><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow><mi>H</mi></msup><mo>·</mo><msup><munder><mi>H</mi><mi>_</mi></munder><mi>H</mi></msup><mo>·</mo><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mi>C</mi></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mrow><mrow><msup><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow><mi>H</mi></msup><mo>·</mo><msup><munder><mi>R</mi><mi>_</mi></munder><mi>H</mi></msup><mo>·</mo><munder><mi>R</mi><mi>_</mi></munder><mo>·</mo><mrow><mo>(</mo><mrow><munder><mi>s</mi><mi>_</mi></munder><mo>-</mo><munderover><mi>s</mi><mi>_</mi><mo>~</mo></munderover></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mi>C</mi></mrow></mrow></mtd></mtr></mtable></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> where <u style="single">R</u> is an upper-triangular matrix obtained from QR decomposition of H; and <ul id="ul0017" list-style="none"><li id="ul0017-0001" num="0000"><ul id="ul0018" list-style="none"><li id="ul0018-0001" num="0096"> C is a constant, which may be omitted since it is not a function of <u style="single">{tilde over (s)}</u>. </li></ul></li></ul>
0097QR decomposition may be performed on the effective MIMO channel response matrix H to obtain an orthonormal matrix <u style="single">Q</u> and an upper triangular matrix <u style="single">R</u>, or H=<u style="single">Q</u>·<u style="single">R</u> where <u style="single">Q</u><sup>H</sup>·<u style="single">Q</u>=I. The upper triangular matrix <u style="single">R</u>contains zeros below the main diagonal. The fourth equality in equation (14) may be obtained based on the following: H<sup>H</sup>·H=[<u style="single">Q</u>·<u style="single">R</u>]<sup>H</sup>·<u style="single">Q</u>·<u style="single">R</u>=<u style="single">R</u><sup>H</sup>·<u style="single">Q</u><sup>H</sup>·<u style="single">Q</u>·<u style="single">R</u>=<u style="single">R</u><sup>H</sup>·<u style="single">R</u>.
0098For the cost function in equation (14), the detected symbols may be used as the center point for the search. The cost function may then be expressed as: <br /><i>J</i>(<i><u style="single">{tilde over (s)}</u></i>)=∥<i><u style="single">R</u></i>·(<i><u style="single">ŝ</u>−<u style="single">{tilde over (s)}</u></i>)∥<sup>2</sup>, Eq (15) <br /> where <u style="single">ŝ</u> may be obtained from equation (11) based on any receiver spatial processing technique (e.g., zero-forcing or MMSE). The cost function in equation (15) may be computed for 2<sup>K </sup>hypothesized data vectors <u style="single">{tilde over (s)}</u> that might have been transmitted for vector <u style="single">s</u> to obtain 2<sup>K </sup>cost values for these 2<sup>K </sup>hypotheses. The hypothesized data vectors with cost values that are less than or equal to r<sup>2 </sup>may be considered for LLR computation, e.g., in equation (6) or (7).
0099The structure of the upper triangular matrix <u style="single">R</u> may be exploited to reduce the number of hypotheses for which to compute the cost function. Equation (15) may be expanded as follows: <maths id="MATH-US-00010" num="10"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi>J</mi><mo>=</mo><mrow><msup><mrow><mo></mo><mrow><mrow><mo>[</mo><mtable><mtr><mtd><msub><mi>r</mi><mrow><mn>1</mn><mo>,</mo><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>r</mi><mrow><mn>1</mn><mo>,</mo><mn>2</mn></mrow></msub></mtd><mtd><mi>⋯</mi></mtd><mtd><msub><mi>r</mi><mrow><mn>1</mn><mo>,</mo><mi>M</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>r</mi><mrow><mn>2</mn><mo>,</mo><mn>2</mn></mrow></msub></mtd><mtd><mi>⋯</mi></mtd><mtd><msub><mi>r</mi><mrow><mn>2</mn><mo>,</mo><mi>M</mi></mrow></msub></mtd></mtr><mtr><mtd><mi>⋮</mi></mtd><mtd><mi>⋮</mi></mtd><mtd><mi>⋰</mi></mtd><mtd><mi>⋮</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>⋯</mi></mtd><mtd><msub><mi>r</mi><mrow><mi>M</mi><mo>,</mo><mi>M</mi></mrow></msub></mtd></mtr></mtable><mo>]</mo></mrow><mo>·</mo><mrow><mo>[</mo><mtable><mtr><mtd><mrow><mo>(</mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mn>1</mn></msub><mo>-</mo><msub><mover><mi>s</mi><mo>~</mo></mover><mn>1</mn></msub></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mn>2</mn></msub><mo>-</mo><msub><mover><mi>s</mi><mo>~</mo></mover><mn>2</mn></msub></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mstyle><mtext> </mtext></mstyle></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mi>M</mi></msub><mo>-</mo><msub><mover><mi>s</mi><mo>~</mo></mover><mi>M</mi></msub></mrow><mo>)</mo></mrow></mtd></mtr></mtable><mo>]</mo></mrow></mrow><mo></mo></mrow><mn>2</mn></msup><mo>.</mo></mrow></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths>
0100For M=4, equation (16) may be expressed as: <br /><i>J=T</i><sub>1</sub><i>+T</i><sub>2</sub><i>+T</i><sub>3</sub><i>+T</i><sub>4</sub>, Eq (17) <br /> where T<sub>1</sub>=|r<sub>1,1</sub>·(ŝ<sub>1</sub>−{tilde over (s)}<sub>1</sub>)+r<sub>1,2</sub>·(ŝ<sub>2</sub>−{tilde over (s)}<sub>2</sub>)+r<sub>1,3</sub>·(ŝ<sub>3</sub>−{tilde over (s)}<sub>3</sub>)+r<sub>1,4</sub>·(ŝ<sub>4</sub>−{tilde over (s)}<sub>4</sub>)≡<sup>2</sup>, <ul id="ul0019" list-style="none"><li id="ul0019-0001" num="0000"><ul id="ul0020" list-style="none"><li id="ul0020-0001" num="0101"> T<sub>2</sub>=|r<sub>2,2</sub>·(ŝ<sub>2</sub>−{tilde over (s)}<sub>2</sub>)+r<sub>2,3</sub>·(ŝ<sub>3</sub>−{tilde over (s)}<sub>3</sub>)+r<sub>2,4</sub>·(ŝ<sub>4</sub>−{tilde over (s)}<sub>4</sub>)|<sup>2</sup>, </li><li id="ul0020-0002" num="0102"> T<sub>3</sub>=|r<sub>3,3</sub>·(ŝ<sub>3</sub>−{tilde over (s)}<sub>3</sub>)+r<sub>3,4</sub>·(ŝ<sub>4</sub>−{tilde over (s)}<sub>4</sub>)|<sup>2</sup>, and </li><li id="ul0020-0003" num="0103"> T<sub>4</sub>=|r<sub>4,4</sub>·(ŝ<sub>4</sub>−{tilde over (s)}<sub>4</sub>) |<sup>2</sup>. </li></ul></li></ul>
0104Equation (17) may be generalized for any value of M, as follows: <maths id="MATH-US-00011" num="11"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><mi>J</mi><mo>=</mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mi>M</mi></mrow><mn>1</mn></munderover><mo></mo><msub><mi>T</mi><mi>i</mi></msub></mrow></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>18</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mrow><mi>where</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>T</mi><mn>1</mn></msub></mrow><mo>=</mo><mrow><msup><mrow><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mi>i</mi></mrow><mi>M</mi></munderover><mo></mo><mrow><msub><mi>r</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>·</mo><mrow><mo>(</mo><mrow><msub><mover><mi>s</mi><mo>^</mo></mover><mi>j</mi></msub><mo>-</mo><msub><mover><mi>s</mi><mo>~</mo></mover><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow></mrow><mo></mo></mrow><mn>2</mn></msup><mo>.</mo></mrow></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths>
0105As shown in equations (18) and (19), the cost function may be decomposed into a sum of M terms T<sub>1 </sub>through T<sub>M</sub>. Term T<sub>M </sub>is only dependent on detected symbol ŝ<sub>m </sub>for stream M, term T<sub>M−1 </sub>is dependent on detected symbols ŝ<sub>M−1</sub>, and ŝ<sub>M </sub>for streams M−1 and M, and so on, and term T<sub>1 </sub>is dependent on detected symbols ŝ<sub>1 </sub>through ŝ<sub>M </sub>for all M streams.
0106The cost function may be computed incrementally in M levels, one term T<sub>i </sub>for each level, starting with the last term T<sub>M </sub>for the first level. This is indicated by the reverse summation for J in equation (18), which starts with i=M . For each level, T<sub>i </sub>is computed for all hypotheses applicable for that level, and the cost function is updated.
0107The cost function may be computed by considering one additional symbol at a time, starting with ŝ<sub>M </sub>and ending with ŝ<sub>1</sub>. To improve search performance, the streams may be sorted such that ŝ<sub>M </sub>corresponds to the best stream (e.g., with the highest SNR) and ŝ<sub>1 </sub>corresponds to the worst stream (e.g., with the lowest SNR). The received vector <u style="single">y</u> and the channel response matrix H may be reordered to achieve the desired ordering for the detected vector <u style="single">ŝ</u>.
0108The LSD search may be performed in various manners. In a first embodiment, all hypotheses with cost values equal to or less than r<sup>2 </sup>are retained, and all other hypotheses are discarded. In a second embodiment, only B best hypotheses are retained at each level, and all other hypotheses are discarded. For both embodiments, the total number of hypotheses to consider is reduced by discarding hypotheses with high cost values.
0109The LSD search may be performed as follows. For the first level, a list P<sub>M </sub>is formed with 2<sup>Q</sup><sup><sub2>M </sub2></sup>hypothesized data symbols {tilde over (s)}<sub>M </sub>that might have been transmitted for data symbol s<sub>M</sub>·T<sub>M </sub>is computed for the 2<sup>Q</sup><sup><sub2>M </sub2></sup>hypothesized data symbols {tilde over (s)}<sub>M </sub>in list P<sub>M </sub>as shown in equation (19) to obtain 2<sup>Q</sup><sup><sub2>M </sub2></sup>cost values. For the first embodiment, all hypothesized data symbols with cost values less than or equal to r<sup>2 </sup>are retained and stored in a candidate list C<sub>M</sub>. For the second embodiment, up to B hypothesized data symbols with the lowest cost values that are smaller than or equal to r<sup>2 </sup>are retained and stored in candidate list C<sub>M</sub>. For the second embodiment, hypothesized data symbols with cost values smaller than or equal to r<sup>2 </sup>may be discarded if these cost values are not among the B lowest cost values. For both embodiments, all other hypothesized data symbols are discarded, which has the effect of pruning all hypothesized data vectors <u style="single">{tilde over (s)}</u> containing the discarded symbols.
0110For the second level, a list P<sub>M−1 </sub>is formed with 2<sup>Q</sup><sup><sub2>M−1 </sub2></sup>hypothesized data symbols {tilde over (s)}<sub>M−1 </sub>that might have been transmitted for data symbol s<sub>M−1</sub>. T<sub>M−1 </sub>is computed for all valid hypothesized symbol pairs ({tilde over (s)}<sub>M−1</sub>, {tilde over (s)}<sup>M</sup>) and summed with T<sub>M </sub>to obtain cost values for these hypothesized symbol pairs. The valid hypothesized symbol pairs include all possible combinations of each symbol in candidate list C<sub>M </sub>with each symbol in list P<sub>M−1</sub>. The updated cost values may be computed as: J<sub>M−1</sub>=T<sub>M−1</sub>+T<sub>M</sub>. For the first embodiment, all hypothesized symbol pairs with cost values smaller than or equal to r<sup>2 </sup>are retained and stored in a candidate list C<sub>M−1</sub>. For the second embodiment, up to B hypothesized symbol pairs with the lowest cost values that are smaller than or equal to r<sup>2 </sup>are retained and stored in candidate list C<sub>M−1</sub>. For both embodiments, all other hypothesized symbol pairs are discarded.
0111Each of the remaining levels may be evaluated in similar manner. A list P<sub>i </sub>is formed with 2<sup>Q</sup><sup><sub2>i </sub2></sup>hypothesized data symbols {tilde over (s)}<sub>i </sub>that might have been transmitted for data symbol s<sub>i</sub>. T<sub>i </sub>is computed for all valid hypothesized symbol sets ({tilde over (s)}<sub>i</sub>, . . . , {tilde over (s)}<sub>M</sub>) and summed with T<sub>i+1 </sub>through T<sub>M </sub>to obtain cost values for these hypothesized symbol sets. The valid hypothesized symbol sets include all possible combinations of each hypothesis in candidate list C<sub>i+1 </sub>with each symbol in list P<sub>i</sub>. The updated cost values may be computed as: J<sub>i</sub>=T<sub>i</sub>+. . . +T<sub>M</sub>. For the first embodiment, all hypothesized symbol sets with cost values smaller than or equal to r<sup>2 </sup>are retained and stored in a candidate list C<sub>i</sub>. For the second embodiment, up to B hypothesized symbol sets with the lowest cost values that are smaller than or equal to r<sup>2 </sup>are retained and stored in candidate list C<sub>i</sub>. For both embodiments, all other hypothesized symbol sets are discarded.
0112After all M levels have been evaluated, extrinsic LLRs may be computed for all hypotheses stored in candidate list C<sub>1</sub>, e.g., based on the max-log-MAP detector, as follows: <maths id="MATH-US-00012" num="12"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><msub><mi>L</mi><mi>e</mi></msub><mo></mo><mrow><mo>(</mo><msub><mi>b</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mo>≈</mo><mrow><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><munder><mi>max</mi><mrow><mover><munder><mi>b</mi><mi>_</mi></munder><mo>~</mo></mover><mo>:</mo><msubsup><mi>C</mi><mi>k</mi><mo>+</mo></msubsup></mrow></munder><mo></mo><mrow><mo>{</mo><mrow><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><munder><mover><mi>s</mi><mo>~</mo></mover><mi>_</mi></munder></mrow></mrow><mo></mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mrow><msubsup><munder><mover><mi>b</mi><mo>~</mo></mover><mi>_</mi></munder><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>}</mo></mrow></mrow></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><munder><mi>max</mi><mrow><mover><mrow><munder><mi>b</mi><mi>_</mi></munder><mo>:</mo></mrow><mo>~</mo></mover><mo></mo><msubsup><mi>C</mi><mi>k</mi><mo>-</mo></msubsup></mrow></munder><mo></mo><mrow><mrow><mo>{</mo><mrow><mrow><mrow><mo>-</mo><mfrac><mn>1</mn><msubsup><mi>σ</mi><mi>n</mi><mn>2</mn></msubsup></mfrac></mrow><mo>·</mo><msup><mrow><mo></mo><mrow><munder><mi>y</mi><mi>_</mi></munder><mo>-</mo><mrow><munder><mi>H</mi><mi>_</mi></munder><mo>·</mo><munder><mover><mi>s</mi><mo>~</mo></mover><mi>_</mi></munder></mrow></mrow><mo></mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mrow><msubsup><munder><mover><mi>b</mi><mo>~</mo></mover><mi>_</mi></munder><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow><mi>T</mi></msubsup><mo>·</mo><msub><munder><mi>L</mi><mi>_</mi></munder><mrow><mi>a</mi><mo>,</mo><mrow><mo>[</mo><mi>k</mi><mo>]</mo></mrow></mrow></msub></mrow></mrow><mo>}</mo></mrow><mo>.</mo></mrow></mrow></mrow></mrow></mrow></mtd><mtd><mrow><mi>Eq</mi><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><mrow><mo>(</mo><mn>20</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></math></maths><br /> where C<sub>k</sub><sup>+</sup> is a subset of candidate list C<sub>1 </sub>and contains hypotheses for which b<sub>k</sub>=+1; and <ul id="ul0021" list-style="none"><li id="ul0021-0001" num="0000"><ul id="ul0022" list-style="none"><li id="ul0022-0001" num="0113"> C<sub>k</sub><sup>−</sup> is a subset of candidate list C<sub>1 </sub>and contains hypotheses for which b<sub>k</sub>=−1. </li></ul></li></ul>
0114The extrinsic LLRs may also be computed based on the log-MAP detector or some other type of detector. The cost values already computed for the candidate hypotheses may be used to compute the extrinsic LLRs for these hypotheses. For clarity, the description above uses different candidate lists for different levels. A single candidate list C may be used for all M levels and may be updated at each level.
0115<figref idref="DRAWINGS">FIG. 7</figref> shows an exemplary search tree for the second embodiment, which retains the B best hypotheses at each level. For this example, M=4, four terms T<sub>1</sub>, through T<sub>4 </sub>are computed, B=2, and the candidate list C contains up to two best hypotheses at each level. For the first level with i=4, T<sub>4 </sub>is computed for 2<sup>Q</sup><sup><sub2>4 </sub2></sup>hypotheses for 2<sup>Q</sup><sup><sub2>4 </sub2></sup>possible data symbols that might have been transmitted for data symbol s<sub>4</sub>, which are denoted as {tilde over (s)}<sub>4</sub>(1) through {tilde over (s)}<sub>4</sub>(2<sup>Q</sup><sup><sub2>4</sub2></sup>) in <figref idref="DRAWINGS">FIG. 7</figref>. The two best hypotheses are shown with black filled nodes. For the second level with i=3, T<sub>3 </sub>is computed for B·2<sup>Q</sup><sup><sub2>3 </sub2></sup>hypotheses for B·2<sup>Q</sup><sup><sub2>3 </sub2></sup>possible symbol pairs that might have been transmitted for data symbols s<sub>3 </sub>and s<sub>4</sub>. The two best hypotheses are shown with black filled nodes. For the third level with i=2, T<sub>2 </sub>is computed for B·2<sup>Q</sup><sup><sub2>2 </sub2></sup>hypotheses for B·2<sup>Q</sup><sup><sub2>2 </sub2></sup>possible symbol sets that might have been transmitted for data symbols s<sub>2</sub>, s<sub>3 </sub>and s<sub>4</sub>. The two best hypotheses are shown with black filled nodes. For the last level with i=1, T<sub>1 </sub>is computed for B·2<sup>Q</sup><sup><sub2>1</sub2></sup>hypotheses for B·2<sup>Q</sup><sup><sub2>1 </sub2></sup>possible symbol sets that might have been transmitted for data symbols s<sub>1</sub>, s<sub>2</sub>, s<sub>3 </sub>and s<sub>4</sub>. The two best hypotheses are shown with black filled nodes. The set of symbols that yields the lowest cost value is shown by the heavy line.
0116In an embodiment, the number of candidate hypotheses to store in list C is a fixed value that may be selected based on a tradeoff between detection performance, complexity, and/or other considerations. This fixed value (B) may be for each level, as described above. This fixed value may also be for each node of a given level, in which case B<sup>M−i</sup>·2<sup>Q</sup><sup><sub2>i </sub2></sup>hypotheses are considered per level. In another embodiment, the number of candidate hypotheses is configurable and may be selected based on signal constellation size, iteration number, detection performance, complexity, and/or other considerations. For example, B may be a function of signal constellation size so that more candidate hypotheses are stored for larger signal constellations to ensure sufficient accuracy in the LLR computation. B may also be constrained to be equal to or larger than some minimum value (e.g., B<sub>min</sub>=2), which ensures that at least B<sub>min </sub>candidate hypotheses are stored at each level.
0117Two embodiments for computing cost for list sphere detection have been described above. The cost computation may also be performed in other manners.
0118List sphere detection is one search technique for reducing the number of hypotheses to consider for LLR computation. Other techniques may also be used to reduce the number of hypotheses for LLR computation. In another embodiment, a Markov chain Monte Carlo (MCMC) technique is used to generate a list of candidate hypotheses. The MCMC technique considers the M elements in data vector <u style="single">s</u> in a sequential manner, evaluates one hypothesis for each element, and cycles through these M elements for multiple iterations. The list sphere detection and MCMC techniques are known in the art and described in various papers.
0119In another aspect, the receiver performs LLR computation independently for each of D best detected symbols, performs LLR computation jointly for the M−D remaining detected symbols, and reduces the number of hypotheses to consider for the joint LLR computation by performing a search using LSD, MCMC, or some other search technique. This detection scheme is referred to as a reduced order detection scheme and may be used for the single-pass receiver shown in <figref idref="DRAWINGS">FIG. 3</figref> and the iterative receiver shown in <figref idref="DRAWINGS">FIG. 4</figref>. For the reduced order detection scheme, dimensionality is reduced from M to M−D by performing per-stream LLR computation for the D best streams, and the number of hypotheses to consider for the M−D remaining streams may be reduced from an upper bound of <maths id="MATH-US-00013" num="13"><math overflow="scroll"><mrow><msup><mn>2</mn><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>M</mi><mo>-</mo><mi>D</mi></mrow></munderover><mo></mo><mstyle><mtext> </mtext></mstyle><mo></mo><msub><mi>Q</mi><mi>i</mi></msub></mrow></msup><mo></mo><mstyle><mtext> </mtext></mstyle></mrow></math></maths><br /> by performing a search. D may be adaptively selected based on channel conditions (e.g., SNRs) and/or some other factors. The SNR information may be readily obtained from the receiver spatial processing that provides the detected symbols used for the center point of an LSD search.
0120<figref idref="DRAWINGS">FIG. 8</figref> shows a process <b>800</b> for performing detection and decoding based on the reduced order detection scheme. Receiver spatial processing is performed on a set of received symbols (e.g., vector y) to obtain a set of detected symbols (e.g., vector <u style="single">ŝ</u>) for a set of data symbols (e.g., vector <u style="single">s</u>) transmitted via a MIMO channel (block <b>812</b>). Extrinsic LLRs are computed independently for each of at least one data symbol based on a corresponding detected symbol and a priori LLRs, if any, from the decoder (block <b>814</b>). A list of candidate hypotheses is determined for the remaining data symbols, e.g., by performing a search using LSD, MCMC, or some other technique (block <b>816</b>). Each candidate hypothesis corresponds to a different combination of symbols hypothesized to have been transmitted for the remaining data symbols. Extrinsic LLRs are then computed jointly for the remaining data symbols with the list of candidate hypotheses (block <b>818</b>). The extrinsic LLRs for all data symbols are decoded to obtain a priori LLRs for the detector (block <b>820</b>).
0121A determination is then made whether to perform another iteration of detection and decoding (block <b>822</b>). If the answer is ‘Yes’, then a priori LLRs are computed to be used for LLR computation in the detector in the next iteration (block <b>824</b>), and the process returns to block <b>814</b>. Otherwise, the extrinsic LLRs from the detector are processed to obtain decoded data (block <b>826</b>).
0122<figref idref="DRAWINGS">FIG. 9</figref> shows an apparatus <b>900</b> for performing detection and decoding based on the reduced order detection scheme. Apparatus <b>900</b> includes means for performing receiver spatial processing on a set of received symbols to obtain a set of detected symbols for a set of data symbols transmitted via a MIMO channel (block <b>912</b>), means for computing extrinsic LLRs independently for each of at least one data symbol based on a corresponding detected symbol and a priori LLRs, if any, from the decoder (block <b>914</b>), means for determining a list of candidate hypotheses for the remaining data symbols by performing a search (block <b>916</b>), means for computing extrinsic LLRs jointly for the remaining data symbols with the list of candidate hypotheses (block <b>918</b>), means for decoding the extrinsic LLRs for all data symbols to obtain a priori LLRs (block <b>920</b>), means for performing an additional iteration of LLR computation and decoding, if applicable, using the a priori LLRs (block <b>922</b>), and means for processing the extrinsic LLRs from the detector to obtain decoded data (block <b>924</b>).
0123For the iterative receiver, the search for candidate hypotheses may be performed in various manners. In an embodiment, the search is performed for only the first iteration to obtain a list of candidate hypotheses, and this candidate list is used for all subsequent iterations. For this embodiment, the extrinsic LLRs for each subsequent iteration are computed with the a priori LLRs from the decoder and for the candidate hypotheses determined in the first iteration. In another embodiment, the search is performed for each iteration. In yet another embodiment, the search is performed for each iteration until a termination condition is encountered. This termination condition may be triggered, e.g., after a predetermined number of iterations has been completed, if the search provides the same list of candidate hypotheses for two consecutive iterations, and so on. For the embodiments in which the search is performed for multiple iterations, the threshold (e.g., the sphere radius) may be a fixed value for all iterations or may be a configurable value that may be set for each iteration based on, e.g., the a priori information from the decoder.
0124For the reduced order detection scheme, the reduction in complexity relative to the optimal log-MAP or max-log-MAP detector is dependent on the complexity of the search. For an LSD search, the complexity is determined by the number of nodes visited in the search tree, which in turn is dependent on various factors such as the number of hypotheses to store at each level (e.g., the value for B), the sphere radius r<sup>2</sup>, the specific channel response matrix H, the SNR, and so on.
0125In another reduced complexity detection scheme, the receiver performs (1) per-stream LLR computation for all M streams for the first iteration and (2) joint LLR computation for the M−D worst streams or all M streams for a subsequent iteration, if needed, e.g., if the packet is decoded in error.
0126For the iterative receiver, the channel estimates may be updated during the iterative detection and decoding process to obtain improved channel estimates. For example, if pilot symbols are received and monitored multiple times during the iterative process, then the effective SNR of the channel estimates may be improved over time by performing averaging and/or other processing. The improved channel estimates may be used for receiver spatial processing, e.g., as shown in equations (8) through (10), for LLR computation, e.g., as shown in equations (6), (7) and (12), for cost computation for a search of candidate hypotheses, e.g., as shown in equations (18) and (19).
0127Various reduced complexity detection schemes have been described above. These schemes reduce the number of hypotheses to consider for the LLR computation while achieving good error rate performance that is close to the performance of the optimal detector.
0128Decoder <b>320</b> in <figref idref="DRAWINGS">FIG. 3</figref> and decoder <b>420</b> in <figref idref="DRAWINGS">FIG. 4</figref> may be implemented in various manners depending on the coding scheme(s) used at transmitter <b>110</b>. Decoder <b>420</b> receives soft decision inputs and generates soft decision outputs for MIMO detector <b>410</b> and may be a soft-output Viterbi algorithm (SOVA) decoder if a convolutional code is used at transmitter <b>110</b>, a Turbo decoder if a parallel or serial concatenated Turbo code is used, and so on. Decoder <b>320</b> may be a Viterbi decoder or a SOVA decoder for a convolutional code, a Turbo decoder for a Turbo code, and so on. A Turbo decoder may be a MAP decoder that may implement a BCJR soft-input soft-output MAP algorithm or a lower complexity derivative. These various types of decoder are known in the art and described in various literatures. For example, the SOVA decoder is described by J. Hagenauer et al. in a paper entitled “A Viterbi Algorithm with Soft-Decision Outputs and its Applications,” IEEE Globecom, 1989, pp. 47.1.1-47.1.7. The MAP decoder is described by L. R. Bahl et al. in a paper entitled “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate,” IEEE Transaction on Information Theory, March 1974, vol. 20, pp. 284-287.
0129The detection and decoding techniques described herein may be used for various MIMO transmission schemes, which may also be referred to as transmission modes, spatial modes, and so on. Table 1 lists some exemplary transmission modes and their short descriptions. The steered mode may also be called a beamforming mode, an eigensteering mode, a MIMO mode with beamforming, and so on. The unsteered mode may also be called a basic MIMO mode. The spatial spreading mode may also be called a pseudo-random transmit steering mode, a spatial expansion mode, and so on, <tables id="TABLE-US-00001" num="1"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="49PT" align="left" /><colspec colname="2" colwidth="168PT" align="left" /><thead><row><entry namest="1" nameend="2" align="center">TABLE 1</entry></row><row><entry /></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row><row><entry>Transmission</entry><entry /></row><row><entry>Mode</entry><entry>Description</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry>Steered</entry><entry>Multiple data streams are transmitted on multiple</entry></row><row><entry /><entry>orthogonal spatial channels (or eigenmodes) of a MIMO</entry></row><row><entry /><entry>channel.</entry></row><row><entry>Unsteered</entry><entry>Multiple data streams are transmitted on multiple spatial</entry></row><row><entry /><entry>channels (e.g., from multiple transmit antennas).</entry></row><row><entry>Spatial</entry><entry>Multiple data streams are spatially spread across the</entry></row><row><entry>spreading</entry><entry>spatial channels to achieve similar performance for all</entry></row><row><entry /><entry>data streams.</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
0130Each transmission mode has different capabilities and requirements. The steered mode typically provides better performance but requires spatial processing at transmitter <b>110</b> and receiver <b>150</b>. The unsteered mode requires no spatial processing at transmitter <b>110</b>. For example, transmitter <b>110</b> may transmit one data stream from each transmit antenna. The spatial spreading mode transmits M data streams with different spatial mapping matrices so that these data streams observe an ensemble of effective channels and achieve similar performance. A suitable transmission mode may be selected based on the availability of channel state information, the capabilities of the transmitter and receiver, and so on.
0131For the steered mode, data is transmitted on up to M eigenmodes of the MIMO channel, which may be obtained by diagonalizing the MIMO channel response matrix H via singular value decomposition of H or eigenvalue decomposition of a correlation matrix of H, which is A=H<sup>H</sup>·H. The eigenvalue decomposition of A may be expressed as: <br /><i>A=H</i><sup>H</sup><i>·H=E·Λ·E</i><sup>H</sup>, Eq (21) <br /> where E is a T×T unitary matrix of eigenvectors of A; and <ul id="ul0023" list-style="none"><li id="ul0023-0001" num="0000"><ul id="ul0024" list-style="none"><li id="ul0024-0001" num="0132"> Λ is a T×T diagonal matrix of eigenvalues of A. <br /> Transmitter <b>110</b> may perform spatial processing with the eigenvectors in E to transmit data on the M eigenmodes of H. The diagonal matrix Λ contains possible non-negative real values along the diagonal and zeros elsewhere. These diagonal entries are referred to as eigenvalues of A and represent the power gains for the M eigenmodes. </li></ul></li></ul>
0133Table 2 shows the transmitter spatial processing for the three transmission modes and the effective MIMO channel response matrix for each transmission mode. In Table 2, the subscript “es” denotes the steered mode (or eigensteering), “us” denotes the unsteered mode, and “ss” denotes the spatial spreading mode. <tables id="TABLE-US-00002" num="2"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="OFFSET" colwidth="56PT" align="left" /><colspec colname="1" colwidth="49PT" align="left" /><colspec colname="2" colwidth="56PT" align="left" /><colspec colname="3" colwidth="56PT" align="left" /><thead><row><entry /><entry namest="OFFSET" nameend="3" align="center">TABLE 2</entry></row><row><entry /><entry /></row><row><entry /><entry namest="OFFSET" nameend="3" align="center" rowsep="1" /></row><row><entry /><entry>Steered mode</entry><entry>Unsteered mode</entry><entry>Spatial spreading</entry></row><row><entry /><entry namest="OFFSET" nameend="3" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="4"><colspec colname="1" colwidth="56PT" align="left" /><colspec colname="2" colwidth="49PT" align="left" /><colspec colname="3" colwidth="56PT" align="left" /><colspec colname="4" colwidth="56PT" align="left" /><tbody valign="top"><row><entry>Transmitter</entry><entry>x<sub>es </sub>= E · s</entry><entry>x<sub>us </sub>= s</entry><entry>x<sub>ss </sub>= V · s</entry></row><row><entry>Effective Channel</entry><entry>H<sub>es </sub>= H<sub>ch </sub>· E</entry><entry>H<sub>us </sub>= H<sub>ch</sub></entry><entry>H<sub>ss </sub>= H<sub>ch </sub>· V</entry></row><row><entry namest="1" nameend="4" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
0134For a MIMO system with multiple subbands, the transmitter spatial processing shown in Table 2 may be performed for each subband l. In equation (1), <u style="single">P</u>(l)=E(l) for the steered mode, <u style="single">P</u>(l)=I for the unsteered mode, and <u style="single">P</u>(l)=V(l) for the spatial spreading mode. V(l) is a T×T spatial mapping matrix used for spatial spreading and may be generated based on a Hadamard matrix, a Fourier matrix, and so on.
0135For a MIMO system with multiple subbands, the M eigenvalues for each subband l may be ordered from largest to smallest, so that the eigenmodes of H(l) are ranked from highest SNR to lowest SNR. Wideband eigenmode m may be formed with the m-th eigenmode for each of the L subbands. The principal wideband eigenmode (with m=1) is associated with the largest eigenvalues for all L subbands, the second wideband eigenmode (with m=2) is associated with the second largest eigenvalues for all L subbands, and so on. M data streams may be sent on the M wideband eigenmodes.
0136The principal wideband eigenmode has the highest average SNR and typically also has less SNR variability across time and frequency. Conversely, the weakest wideband eigenmode has the lowest average SNR and typically has more SNR variability. The techniques described herein may be used for data transmission on the M wideband eigenmodes. In an embodiment, the receiver may perform per-stream LLR computation for one or more of the strongest wideband eigenmodes and joint LLR computation for the remaining wideband eigenmodes. The number of hypotheses to consider for the joint LLR computation may be reduced by performing a search using LSD, MCMC, or some other search technique.
0137The detection and decoding techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units used to perform detection and decoding may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
0138For a firmware and/or software implementation, the techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory (e.g., memory <b>192</b> in <figref idref="DRAWINGS">FIG. 1</figref>) and executed by a processor (e.g., processor <b>190</b>). The memory may be implemented within the processor or external to the processor.
0139The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Contents4
23 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11271673B2 | Cited by | United States of America | Applicant |
| US2007286312A1 | Cited by | United States of America | Pre-grant |
| US2009092208A1 | Cited by | United States of America | Pre-grant |
| US2009116590A1 | Cited by | United States of America | Pre-grant |
| US7852951B2 | Cited by | United States of America | Search report |
| US2019165901A1 | Cited by | United States of America | Search report |
| US2009010349A1 | Cited by | United States of America | Pre-grant |
| US8243842B2 | Cited by | United States of America | Search report |
| WO2010008949A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9961108B2 | Cited by | United States of America | Applicant |
| US2008130726A1 | Cited by | United States of America | Pre-grant |
| KR101508700B1 | Cited by | Republic of Korea | Search report |
| WO2010008949A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9197267B2 | Cited by | United States of America | Applicant |
| US2008155373A1 | Cited by | United States of America | Pre-grant |
| US2016072657A1 | Cited by | United States of America | Pre-grant |
| US8412260B2 | Cited by | United States of America | Search report |
| US2014219398A1 | Cited by | United States of America | Pre-grant |
| CN107493124A | Cited by | China | Search report |
| US7643512B2 | Cited by | United States of America | Applicant |
| US2008008257A1 | Cited by | United States of America | Pre-grant |
| WO2014168919A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8576959B2 | Cited by | United States of America | Search report |
| US8059764B2 | Cited by | United States of America | Search report |
| US2013117556A1 | Cited by | United States of America | Pre-grant |
| US9143210B1 | Cited by | United States of America | Applicant |
| US9048987B2 | Cited by | United States of America | Search report |
| US9258079B2 | Cited by | United States of America | Applicant |
| US2007133709A1 | Cited by | United States of America | Pre-grant |
| US11240083B2 | Cited by | United States of America | Applicant |
| US2008259901A1 | Cited by | United States of America | Pre-grant |
| US2007180345A1 | Cited by | United States of America | Pre-grant |
| US9071316B2 | Cited by | United States of America | Search report |
| KR101041945B1 | Cited by | Republic of Korea | Examiner |
| US8559543B1 | Cited by | United States of America | Search report |
| US2008120531A1 | Cited by | United States of America | Pre-grant |
| US2016065275A1 | Cited by | United States of America | Pre-grant |
| US10715276B2 | Cited by | United States of America | Applicant |
| US2010086067A1 | Cited by | United States of America | Pre-grant |
| US10735150B2 | Cited by | United States of America | Search report |
| US2008273632A1 | Cited by | United States of America | Pre-grant |
| US2007286313A1 | Cited by | United States of America | Pre-grant |
| US8130877B2 | Cited by | United States of America | Applicant |
| US2007076805A1 | Cited by | United States of America | Pre-grant |
| GB2502344B | Cited by | United Kingdom | Search report |
| US2016065275A1 | Cited by | United States of America | Pre-grant |
| US2009049361A1 | Cited by | United States of America | Pre-grant |
| US2009279442A1 | Cited by | United States of America | Pre-grant |
| US10439651B2 | Cited by | United States of America | Applicant |
| US2014099103A1 | Cited by | United States of America | Pre-grant |
| US2012114054A1 | Cited by | United States of America | Pre-grant |
| US12261629B2 | Cited by | United States of America | Applicant |
| US9455861B2 | Cited by | United States of America | Applicant |
| US2010232352A1 | Cited by | United States of America | Pre-grant |
| US12095605B2 | Cited by | United States of America | Applicant |
| US9838154B2 | Cited by | United States of America | Applicant |
| US10135503B2 | Cited by | United States of America | Search report |
| US10020852B2 | Cited by | United States of America | Applicant |
| WO2014089096A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| GB2502344A | Cited by | United Kingdom | Search report |
| US9036992B2 | Cited by | United States of America | Search report |
| US10411836B2 | Cited by | United States of America | Search report |
| US10063288B2 | Cited by | United States of America | Search report |
| US8306089B2 | Cited by | United States of America | Search report |
| US2009185643A1 | Cited by | United States of America | Pre-grant |
| US9391643B2 | Cited by | United States of America | Applicant |
| US8718192B2 | Cited by | United States of America | Search report |
| US7580469B2 | Cited by | United States of America | Search report |
| US7613260B2 | Cited by | United States of America | Applicant |
| US10237025B2 | Cited by | United States of America | Search report |
| US8024635B2 | Cited by | United States of America | Search report |
| US2010018780A1 | Cited by | United States of America | Pre-grant |
| US8045604B2 | Cited by | United States of America | Search report |
| US9461863B2 | Cited by | United States of America | Applicant |
| US11695610B2 | Cited by | United States of America | Applicant |
| WO2015047678A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2007230641A1 | Cited by | United States of America | Pre-grant |
| US7720181B2 | Cited by | United States of America | Search report |
| US9473300B2 | Cited by | United States of America | Search report |
| US7864896B2 | Cited by | United States of America | Search report |
| US8000416B2 | Cited by | United States of America | Applicant |
| US2009297144A1 | Cited by | United States of America | Pre-grant |
| US8391390B2 | Cited by | United States of America | Search report |
| US2017257181A1 | Cited by | United States of America | Pre-grant |
| US2008181324A1 | Cited by | United States of America | Pre-grant |
| US10135567B2 | Cited by | United States of America | Search report |
| US11990922B2 | Cited by | United States of America | Applicant |
| US8711984B2 | Cited by | United States of America | Search report |
| US8001452B2 | Cited by | United States of America | Search report |
| US9698941B2 | Cited by | United States of America | Search report |
| US2008311859A1 | Cited by | United States of America | Pre-grant |
| US2017207831A1 | Cited by | United States of America | Pre-grant |
| US2009304123A1 | Cited by | United States of America | Pre-grant |
| US7986752B2 | Cited by | United States of America | Search report |
| US8223877B2 | Cited by | United States of America | Search report |
| WO2010139008A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2009262872A1 | Cited by | United States of America | Pre-grant |
| US2008260075A1 | Cited by | United States of America | Pre-grant |
| US9191256B2 | Cited by | United States of America | Applicant |
| US2007237272A1 | Cited by | United States of America | Pre-grant |
24 members in 9 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 73815905 | United States of America | P | |
| 73815905 | United States of America | P | |
| 34597606 | United States of America | A | |
| 60738159 | – | – | – |
| US20050738159P | – | – | – |
| US20060345976 | – | – | – |
Members24
| Document | Office | Kind | |
|---|---|---|---|
| US2007116143A1 | United States of America | A1 | |
| CA2628742A1 | Canada | A1 | |
| WO2007062021A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007062021A3 | World Intellectual Property Organization (WIPO) | A3 | |
| KR20080069258A | Republic of Korea | A | |
| EP1949561A2 | European Patent Office (EPO) | A2 | |
| CN101322328A | China | A | |
| JP2009516960A | Japan | A | |
| RU2008124818A | Russian Federation | A | |
| EP2262128A2 | European Patent Office (EPO) | A2 | |
| EP2262129A2 | European Patent Office (EPO) | A2 | |
| EP2262130A2 | European Patent Office (EPO) | A2 | |
| EP2262129A3 | European Patent Office (EPO) | A3 | |
| EP2262130A3 | European Patent Office (EPO) | A3 | |
| EP2262128A3 | European Patent Office (EPO) | A3 | |
| RU2414062C2 | Russian Federation | C2 | |
| BRPI0618716A2 | Brazil | A2 | |
| KR101125497B1 | Republic of Korea | B1 | |
| JP5123199B2 | Japan | B2 | |
| CA2628742C | Canada | C | |
| JP2013031192A | Japan | A | |
| US8467466B2 | United States of America | B2 | |
| JP5612041B2 | Japan | B2 | |
| CN101322328B | China | B |
111 transactions on the USPTO file
Allowed after 3 non-final rejections, 3 final rejections, 1 RCE and 2 appeals.
- Non-final rejections
- 3
- Final rejections
- 3
- RCEs
- 1
- Appeals
- 2
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Interview Summary - Examiner InitiatedEXIE | EXIE | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Appeal Brief FiledAP.B | AP.B | |
| Notice of Appeal FiledN/AP | N/AP | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Appeal Brief FiledAP.B | AP.B | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Amendment/Argument after Notice of AppealAP/A | AP/A | |
| Notice of Appeal FiledN/AP | N/AP | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Withdraw Flagged for 5/25W525 | W525 | |
| Flagged for 5/25F525 | F525 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP |
1 recorded assignment at the USPTO, latest first
- Now
Now: Held by
QUALCOMM INC - 2006-05-04
Assignment of assignors interest.
Ownership change- From
- MEDVEDEV IRINAWALLACE MARK SBJERKE BJORN
and 2 moreShow fewer
WALTON JAY RODNEYKETCHUM JOHN W - To
- QUALCOMM INCQUALCOMM INCORPORATED
Recorded 2006-05-04, Signed 2006-03-22
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20070116143
- Publication, DOCDB
- 2007116143
- Publication, EPODOC
- US2007116143
- Application
- 11345976
- Application, DOCDB
- 34597606
- Application, EPODOC
- US20060345976
Titles
- English
- Reduced complexity detection and decoding for a receiver in a communication system
Patent term adjustment
- A delay
- +687 daysthe office missed an examination deadline
- B delay
- +989 dayspendency past three years
- Overlap
- −8 daysdelays counted once
- Applicant delay
- −138 days
- Net adjustment
- 1,530 days
Classification
- CPC, 9
- H04L1/06
- H04L27/2647
- H04L1/005
- H04L1/0052
- H04L25/03171
- H04L2025/03414
- H04L2025/03426
- H04B7/0413
- H04L1/0055
- IPC, 3
- H04L23 02
- H04L1 02
- H03D1 00
- USPC, 3
- 375262000
- 375267000
- 375341000