M-ALGORITHM MULTIUSER DETECTOR WITH CORRELATION BASED PRUNING
A multiuser detector system with correlation based pruning including a parameter estimation module adapted to receive complex signals, and to produce estimated signature waveforms for each of K co-channel interfering signals. Pre-processing the estimated signature waveforms using an S-matrix module and producing a more valid set of hypotheses, wherein the S-matrix module uses apriori knowledge of an unnormalized cross correlation matrix, and processing the more valid set of hypotheses for pruning with an M-algorithm a multiuser detector module. An improvement to the M-algorithm in which the interference structure based on the signal correlation matrix used during the optimization process aids in selecting a better subset of hypotheses to test. This approach has the benefit of reducing computational complexity and improving performance over the existing M-algorithm
Latest BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC. Patents:
- APPARATUS AND METHOD FOR AUTHENTICATING ADS-B TRACKS
- PATTERNING USING MONOMER BASED SACRIFICIAL MATERIAL LIFTOFF
- ENHANCED PROCESSING TO DISCRIMINATE BETWEEN ADS B TRAFFIC/TRACKS WITH DUPLICATE AIRCRAFT ADDRESSES
- CONDUCTIVE LINES FOR INTERCONNECTION IN STACKED DEVICE STRUCTURES
- INLINE RESISTOR INTEGRATED WITH CONDUCTIVE CONTACT PAD STRUCTURE
This application claims the benefit of U.S. Provisional Application Ser. No. 60/706,989, filed Aug. 10, 2005 which is herein incorporated in its entirety by reference. This application is also related to U.S. application Ser. No. 10/423740 entitled “Co-Channel Interference Receiver” filed Apr. 25, 2003 and to U.S. application Ser. No. 10/423655 entitled “Deferred Decorrelating Decision-feedback Detector for Supersaturated Communications” filed on Apr. 25, 2003, both of which are herein incorporated by reference.
FIELD OF THE INVENTIONThe invention relates to multiuser detection of signals and interference based pruning.
BACKGROUND OF THE INVENTIONAs is well known, Multiuser detection (MUD) typically refers to the detection of data in non-orthogonal multiplexes, such as used to jointly demodulate co-channel interfering digital signals. MUD processing increases the number of information bits available per chip or signaling dimension for interference limited systems. Optimal MUD based on the maximum likelihood principle operates by comparing the received signal with the entire number of possibilities that may have occurred at the ensemble of transmitters to give rise to the waveform received at the receiver. The maximum likelihood detector is a brute force approach which requires an exhaustive search and consists of evaluating the Euclidean distance between the received samples and the linear model of the samples using every possible hypothesis of the bit sequence. For problems with a large number of users or severe intersymbol interference from multipaths, the maximum likelihood computations are complex and time-consuming, thus making real-time operation impractical or impossible.
Reduced complexity approaches based on conventional tree-pruning algorithms help to some extent, but the performance of such multiuser detection algorithms degrades as the parameter M (pruning factor) is decreased, since M governs the number of computations required. Thus, to combat “improper” pruning, basic tree-pruning must ensure that M is large enough so that an accurate result is generated. As a result, conventional pruning methods are still associated with increased complexity, particularly when the number of interfering signals is moderate to large.
And, the number of interfering signals continues to increase with advances in technology. Many communication systems today rely on multiple-access signal packing schemes where multiple signals occupy the same time and frequency channel. One major performance limitation in these types of systems is multiple-access interference where the correlation between the user's signature waveforms is non zero. In these cases, multiuser detection algorithms must be employed by the receiver to best mitigate this interference. Assuming the signal parameters for each user is known by the receiver, the maximum likelihood (ML) solution is to jointly search over every possible combination of each users transmit symbol sequence, then select the hypothesis that maximizes the likelihood function. As described, the problem with this approach is that it is computationally inefficient and may not feasible for real time requirements.
Therefore, it is of interest to develop sub-optimal detectors that achieve near ML performance with less time and less complexity. One algorithm that somewhat reduces the complexity problem is the M-Algorithm, wherein only a fixed number of hypotheses, M, are tested based on interim metrics that are calculated at each stage in the decision tree to limit computation complexity. However, as noted herein, because the number of hypothesis to test each stage is fixed in the M-Algorithm, this technique by itself can still be inadequate, especially in a dynamic environment where the number of users and the interference environment is constantly changing.
What is needed therefore is a system and associated techniques for dynamically mitigating interference problems in a computationally efficient manner.
BRIEF SUMMARYOne embodiment of the invention is a multiuser detector system with correlation based pruning, having a parameter estimation module adapted to receive complex signals, and to produce estimated signature waveforms for each of K co-channel interfering signals. There is an S-matrix module forming an S-Matrix from the estimated signature waveforms, and a multiuser detector module processing the S-Matrix of the estimated signature waveforms with an unnormalized cross correlation matrix, and producing a more valid set of hypotheses for pruning with an M-algorithm.
A further embodiment includes the system wherein the multiuser detector module computes a signal to interference ration (SIR) for each symbol per stage, and wherein a decision is made at each stage if the SIR is greater than a predefined threshold. The SIR can be calculated for each symbol i at stage j, for j≧i by at least one of:
Furthermore, the predefined threshold (τ) can be calculated as follows: 10 Log10(Q−1 (BER)), BER is the desired bit error rate and T is the SIR threshold in dB. A further feature includes where τ is used to control a computational complexity (CMCP), wherein the CMCP is bound by αQK≦CMCP≦CM, wherein CM is the computational complexity of the M algorithm, α is the computational complexity of the filter, Q is the size of the symbol alphabet, and K is the number of users.
An additional aspect of the system further includes a front end whitening filter to pre-whiten the complex signals. The front end whitening filter to pre-whiten the complex signals, can include a matched filter bank adapted to prewhiten the complex signals, thereby partially decoupling users from multiple access interference, and a whitener designer module operatively coupled to the parameter estimator, and adapted to develop a model of each of the complex signals based on parameter estimates, and to compute an whitening filter bank that whitens filtered data output by the matched filter bank.
Another feature of the invention is includes wherein the multiuser detector module outputs a set of coded symbols and further comprising an error correction decoder bank processing the set of coded symbols.
In another embodiment, the multiuser detector module can include a branch metric calculator, a signal to interference (SIR) threshold calculator, and a tree pruner. A further variation of the system includes wherein the complex signals provided to the multiuser detector module are buffered by a sampled waveform buffer.
A further aspect includes the systems as a turbo MUD adapted to provide estimates of individual symbols for each of the K co-channel interfering signals, wherein the estimates are iteratively applied in a feedback loop until a pre-defined condition is satisfied.
A further embodiment of the invention is a method for S-Matrix ordering for a decision tree including determining a stage in the decision tree for pruning, using an unnormalized correlation matrix, determining a group of symbols with a highest signal to interference ratio (SIR), placing the group with the highest SIR at a bottom of the decision tree, and ordering remaining symbols by individual SIR. The method can also include re-ordering the group of symbols by an individual SIR from loudest to weakest. Another feature of the method is wherein a size of the group corresponds to the stage for pruning in an M algorithm. The method also includes ordering of the remaining symbols by individual SIR from loudest to weakest such that a weakest symbol is in a last stage.
A further method includes calculating a next stage for pruning for a number of surviving branches at a current stage. In addition, locating a next group of symbols prior to pruning.
Yet another embodiment of the invention is a method for correlation based pruning for a set of stages 1−k, comprising defining a set of symbols containing symbols whose value was decided prior to stage k, in a current stage, determining indices of all current stage symbols, solving for a corresponding symbol set C whose elements contain all symbols to be decided in the current stage, and pruning using the M-algorithm pruning and keeping only top M symbol hypotheses out of all remaining hypotheses.
The method includes wherein the set of symbols can be defined by Pε{bj}jk=1
The method includes determining indices is defined by iε{1, 2, . . . , k} such that biεP and SIRik≧τ
The method also includes wherein solving is accomplished by summing over the stage metrics Φk for all combinations of symbols that must be estimated in future stages as follows:
where Fl is the set containing the lth hypothesis of all remaining L symbols to be estimated in future stages such that Flε{{bj}jk=1ε{P,C}}.
In a general embodiment, the present invention describes a method for decreasing complexity in multiuser detector receivers by discarding some hypotheses based on the amount of correlation between paths in incremental decisions. The computational savings is realized by pruning a tree search algorithm at intermediate steps of the decision process. Metrics are proposed for determining if and when a branch should be pruned. In addition, a method for ordering users when solving the tree search is also described.
The term “signature waveform” as used herein denotes the impulse response of the channel through which the signal passes. The term “channel” as used herein includes not only the propagation channel and antenna effects, but also any filtering used in the transmitters and receiver. In addition, in a direct sequence spread spectrum system, it would also include the spreading code.
Multi-user detection (MUD) refers to the detection of data in non-orthogonal multiplexes. MUD processing increases the number of bits available per chip or signaling dimension for systems having interference limited systems. A MUD receiver jointly demodulates co-channel interfering digital signals. Multiuser detection systems take full advantage of all information available at the receiver by making use of any “knowledge” that the receiver has about the interfering signals. While computationally inefficient, the optimal Multiuser Detector is typically one that minimizes the mean square error between the received signal and all possible combinations of each users transmitted data symbols transformed by their unique signature response.
For example, in a multiuser signal environment the general form of the complex base band signal model seen at the receiver is:
r=Sb+ω
where r is the N×1 sampled complex baseband received signal vector, S is the N×K signature matrix where each column of S, denoted Sk, contains the complex baseband FIR channel impulse response for each symbol of each user contained in r, b is a K×1 vector containing the transmitted complex symbols for each user and ω is the N×1 AWGN where ω˜C(0,σ2I).
Assuming that the signature matrix S is known, the multivariate Gaussian PDF of the received signal vector r given an unknown complex symbol vector b is defined as:
Based on this density function, the maximum likelihood (ML) estimator for b can be defined as:
where ΨK is the K dimensional set of all possible symbol hypotheses. By expanding the objective function above and removing the constant rHr that is not a function of b, the ML estimator can be rewritten as:
where H=SHS is the K×K unnormalized signal correlation matrix whose elements hij denote the unnormalized correlation between symbols i and j. Using this notation, the equation can be further expanded as:
where bk denotes the kth element of b and * denotes the complex conjugate. The computational complexity of calculating the interference component of the maximum likelihood estimate for the complex symbol vector b requires testing all hypotheses which increases exponentially in the number of symbols. As described, such computations are computationally difficult and require time and considerable processing resources.
The computationally complexity of this ML estimator is defined as
where Q is the size of the symbol alphabet, α is the computational complexity of the match filter operation (−2Re{bk*skHr}+hkk|bk|2) and β is the computational complexity of calculating the interference component (2hknRe{bk*bn}).
Obtaining the maximum likelihood estimate for the complex symbol vector b requires testing all Qk hypotheses resulting in complexity that increases exponentially in the number of symbols making the problem NP complete. Thus, the ML MUD requires performing an exhaustive search over all possible combinations of bits for each user. And, this yield complexity grows exponentially with the number of users.
Even with current computing power, this problem is computationally complex and can not practically be solved in real time. This has led to the research of sub-optimal estimators that can approach maximum likelihood performance with much lower complexity. One example is the M-algorithm, wherein the complexity is bounded by only searching a subset M of the total Qk hypotheses. This is accomplished by solving the maximum likelihood objective function in K stages and at each stage only keeping the top M hypotheses. This algorithm is implemented as follows. At each stage k, the following metric is computed for a subset of hypotheses.
Notice, this metric is only a function of the first k symbols in b. The hypotheses tested at stage k are based on the top M hypotheses evaluated at stage k−1. For each surviving hypothesis, Q new hypotheses are created by adding an additional element and populating that element with all Q possible symbol combinations for symbol bk. This results in a maximum of QM new hypotheses that are evaluated at each stage. Each of these new hypotheses are used to evaluate the stage metric at stage k and then used to compute a resultant metric based on the sum of all k stage metrics.
Φk(b1, . . . , bk)=Ω1(b1)+Ω2(b1,b2)+. . . +Ωk(b1, . . . , bk)
This results in at most, QM values of Φk corresponding to each hypothesis tested. The best M hypotheses, resulting in the maximum Φk, are stored and used in the following stage computation. This process is repeated for all K stages. At the end of the Kth stage, the hypothesis in the set of remaining hypotheses which results in the maximum Φk defines the solution to b.
By way of illustration, consider the M-algorithm as a tree-pruning algorithm for a tree made up of nodes and branches. Each branch has a weight or metric, and a complete path is sequences of nodes connected by branches between the root of the tree and its branches. When applied as a short cut to the ML MUD, each branch weight is a function of the signature signal of a certain transmitter, the possible bit or symbol value associated with that transmitter at that point in time, and the actual received signal which includes all the signals from all the interfering transmissions. The weight of each path is the sum of the branch metrics in a complete path. The goal of a tree searching algorithm is to try to find the complete path through a tree with the lowest metric.
Referring to
For example,
Referring to
As shown in
The M-Algorithm thus reduces computational complexity by pruning the decision tree. This is accomplished by searching the tree in stages and limiting the number of surviving branches to “M” at each stage, wherein the algorithm is highly reliant upon the size of “M”. Performance is also a function of the ordering of the users in the tree, wherein the optimal ordering is typically to put the highest power, least correlated users at the bottom of the tree.
The major benefit to this algorithm is that the computational complexity is controlled by a single parameter, M. As M increases, the total number of hypotheses to test increases, increasing computationally complexity. This complexity is defined as
where p=floor(1+log M=log Q) is the lowest stage index at which M<Qp. When M=Qk, all possible hypotheses are tested resulting in the Maximum Likelihood solution.
However, one of the problems with the M Algorithm is that the search size is not dependent on the interference structure between users and unnecessary complexity is maintained in situations with less interference.
As is well known, the performance of the M-algorithm, for M<<Qk, is highly dependant on the inter-symbol and inter-user interference. This interference is characterized by the unnormalized signal correlation matrix H which is either known or estimated by the receiver prior to demodulation. The metric computed at stage k is dependant on symbols {bj}jkj=1 where the influence of subset {bj}j−1 k−1, is determined by the signal cross correlations {hkj}j=1, respectively. The higher the cross correlation, the higher the influence that symbol has on the value of the current stage metric.
As previously described, with the M-algorithm, the decision tree is pruned at each stage such that only the “best” M hypotheses propagate to the next stage. However, this pruning process forces decisions for certain symbols before the final stage metric is computed. Thus, the estimate for those symbols is only maximum likelihood if they have no influence on stage metrics computed in later stages.
For example, if the value of symbol bi is decided at stage j where j>i, the estimate for bi will only be maximum likelihood if the stage metrics {Ωi+1, . . . , ΩK} are not functions of bi, which occurs only when hin=0, for all n>i.
Because there is apriori knowledge of the unnormalized cross correlation matrix H, the stage at which each symbol can be decided, while preserving the maximum likelihood criteria, can be determined prior to execution of the M-algorithm. By applying some preprocessing, the complexity of the M-algorithm can be greatly reduced and performance will increase because this process prunes the decision tree leaving a reduced more valid set of hypotheses to prune using the conventional M-algorithm processing.
In one embodiment, the maximum likelihood requirements are relaxed to further reduce complexity by making decisions on symbols such that the signal to interference ratio (SIR) for each stage is greater than a predefined threshold τ, wherein decreasing this threshold τ has the benefit of further reducing complexity at the expense of potential performance degradation. This gives a well defined control that can be used to adjust and optimize the complexity versus the bit error rate (BER) profile for a given correlation structure. At the completion of this SIR decision process, the standard M-algorithm pruning takes over, keeping only the top M symbol hypotheses out of all remaining hypotheses.
In this example, Q=2, K=4, M=3, τ=15 dB and the magnitude of the unnormalized signal correlation matrix is defined as:
In more particular detail,
Referring to
It is also possible that performance could improve due to the more optimal pruning. This is the case for our example and can be seen by comparing
Referring again to
According to one embodiment, complexity is upper bounded by the pruning metric M (number of branches at each stage) and lower bounded by single user matched filter complexity.
Referring to
At the receiver 475, all interfering User Transmitter signals Tx1 to TXK 405 are received at the receiver antenna(s) 415.
In one embodiment, the MUD Receiver 475 has an analog front end that includes the receiving antenna 415, an RF downconverter 420, and analog-to-digital converter 425, and IF downconverter 430. Various amplifiers and filters (not shown) of the front end are well known in the art and may be included herein.
K signals from the User Transmitters Tx1 to TXK are received by the Antenna 415 as the sum of the signals from Transmitters Tx1 to TXK 405. The Antenna 415 is typically a singly polarized antenna although various other antennae are known in the art and can also be employed. The receiver could also include an array of antenna in which case the array of received signals is processed jointly.
The receiving antenna(s) 415 thus receives the interfering User Transmitted signals Tx1 to TXK 405, wherein the interference between signals can affect the ability to extract each User Transmitted signals Tx1 to TXK. The RF Downconverter 420 lowers the operating frequency of the received signals which can then be processed by an analog-to-digital converter 425 that changes the analog signals to digital signals. The A/D converter 425 is sometimes implemented as a signal sampler that captures a snapshot of the sampled waveform. The optional IF downconverter 430 can be used to further lower the operating frequency of the digital signal stream.
The digital data stream is a complex baseband signal, r(n) also denoted in vector form as r, which contains information from all K co-channel interfering signals in the same frequency and time space and is input to the Multiuser Detector 450 and Parameter Estimator 440
The Parameter Estimator 440 supplies the Multiuser Detector 450 with the information needed to process the received signal vector r. The signature waveforms which are unique to each user, describe the transformation of each user's transmitted symbols as they propagate from transmission to reception. This includes pulse shape filtering and receiver filtering. Some multiuser detectors 450 may also require information about the location of the training sequence in each frame of data for synchronization, and they may also require information about the noise power in the received signal to make better estimates of the transmitted symbols for each user. The Parameter Estimator 440 may be configured to calculate such parameters, and operate with any Multiuser Detector 450.
A parameter estimation unit processes the various parameters for the received raw data. The parameter estimation module typically estimates such data as timing offsets, signal amplitudes, carrier phases, polarizations, channel transfer functions, coding rates, identification of active channels, as well as any other information required for multiuser detector processing. The parameter estimation unit is known in the art, and a detailed description is available in published patent application U.S. 2002/0037061 A1 entitled “System for Parameter Estimation and Tracking of Interfering Digitally Modulated Signals”, which is incorporated by reference. In this invention we use a parameter estimator that provides an estimate of the signature waveform for each transmitted user. This signature waveform denoted in vector for as Sk incorporates the relative time delay, phase offsets, carrier frequency offsets and amplitudes of each user in the system.
The Multiuser Detector 450 jointly demodulates the interfering digital signals, using information provided by the Parameter Estimator 440.
The outputs of the Parameter Estimator 440 are sent to the MUD 450, which also receives the complex baseband signal vector r, and produces separate streams of estimates for transmitter symbols 1 to transmitter K symbols for signal 1, signal 2, up to signal K which correspond to each of the K interfering signals sent by Transmitters Tx1 to TXk 405. The output of the MUD 455 is the Tx1 to TXk symbols 455. The system may further include additional post-MUD processing elements (not shown) adapted to receive the outputs of the MUD 450, such as frequency mismatch compensation modules, block error decoding modules, demultiplexing or depacketizing modules, and routing modules.
A MUD algorithm within a TurboMUD system determines discrete estimates of the transmitted channel symbols, with the estimates then provided to a bank of single-user decoders (one decoder for each user) to recover the input bit streams of all transmitted signals. There are two general types of multi-user detectors within the TurboMUD system are possible, namely those that provide hard outputs, which are discrete values, and those that provide soft outputs, which indicate both the discrete estimate and the probability that the estimate is correct. Typically, single-user decoders operating on hard values, or discrete integers, have unacceptable error rates when there is a large amount of interference. The reason is that discrete integers do not provide adequate confidence values on which the single-user decoder can operate. These decoders operate better on so-called soft inputs in which confidence values can range from −1 to 1, such as for instance 0.75 as opposed to being either −1 or +1.
To provide soft values that can then be utilized by a single-user decoder, the multi-user detector can generate these soft values. However the processing takes an inordinate amount of time. Since single-user decoders operate best on soft values, it is often times the case that the computational complexity for a robust MUD capable of generating these soft values makes it impossible to get a real-time result.
Referring to
The coded symbols 515 from the MIP MUD 510 are then processed by a decoder bank 530 to produce the decoded symbols 540. There are numerous other references, including those incorporate by reference, that detail various MUD processing, and the present invention of the MIP-MUD can be integrated therewith.
Referring to
Those same symbols are also passed to the partial waveform reconstructor 625, along with the original S-Matrix. The partial waveform reconstructor 625 then reconstructs a partial waveform using those symbols that passed the symbol confidence test and their corresponding signature vector Sk. This partial reconstructed waveform vector is then subtracted from the buffered waveform vector r to remove those symbols from signal. The partial waveform estimator also passes a partial S-matrix to the MIP-MUD 620. This partial S-Matrix contains signature waveforms from all symbols that have not yet passed the symbol confidence test. This process iterates until all the symbols pass the symbol confidence test or until the maximum number of turbo iterations is reached. Once complete the decoded symbols for each user 660 are output from the Turbo-MUD demo dulator.
Referring to
As described in
The whitened matched filter outputs are then processed by the branch metric calculator 730. The branch metric calculator 730 determines the metric or weight associated with each branch in the decision tree and is updated at each stage in the decision tree.
The outputs of the branch metric calculator 730 feed the interference based tree pruner 735 which uses the SIR pruning threshold as determined by the SIR threshold calculator 740 to prune off those branches as detailed herein.
The interference pruned data is then processed by the multiuser detection unit 745, namely an M-algorithm tree pruner, which outputs a bit (or symbol) stream associated with each interfering signal present on the channel for one data block. The number of branches to keep per stage (M) can be a pre-defined value or adjustable depending upon the design criteria. According to one embodiment, M is a user definable variable.
The MUD detector 745 passes the branch metrics for all surviving branches back to the branch metric calculator in an iterative loop 760 for each stage in the decision tree. The branch metric calculator 730 re-calculates the branch metrics for the surviving or non-pruned branches and processing continues until the last stage in the decision tree is reached. The data is then passed to an estimated symbol buffer 750. The output from the symbol buffer 750 is the input to the unsort symbol module 755 that finally outputs the coded symbols.
The sorted S-matrix, generated by the S-Matrix Sorter 720 reorders the columns of the S-Matrix to correspond with the order in which each symbol will be demodulated in the decision tree. This is important when implementing any tree pruning algorithm like the M-algorithm because the order of the symbols in the tree impacts bit-error rate performance. This is described in detail by Varanasi in Decision Feedback Multiuser Detection: A Systematic Approach. IEEE Transactions on Information Theory, vol. 45, Jan 1999. In the case for a decision feedback detector, which is an M-algorithm with M=1, he proves that the optimal ordering is to sort the symbols such that the ones with the highest SIR are at the lowest stages of the decision tree.
In the present invention an ordering method is described in the flow chart in
p=floor(1+log M/log Q)
where M is the pruning metric and Q is the modulation order (i.e. Q=2 for BPSK and 4 for QPSK). Next, using the unnormalized correlation matrix H where H=SHS, The set {V} of p symbols with the highest group SIR is computed as
To clarify, GSIRV is computed for all combinations of p symbols to find the combination or set V that has the highest group SIR. This group of symbols is placed at the first p stages of the decision tree by sorting the S-matrix such that there corresponding signature vectors are in the left most columns of the S-matrix. The other remaining symbols are then sorted based on individual SIR, loudest to weakest. In this case the SIR of the next loudest user is calculated based on the set of remaining users that have not been ordered yet. The reason this method has value is because the group of users with the highest group SIR does not necessarily correspond to the p users with the highest total individual SIR and because the decision tree branch metric computed each stage only include information from symbols in prior stages its important to put the groups of symbols with the least interference first to minimize system bit-error-rate.
One method to implement the whitening filter designer 725 is to take the Choleski factorization of the inverse of the diagonally weighted unnormalized correlation matrix. This is defined mathematically as:
W=chol([H+σ2I]−1)
Where σ2 is the diagonal weight which is often times take as the noise power but could be any predefined constant.
Once the whitened matched filter outputs z are computed they are fed to a branch metric calculator 730 which computes a metric that in one embodiment consists of the Euclidean distance between the output of the one of the whitening filters and the hypothesized mean signal energy based on the bit hypothesis for the user in question and the mean signal energy corresponding to the hypotheses selected for users previously tested. The metric at each node of the decision tree includes the accumulation of metrics corresponding to previous decisions. This metric, computed at each stage in the decision tree for all symbol hypothesis sets corresponding to the remaining branches in the decision tree is defined mathematically as
Φk(bl, . . . , bk)=Ω2(b1, b2)+. . .+Ωk(b1, . . . , bk)
where
where Zk denote the whitened match filter output for symbol k, and fkn is the k, n element of matrix F where F=W−1.
The SIR threshold calculator 740 calculates the threshold for determining which symbols can be pruned based on their SIR one embodiment for calculating this threshold is defined in
The interference based tree pruner 735 uses the SIR pruning threshold to determining which symbols can be pruned.
In
where hij can denote either the ij elements of the unnormalized correlation matrix H or the ij elements of the inverse whitening matrix F where F=W−1. There are other SIR metrics that can be used for making pruning decisions. One such metric would be to use:
where ℑ is the set of users whose symbols have not been decided. These give well defined controls that can be used to adjust and optimize the complexity versus bit error rate (BER) profile for a given correlation structure.
For all symbols who meet this pruning threshold they are pruned as follows:
First, define a set of symbols Pε{bj}jk=1 that contains all the symbols whose value was decided prior to stage k.
Next, determine the indices of all symbols that can be decided in the current stage, i.e. iε{1, 2, . . . , k} such that bi∉P and SIRik÷τ.
Finally, solve for the corresponding symbol set C whose elements contain all symbols to be decided in the current stage. This is accomplished by summing over the stage metrics Φk for all combinations of symbols that must be estimated in future stages as follows.
where Fl is the set containing the lth hypothesis of all remaining L symbols to be estimated in future stages such that Fl∉{{bj}jk=1ε{P,C}}
An alternate pruning method is defined in
where V is the set of all symbols not yet decided on that are included in the current and all prior stage metrics. If this SIR is above the SIR pruning threshold then it means that all previous symbols will not influence symbols decisions for symbols further in the tree and therefore all but one branch is pruned and the branch that remains corresponds to the branch with the lowest metric.
At the completion of this interference based pruning process, the standard M-algorithm pruning takes over, keeping only the top M symbol hypotheses out of all remaining hypotheses.
The computational complexity denoted CMCP of this invention for an M-algorithm with interference based pruning is bound by:
αQK≦CMCP≦CM
where the lower complexity bound is achieved when SIRij≧τfor all symbols at all stages and the upper complexity bound is achieved when SIRiK<τ for all symbols. In the later case, the algorithm reduces to the conventional M-algorithm whose complexity CM is based on the size of M. At the completion of the SIR decision process, the M-Algorithm pruning resumes but only with the top M symbol hypotheses. Interference based pruning reduces the complexity of the M-algorithm processing and also tends to increase performance because it prunes the decision tree leaving a reduced more valid set of hypotheses to prune using the conventional M-algorithm processing.
Implicit in all pruning algorithms defined so far is a presumed order of the users to be decoded. This is depicted by the S-Matrix sorter 720. The order of decoding can have a significant impact on the performance, wherein a typical M-algorithm will choose an ordering before processing begins. However, the one embodiment of the present invention chooses the ordering at each stage in the tree. This is accomplished by incorporating an update ordering module 732 sorting box in the feedback loop. In
This is one way of finding the generalized SIR for the group V. It is the ratio of all users' powers in V to the sum of all cross-correlations of users in V with users who have not already been placed in the tree. The group with the highest GSIR is placed in the tree next based on the individual SIR's 920. Finally, the MIP-MUD proceeds as described herein until more users must be placed in the tree.
One embodiment of the present invention is an improvement to the M-algorithm in which the interference structure based on the signal correlation matrix used during the optimization process to aid in selecting a better subset of hypotheses to test. This approach has the benefit of reducing computational complexity and improving performance over the existing M-algorithm.
The features and advantages described herein are not all-inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and not to limit the scope of the inventive subject matter.
Various efficient decision tree search strategies can be employed according to the teachings herein. In addition, while the M-algorithm is one approach that restricts the number of hypotheses at each stage to a fixed number, the T-algorithm is similar in nature to the M-algorithm, however, it restricts the number of hypotheses by comparing the accrued metric to a threshold. Variation of this approach and other efficient approaches to decision tree searches will be apparent in light of this disclosure.
There are numerous alternative embodiments for the interference pruning receiver configured in accordance with the principles of the present invention, as will be apparent in light of this disclosure. For example, the MUD conforms to various Turbo MUD designs and allows different combinations for the MUD core and error correction decoder. The MUD core can comprise MMSE MUD, windowed optimum MUD as well as various M-algorithm implementations. In addition, the convolutional error correction decoder in the turbo loop can comprise soft output Viterbi or soft output BCJR among others. Commonly assigned U.S. Pat. No. 6,981,203 entitled “Method and Apparatus for Random Shuffled Turbo Multiuser Detector” and U.S. Pat. No. 6,704,376 entitled “Power and Confidence Ordered Low Complexity Soft TurboMUD with Voting System” represent additional alternative topologies that can utilize the present invention and are incorporated by reference herein.
While the discussion herein illustrates wireless communication applications, the principles of the present invention are equally applicable to wired cable systems and local area networks, read/write operations of a disc drive or other storage devices, satellite communications, and any application that benefits from manipulating digital data from among many multiple sources.
Embodiments of the invention may be implemented in software, hardware, firmware, or any combination thereof. For instance, the parameter estimation and MUD modules may be implemented in a set of instructions executing on a digital signal processor or other suitable processing environment. Alternatively, the modules can be implemented in purpose built silicon (e.g., ASIC, FPGA, or other system-on-a chip designs).
The foregoing description of the embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of this disclosure. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.
Claims
1. A multiuser detector system with correlation based pruning, comprising:
- a parameter estimation module adapted to receive complex signals, and to produce estimated signature waveforms for each of K co-channel interfering signals;
- an S-matrix module forming an S-Matrix from said estimated signature waveforms; and
- a multiuser detector module processing said S-Matrix of said estimated signature waveforms with an unnormalized cross correlation matrix, and producing a more valid set of hypotheses for pruning with an M-algorithm.
2. The system of claim 1 wherein the multiuser detector module computes a signal to interference ration (SIR) for each symbol per stage, and wherein a decision is made at each stage if the SIR is greater than a predefined threshold.
3. The system of claim 2 wherein the SIR is calculated for each symbol i at stage j, for j>i by at least one of: SIR ij = 20 log ( h ii ∑ m = j K h i n 2 ) and SIR ik = 20 log ( h ii ∑ n ∈ 𝒟 h i n 2 ).
4. The system of claim 2 wherein the predefined threshold (τ) is calculated as follows:
- 10 Log10(Q−1 (BER)), BER is the desired bit error rate and τ is the SIR threshold in dB.
5. The system of claim 2 wherein τ is used to control a computational complexity (CMCP), wherein said CMCP is bound by:
- αQK≦CMCP≦CM, wherein CM is the computational complexity of the M algorithm, α is the computational complexity of the filter, Q is the size of the symbol alphabet, and K is the number of users.
6. The system of claim 1 further comprising a front end whitening filter to pre-whiten said complex signals.
7. The system of claim 1 further comprising a front end whitening filter to pre-whiten said complex signals, wherein said front end filter comprises:
- a matched filter bank adapted to prewhiten said complex signals, thereby partially decoupling users from multiple access interference; and
- a whitener designer module operatively coupled to the parameter estimator, and adapted to develop a model of each of said complex signals based on parameter estimates, and to compute an whitening filter bank that whitens filtered data output by the matched filter bank.
8. The system of claim 1 wherein said multiuser detector module outputs a set of coded symbols and further comprising an error correction decoder bank processing said set of coded symbols.
9. The system of claim 1 wherein said multiuser detector module comprises a branch metric calculator, a signal to interference (SIR) threshold calculator, and a tree pruner.
10. The system of claim 1 wherein the complex signals provided to the multiuser detector module are buffered by a sampled waveform buffer.
11. The system of claim 1 wherein the multiuser detector module is a turbo MUD adapted to provide estimates of individual symbols for each of the K co-channel interfering signals, wherein the estimates are iteratively applied in a feedback loop until a pre-defined condition is satisfied.
12. A method for S-Matrix ordering for a decision tree comprising:
- determining a stage in said decision tree for pruning;
- using an unnormalized correlation matrix, determining a group of symbols with a highest signal to interference ratio (SIR);
- placing said group with said highest SIR at a bottom of said decision tree; and
- ordering remaining symbols by individual SIR.
13. The method of claim 12 further comprising re-ordering the group of symbols by an individual SIR from loudest to weakest.
14. The method of claim 12 wherein a size of said group corresponds to said stage for pruning in an M algorithm.
15. The method of claim 12 wherein said ordering of the remaining symbols by individual SIR is from loudest to weakest such that a weakest symbol is in a last stage.
16. The method of claim 12 further comprising calculating a next stage for pruning for a number of surviving branches at a current stage.
17. The method of claim 12 further comprising locating a next group of symbols prior to pruning.
18. A method for correlation based pruning for a set of stages 1 -k, comprising:
- defining a set of symbols containing symbols whose value was decided prior to stage k;
- in a current stage, determining indices of all current stage symbols;
- solving for a corresponding symbol set C whose elements contain all symbols to be decided in the current stage; and
- pruning using the M-algorithm pruning and keeping only top M symbol hypotheses out of all remaining hypotheses.
20. The method of claim 23 wherein the set of symbols are defined by Pε{bj}jk=1.
21. The method of claim 23 wherein determining indices is defined by iε{1, 2,..., k} such that bi∉P and SIRik≧τ.
22. The method of claim 23 wherein solving is accomplished by summing over the stage metrics Φk for all combinations of symbols that must be estimated in future stages as follows. C ^ = arg min C ∈ ( ± 1 } N e ∑ l = 1 L Φ k ( P, C, F l ) where Fl is the set containing the lth hypothesis of all remaining L symbols to be estimated in future stages such that Flε{{bj}kj∉{P,C}}.
Type: Application
Filed: Aug 10, 2006
Publication Date: Feb 15, 2007
Patent Grant number: 7613228
Applicant: BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC. (Nashua, NH)
Inventor: Joshua Niedzwiecki (Manchester, NH)
Application Number: 11/463,877
International Classification: H04B 1/10 (20060101);