BACKGROUND OF THE INVENTION
TECHNICAL FIELD OF THE INVENTION
[0001] This present invention relates to telecommunications processing and more particularly
to advanced receiver techniques in a multi-user environment.
BACKGROUND ART
[0002] The telecommunications industry has been expanding at an unprecedented growth rate.
In particular, the wireless sector, including 3G, wireless local area networks and
Bluetooth devices, has grown far beyond expectations and at a much higher rate than
the fixed telecommunications counterpart. The ability to access data and communicate
anywhere at anytime has enormous potential and commercial value.
[0003] The content of the wireless sector is also changing, with more and more data being
transmitted, including Internet connectivity and live feeds. The usage involving personal
digital assistants (PDA's) and even smart appliances have created new markets utilizing
wireless data communications. And, this wireless phenomenon is not limited to any
geographical boundaries, as the growth is occurring around the globe.
[0004] Although Code Division Multiple Access (CDMA) or spread spectrum communications has
been around for many years, there is an increasing interest in using spread spectrum
systems in commercial applications to allow superior quality performance and a greater
number of users within a given bandwidth. The digital format of CDMA architecture
allows complex processing and high-level algorithms for transmission and reception.
[0005] Despite the advancements in wireless transmission and reception, there are still
problems related to seamless connectivity, multimedia traffic, battery life, security,
and mobility to name a few. In general, wireless channels are subject to well-known
problems and there are continuous efforts to improve capacity and quality. One of
the growing problems is being able to process multiple users in a given bandwidth.
[0006] For example, a base station that processes a number of cellular devices has to receive
and transmit data within a certain frequency range. The ability to extract the correct
data from a given user is a difficult task, especially when the effects of interference
and multipaths are considered. The problem is further complicated when the number
of users exceeds the number of dimensions, resulting in an overloaded condition.
[0007] In the past, prior art communication systems generally utilized Frequency Division
Multiple Access (FDMA) and Time Division Multiple Access (TDMA) methods to achieve
channel access. FDMA refers to a communication channel wherein a signal's transmission
power is concentrated into a single radio frequency band. Interference from adjacent
channels is limited by the use of band pass filters however for each channel being
assigned a different frequency, system capacity is limited by the available frequencies
and by limitations imposed by channel reuse.
[0008] In TDMA systems, a channel consists of a time slot or frame in a periodic train of
time intervals over the same frequency, with a given signal's energy confined to one
of these time slots. Adjacent channel interference is limited by the use of a time
gate or other synchronization element that only passes signal energy received at the
proper time. The system capacity is limited by the available time slots as well as
by limitations imposed by channel reuse, as each channel is assigned a different time
slot.
[0009] One of the goals of FDMA and TDMA systems is to try and prevent two potentially interfering
signals from occupying the same frequency at the same time. In contrast, Code Division
Multiple Access (CDMA) techniques allow signals to overlap in both time and frequency.
CDMA signals share the same frequency spectrum and in the frequency or time domain,
the CDMA signals appear to overlap one another. The scrambled signal format of CDMA
eliminates cross talk between interfering transmission and makes it more difficult
to eavesdrop or monitor calls therefore providing greater security.
[0010] In a CDMA system, each signal is transmitted using spread spectrum techniques. The
transmitted informational data stream is impressed upon a much higher rate data stream
termed a signature sequence. The bit stream of the signature sequence data is typically
binary, and can be generated using a pseudo-noise (PN) process that appears random,
but can be replicated by an authorized receiver. The informational data stream and
the high bit rate signature sequence stream are combined by multiplying the two bit
streams together, assuming the binary values of the two bit streams are represented
by +1 or -1. This combination of the higher bit rate signal with the lower bit rate
data stream is called spreading the informational data stream signal. Each informational
data stream or channel is allocated a unique signature sequence.
[0011] In operation, a plurality of spread information signals, such as binary phase shift
keying (BPSK) or quadrature phase shift keying (QPSK) modulation, modulate a radio
frequency (RF) carrier and are jointly received as a composite signal at the receiver.
Each of the spread signals overlaps all of the other spread signals, as well as noise-related
signals, in both frequency and time. The receiver correlates the composite signal
with one of the unique signature sequences, and the corresponding information signal
is isolated and despread.
[0012] A signature sequence is normally used to represent one bit of information. Receiving
the transmitted sequence or its complement indicates whether the information bit is
a +1 or -1, sometimes denoted "0" or "1". The signature sequence usually comprises
N pulses, and each pulse is called a "chip". The entire N-chip sequence, or its complement,
depending on the information bit to be conveyed, is referred to as a transmitted symbol.
[0013] The receiver correlates the received signal with the complex conjugate of the known
signature sequence to produce a correlation value. When a 'large' positive correlation
results, a "0" is detected, and when a 'large' negative correlation results, a "1"
is detected.
[0014] It should be understood that the information bits could also be coded bits, where
the code is a block or convolutional code. Also, the signature sequence can be much
longer than a single transmitted symbol, in which case a subsequence of the signature
sequence is used to spread the information bit.
[0015] Further descriptions of CDMA communications techniques are described in
US Patent 5,506,861. This patent describes radiotelephone communication systems, and in particular, receivers
for jointly demodulating a plurality of CDMA signals with multipath time dispersion.
[0016] The prior art systems do not properly account for the real world mobile communication
signals that suffer from signal degradation such as interference and multipath problems.
The systems of the prior art generally tended to make assumptions that all other interferers
and multipaths were additive white Guassian noise. However, this assumption is not
accurate for co-channel interference and multipaths.
[0017] Multipath dispersion occurs when a signal proceeds to the receiver along not one
but many paths so that the receiver encounters echoes having different and randomly
varying delays and amplitudes. Co-channel interference refers to signals received
from other users either directly or reflected. The receiver receives a composite signal
of multiple versions of the transmitted symbol that have propagated along different
paths, called rays, having different relative time. Each distinguishable ray has a
certain relative time of arrival at a certain amplitude and phase, and as a result,
the correlator outputs several smaller spikes. RAKE receivers are well known in the
art and attempt to 'rake' together all the contributions to detect the transmitted
symbol and recover the information bit.
[0018] Conventional RAKE receivers provide satisfactory performance under ideal conditions,
however, the signature sequence must be uncorrelated with time shifted versions of
itself as well as various shifted versions of the signature sequences of the other
CDMA signals. If one received signal corresponding to the signature sequence of interest
has a non-negligible cross correlation with the received signal originating from another
transmitter, then the value measured at the receiver, e.g. the correlation value for
the signal of interest, is corrupted. In other words, the correlation computed at
the receiver that would be used to decode a particular signal of interest is overwhelmed
by an interfering signal, this is referred to as the near-far problem. The interference
caused by an echo of one transmitted symbol overlapping with the next transmitted
symbol must also be negligible. If this is not true, the transmitted symbols interfere
with past and future transmitted symbols, which is commonly referred to as intersymbol
interference (ISI). In actuality, performance is degraded by other signal interference
and ISI.
[0019] There has been much research to address signal interference with known multipath
time dispersion. This is termed joint demodulation with no multipath and is further
described in
S. Verdu, "Minimum Probability of Error For Asynchronous Gaussian Multiple-Access
Channels," IEEE Trans. Info. Theory, Vol. IT-32, pp. 85-96,
R. Lupas and S. Verdu, "Linear multiuser detectors for synchronous code-division multiple-access
channels," IEEE Trans. Inform. Theory, Vol. 35, pp. 123-136, Jan. 1989; and
R. Lupas and S. Verdu, "Near-far resistance of multiuser detectors in asynchronous
channels," IEEE Trans. Commun., Vol. 38, pp. 496-508, Apr. 1990.
[0020] There are a host of approaches for jointly demodulating any set of interfering digitally
modulated signals, including multiple digitally modulated signals. Maximum Likelihood
Sequence Estimation determines the most likely set of transmitted information bits
for a plurality of digital signals without multipath time dispersion. The maximum
likelihood joint demodulator is capable, in theory, of accommodating the largest number
of interfering signals, but has a prohibitive computational complexity that makes
it unrealizable in practice. The decorrelation receiver is another, less computationally
complex receiver processing approach that zeroes out or decorrelates the different
signals so that they no longer interfere with one another. The decorrelator, as well
as virtually every other lower complexity joint demodulator, is not capable of operation
when the number of signals is over a set threshold which falls significantly short
of the theoretical maximum.
[0021] In a real world multi-user system, there are a number of independent users simultaneously
transmitting signals. These transmissions have the real-time problems of multi-path
and co-channel interference, fading, and dispersion that affect the received signals.
As described in the prior art, multiple user systems communicate on the same frequency
and at the same time by utilizing parameter and channel estimates that are processed
by a multi-user detector. The output of the multi-user detector is an accurate estimation
as to the individual bits for an individual user.
[0023] Emerging receiver processing procedures allow for huge increases in the utilization
of multiple access communications, such as wireless cellular phones. The common problem
is that the processing procedures in the receivers are difficult to run in real time.
Advanced receiver techniques cover several areas, namely interference suppression
(also called multi-user detection), multipath combining and space-time processing,
equalization, and channel estimation. These various techniques can be mixed and matched
depending upon the circumstances. Proper signal processing of transmitter and receiver
yield a far greater potential than current systems.
[0024] 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.
[0025] Optimal MUD based on the maximum likelihood sequence estimator operates by comparing
the received signal with the entire number of possibilities that could have resulted,
one for each bit or symbol epoch. Unfortunately, this processing is a computationally
complex operation and it is not possible to accomplish in a real-time environment.
Thus for those multi-user detectors that examine the entire space, real-time operation
is often elusive.
[0026] In general, optimal MUD units function by examining a number of possibilities for
each bit. However, for multi-user detectors that examine a larger capacity of signal,
the computations are complex and time-consuming, thus making real-time operation impossible.
Numerous attempts at reliable pruning of the optimal MUD decision process or the use
of linear approximation to the replace the optimal MUD have still not produced a workable
solution for the real world environment.
[0027] There are various multiuser detectors in the prior art, including optimal or maximum
likelihood MUD, maximum likelihood sequence estimator for multiple interfering users,
successive interference cancellation, TurboMUD or iterative MUD, and various linear
algebra based multi-user detectors such as all of those detailed in the well-known
text "Multiuser Detection" by Sergio Verdu. In basic terms, turbodecoding refers to
breaking a large processing process into smaller pieces and performing iterative processing
on the smaller pieces until the larger processing is completed. This basic principle
was applied to the MUD.
[0028] There are known problems in these prior art concepts. Linear Algebra based MUD (non-iterative)
and successive interference cancellation fails for cases of overloaded multiple access
systems. One example of overloading is where the number of simultaneous users is doubled
relative to existing state of the art. Even for underloaded multiple access systems,
the performance of non-iterative MUD and successive interference cancellation degrades
significantly as the number of users increases, while the computation complexity of
the optimal MUD increases significantly as the number of users increases. The computing
problems are so extreme that it requires extensive and expensive hardware as well
as complex processing. Moreover, an unreasonable delay would be required to decode
each bit or symbol rendering such a system useless in practice.
[0029] Reduced complexity approaches based on tree-pruning help to some extent to eliminate
the proper bit combination from consideration (i.e. prune the proper path in the decision
tree) based on information from an unreliable bit estimate.
[0030] The M-algorithm is a pruning process that limits the number of hypotheses extended
to each stage to a fixed tree width and prunes based on ranking metrics for all hypotheses
and retaining only the M most likely hypotheses. The T-algorithm prunes hypotheses
by comparing the metrics representing all active hypotheses to a threshold based on
the metric corresponding to the most-likely candidate. Performance of M-algorithm
based MUD degrades as the parameter M is decreased, but M governs the number of computations
required. Similar effects are seen for other tree-pruning based MUD (T- algorithm,
etc). To combat improper pruning, basic tree-pruning must ensure that M is "large
enough", and therefore still encounters increased complexity for acceptable performance
levels when the number of interfering signals and/or ISI lenghts are moderate to large.
[0031] As an illustration of the M-algorithm as a tree-pruning algorithm, consider a tree
made up of nodes and branches. Each branch has a weight or metric, and a complete
path is a sequences of nodes connected by branches between the root of the tree and
its branches. When applied as a short cut to the optimal 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. With the present invention the metrics of multiple complete paths
are not calculated. Rather, the metrics of individual branches in a tree are calculated
in the process of locating one complete path through the tree and thereby defines
one unknown characteristic of each of the co-channel, interfering signals needed to
decode the signals.
[0032] A MUD algorithm within the 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.
[0033] 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.
[0034] However, 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 .75 as opposed to being
either -1 or +1.
[0035] In an attempt 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. As a result, these systems do not produce real-time
results. 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.
[0036] In an attempt to provide real-time performance by reducing the computational complexity
of an iterative multi-user detector that can produce soft values, the prior art suggests
algorithms for examining less than the total number of possibilities for each of the
bits of data that are coming in from the multiple users. The "shortcuts" taken by
this reduced complexity approach cause errors and combating these errors by increasing
the number of iterations of the system completely nullifies any advantage.
[0037] Thus, while the MUD unit can generate soft values within the iterative cycle of the
TurboMUD, the entire detection system is slowed down in generating these soft values.
It should be appreciated that these soft values, rather than being integers which
would be considered to be hard values, are real numbers, which in effect, permit a
single user decoder to better error correct the output of the multi-user detector
and thereby provide a more robust bit stream that will faithfully represent the original
input for a given user.
[0038] Moreover, when dealing with hand-held communications units such as wireless handsets,
the amount of processing within the device is limited, directly limiting the amount
of computational complexity that is allowed. In order to provide real-time performance
both at a cell site and the handset, it therefore becomes important to be able to
reduce the amount of computational complexity and processing time so as to achieve
real-time performance.
[0040] The document entitled "
Iterative MMSE Multi-user interface suppression for coded dispersive CDMA wireless
channels with multi-sensor receivers" by Thomas et al., published in Signals, Systems
and Computers, 1999.
Conference Record of the 33rd Asilomar Conference on October 24th to 27th 1999, Piscataway,
M J, USA, IEEE, US, Volume 1, 24 October 1999, pages 225 to 230, XP 010373978 ISBN:
0-7803-5700-0 discloses a soft iterative multi-sensor array receiver for coded dispersive multi-user
code division multiple access wireless CDMA channels. The proposed scheme suppresses
multi-user interference over a wide range of user signal powers by iteratively exchanging
soft information between a MMSE multi-user demodulator and a bank of single-user decoders,
feeding back the outputs of the latter to aid in soft multi-user multi-sensor MMSE-RAKE
demodulation and subtractive interference calculation. The array responses are also
obtained using soft-decoded feedback estimates and pilot symbols.
[0041] The growing demand for radio communications raises the need to optimize the performance
while maximizing the capacity of wireless communications systems. To optimize performance
in a multi-user environment either interference must be eliminated (convention), or
the number of interfering signals must be kept below a pre-detennined number (virtually
all non-optimum MUD techniques) which is typically far less than multiuser theory
would allow. Existing approaches fail to address all of these problems. What is needed
is an efficient signal processing technique to improve the quality and spectral efficiency
of wireless communications and better techniques for sharing the limited bandwidth
among different high capacity users. As can be seen, attempts to make real-time processing
multi-user processing have been frustrated by complex and sophisticated hardware and
processing requirements. What is needed therefore, is a method and apparatus for allowing
multiple users to operate in the same channel. Such a system should provide accurate
cancellation of interfering signals while reducing complex processing.
SUMMARY OF THE INVENTION
[0042] The invention is devised in the light of the problems of the prior art described
herein. Accordingly it is a general object of the present invention to provide a novel
and useful apparatus and technique that can solve the problems described herein.
[0043] An object of the invention is to provide a high quality real-time receiver processing
for multiple access systems, including overloaded systems, by implementing an iterative
cooling enhanced tree-pruned MUD that includes confidence ordering, power-ordering,
and a simple voting procedure to produce soft-values. On the first iteration, because
confidence values are not yet available to the MUD (or, more correctly, all confidence
values are equal), the user indices are ordered according to the received powers.
On subsequent iterations, the user indices are ordered according to the confidence
values determined by the single user decoders. This allows the MUD detector to operate
on the most reliable symbols first, improving the likelihood that the pruning includes
the correct path. Unlike prior art devices that tend to reduce or eliminate interferers,
the present invention utilizes information from the interferers in order to provide
a better likelihood of extracting the transmitted signals.
[0044] Thus, the present invention provides a solution to performance degradation in the
form of a low-complexity TurboMUD and is aimed at detecting not only underloaded and
fullyloaded channels as are virtually all MUD-based systems proposed in the public
domain, but is particularly useful against overloaded channels. The voting soft metric
production is done for every iteration, wherein the voting operator examines the final
surviving states of the tree-pruned MUD algorithm, determines the most likely bit
combination from the users via a simple voting procedure, and provides a soft-valued
output for the bit combination similar to a probability. The soft-valued outputs may
then be passed to a bank of soft-in/soft-out decoders, such as maximum a posteriori
(MAP) single user decoders in a TurboMUD application. A pre-processing filter is used
that operates for more users than dimensions. Therefore, this invention provides a
low-complexity solution that approaches the performance of a full complexity TurboMUD,
and operates on overloaded system in which the number of interferers is large.
[0045] While the full complexity TurboMUD requires prohibitive computational complexity,
it provides a good method for removal of co-channel interference. A reduced complexity
Turbo MUD suggested by the prior art still requires significant processing, but provides
soft-values that are passed to the single-user decoders resulting in good performance.
[0046] Confidence ordering is most effective on the second and subsequent iterations. While
effective on a first iteration, power ordering is not as effective as confidence ordering
after the first iteration. Voting to produce soft metrics provides a way to simply
calculations for soft metrics from hard metrics. The combinations of the three approaches
(power ordering, confidence ordering, and soft-metric voting) are used together in
the same TurboMUD system, combining their strengths for optimal performance.
[0047] Another object of the invention is a system that improves the performance degradation
of tree-pruned TurboMUD systems that pass hard values from the MUD to the single-user
decoders. The object system determines the symbols for which the majority of survivors
agree and provides a soft reliability value to be passed to the single-user decoders.
It remains a reduced-complexity approach, with complexity similar to M-algorithm tree-pruning
TurboMUD, which means that the system can be implemented in real time.
[0048] A further object is a method that reduces the likelihood of improper pruning, thereby
allowing for a reduction in the number of branches examined (and, therefore, a reduction
in complexity) without negatively impacting performance. For the same complexity,
the invention provides for superior performance when compared to other reduced-complexity
tree-pruning-based MUD of the prior art.
[0049] Additional objects of the invention include making the system of sufficiently low-complexity
that it can be implemented in real time. The present invention is compatible with
overloaded systems as well as under and fully loaded, because it allows for a front-end
filter that will operate well in an overloaded environment. This filter further improves
the performance of the tree-pruning process of the MUD. The improved performance and
low complexity of the present apparatus give service providers an apparatus that can
allow more active transmitters (paying customers, users, phones, devices, etc.) without
requiring more bandwidth or compromising performance.
[0050] This new method may be used to replace existing receivers without any modification
to the transmitters, thereby allowing service providers to offer improved performance
without changing the signaling method. For example, cellular phones can still operate
with the additional features added to the base station or tower.
[0051] The present invention is an improvement on a multiuser detection processing procedure
that, without causing degradation in quality of service or decreasing the total throughput,
will allow for real time implementation in receivers designed for typical and high
data rate multiple access communication. Specifically, the problem solved by this
invention is the high computational complexity required by the tree-pruned iterative
MUD to avoid the degraded performance caused by early incorrect pruning of the decision
tree. In addition, this invention solves the problem of increased complexity typically
needed to produce soft-values within the TurboMUD.
[0052] The subject of the invention disclosed in this application does not require that
the signals correspond to any particular multiple access scheme or even that they
are all of the same type, or come from a wireless system. For example, the present
invention operates in the same manner on any set of digitally modulated interfering
signals to include cellular CDMA systems, TDMA systems, FDMA systems, storage medium,
wired MA systems such a cable modems, wireless local area network systems, or yet
undetermined systems. For example, Spatial Division Multiple Access (SDMA) is generally
a satellite communications technique that optimizes the use of radio spectrum and
minimizes system cost by taking advantage of the directional properties of dish antennas
and frequency reuse, and benefits from the bit processing described herein. The only
requirement for viable operation of the present invention is that each signal source
produces a signal with the information digitally modulated using a signature pulse
or finite duration signal of some sort. While CDMA is described for illustrative purposes
to explain the invention, the specific example of CDMA is merely for ease of understanding.
The present invention is directed to any other form of digital communication or signal
storage methods by simply replacing the words in the CDMA discussions "signature sequence"
with "signature signal" or "signature pulse" and replacing the words "CDMA signal"
with "digitally modulated signal".
[0053] In summary, the described system provides real-time performance for iterative multi-user
detectors, such as TurboMUDs, which are used to separate simultaneous transmissions
on the same frequency, by permitting the MUD to use a less computationally intense,
fast-processing algorithm and to correct for errors caused by the fast processing.
In order to reduce the errors, a power confidence order and voting system are coupled
to the input and output of the multi-user detector within the iterative system.
[0054] Yet a further object is to decode co-channel, interfering signals at a receiver with
a tree based on a decoding algorithm wherein on a first iteration strongest received
signal as determined by a parameter estimation unit are assigned in descending order
of signal strength. By a first power ordering, a low complexity suboptimal search
of the tree will be more likely to report the correct answer. Subsequent iterations
utilize confidence ordering to create a higher likelihood of maintaining the correct
path when computing subsequent tree decisions.
[0055] A further feature of the present invention is that it works equally well using mixed
rate communication systems such as IS95 , wherein the user chooses the transmission
rate. The parameter estimator that handles the differing transmission rates passes
along the information to the present system.
[0056] An object of the invention is an advanced receiver apparatus for processing signals
from multiple users with interfering signals, comprising an ordering unit for ordering
users indices, wherein on a first iteration ordering is based on received signal power,
and wherein on subsequent iterations ordering is based on confidence values. A multi-user
detector coupled to the ordering unit producing a plurality of surviving states. A
voting unit coupled to the multi-user detector for processing the surviving states
and generating a set of soft estimates of channel symbols. A decoder section coupled
to the voting unit and the multi-user detector, wherein the decoder section processes
the soft estimates of channel symbols to produce a final output on a final iteration,
and wherein the decoder produces the confidence values for intermediate iterations.
[0057] A further object of the advanced receiver apparatus comprises a parameter estimation
unit coupled to the ordering unit and the multi-user detector for determining and
storing various parameters associated with each of the interfering signals present
in the received signal. Also, wherein the decoder section is a bank of soft input
soft output (SISO) decoders, and wherein the SISO decoders may be selected from the
group comprising: maximum a posteriori (MAP) decoders and soft-output Viterbi algorithm
(SOVA) decoders. A further object is where the multi-user detector uses an algorithm
selected from the group comprising an M-algorithm, T-algorithm, MT-algorithm, and
tree pruned versions of the MAP, Log-MAP, and Max-Log MAP. Also, wherein the filter
is selected from the group comprising a whitening matched filter, a bank of matched
filters , and any bank of orthogonal filters that span the space defined by the collection
of interfering signals:
[0058] A further object of the advanced receiver apparatus comprises a means for determining
the final iteration, wherein the means is a fixed number of iterations or an allowable
difference between previous confidence values and current confidence values.
[0059] An object of the invention is a method for processing a plurality of receiver signals
from multiple users, comprising the steps of processing the receiver signals in a
front end to generate a digital signal, performing parameter estimation of the digital
signal, ordering instructions for instructing the tree in the MUD, wherein the ordering
is a power ordering on a first iteration, and confidence ordering on subsequent iterations,
detecting a plurality of solutions by maintaining multiple surviving paths each one
corresponding to a complete set of bit streams, one bit stream for each interfering
signal, voting on the survivors to generate a single set of a soft-valued outputs,
decoding the soft-valued outputs to form a set of confidence values, repeating the
steps of confidence ordering, detecting, voting, and decoding until a final state
is obtained, and outputting data estimates corresponding to a set of data bit streams,
one bit stream for each interfering signal.
[0060] A final object of the invention is a receiver system for processing signals from
multiple users with interfering signals, comprising a front end unit for receiving
and processing incoming receptions, with a parameter estimator unit coupled to the
front end unit for processing the receptions. There is a filter section coupled to
the parameter estimation unit and an ordering unit coupled to the filter section for
ordering users indices, wherein on a first iteration ordering is based on received
signal power, and wherein on subsequent iterations ordering is based on confidence
values. There is a multi-user detector coupled to the ordering unit producing a plurality
of surviving states with a voting unit coupled to the multi-user detector for processing
the surviving states and generating a set of soft estimates of channel symbols. A
decoder section is coupled to the voting unit and the multi-user detector, wherein
the decoder section processes the soft estimates of channel symbols to produce a final
output on a final iteration, and wherein the decoder produces the confidence values
for intermediate iterations.
[0061] Still other objects and advantages of the present invention will become readily apparent
to those skilled in this art from the following detailed description, wherein we have
shown and described only a preferred embodiment of the invention, simply by way of
illustration of the best mode contemplated by us on carrying out our invention. As
will be realized, the invention is capable of other and different embodiments, and
its several details are capable of modifications in various obvious respects, all
without departing from the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0062] The present invention will be readily understood by the following detailed description
in conjunction with the accompanying drawings, wherein like reference numerals designate
like structural elements, and in which:
Figure 1 is an illustration of wireless reception in a multi-user environment and
subsequent processing in a MUD scheme.
Figure 2 shows a block diagram perspective of the prior art conventional MUD system
illustrating the iterative processing for each decoded symbol of each user.
Figure 3 is a block diagrammatic view of the iterative MUD system with the order unit
to rank user power in a first iteration, confidence in subsequent iterations, and
the voting box used to convert the hard outputs of the MUD to soft-valued inputs to
the decoders for subsequent iterations
Figure 4 is a table illustrating the voting process for several users using survivor
probabilities.
Figure 5 is a flow chart showing the steps in the process for the power/confidence
ordering and voting procedures.
DESCRIPTION OF THE PREFERRED EMBODIMENT
[0063] The methods and embodiments of the confidence ordered soft MUD disclosed herein enable
implementations of advanced receiver processing providing high quality real-time processing
for multiple access systems operating with interferers. The preferred embodiment is
just an illustration of the digital processing technique that is applicable to many
variations and applications all within the scope of the invention.
[0064] Referring to Figure 1, a number of users generate signals that are sent by transmitters
10 into free space. The various signals are received at antennas 20, wherein there
is one signal for each polarization feed. The signals represent directly received
signals 30, as well as multi-path signals 40 from the same user, and interfering signals
50 from other users.
[0065] The plurality of signals from each antenna 20 is processed in a front end unit 60.
The front end unit 60 downconverts the higher frequency signals into baseband signals
for ease of processing. The baseband signals are digitized by analog to digital converters
(A/D). The front end cooperates with the parameter estimation unit 70 to retrieve
needed information for the signals such as relative received timing offsets, carrier
phase, frequency offsets, received amplitudes, and multipath structure for each of
the interfering signals present in the received signal.
[0066] The MUD element 80 consists of functional blocks that process the digital data and
extract the user signals. The pre-processor 90 converts the baseband digital data
into the proper format for further processing according to the desired detection scheme.
The format is typically one measurement per 'dimension' per symbol. An example of
this processing is a bank of matched filters. The multi-user detection stage 100 is
detailed herein and cooperates with the error correction decoding (ECD) for iterations
of the TurboMUD processing.
[0067] The output of the MUD element 80 is returned for a number of iterations with the
parameter estimation unit 70 that returns information to the MUD 80 for use in subsequent
processing. When the K output bit streams 120 have reached a certain level of processing
as described herein, they are forward to the output stage (not shown).
[0068] Referring to Figure 2, which shows a prior art iterative MUD algorithm such as is
representative of the approaches used to incorporate a turbo decoding approach into
joint MUD/FEC (Forward Error Correction) decoding specifically to reduce the complexity
of the system. It should be appreciated that there are two embodiments of the subject
invention, namely an iterative embodiment and a non-iterative embodiment. The iterative
embodiment is described herein while the non iterative merely runs a single cycle
through the process.
[0069] A parameter estimation unit (not shown) provides the input to the Filter 200. In
a TurboMUD system, decoding and confidence information is passed between the MUD 210
and single-user (SU) decoder components 220. Maximum a posteriori (MAP) decoders (or
approximations of MAP decoders) are well known to those in the art and are used for
both the MUD and SU decoders so that soft output information is available if desired.
The detector 210 assumes knowledge of various parameters such as relative received
timing offsets, carrier phase, frequency offsets, received amplitudes, and multipath
structure for each of the interfering signals present in the received signal.
[0070] MAP decoding is known in the prior art and further described in
C. Schlegel, Trellis Coding, IEEE Press, 1997;
Robertson, Villebrun and Hoeher, "A Comparison of Optimal and Sub-Optimal MAP Decoding
Algorithms Operation in the Log Domain," ICC95;
Hagenauer, and Hoeher, "A Viterbi Algorithm with Soft-Decision Outputs and its Applications,"
Globecom 89;
Pottie and Taylor, "A Comparison of Reduced complexity Decoding Algorithms for Trellis
Codes," J Sel. Areas in Comm Dec 1989. The iterative turbo principle, on which TurboMUD is based, is described by
Berrou, Glavieux, and Thitimajshima, "Near Shannon Limit Error-Correcting Coding and
Decoding: Turbo-Codes (1)," ICC 93;
Berrou and Glavieux, "Near Optimum Error Correcting Coding and Decoding: Turbo-Codes",
Trans on Comm, Oct 1996; and
Wang and Kobayashi, "Low-Complexity MAP Decoding for Turbo Codes", Vehicular Technology
Conference 2000]. TurboMUD approaches are described in, for example,
Alexander, Reed, Asenstorfer, and Schlegel, "Iterative Multiuser Interference Reduction:
Turbo CDMA," Trans on Comm, July 1999;
Poor, "Turbo Multiuser Detection: An Overview, " ISSSTA 2000; and
Wang and Poor, "Iterative (Turbo) Soft Interference Cancellation and Decoding for
Coded CDMA", Trans on Comm, July 1999.
[0071] The received measurement from the parameter estimation unit (not shown) is passed
to a filter, 200, such as a whitening matched filter bank or bank of matched filters.
The parameter estimation unit is known in the art. The whitening filter tries to 'spread'
or 'warp' the signal so that it is easier to distinguish between signals by changing
the axes or point of reference. Supersaturated or overloaded conditions occur when
the number of users K exceeds the number of dimensions N. Number of dimensions is
determined by the physical parameters of the system. There are other filters being
developed that handle overloaded conditions, and the present invention is easily adaptable
to the different filters.
[0072] The filtered signal is then passed into a MUD detector 210. In the optimal case,
the MUD detector 210 is a full-complexity MAP detector. Suboptimal reduced complexity
MAP-based approaches are known in the relevant art.
[0073] The MUD detector 210 passes soft decisions in the form of reliability, or confidence,
measures to the single user decoders 220. The reliability measures are presented with
one associated with each symbol of each user to the bank of SU decoders 220. If the
signals were transmitted with interleaving, the reliability measures from the MUD
210 are first passed through a deinterleaver 240 and passed on in shuffled form to
the SU decoder 220. Shuffling refers to same values but changes the placement or presentation
of the values.
[0074] The single user decoders 220 calculate conditional probabilities, one for each decoded
symbol of each user, and output them as confidence values back to the MUD 210.
[0075] In one embodiment, there is a bank of error correction decoders that provide soft
output or restore values associated with prior probabilities. Viterbi decoders can
be used, but generally outputs hard values. Soft input soft output decoders, such
as MAP or soft-output Viterbi algorithm (SOVA) decoders, are generally more efficient
with respect to the present application.
[0076] If interleaving was present in the transmitter, an interleaver unit 230 performs
interleaving. The time-shuffled conditional probabilities are input back to the MUD
algorithm 210. Interleaver 230 and de-interleaver 240 are optional elements used when
interleaving is present in the transmitter. When the transmitter employs interleaving
it changes the presentation of the values but not the values themselves. IS-95 is
the standard for CDMA and is an example of interleaved signals.
[0077] The information between the MUD and the SU decoders repeats in subsequent iterations
until an asymptote is reached or the desired performance level is attained. At that
point, estimates of the data sequences for all active users are output 250. Operation
then commences for the next block of data, repeating the process described above.
[0078] The number of iterations for processing between the MUD and the SU decoders can be
set to a fixed counter, an asymptote is reached, or by checking if there were significant
changes to the data from the last iteration. Once finished with the intermediate iterations,
the data from the SU decoder can be output 250 as final estimates of what the user
sent.
[0079] As described herein, prior art TurboMUD suffers from limitations with respect to
real-time processing of data in a multi-user environment due to the complexity of
processing a large number of possibilities in the tree.
[0080] Figure 3 depicts one embodiment of the present invention showing the inventive subject
matter. This particular embodiment encompasses a data-whitening front end filter bank
300, an ordering unit 310 that re-orders users on a per-symbol basis based on received
signal power in the first iteration and confidence in subsequent iterations, any tree-pruned
MUD 320, a voting soft-metric production unit 330 that examines the bit estimates
in the surviving sequences determined in the MUD 320 and produces a soft reliability
values, and a bank of soft-input, soft-output single user (SU) decoders 340. The components
are connected in a turbo configuration, and it is assumed that interleaving and de-interleaving
are not present. The extension to a system with interleaving is an obvious variation
by adding a deinterleaver after the MUD 320 and an interleaver after the Decoders
340.
[0081] The apparatus shown in Figure 3 is now described in more detail. The received measurement
vector representing the received downconverted sample signal is passed through a data
whitening filter bank 300 and also to the parameter estimation unit 305. The filter
300 can either be a filter designed for an overloaded system to pre-process a signal
comprised of more transmissions than orthogonal channels, or a whitening filter that
is appropriate for fully loaded or underloaded systems. The filtered signal is then
passed to the MUD 320.
[0082] For each symbol interval in the first iteration, the ordering unit 310 re-assigns
the user indices according to decreasing received signal strength. The tree-pruned
MUD builds a decision tree starting with user 1, the user 2, all the way up to user
K. The ordering unit decides which user should be user 1, which should be user 2,
and so on. The ordering on the first iteration establishes an initial ranking according
to the greatest signal strength for that group of signals.
[0083] The parametric estimation unit estimates and tracks the signal strength or power
of each individual signal as well as various other signal parameters for each of the
transmitted signals, such as carrier phase, carrier offset, clock, etc. This power
information is forwarded to the ordering unit 310, which re-orders the signal indices
and forwards the re-ordered parameter data 370 to the tree pruned multi-user detector
unit 320. The decision tree is constructed by placing the highest power user-related
nodes in the first level of the tree nearest the tree root, the second-highest-power
user-related nodes in the second level of the tree, etc. By building the decision
tree with the highest power signal first, directly corresponding to calculating the
decision metric term by term, the first term contains measurements and information
relating to the highest power user. A reduced search of a decision tree built in this
manner is more likely to include paths (and nodes) that contain the 'correct' answer.
[0084] In other words, due to the advantageous power ordering in the decoding tree, the
low complexity suboptimal search of the tree will be more likely to include the branches
containing the correct answer, thus ultimately resulting in the correct answer more
often than when power ordering is not used.
[0085] For each symbol interval in subsequent iterations after the power ordering, ordering
unit 310 examines the conditional probabilities (reliability values) calculated by
the single-user detectors 340 and orders the users in decreasing values of likelihood
of correct detection. In effect, the users are renumbered so that, for each symbol
interval, the MUD detector 320 can operate on the symbol for the most reliable user
for that interval, first, improving the likelihood that the pruning is correct.
[0086] The ordering information may change from symbol interval to symbol interval within
the block of data under consideration. The re-ordered user indices and corresponding
confidence measures 370 are passed to the MUD 320 along with the vector of whitened
signals from the received signal 370. The MUD 320 may contain any tree-pruned MUD,
such as the M-algorithm based approach or a pruned tree based on MAPMUD. The system
'remembers' past output bit values in the event that the MUD determines that the ordering
was incorrect and the processing has to return to a known state.
[0087] The MUD 320 passes the surviving symbol combination possibilities (M survivors for
M algorithm, for instance, or several most likely, for other approaches) to the voting
section 330.
[0088] The voting procedure in section 330 is a novel improvement over generic TurboMUD
procedure.
[0089] MUD detector 320 passes the surviving symbol combination possibilities in terms of
M survivors to the voting unit 330. The voting procedure may be applied to synchronous
or asynchronous systems, but for simplicity only the synchronous case is described.
For each symbol interval, MUD 320 determines the likelihood of some number of symbol
combinations from the users, one from each user. For example, the MAP and ML MUD determine
the likelihood of 2
(# of users) combinations. The M-algorithm-based approaches then calculate the likelihood of M
combinations. Each of the M combinations represents a best guess as to what a bit
is for each user, e.g. each of the M surviving paths corresponds to one possible solution
that determines one bit value for each interfering transmission.
[0090] Thus, for the symbol interval, each survivor of unit 320 contains a symbol estimate
for every user, +1/-1 for BPSK, for instance. The voting procedure is then done for
each symbol interval, i.e. each bit. For each user, the estimate from every survivor
for that user is examined and included in a vote. After all survivors are examined
for the given user, the vote tally is divided by the total number of survivors, to
provide a normalized, soft estimate of the symbol or bit for the user. The process
is done for each user and all symbol intervals and provides K streams of reliability
measures or soft estimates of the symbols, one stream of soft symbol decisions for
each user is passed in time-ordered form to a bank of single-user decoders 340. Single
user decoders 42 use the information as a priori information and output conditional
probabilities that are then fed back to the ordering unit 310. If the MUD is based
upon the MAPMUD, then these conditional probabilities are also passed to the MUD 320.
[0091] In operation, rather than requiring the multi-user detector to provide the soft outputs
and thereby increase the computational complexity and processing time, hard outputs
from the multi-user detector are tolerated by converting these hard outputs into soft
outputs through the voting algorithm. In one embodiment the voting algorithm analyzes,
for each user, the various guesses from the multi-user detector as to what the particular
bit is, either +1 or -1.
[0092] It is understood that the output of the multi-user detector is a series of best guesses
as to what the particular decoded bit should be. These guesses are the result of the
application of various assumptions in the multi-user detection algorithm based upon
prior expected knowledge of the signals. The voting algorithm for each user averages
the results of a predetermined number of best guesses (for instance, M best guesses
for an M-algorithm implementation) and provides that average as a real number.
[0093] Referring to Figure 4, an illustrative example is provided, wherein there are 4 survivors
and 5 users and BPSK symbols are assumed. One symbol interval is shown. It will also
be assumed in the example that soft values will range from 0 to 1, with 1 corresponding
to a "certain" +1 and 0 corresponding to a "certain" -1. It can be seen that the voting
is done for each user, by examining the estimates for the users provided by the survivors.
[0094] For instance, assume User 1 has the following guesses as to the particular bit: +1,
+1, -1, +1. Then the average or vote result using the probabilities associated with
the guesses is .75 and represents the confidence factor for the particular bit being
a +1. It will be appreciated that the integers that are averaged are the hard outputs
of the multi-user detector. This obviates doing a soft output calculation in the MUD
itself, which takes an inordinate amount of time.
[0095] It is appreciated that in convolutional decoders, it is the job of the decoder to
establish that a given bit sequence is likely to predict the next bit level. For example,
if it is expected that the bit sequence should be +1, +1, +1, -1, +1, then probability
of the next bit being a +1 is very high and the decoder therefore outputs for that
particular bit a +1 with a certain degree of confidence, even if the detected bit
was a -1, thereby correcting a detection error cause by channel interference.
[0096] As a result of the processing by the TurboMUD, there are a number of survivors, here
labeled Survivor 1, Survivor 2, Survivor 3 and Survivor 4. These survivors correspond
to the best guesses for a given incoming bit after having been processed by the TurboMUD
through one of a number of its internal algorithms.
[0097] The best guesses as to which character should be for User 1 in Column 1 are: +1,
+1, -1, +1. A simple averaging of the associated probability values gives a vote result
of .75. It is this real number that is used by the follow on single-user decoder.
[0098] Thus in the illustrated example, there are 4 survivors and 5 users and BPSK symbols
are assumed. One symbol interval is shown. It will also be assumed in the example
that soft values will range from 0 to 1, with 1 corresponding to a "certain" +1 and
0 corresponding to a "certain" -1. It can be seen that the voting is done for each
user, by examining the estimates for the users provided by the survivors that were
determined in the MUD detector.
[0099] The problem with hard-input/hard-output convolutional decoders is that there is no
weight given to gray areas between +1 and -1 as to the probability that the particular
bit is correct. A soft value of a +1 times a particular confidence value is more useful
in the convolutional decoder coming to the correct result than the prior hard-input
method.
[0100] With the soft value output of the voting algorithm being applied to the single-user
decoder, the convolutional decoder can take into account real numbers as opposed to
integers in deciding what a given bit should be.
[0101] The soft input is provided to a single-user detector in a non-computationally intense
way. This means that soft values are applied to the decoder without having to generate
a soft output from a multi-user detector. The result of not having to generate a soft
output for multi-user detectors means that close to real time decoding is possible,
since the voting algorithm is a simple averaging process requiring little computational
overhead.
[0102] It will be appreciated that the improved performance of the single user decoder can
also be utilized to improve the performance of the MUD. The output of the single-user
detector, having been improved through the utilization of the aforementioned voting
algorithm, can be utilized in a feedback loop to the multi-user detector to improve
its selection process utilized.
[0103] Note that a multi-user detector system for a coded signal, such as a TurboMUD, analyzes
the incoming bit streams with respect to both the relationship among users during
one bit interval, and the relationship of bits within a bit sequence for one user.
Since the output of the single-user decoder is correcting the bit sequences for each
user, the correct bit sequences for some users (corresponding to high confidence values
determined by the SU decoder) when known by the multi-user detector results in more
accurate detection of the incoming bit streams for other users (corresponding to low
confidence values) during each individual bit interval. Moreover, given more accurate
detection by the multiuser detector, each single user decoder examines and corrects
the estimated data sequence for one user, and is more effective in error correction
as a result of the more accurate input.
[0104] For example, assume that for a given bit interval, the soft decision value for a
particular user is, for instance, 0.5 (no confidence in a +1 or a -1) for that particular
bit. Taking this confidence value and passing it to the single-user decoder might
result in a soft decided output of 0.6. By feeding back this soft value to the multi-user
detector, for the next time interval the confidence value form the voting algorithm
may indicate a 0.7. Using this in the multi-user detector, on the second iteration
the soft decision value may approach 0.9 (high confidence of a +1).
[0105] The result of the iterative processing improves the performance of the MUD processing.
As a result, the final output data streams, which are the main concern of the intended
listeners, are more accurate.
[0106] To quantify the type of improvement utilizing the voting algorithm, the soft output
from a MUD provides a computational complexity several orders of magnitude higher.
The processing time is cut by as much as one third and is often times cut in half
when utilizing the present inventive system.
[0107] The voting system provides confidence values on a symbol-by-symbol or bit-by-bit
basis for the estimates made by the multi-user detector, with the soft decision values
then being utilized as soft inputs to a bank of conventional single-user decoders.
The use of soft inputs improves the performance of each of the decoders when compared
to the performance that would be the result if the decoders were driven directly with
the output of a hard-output MUD within a TurboMUD system. Each single-user decoder
is a soft-input, soft-output decoder which operates on real number inputs as opposed
to discrete integers so that the output of the decoder is much less error prone. The
soft output of the decoder is also utilized to improve the multi-user detection process
by coupling confidence values from the single-user decoder to the multi-user detector
to allow it to recompute its estimates of the incoming signal. Examples of soft-input,
soft-output algorithms are the Soft Output Viterbi Algorithm (SOVA) decoder proposed
in Hagenauer, and Hoeher, "A Viterbi Algorithm with Soft-Decision Outputs and its
Applications," Globecom 89, the BCJR algorithm proposed in
L.R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, "Optimal decoding of linear codes for
minimizing symbol error rate", IEEE Trans. Inform. Theory, vol. 20, pp. 284-287, 1974 and the several algorithms discussed in
Robertson, Villebrun and Hoeher, "A Comparison of Optimal and Sub-Optimal MAP Decoding
Algorithms Operation in the Log Domain," ICC95.
[0108] In the non-iterative embodiment, no subsequent iterations are performed. Rather,
the estimates of the data sequences for all users are output from decoder 340 on output
line 350.
[0109] Referring to the flow chart of Figure 5, the starting point 400 begins with receiving
the discrete signal having been processed by a front end unit (not shown) and parameter
estimation information (parameter estimator not shown). The front end performs downconversion,
filtering and sampling of the analog signal from the antenna as described in the prior
art. The front end unit is coupled to the parameter estimation unit that provides
the input to the TurboMUD system. The parameter estimation unit also measures the
necessary processing information such as signal strength.
[0110] The input signal is processed by a bank of filters to condition the signal for overloaded
or under-loaded conditions. A whitening matched filter bank is used in the preferred
embodiment, thus the signal is 'warped' or spread-out into the space which reduces
the effects of other users in close proximity and lowers the effects of 'bleeding'
on the decision tree.
[0111] A loop is used to build a data block of J symbols from each of the K users per step
415, wherein step 420 checks to see if there is a full block of data. If there is
a full block of data, the processing continues to step 430. If the data block of J
symbols for each of the K users is not yet full, the loop continues until the data
block if full. Once the data block is full, the processing proceeds to step 430.
[0112] Step 430 checks whether this is a first iteration, which is easily accomplished by
a simple counter or whether the data has confidence values. If it is the first iteration,
the next step 450 is ordering of users by power, which ranks the users according to
the received signal strength. The data block at this stage is a set of real valued
discrete measurements, one associated with each whitening filter and bit time pair.
There is also book-keeping information from the ordering unit listing the users in
preferred order along with their identifying parameter values. The signal block and
user/parameter list is then available to the MUD for forming the decision tree 455.
[0113] If it is not the first iteration, there are confidence values, and the ordering unit
orders by confidence 440 based on the information from the decoders that is the soft
data.
[0114] The next step 455 is building and pruning of the decision tree in the MUD. The calculation
of the metric values on each branch of the decision tree 455 is based on knowledge
of the user's interference properties as provided by the parameter estimation unit
and a guess as to what the user could have sent (the users possibilities). There are
several algorithms such as a MAP based M-algorithm that is known to process the decision
tree and it is up to the implementation based on desired requirements. Other algorithms
include T-algorithm, or MT-algorithm, versions of the Log-MAP, or Max-Log MAP detectors.
[0115] The output of the MUD decision tree is a set of surviving best sequence estimates
with discrete values over users and time. The voting step 460 is performed on each
symbol in the data block for each user and evaluates the estimates of all survivors
and performs an averaging function. The output of the voting process is a matrix (K
users x J time or symbol intervals) of soft decision values with each matrix element
corresponding to a channel symbol from a particular user at a particular time interval.
[0116] The next step 470 is to use the matrix of confidence values in the bank of SISO decoders,
in which each decoder forms a decision tree for one user using convolutional code
for that user. Using a counter over users, either parallel or serial, a decision tree
is formed by taking a row of matrix soft values and creating a coding decision tree
for that row.
[0117] The output of 470 is another matrix (K x J) of soft values that corresponds to conditional
probabilities of the channel symbols. It is corrected bit or symbol decisions, e.g.
one stream of real values (soft data) for each user that goes to a condition block
480 for determining whether the output can go back to the ordering unit or stop iterative
processing. It should be readily understood by those skilled in the art that the two
dimensional K x J matrix passed throughout is merely an example, and the values can
be adapted into any two-dimensional form either transposing the elements or including
other elements within the array such as zeros as unused or place-holding elements
that change the size of the array.
[0118] There are several ways to terminate the iterations. There can be a fixed counter
value or the system can track the number of changes relative to prior iteration, or
a combination thereof. It is known that several iterations, such as three or four,
establish a fairly high reliability level and further processing yields only a slightly
higher level. This counting for several iterations and stopping will yield satisfactory
results in most conditions. Alternatively, the number of changes that take place due
to re-ordering and recalculations of confidence values by the SISO decoders can be
tracked and when the number is minimal or even zero, the processing can stop and the
data output 490 can be performed. The output is the estimates of the data bits (not
channel bits) that correspond to the original uncoded data bits going into the system
at each transmitter.
[0119] If the processing of the current block of symbols is not yet completed, the soft
value matrix containing conditional probabilities is transported back to the ordering
unit where it is checked for first pass, and then ordered by confidence.
[0120] It is readily apparent that the combination of a first iteration power ordering followed
by a voting procedure using soft values produces a low complexity soft TurboMUD that
is useful in a variety of applications and with varied methods for implementing the
system, and is therefore not limited to the embodiments presented herein, A wide range
of variations and modifications may be made without departing from the scope of the
present invention.
[0121] While the operation of the subject system has been described in terms of a wireless
communications network, it has application to any situation in which digitally encoded
interfering signals exist. Thus, the subject system has application to cable networks
in which multiple users are seeking to communicate with a head end system simultaneously.
[0122] In another embodiment, the present system is incorporated into reading storage mediums,
such as computer hard drives, and to separate signals from adjacent tracks when the
read head overlies portions of adjacent tracks. With the increasing density of storage
devices such as hard drives, memory cards, and various storing discs, there are significant
commercial advantages and incentives to place more data on smaller spaces and being
able to quickly and reliably extract the data. The processing schema of the present
invention is easily tailored to such an application as the data from the compact tracks
of the recorded medium from the storage devices resembles wireless data bits and requires
processing to promptly access and retrieve the desired data. The MUD processing with
respect to the storage devices refer to the plurality of signals received when the
optical head picks up the signals of the adjacent tracks of the storage mediums. The
tight spacing between the tracks creates a multiple user detection problem involving
the processing of the desired track signal from the other received tracks.
[0123] The skilled person would understand that the reference to a receiver apparatus is
intended to be taken in the broadest context and include wireless as well as terrestrial
communication systems as well as receiver devices in disc drive systems.
1. A receiver apparatus for processing a plurality of interfering signals,
characterised by comprising:
an ordering unit (310) for ordering said signals, wherein on a first iteration ordering
is based on received signal power of each signal, and wherein on subsequent iterations
ordering is based on confidence values for each signal;
a multi-user detector (320) coupled to said ordering unit (310) producing one or more
surviving states for each user signal;
a voting unit (330) coupled to said multi-user detector (320) for processing said
surviving states and generating a set of soft estimates of channel symbols for each
surviving state of each user signal; and
a bank of single user decoders (340, 320) coupled to said voting unit (330) and said
multi-user detectors (320), wherein said decoders (340, 320) process said soft estimates
of channel symbols to produce a final output for each channel symbol in each user
signal on a final iteration, and wherein said decoders (340, 320) produce said confidence
values for intermediate iterations.
2. A receiver apparatus according to Claim 1, further comprising a parameter estimation
unit (305) coupled to said ordering unit (310) and said multi-user detector (320)
for processing said receiver signals and storing information on said signals.
3. A receiver apparatus according to Claim 1 or 2, wherein said bank of single user decoders
is a bank of soft input soft output (SISO) decoders (340), and wherein said SISO decoders
(340) are selected from the group comprising: maximum a posteriori (MAP) decoders
and soft-output Viterbi algorithm (SOVA) decoders.
4. A receiver apparatus according to any one of the preceding claims, wherein said multi-user
detector (320) uses an algorithm selected from the group comprising: an M-algorithm,
T-algorithm, or MT-algorithm, based upon MAP, Log-MAP, or Max-Log MAP detectors.
5. A receiver apparatus according to any one of the preceding claims, further comprising
an interleaver coupled between said multi-user detector (320) and said voting section
(330) and a deinterleaver coupled between said decoder section (320, 340) and said
ordering unit (310).
6. A receiver apparatus according to any one of the preceding claims, further comprising
a filter unit (300) coupled to said multi-user detector (320).
7. A receiver apparatus according to Claim 6, wherein said filter unit (300) is selected
from the group comprising: a whitening matched filter bank and a matched filter bank.
8. A method for processing receiver signals from multiple users, comprising the steps
of:
a) processing said receiver signals in a front end to generate a digital stream of
signal samples;
b) performing parameter estimation of said digital stream; characterised by comprising the steps of
c) ordering of users, wherein said ordering is based on received signal power of each
user signal on a first iteration, and based on confidence values for each user on
subsequent iterations;
d) detecting a plurality of surviving states for each user;
e) voting on said surviving states to generate a set of soft-valued outputs for each
surviving state for each user;
f) decoding said soft-valued outputs to form a set of confidence values for each user;
g) repeating said steps (c) to (f) of confidence ordering, detecting, voting, and
decoding until a final state is obtained; and
h) outputting data estimates corresponding to a set of data bits.
9. A method for processing receiver signals according to Claim 8, wherein said final
state is determined by setting a fixed number of iterations.
10. A method for processing receiver signals according to Claim 9, wherein said fixed
number of iterations is one in a non-iterative mode.
11. A method for processing receiver signals according to Claim 8, wherein said final
state is determined by establishing an allowable difference between previous confidence
values and current confidence values.
12. A method for processing receiver signals according to any one of claims 8 to 11, further
comprising the step of processing said digital signal with a filter bank to create
one or a set of measurements corresponding to each filter and symbol-time pair.
13. A method for processing receiver signals according to any one of claims 8 to 12, further
comprising the steps of interleaving and de-interleaving.
14. A method for processing receiver signals according to any one of claims 8 to 13, further
comprising the step of filtering said digital stream.
15. A receiver system for processing a plurality of interfering signals from multiple
users, comprising:
a front end unit for receiving and processing incoming receptions;
a parameter estimator unit (305) coupled to said front end unit for processing said
receptions;
a filter section (300) coupled to said front end unit; and
a receiver apparatus according to any one of claims 1 to 7.
said ordering unit (310) being coupled to said parameter estimation unit (305) and
said multi-user detector (320) being coupled to said filter section (300).
1. Ein Empfängergerät zum Verarbeiten einer Vielzahl von Störsignalen,
dadurch gekennzeichnet, dass es Folgendes beinhaltet:
eine Ordnungseinheit (310) zum Ordnen der Signale, wobei das Ordnen bei einer ersten
Iteration auf der Empfangssignalleistung von jedem Signal basiert, und wobei das Ordnen
bei nachfolgenden Iterationen auf Konfidenzwerten für jedes Signal basiert;
einen Mehrbenutzer-Detektor (320), der an die Ordnungseinheit (310) gekoppelt ist,
der einen oder mehrere verbleibende Zustände für jedes Benutzersignal produziert;
eine Entscheidungseinheit (330), die zum Verarbeiten der verbleibenden Zustände und
zum Erzeugen einer Reihe von weichen Schätzungen von Kanalsymbolen für jeden verbleibenden
Zustand von jedem Benutzersignal an den Mehrbenutzer-Detektor (320) gekoppelt ist;
und
eine Bank von Einzeibenutzer-Decodern (340, 320), die an die Entscheidungseinheit
(330) und die Mehrbenutzer-Detektoren (320) gekoppelt ist, wobei die Decoder (340,
320) die weichen Schätzungen der Kanalsymbole verarbeiten, um einen Endausgang für
jedes Kanalsymbol in jedem Benutzersignal bei einer Enditeration zu produzieren, und
wobei die Decoder (340, 320) die Konfidenzwerte für Zwischeniterationen produzieren.
2. Empfängergerät gemäß Anspruch 1, das zum Verarbeiten der Empfängersignale und Speichern
von Informationen auf den Signalen des Weiteren eine Parameterschätzungseinheit (305)
beinhaltet, die an die Ordnungseinheit (310) und den Mehrbenutzer-Detektor (320) gekoppelt
ist.
3. Empfängergerät gemäß Anspruch 1 oder 2, wobei die Bank von Einzelbenutzer-Decodern
eine Bank von Soft-Input-Soft-Outpout-Decodern (SISO-Decodern) (340) ist, und wobei
die SISO-Decoder (340) aus der Gruppe ausgewählt werden, die Folgendes beinhaltet:
Maximum-a-posteriori-Decoder (MAP-Decoder) und Soft-Output-Viterbi-Algorithmus-Decoder
(SOVA-Decoder).
4. Empfängergerät gemäß einem der vorhergehenden Ansprüche, wobei der Mehrbenutzer-Detektor
(320) einen Algorithmus verwendet, der aus der Gruppe ausgewählt wird, die Folgendes
beinhaltet: einen M-Algorithmus, T- Algorithmus oder MT-Algorithmus, die auf MAP-,
Log-MAP- oder Max-Log-MAP-Detektoren basieren.
5. Empfängergerät gemäß einem der vorhergehenden Ansprüche, das des Weiteren einen Interleaver,
der zwischen den Mehrbenutzer-Detektor (320) und den Entscheldungsabschnitt (330)
gekoppelt ist, und einen Deinterleaver, der zwischen den Decoderabschnitt (320, 340)
und die Ordnungseinheit (310) gekoppelt ist, beinhaltet.
6. Empfängergerät gemäß einem der vorhergehenden Ansprüche, das des Weiteren eine Filtereinheit
(300) beinhaltet, die an den Mehrbenutzer-Detektor (320) gekoppelt ist.
7. Empfängergerät gemäß Anspruch 6, wobei die Filtereinheit (300) aus der Gruppe ausgewählt
wird, die Folgendes beinhaltet: eine Bank weiß machender angepasster Filter und eine
Bank angepasster Filter.
8. Ein Verfahren zum Verarbeiten von Empfängersignalen von mehreren Benutzern, das die
folgenden Schritte beinhaltet:
a) Verarbeiten der Empfängersignale an einem vorderen Ende, um einen Digitalstrom
von Signalproben zu erzeugen;
b) Durchführen einer Parameterschätzung des Digitalstroms; dadurch gekennzeichnet, dass es folgende Schritte beinhaltet:
c) Ordnen von Benutzern, wobei das Ordnen bei einer ersten Iteration auf der Empfangssignalleistung
von jedem Benutzersignal basiert und bei nachfolgenden Iterationen auf den Konfidenzwerten
für jeden Benutzer basiert;
d) Erkennen einer Vielzahl von verbleibenden Zuständen für jeden Benutzer;
e) Entscheiden über die verbleibenden Zustände, um eine Reihe von Softwert-Ausgängen
für jeden verbleibenden Zustand für jeden Benutzer zu erzeugen;
f) Decodieren der Softwert-Ausgänge, um eine Reihe von Konfidenzwerten für jeden Benutzer
zu bilden;
g) Wiederholen der Schritte (c) bis (f) des Konfidenzordnens, des Erkennens, des Entscheidens
und des Decodierens bis ein Endzustand erreicht wird; und
h) Ausgeben von Datenschätzungen, die einer Reihe von Datenbits entsprechen.
9. Verfahren zum Verarbeiten von Empfängersignalen gemäß Anspruch 8, wobei der Endzustand
durch Festlegen einer festen Anzahl an Iterationen bestimmt wird.
10. Verfahren zum Verarbeiten von Empfängersignalen gemäß Anspruch 9, wobei die feste
Anzahl an Iterationen eine in einem nicht iterativen Modus ist.
11. Verfahren zum Verarbeiten von Empfängersignalen gemäß Anspruch 8, wobei der Endzustand
durch Einrichten einer zulässigen Differenz zwischen vorherigen Konfidenzwerten und
gegenwärtigen Konfidenzwerten bestimmt wird.
12. Verfahren zum Verarbeiten von Empfängersignalen gemäß einem der Ansprüche 8 bis 11,
das des Weiteren den Schritt des Verarbeitens des digitalen Signals mit einer Filterbank
beinhaltet, um eine oder eine Reihe von Messungen, die jedem Filter und Symbol-Zeit-Paar
entsprechen, zu schaffen.
13. Verfahren zum Verarbeiten von Empfängersignalen gemäß einem der Ansprüche 8 bis 12,
das des Weiteren die Schritte des Interleaving und des Deinterleaving beinhaltet.
14. Verfahren zum Verarbeiten von Empfängersignalen gemäß einem der Ansprüche 8 bis 13,
das des Weiteren den Schritt des Filterns des Digitalstroms beinhaltet.
15. Ein Empfängersystem zum Verarbeiten einer Vielzahl von Störsignalen von mehreren Benutzern,
das Folgendes beinhaltet:
eine Einheit an einem vorderen Ende zum Empfangen und Verarbeiten von eingehenden
Empfängen;
eine Parameterschätzungseinheit (305), die zum Verarbeiten der Empfänge an die Einheit
an einem vorderen Ende gekoppelt ist;
einen Filterabschnitt (300), der an die Einheit an einem vorderen Ende gekoppelt ist;
und
ein Empfängergerät gemäß einem der Ansprüche 1 bis 7, wobei die Ordnungseinheit (310)
an die Parameterschätzungseinheit (305) gekoppelt ist und der Mehrbenutzer-Detektor
(320) an den Filterabschnitt (300) gekoppelt ist.
1. Un appareil récepteur pour traiter une pluralité de signaux interférents,
caractérisé en ce qu'il comprend :
une unité d'ordonnancement (310) pour ordonnancer lesdits signaux, dans laquelle lors
d'une première itération, l'ordonnancement est basé sur la puissance de signal reçue
de chaque signal, et dans lequel lors d'itérations subséquentes, l'ordonnancement
est basé sur des valeurs de confiance pour chaque signai ;
un détecteur multi-utilisateur (320) couplé à ladite unité d'ordonnancement (310)
produisant un ou plusieurs états survivants pour chaque signal utilisateur ;
une unité d'élection (330) couplée audit détecteur multi-utilisateur (320) pour traiter
lesdits états survivants et générer un jeu d'estimations souples de symboles de canal
pour chaque état survivant de chaque signal utilisateur ; et
un banc de décodeurs mono-utilisateur (340, 320) couplés à ladite unité d'élection
(330) et auxdits détecteurs multi-utilisateur (320), dans lequel lesdits décodeurs
(340, 320) traitent lesdites estimations souples de symboles de canal pour produire
une sortie finale pour chaque symbole de canal dans chaque signal utilisateur lors
d'une itération finale, et dans lequel lesdits décodeurs (340, 320) produisent lesdites
valeurs de confiance pour des itérations intermédiaires.
2. Un appareil récepteur selon la revendication 1, comprenant de plus une unité d'estimation
de paramètres (305) couplée à ladite unité d'ordonnancement (310) et audit détecteur
multi-utilisateur (320) pour traiter lesdits signaux de récepteur et stocker des informations
sur lesdits signaux.
3. Un appareil récepteur selon la revendication 1 ou 2, dans lequel ledit banc de décodeurs
mono-utilisateur est un banc de décodeurs à entrée souple / sortie souple (SISO) (340),
et dans lequel lesdits décodeurs SISO (340) sont sélectionnés dans le groupe comprenant
: des décodeurs maximum a posteriori (MAP) et des décodeurs par algorithme de Viterbi
à sortie souple (SOVA).
4. Un appareil récepteur selon n'importe laquelle des revendications précédentes, dans
lequel ledit détecteur multi-utilisateur (320) utilise un algorithme sélectionné dans
le groupe comprenant : un algorithme M, un algorithme T, ou un algorithme MT, basé
sur des détecteurs MAP, Log-MAP, ou Max-Log MAP.
5. Un appareil récepteur selon n'importe laquelle des revendications précédentes, comprenant
de plus un entrelaceur couplé entre ledit détecteur multi-utilisateur (320) et ladite
section d'élection (330) et un désentrelaceur couplé entre ladite section décodeur
(320, 340) et ladite unité d'ordonnancement (310).
6. Un appareil récepteur selon n'importe laquelle des revendications précédentes, comprenant
de plus une unité formant filtre (300) couplé audit détecteur multi-utilisateur (320).
7. Un appareil récepteur selon la revendication 6, dans lequel ladite unité formant filtre
(300) est sélectionnée dans le groupe comprenant : un banc de filtres adaptés blanchissants
et un banc de filtres adaptés.
8. Une méthode pour traiter des signaux de récepteur provenant d'utilisateurs multiples,
comprenant les étapes de :
a) traitement desdits signaux de récepteur dans un ordinateur frontal pour générer
un flux numérique d'échantillons de signaux ;
b) réalisation d'une estimation de paramètres dudit flux numérique ; caractérisée en ce qu'elle comprend les étapes de
c) ordonnancement des utilisateurs, dans laquelle ledit ordonnancement est basé sur
la puissance de signal reçue de chaque signal utilisateur lors d'une première itération,
et basé sur des valeurs de confiance pour chaque utilisateur lors d'itérations subséquentes
;
d) détection d'une pluralité d'états survivants pour chaque utilisateur ;
e) élection portant sur lesdits états survivants pour générer un jeu de sorties à
valeurs souples pour chaque état survivant pour chaque utilisateur ;
f) décodage desdites sorties à valeurs souples pour former un jeu de valeurs de confiance
pour chaque utilisateur;
g) répétition desdites étapes (c) à (f) d'ordonnancement de confiance, de détection,
d'élection, et de décodage jusqu'à ce qu'un état final soit obtenu ; et
h) sortie d'estimations de données correspondant à un jeu de bits de données.
9. Une méthode pour traiter des signaux de récepteur selon la revendication 8, dans laquelle
ledit état final est déterminé en posant un nombre fixe d'itérations.
10. Une méthode pour traiter des signaux de récepteur selon la revendication 9, dans laquelle
ledit nombre fixe d'itérations est de un dans un mode non itératif.
11. Une méthode pour traiter des signaux de récepteur selon la revendication 8, dans laquelle
ledit état final est déterminé en établissant une différence permise entre des valeurs
de confiance précédentes et des valeurs de confiance actuelles.
12. Une méthode pour traiter des signaux de récepteur selon n'importe laquelle des revendications
8 à 11, comprenant de plus l'étape de traitement dudit signal numérique avec un banc
de filtres pour créer une mesure ou un jeu de mesures correspondant à chaque filtre
et paire temps-symbole.
13. Une méthode pour traiter des signaux de récepteur selon n'importe laquelle des revendications
8 à 12, comprenant de plus les étapes d'entrelacement et de désentrelacement.
14. Une méthode pour traiter des signaux de récepteur selon n'importe laquelle des revendications
8 à 13, comprenant de plus l'étape de filtrage dudit flux numérique.
15. Un système récepteur pour traiter une pluralité de signaux interférents provenant
d'utilisateurs multiples, comprenant :
une unité formant ordinateur frontal pour recevoir et traiter des réceptions entrantes
;
une unité estimateur de paramètres (305) couplée à ladite unité formant ordinateur
frontal pour traiter lesdites réceptions ;
une section filtre (300) couplée à ladite unité formant ordinateur frontal ; et
un appareil récepteur selon n'importe laquelle des revendications 1 à 7, ladite unité
d'ordonnancement (310) étant couplée à ladite unité d'estimation de paramètres (305)
et ledit détecteur multi-utilisateur (320) étant couplé à ladite section filtre (300).