U.S. patent application number 11/686019 was filed with the patent office on 2007-09-20 for compress-forward coding with n-psk modulation for the half-duplex gaussian relay channel.
Invention is credited to Zhixin Liu, Vladimir M. Stankovic, Zixiang Xiong.
Application Number | 20070217541 11/686019 |
Document ID | / |
Family ID | 38517812 |
Filed Date | 2007-09-20 |
United States Patent
Application |
20070217541 |
Kind Code |
A1 |
Liu; Zhixin ; et
al. |
September 20, 2007 |
Compress-forward Coding with N-PSK Modulation for the Half-duplex
Gaussian Relay Channel
Abstract
Systems and methods that implement compress-forward (CF) coding
with N-PSK modulation for the relay channel are disclosed, where N
is greater than or equal to two. In the CF scheme, Wyner-Ziv coding
is applied at the relay to exploit the joint statistics between
signals at the relay and the destination. Quantizer design and
selection of channel code parameters are discussed. Low-density
parity check (LDPC) codes are used for error protection at the
source, and nested scalar quantization (NSQ) and irregular repeat
accumulate (IRA) codes for Wyner Ziv coding (or more precisely,
distributed joint source-channel coding) at the relay. The
destination system decodes original message information using (a) a
first signal received from the source in a first interval and (b) a
second signal that represents a mixture of transmissions from the
source and relay in the second interval.
Inventors: |
Liu; Zhixin; (College
Station, TX) ; Stankovic; Vladimir M.; (Lancaster,
LA) ; Xiong; Zixiang; (Spring, TX) |
Correspondence
Address: |
MEYERTONS, HOOD, KIVLIN, KOWERT & GOETZEL, P.C.
P.O. BOX 398
AUSTIN
TX
78767-0398
US
|
Family ID: |
38517812 |
Appl. No.: |
11/686019 |
Filed: |
March 14, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60782367 |
Mar 15, 2006 |
|
|
|
Current U.S.
Class: |
375/279 |
Current CPC
Class: |
H04L 1/005 20130101;
H04L 27/183 20130101; H03M 7/30 20130101; H04L 27/2053 20130101;
H04L 1/0041 20130101; H04L 1/0057 20130101; H03M 13/6312 20130101;
H03M 13/658 20130101; H04L 27/186 20130101; H03M 13/6306 20130101;
H03M 13/1197 20130101; H03M 13/1102 20130101; H03M 13/3746
20130101; H04L 2001/0097 20130101 |
Class at
Publication: |
375/279 |
International
Class: |
H04L 5/12 20060101
H04L005/12 |
Claims
1. A method for encoding a message m, the method comprising:
performing a first low-density parity check (LPDC) channel encoding
on a first portion m.sub.1 of the message m to obtain first encoded
data; performing a second LPDC channel encoding on a second portion
m.sub.2 of the message m to obtain second encoded data; converting
the first encoded data into a first stream of N-PSK constellation
points, wherein N is greater than one; converting the second
encoded data into a second stream of N-PSK constellation points;
generating a first output signal, for transmission to a relay and a
destination in a first interval, based on the first stream on N-PSK
constellation points; generating a second output signal, for
transmission to the destination in a second interval, based on the
second stream of N-PSK constellation points.
2. The method of claim 1, wherein the first interval and second
interval are disjoint intervals in time.
3. The method of claim 1 wherein said generating the first output
signal includes modulating an RF carrier using the first stream of
N-PSK constellation points during the first interval in time,
wherein said generating the second output signal includes
modulating the RF carrier using the second stream of N-PSK
constellation points during the second interval in time.
4. The method of claim 1, wherein the first interval and second
interval are disjoint bands of frequency.
5. The method of claim 1 wherein said generating the first output
signal includes modulating a first RF carrier in the first band of
frequency using the first stream of N-PSK constellation points,
wherein said generating the second output signal includes
modulating a second RF carrier in the second band of frequency
using the second stream of N-PSK constellation points.
6. A method comprising: receiving an input signal from a channel in
a first interval; recovering from the input signal a stream Y.sub.r
of N-PSK constellation points, wherein N is greater than one,
wherein the stream Y.sub.r corresponds to a stream X.sub.s1 of
N-PSK constellation points transmitted onto the channel by a source
system using N-PSK modulation; performing nested lattice
quantization on the stream Y.sub.r to generate a quantization value
W; performing joint source-channel encoding on the quantization
value W to obtain encoded data; converting the encoded data into a
stream X.sub.r of N-PSK constellation points; generating an output
signal, for transmission to a destination system in a second
interval, based on the stream X.sub.r of N-PSK constellation
points.
7. The method of claim 6, wherein the first interval and second
interval are disjoint intervals in time.
8. The method of claim 6, wherein the first interval and second
interval are disjoint bands of frequency.
9. The method of claim 6, wherein a Voronoi volume q of a fine
lattice of the nested lattice quantization is optimized to minimize
a Wyner-Ziv operational distortion-rate function subject to a rate
constraint.
10. The method of claim 6, wherein said performing joint
source-channel encoding includes performing an irregular repeat
accumulate (IRA) encoding on the quantization value W to obtain the
encoded data.
11. The method of claim 6, wherein said performing joint
source-channel encoding includes performing a plurality of
irregular repeat accumulate (IRA) encodings on corresponding bit
planes of the quantization value W to obtain the encoded data.
12. A method for decoding received information in order to recover
a message m, the system comprising: receiving a first input signal
in a first interval and a second input signal in a second interval;
recovering from the first input signal a first stream Y.sub.d1 of
data and from the second input signal a second stream Y.sub.d2 of
data, wherein the first stream Y.sub.d1 is a first channel-modified
version of a stream X.sub.s1 transmitted in the first interval by a
source system using N-PSK modulation, wherein N is greater than
one, wherein the second stream Y.sub.d2 is a mixture including a
channel-modified version V.sub.s of stream X.sub.s2 transmitted in
the second interval by the source system using said N-PSK
modulation and a channel-modified version V.sub.r of a stream
X.sub.r transmitted in the second interval by a relay system using
said N-PSK modulation, wherein the relay system is configured to
(a) receive stream Y.sub.r which is a second channel-modified
version of the stream X.sub.s1 transmitted by the source system,
(b) perform nested lattice quantization on the stream Y.sub.r to
obtain index W and (b) perform joint source-channel encoding on the
index W to obtain the stream X.sub.r; generating an estimate for
the index W using the first stream Y.sub.d1 and the second stream
Y.sub.d2; generating an estimate for the stream Y.sub.r using the
estimate for the index W; performing maximum ratio combining based
on the first stream Y.sub.d1 and the estimate for the stream
Y.sub.r in order to obtain likelihood information; performing
channel decoding on the likelihood information to generate an
estimate for a first portion m.sub.1 of the message m.
13. The method of claim 12 further comprising: performing said
joint source-channel encoding on the index estimate to obtain an
estimate for the stream X.sub.r; scaling the estimate for the
stream X.sub.r to obtain an estimate for the channel-modified
version V.sub.r; performing channel decoding on a difference
between the second stream Y.sub.d2 and the estimate of the version
V.sub.r to generate an estimate for a second portion m.sub.2 of the
message m.
14. The method of claim 12, wherein the first interval and second
interval are disjoint intervals in time.
15. The method of claim 12, wherein the first interval and second
interval are disjoint bands of frequency.
16. The method of claim 12, wherein the iterative decoder is
configured to reverse an effect of said joint source-channel
encoding of the relay system.
17. A computer system comprising: a memory medium configured to
store program instructions; a processor configured to access the
program instructions from the memory medium and execute the program
instructions, wherein the program instructions are executable to
implement: receiving an input signal from a channel in a first
interval; recovering from the input signal a stream Y.sub.r of
data, wherein the stream Y.sub.r corresponds to a stream X.sub.s1
of N-PSK constellation points transmitted onto the channel by a
source system using N-PSK modulation, wherein N is greater than
one; performing nested lattice quantization on the stream Y.sub.r
to generate a quantization value W; performing joint source-channel
encoding on the quantization value W to obtain encoded data;
converting the encoded data into a stream X.sub.r of N-PSK
constellation points; generating an output signal, for transmission
to a destination system in a second interval, based on the stream
X.sub.r of N-PSK constellation points.
18. The computer system of claim 17, wherein the first interval and
second interval are disjoint intervals in time.
19. The computer system of claim 17, wherein the first interval and
second interval are disjoint bands of frequency.
20. The computer system of claim 17, wherein said performing joint
source-channel encoding includes performing a plurality of
irregular repeat accumulate (IRA) encodings on corresponding bit
planes of the quantization value W to obtain the encoded data.
21. A computer-readable memory medium configured to stored program
instructions, wherein the program instructions are executable to
implement: receiving an input signal from a channel in a first
interval; recovering from the input signal a stream Y.sub.r of
data, wherein the stream Y.sub.r corresponds to a stream X.sub.s1
of N-PSK constellation points transmitted onto the channel by a
source system using N-PSK modulation, wherein N is greater than
one; performing nested lattice quantization on the stream Y.sub.r
to generate a quantization value W; performing joint source-channel
encoding on the quantization value W to obtain encoded data;
converting the encoded data into a stream X.sub.r of N-PSK
constellation points; generating an output signal, for transmission
to a destination system in a second interval, based on the stream
X.sub.r of N-PSK constellation points.
22. The memory medium of claim 21, wherein the first interval and
second interval are disjoint intervals in time.
23. The memory medium of claim 21, wherein the first interval and
second interval are disjoint bands of frequency.
Description
PRIORITY DATA
[0001] This application claims the benefit of U.S. Provisional
Application No. 60/782,367, filed on Mar. 15, 2006, entitled
"Practical Compress-and-Forward Code Design for the Half-Duplex
Relay Channel", invented by Liu, Stankovic and Xiong, which is
hereby incorporated by reference in its entirety.
FIELD OF THE INVENTION
[0002] The present invention relates to the field of information
encoding/decoding, and more particularly to systems and methods for
implementing compress-and-forward coding for the relay channel.
DESCRIPTION OF THE RELATED ART
[0003] The relay channel, introduced by van der Meulen
("Three-terminal communication channels," Advanced Applied
Probability, vol. 3, pp. 120-154, 1971), includes three terminals:
the source, the relay and the destination. The source broadcasts a
message to both the relay and the destination. The relay processes
the message it receives from the source and forwards the processed
signal to the destination, which reconstructs the original message
by decoding the signals received from both the source and the
relay.
[0004] According to the observe-forward (OF) strategy of coding for
the relay channel, the relay does not attempt to decode the signal
from the source, but merely forwards a processed version of its
received signal to the destination. According to the
compress-forward (CF) subcategory of OF, the relay compresses its
received signal and forwards the compressed version to the
destination. Existing CF strategies leave a lot to be desired in
terms of performance. Thus, there exists a need for new systems and
methodologies for performing CF coding for the relay channel.
SUMMARY
[0005] At a source system, a message is split up into two portions.
The two portions are encoded with two encoders (e.g., LDPC
encoders), respectively. The first encoded portion is transmitted
in a first interval using N-PSK modulation, where N is an integer
greater than or equal to two. A relay system and a destination
system listen to this transmission in the first interval. The
second encoded portion is transmitted in a second interval using
N-PSK modulation. The destination system listens to this
transmission in the second interval. The first and second intervals
may be intervals in time or intervals in frequency.
[0006] The relay system receives a stream Y.sub.r of symbols
corresponding the first encoded portion in the first interval,
perform nested lattice quantization (NLQ) on the stream Y.sub.r to
generate an index block W, and performs joint source-channel
encoding on the index blockWto determine encoded data U.sub.r. The
encoded data is transmitted to the destination using N-PSK
modulation.
[0007] The destination system receives a first stream corresponding
to the source system's transmission in the first interval, and also
receives a second stream corresponding to a mixture of the source
system's transmission in the second interval and the relay system's
transmission in the second interval. The destination system uses
the first stream and the second stream to generate estimates for
the message portions. Note that the first message portion is
represented in both the first stream and the second stream.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The following detailed description makes reference to the
accompanying drawings, which are now briefly described.
[0009] FIG. 1A illustrates one embodiment of a source encoder
system.
[0010] FIG. 1B illustrates one embodiment of a source encoding
method.
[0011] FIG. 2A illustrates one embodiment of a relay system.
[0012] FIG. 2B illustrates one embodiment of compressing
information from a source system and forwarding the compressed
information to a destination system.
[0013] FIG. 3 illustrates one embodiment of a destination decoder
system.
[0014] FIG. 4 illustrates one embodiment of a method for recovering
message information from signals received from a source system and
a relay system.
[0015] FIG. 5 shows one embodiment of the relay channel with three
nodes: the source, the relay and the destination.
[0016] FIG. 6 illustrates one embodiment of the relay channel,
where the relay is located along the line between the source and
the destination.
[0017] FIG. 7 illustrates one embodiment of the CF coding scheme
for half-duplex relaying based on WZC (Wyner-Ziv coding).
[0018] FIG. 8 shown an example of the conditional distribution of
Y.sub.r given particular values of Y.sub.d1, with d=9 m.
[0019] FIG. 9 illustrates the distributed joint source-channel
coding (DJSCC) of binary source X with decoder side information Y
using systematic IRA codes that are designed for both the physical
noisy channel and the "virtual" correlation channel between X and
Y.
[0020] FIG. 10 shows operational distortion-rate curves of SWC-NSQ
(assuming ideal SWC after NSQ) of Y.sub.r with decoder side
information Y.sub.d1 for several different nesting ratios N, where
each curve is generated by varying the quantization stepsize q
while fixing N. The lower envelope of these curves is the
operational distortion-rate function of SWC-NSQ. The relay is 9 m
away from the source, and
|c.sub.sd|.sup.2=0.85|c.sub.sr|.sup.2.
[0021] FIG. 11A illustrates the conditional probabilities of
different NSQ indices given the side information Y.sub.d1 when the
nesting ratio is N=4 in the Gaussian relay setup with d=8 m.
[0022] FIG. 1B illustrates soft input for iterative decoding of
DJSCC as L.sub.ch.sup.(1)(y.sub.d1) for the first bit plane. For
the second bit plane, since the IRA code rate is approximately 1,
there is no need to evaluate the information for iterative
decoding.
[0023] FIGS. 12A and 12B are tables that present the conditional
entropy and the corresponding degree distribution polynomials
.lamda.(x) and .rho.(x) for each bit plane of CF for Gaussian relay
channels using nested scalar quantization when (A) d=7 m and (B)
d=9 m.
[0024] While the invention is described herein by way of example
for several embodiments and illustrative drawings, those skilled in
the art will recognize that the invention is not limited to the
embodiments or drawings described. It should be understood, that
the drawings and detailed description thereto are not intended to
limit the invention to the particular form disclosed, but on the
contrary, the intention is to cover all modifications, equivalents
and alternatives falling within the spirit and scope of the present
invention as defined by the appended claims. The headings used
herein are for organizational purposes only and are not meant to be
used to limit the scope of the description or the claims. As used
throughout this specification, the word "may" is used in a
permissive sense (i.e., in the sense of "having the potential to"),
rather than in the mandatory sense (i.e., in the sense of "must").
Furthermore, the phrase "A includes B" is used to mean "A includes
B, but is not limited to B".
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Source Encoder System
[0025] In one set of embodiments, a source encoder system 100 for
encoding a message m may be configured as suggested in FIG. 1A. The
source encoder system 100 includes an encoder 105, an encoder 110,
a mapping unit 112 and a modulation unit 115. The message m is a
block of binary data. The system elements of the source encoder
system 100 may be partitioned among one or more hardware devices
(e.g., integrated circuits) in any of various ways. The one or more
hardware devices may include dedicated circuitry and/or a set of
one or more processors controlled by software (i.e., program
instructions).
[0026] The encoder 105 is configured to perform channel encoding on
a first portion m.sub.1 of the message m to obtain encoded data
U.sub.s1. The encoder 105 may be a low-density parity check (LDPC)
encoder, e.g., an LDPC encoder designed as described in the section
below entitled "LDPC Code Design". For more information on LDPC
codes, please refer to T. Richardson, M. Shokrollahi, and R.
Urbanke, "Design of capacity approaching irregular low-density
parity-check codes", IEEE Trans. Inf. Theory, vol. 47, no. 2, pp.
619-637, February 2001, which is hereby incorporated by reference
in its entirety. The encoder 105 may be configured to achieve rate
R.sub.r(.alpha.)/.alpha., where .alpha. is a real number between
zero and one, where R.sub.r(.alpha.) satisfies the condition given
in expression (7). R.sub.r(.alpha.) represents the rate over the
channel from the relay to destination.
[0027] The encoder 110 is configured to perform channel encoding on
a second portion m.sub.2 of the message m to obtain encoded data
U.sub.s2. The encoder 110 may be a low-density parity check (LDPC)
encoder, e.g., an LDPC encoder designed as described below in the
section entitled "LDPC Code Design". The encoder 110 may be
configured to achieve rate R.sub.d(.alpha.)/(1-.alpha.), where
R.sub.d(.alpha.) represents the transmission rate on the channel
from the source to the destination. R.sub.d(.alpha.) may be
selected to satisfy expression (7B).
[0028] The mapping unit 112 is configured to (1) convert the binary
values of the encoded data U.sub.s1 into a stream X.sub.s1 of
points belonging to an N-PSK constellation having power constraint
value P.sub.s1 and (2) convert the binary values of the encoded
data U.sub.s2 into a stream X.sub.s2 of points belonging to an
N-PSK constellation having power constraint value P.sub.s2, where N
is an integer greater than or equal to two. For example, in the
case of BPSK (i.e., N=2), the encoded data U.sub.s1 is converted
into a stream X.sub.s1 of +A.sub.1 and -A.sub.1 values, where
A.sub.1 is the square root of the power constraint value P.sub.s1.
Similarly, the encoded data U.sub.s2 is converted into a stream
X.sub.s2 of +A.sub.2 and -A.sub.2 values, where A.sub.2 is the
square root of the power constraint value P.sub.s2. In the cases
where N is greater than two, the N-PSK constellation includes
complex values, and thus, the mapping unit 112 may include a pair
of output lines in order to output the real and imaginary parts of
the complex constellation point.
[0029] The modulation unit 115 is configured to generate a first
output signal for transmission in a first interval based on the
stream X.sub.s1 and generate a second output signal for
transmission in a second interval based on the stream X.sub.s2. The
mapping unit 112 and the modulation unit 115 may be configured to
implement N-PSK modulation.
[0030] In some embodiments, the first interval and second interval
are disjoint intervals in time. Thus, the modulation unit 115 may
be configured to (a) modulate an RF carrier signal using the stream
X.sub.s1 in order to generate the first output signal in a first
time interval and (b) modulate the RF carrier signal using the
stream X.sub.s2 in order to generate the second output signal in a
second time interval. The first output signal may be transmitted in
the first time interval and the second output signal may be
transmitted in the second time interval.
[0031] In other embodiments, the first interval and second interval
are disjoint bands of frequency. Thus, the modulation unit 115 may
be configured to (a) modulate a first RF carrier signal using the
stream X.sub.s1 in order to generate the first output signal in a
first frequency band and (b) modulate a second RF carrier signal
using the stream X.sub.s2 to generate the second output signal in a
second frequency band. The transmissions of the first output signal
and the second output signal may occur in a time-overlapping
fashion (e.g., during the same interval in time).
Source Encoder Method
[0032] In one set of embodiments, a method 150 for encoding a
message m may involve a number of actions/operations as illustrated
in FIG. 1B.
[0033] At 155, channel encoding is performed on a first portion
m.sub.1 of the message m in order to obtain encoded data U.sub.s1.
The channel encoding on the first portion m.sub.1 may be performed
using a first encoder having a low-density parity check (LDPC)
structure. (The term "encoder" is used herein in a sense that is
broad enough to encompass an encoder realized in hardware, an
encoder realized in software, or an encoder realized as a
combination of hardware and software.) The LDPC structure may be
designed as described in the section below entitled "LDPC Code
Design". The channel encoding may achieve rate
R.sub.r(.alpha.)/.alpha., where .alpha. is a real number between
zero and one.
[0034] At 160, channel encoding is performed on a second portion
m.sub.2 of the message m in order to obtain encoded data U.sub.s2.
The channel encoding on the second portion m.sub.2 may be performed
using a second encoder having a low-density parity check (LDPC)
structure. The LDPC structure may be designed as described in the
section below entitled "LDPC Code Design". The channel encoding may
achieve rate R.sub.d(.alpha.)/(1-.alpha.).
[0035] At 163, the encoded data U.sub.s1 is converted into a stream
X.sub.s1 of points belonging to an N-PSK constellation having power
constraint value P.sub.s1, where N is an integer greater than or
equal to two.
[0036] At 165, a first output signal is generated, based on the
stream X.sub.s1, for transmission in a first interval. Together,
operations 163 and 165 implement N-PSK modulation based on the
encoded data U.sub.s1.
[0037] At 168, the encoded data U.sub.s2 is converted into a stream
X.sub.s1 of points belonging to an N-PSK constellation having power
constraint value P.sub.s2.
[0038] At 170, a second output signal is generated, based on the
stream X.sub.s2, for transmission in a second interval. Together,
operations 168 and 170 implement N-PSK modulation based on the
encoded data U.sub.s2.
[0039] In some embodiments, the first interval and second interval
are disjoint intervals in time. Thus, operation 165 may include
modulating an RF carrier signal using the stream X.sub.s1 in order
to generate the first output signal in a first time interval, and
operation 170 may include modulating the RF carrier signal using
the stream X.sub.s2 in order to generate the second output signal
in a second time interval. The first output signal may be
transmitted in the first time interval and the second output signal
may be transmitted in the second time interval.
[0040] In other embodiments, the first interval and second interval
are disjoint bands of frequency. Thus, the operation 165 may
include modulating a first RF carrier signal using the stream
X.sub.s1 in order to generate the first output signal in a first
frequency band, and operation 170 may include modulating a second
RF carrier signal using the stream X.sub.s2 to generate the second
output signal in a second frequency band. The transmissions of the
first output signal and the second output signal may occur in a
time-overlapping fashion (e.g., during the same interval in
time).
Relay Encoder System
[0041] In one set of embodiments, a relay system 200 may be
configured as suggested in FIG. 2A. The relay system includes a
receiver 210, a quantization unit 215, an encoder unit 220, a
mapping unit 223 and a modulation unit 225. The system elements of
the relay system may be partitioned among one or more hardware
devices (e.g., integrated circuits) in any of various ways. The one
or more hardware devices may include dedicated circuitry and/or a
set of one or more processors controlled by software (i.e., program
instructions).
[0042] The receiver 210 is configured to receive an input signal
from a channel in the first interval and recover input data Y.sub.r
from the input signal. The input data Y.sub.r corresponds to the
stream X.sub.s1 (of points from an N-PSK constellation having power
constraint value P.sub.s1) transmitted onto the channel by the
source system using N-PSK modulation, where N is greater than one.
The receiver 210 may include an N-PSK demodulator.
[0043] The quantization unit 215 is configured to perform nested
lattice quantization on the input data Y.sub.r to generate a block
W of quantization indices. The nested lattice quantization may
involve quantization with respect to a coarse lattice and a fine
lattice. The coarse lattice may be a sublattice of the fine
lattice. For more information on how to perform nested lattice
quantization, please refer to the section below entitled "CF Code
Design".
[0044] The Voronoi volume q (also referred to as step size q in the
1-D case) of the fine lattice may be optimized to minimize the
Wyner-Ziv operational distortion-rate function subject to a rate
constraint. Please refer to the section below entitled "CF Code
Design" for description of the optimization process.
[0045] The nesting ratio (i.e., the ratio of coarse lattice Voronoi
volume to fine lattice Voronoi volume) may be determined by the WZC
rate (conditional entropy of the quantization index) and the
distortion, as described in the section below entitled "CF Code
Design". WZC is an acronym for Wyner-Ziv coding.
[0046] The encoder unit 220 may be configured to perform joint
source-channel encoding on the block W to obtain encoded data
U.sub.r. The encoder unit 220 may be designed as described in the
sections below entitled "Distributed Joint Source-Channel Coding
(DJSCC) at the Relay" and "CF Code Design".
[0047] In some embodiments, the encoder unit 220 may include one or
more irregular repeat accumulate (IRA) encoders configured to
perform joint source-channel encoding. The encoded data U.sub.r may
be the parity bits generated by the one or more IRA encoders.
[0048] In one embodiment, the encoder unit 220 includes exactly one
IRA encoder. In another embodiment, the encoder unit 220 may
include a plurality of IRA encoders configured to perform joint
source-channel encoding on corresponding bit planes of the block W,
as described in the sections below entitled "Distributed Joint
Source-Channel Coding (DJSCC) at the Relay" and "CF Code
Design".
[0049] The mapping unit 223 may be configured to convert the
encoded data U.sub.r into a stream X.sub.r of points belonging to
an N-PSK constellation having power constraint value P.sub.r. For
example, in the case of BPSK (i.e., N=2), the encoded data U.sub.r
is converted into a stream X.sub.r of +A.sub.r and -A.sub.r values,
where A.sub.r is the square root of the power constraint value
P.sub.r. In the cases where N is greater than two, the N-PSK
constellation includes complex values, and thus, the mapping unit
112 may include a pair of output lines in order to output the real
and imaginary parts of the complex constellation point.
[0050] The modulation unit 225 may be configured to generate an
output signal, for transmission to a destination system in the
second interval, based on the stream X.sub.r. The modulation unit
225 may generate the output signal by modulating an RF carrier
signal using the stream X.sub.r. Together, the mapping unit 223 and
the modulation unit 225 may be configured to implement N-PSK
modulation.
[0051] As noted above, the first interval and second interval may
be disjoint intervals in time. Alternatively, the first interval
and second interval may be disjoint bands of frequency.
Relay Encoder Method
[0052] In one set of embodiments, method 250 for relaying data from
a source system to a destination system may involve the following
actions/operations, as illustrated in FIG. 2B.
[0053] At 255, input data Y.sub.r is recovered from an input signal
received from a channel in the first interval. The input data
Y.sub.r corresponds to the stream X.sub.s1 (of points from an N-PSK
constellation having power constraint value P.sub.s1) transmitted
onto the channel by the source system using N-PSK modulation, where
N is greater than one. The reception process may involve performing
N-PSK demodulation on an RF signal captured from a receive
antenna.
[0054] At 260, nested lattice quantization (NLQ) is performed on
the input data Y.sub.r to generate a block W of quantization
indices. As noted above, the nested lattice quantization may
involve quantization with respect to a coarse lattice and a fine
lattice. The coarse lattice may be a sublattice of the fine
lattice. For more information on how to perform the nested lattice
quantization, please refer to the section below entitled "CF Code
Design".
[0055] The Voronoi volume q of the fine lattice may be optimized to
minimize the Wyner-Ziv operational distortion-rate function subject
to a rate constraint. The nesting ratio may be determined as
described above.
[0056] At 265, joint source-channel encoding is performed on the
block W to obtain encoded data U.sub.r. The joint source-channel
encoding may be performed as described in the sections below
entitled "Distributed Joint Source-Channel Coding (DJSCC) at the
Relay" and "CF Code Design".
[0057] In some embodiments, the joint source-channel encoding may
be performed using one or more irregular repeat accumulate (IRA)
encoders. The encoded data U.sub.r may be the parity bits generated
by the one or more IRA encoders.
[0058] In one embodiment, the joint source-channel encoding may be
performed using exactly one IRA encoder. In another embodiment, the
joint source-channel encoding may be performed using a plurality of
IRA encoders to encode corresponding bit planes of the block W, as
described in the sections below entitled "Distributed Joint
Source-Channel Coding (DJSCC) at the Relay" and "CF Code
Design".
[0059] At 268, the encoded data U.sub.r may be converted into a
stream X.sub.r of points belonging to an N-PSK constellation having
power constraint value P.sub.r.
[0060] At 270, an output signal may be generated, for transmission
to a destination system in the second interval, based on the stream
X.sub.r. The output signal may be generated by modulating an RF
carrier using the stream X.sub.r. Together, operations 268 and 270
may implement an N-PSK modulation.
[0061] As noted above, the first interval and second interval may
be disjoint intervals in time.
[0062] Alternatively, the first interval and second interval may be
disjoint bands of frequency.
Destination Decoder System
[0063] In one set of embodiments, a decoder system 300 for
recovering a message m based on information received from the
source system and information received from the relay system may be
configured as illustrated in FIG. 3. The decoder system 300
includes a receiver 310, an iterative decoder 315, an estimator
320, a maximum ratio combining (MRC) unit 325, a channel decoder
330, an encoder unit 335, a mapping unit 337, a scaling unit 338, a
difference unit 339 and a channel decoder 345.
[0064] The decoder system 300 may be implemented using dedicated
circuitry and/or a set of one or more processors controlled by
software (i.e., program instructions). The system elements of the
decoder system 300 may be partitioned among one or more hardware
devices (e.g., integrated circuits) in any of various ways. The one
or more hardware devices may include dedicated circuitry and/or a
set of one or more processors controlled by software (i.e., program
instructions).
[0065] The receiver 310 is configured to: recover a stream Y.sub.d1
of data (e.g., a stream of points in the complex plane) from a
first input signal in a first interval, and, recover a stream
Y.sub.d2 of data (e.g., a stream of complex points) from a second
input signal in a second interval. N is an integer greater than
one. The stream Y.sub.d1 is a channel-modified version of the
stream X.sub.s1 (of points from an N-PSK constellation having power
constraint value P.sub.s1) transmitted in the first interval by the
source system using N-PSK modulation. N is an integer greater than
one.
[0066] The stream Y.sub.d2 is a mixture including (a) a
channel-modified version of the stream X.sub.s2 transmitted in the
second interval by the source system using N-PSK modulation and (b)
a channel-modified version of the stream X.sub.r transmitted in the
second interval by the relay system using N-PSK modulation. Recall
that the relay system is configured to: receive stream Y.sub.r
(which is a channel-modified version of the stream X.sub.s1
transmitted by the source system); perform nested lattice
quantization on the stream Y.sub.r to obtain index block W; perform
joint source-channel encoding on the index block W to obtain the
encoded data U.sub.r; and map the encoded data U.sub.r to the
stream X.sub.r of points from an N-PSK constellation having power
constraint value P.sub.r.
[0067] The iterative decoder 315 is configured to generate an
estimate for the index block W using the stream Y.sub.d1 and the
stream Y.sub.d2. The iterative decoder 315 may be configured to
perform joint source-channel decoding on the stream Y.sub.d2 using
the stream Y.sub.d1 as side information. For more information on
the design of the iterative decoder 315, please refer to the
section below entitled "CF Code Design".
[0068] In the process of performing the joint source-channel
decoding, the iterative decoder 315 may utilize structure
information that represents the structure of the joint
source-channel encoder(s) employed by the relay system. This
structure information may be stored in the decoder system 300 and
accessed by the iterative decoder 315. In an alternative
embodiment, the iterative decoder 315 may be realized in terms of
dedicated circuitry. In this case, the structure information may be
built into the dedicated circuitry.
[0069] The estimator 320 is configured to generate an estimate for
the stream Y.sub.r using the estimate for the index W. The
estimator 320 may be a maximum mean square error estimator. For
more information on the design of the estimator 320, please refer
to the section below entitled "CF Code Design".
[0070] The maximum ratio combining (MRC) unit 325 is configured to
compute information I.sub.1 based on the stream Y.sub.d1 and the
estimate for the data Y.sub.r. The information I.sub.1 may be log
likelihood ratios for a first portion m.sub.1 of message m given
Y.sub.d1 and Y.sub.r. For more information on how to perform the
maximum ratio combining, please refer to the section below entitled
"CF Code Design".
[0071] The channel decoder 330 is configured to operate on the
information I.sub.1 to generate an estimate for message portion
m.sub.1. The channel decoder 330 may utilize structure information
that describes the structure of channel encoder 105 of the source
system. Alternatively, the channel decoder 330 may be realized
using dedicated circuitry, in which case the structure information
may be built into the dedicated circuitry.
[0072] The channel decoder 330 may be an iterative decoder and may
be designed as described in the section below entitled "CF Code
Design".
[0073] The encoder unit 335 is configured to perform joint
source-channel encoding on the estimate of the index block W to
obtain an estimate for the encoded data U.sub.r. The joint
source-channel encoding performed by the encoder unit 335 may be
identical to the joint source-channel encoding performed by the
relay system.
[0074] The mapping unit 337 is configured to convert the estimate
for data U.sub.r into a stream of points from the N-PSK
constellation having power constraint P.sub.r in order to generate
an estimate {circumflex over (X)}.sub.r for the stream X.sub.r
generated at the relay system.
[0075] The scaling unit 338 is configured to scale the estimate
{circumflex over (X)}.sub.r by the complex factor c.sub.rd to
generate the scaled stream c.sub.rd{circumflex over (X)}.sub.r.
Thus, scaling unit 338 may be configured to perform complex
multiplication.
[0076] The difference unit 339 is configured to subtract the scaled
stream c.sub.rd{circumflex over (X)}.sub.r from the stream Y.sub.d2
in order to obtain a difference stream.
[0077] The channel decoder 345 may be configured to operate on the
difference stream in order to generate an estimate for message
portion m.sub.2. The channel decoder 345 may utilize structure
information that describes the structure of channel encoder 110 of
the source system. Alternatively, the channel decoder 345 may be
realized using dedicated circuitry, in which case the structure
information may be built into the dedicated circuitry.
[0078] The channel decoder 345 may be an iterative decoder and may
be designed as described in the section below entitled "CF Code
Design".
[0079] As noted above, the first interval and second interval may
be disjoint intervals in time. Alternatively, the first interval
and second interval may be disjoint bands of frequency.
Destination Decoder Method
[0080] In one set of embodiments, a decoder method 350 for
recovering a message m based on information received from the
source system and information received from the relay system may be
configured as illustrated in FIG. 4.
[0081] At 355, stream Y.sub.d1 is recovered from a first input
signal in a first interval and stream Y.sub.d2 is recovered from a
second input signal in a second interval. The stream Y.sub.d1 is a
channel-modified version of the stream X.sub.s1 (of points from an
N-PSK constellation having power constraint value P.sub.s1)
transmitted in the first interval by the source system using N-PSK
modulation. N is an integer greater than one.
[0082] The stream Y.sub.d2 is a mixture including (a) a
channel-modified version V.sub.s of the stream X.sub.s2 transmitted
in the second interval by the source system using N-PSK modulation
and (b) a channel-modified version V.sub.r of the stream X.sub.r
transmitted in the second interval by the relay system using N-PSK
modulation. Recall that the relay system is configured to receive
stream Y.sub.r (which is a channel-modified version of the stream
X.sub.s1 transmitted by the source system in the first interval),
perform nested lattice quantization on the stream Y.sub.r to obtain
index block W and to perform joint source-channel encoding on the
index block W to obtain the data U.sub.r, and then, map the data
U.sub.r to the stream X.sub.r of points from an N-PSK constellation
having power constraint value P.sub.r.
[0083] At 357, an estimate for the index block W is generated by
performing joint source-channel decoding (in an iterative fashion)
on the stream Y.sub.d2 using the stream Y.sub.d1 as side
information. For more information on the joint source channel
decoding, please refer to the section below entitled "CF Code
Design". The joint source-channel decoding operation 357 may rely
on structure information that represents the structure of the joint
source-channel encoder(s) employed by the relay system.
[0084] At 360, an estimate for the stream Y.sub.r is generated
using the estimate for the index W. The estimate may be generated
by performing maximum mean square error estimation. For more
information on the estimation 360, please refer to the section
below entitled "CF Code Design".
[0085] At 363, likelihood information I.sub.1 is computed by
performing maximum ratio combining (MRC) based on the stream
Y.sub.d1 and the estimate for the data Y.sub.r. The likelihood
information I.sub.1 may be log likelihood ratios for a first
portion m.sub.1 of message m given Y.sub.d1 and Y.sub.r. For more
information on how to perform the maximum ratio combining, please
refer to the section below entitled "CF Relaying with BPSK
Modulation".
[0086] At 365, an estimate for message portion m.sub.1 is generated
by performing channel decoding on the information I.sub.1. The
channel decoding may utilize structure information that describes
the structure of channel encoder 105 of the source system. The
channel decoding may be may be an iterative decoding and may
operate as described in the section below entitled "CF Code
Design".
[0087] At 368, joint source-channel encoding is performed on the
estimate of the index block W to obtain an estimate for the encoded
data U.sub.r. This joint source-channel encoding may be identical
to the joint source-channel encoding performed by the relay
system.
[0088] At 370, the estimate for data U.sub.r is converted into a
stream {circumflex over (X)}.sub.r of points (from the N-PSK
constellation) having power constraint P.sub.r. The stream
{circumflex over (X)}.sub.r is an estimate for the stream X.sub.r
generated at the relay system.
[0089] At 373, the estimate {circumflex over (X)}.sub.r is scaled
by the complex factor c.sub.rd in order to generate the scaled
stream c.sub.rd{circumflex over (X)}.sub.r. This scaling operation
involves a complex multiplication.
[0090] At 375, the scaled stream c.sub.rd{circumflex over
(X)}.sub.r is subtracted from the stream Y.sub.d2 in order to
obtain a difference stream.
[0091] At 377, an estimate for message portion m.sub.2 is generated
by performing channel decoding on the difference stream. The
channel decoding may utilize structure information that describes
the structure of channel encoder 110 of the source system. The
channel decoding may be an iterative decoding and may operate as
described in the section below entitled "CF Code Design".
[0092] As noted above, the first interval and second interval may
be disjoint intervals in time. Alternatively, the first interval
and second interval may be disjoint bands of frequency.
[0093] In one set of embodiments, a method for encoding a message m
may involve: performing a first low-density parity check (LPDC)
channel encoding on a first portion m.sub.1 of the message m to
obtain first encoded data; performing a second LPDC channel
encoding on a second portion m.sub.2 of the message m to obtain
second encoded data; converting the first encoded data into a first
stream of N-PSK constellation points, where N is greater than one;
converting the second encoded data into a second stream of N-PSK
constellation points; generating a first output signal, for
transmission to a relay and a destination in a first interval,
based on the first stream on N-PSK constellation points; generating
a second output signal, for transmission to the destination in a
second interval, based on the second stream of N-PSK constellation
points. The first interval and second interval may be disjoint
intervals in time. Alternatively, the first interval and second
interval may be disjoint bands of frequency.
[0094] In another set of embodiments, a method for relaying
information from a source system to a destination system may
involve: receiving an input signal from a channel in a first
interval; recovering from the input signal a stream Y.sub.r of
data, where the stream Y.sub.r corresponds to a stream X.sub.s1 of
N-PSK constellation points transmitted onto the channel by a source
system using N-PSK modulation, where N is greater than one;
performing nested lattice quantization on the stream Y.sub.r to
generate a quantization value W; performing joint source-channel
encoding on the quantization value W to obtain encoded data;
converting the encoded data into a stream X.sub.r of N-PSK
constellation points; generating an output signal, for transmission
to a destination system in a second interval, based on the stream
X.sub.r of N-PSK constellation points. The first interval and
second interval may be disjoint intervals in time. Alternatively,
the first interval and second interval may be disjoint bands of
frequency.
[0095] The Voronoi volume q of a fine lattice (or alternatively,
the coarse lattice) of the nested lattice quantization may be
optimized to minimize a Wyner-Ziv operational distortion-rate
function subject to a rate constraint.
[0096] The process of performing joint source-channel encoding may
include performing an irregular repeat accumulate (IRA) encoding on
the quantization value W to obtain the encoded data. Alternatively,
the process of performing joint source-channel encoding may include
performing a plurality of irregular repeat accumulate (IRA)
encodings on corresponding bit planes of the quantization value W
to obtain the encoded data.
[0097] In yet another set of embodiments, a method for decoding
received information in order to recover a message m may involve:
receiving a first input signal in a first interval and a second
input signal in a second interval; recovering from the first input
signal a first stream Y.sub.d1 of data (e.g., complex points) and
from the second input signal a second stream Y.sub.d2 of data
(e.g., complex points), where the first stream Y.sub.d1 is a first
channel-modified version of a stream X.sub.s1 transmitted in the
first interval by a source system using N-PSK modulation, where N
is greater than one, where the second stream Y.sub.d2 is a mixture
including a channel-modified version V.sub.s of stream X.sub.s2
transmitted in the second interval by the source system using N-PSK
modulation and a channel-modified version V.sub.r of a stream
X.sub.r transmitted in the second interval by a relay system using
N-PSK modulation, where the relay system is configured to (a)
receive stream Y.sub.r which is a second channel-modified version
of the stream X.sub.s1 transmitted by the source system, (b)
perform nested lattice quantization on the stream Y.sub.r to obtain
index W and (b) perform joint source-channel encoding on the index
W to obtain the stream X.sub.r; generating an estimate for the
index W using the first stream Y.sub.d1 and the second stream
Y.sub.d2; generating an estimate for the stream Y.sub.r using the
estimate for the index W; performing maximum ratio combining based
on the first stream Y.sub.d1 and the estimate for the stream
Y.sub.r in order to obtain likelihood information; performing
channel decoding on the likelihood information to generate an
estimate for a first portion m.sub.1 of the message m. The first
interval and second interval may be disjoint intervals in time.
Alternatively, the first interval and second interval may be
disjoint bands of frequency.
[0098] The method may also include: performing the joint
source-channel encoding on the index estimate to obtain an estimate
for the stream X.sub.r; scaling the estimate for the stream X.sub.r
to obtain an estimate for the channel-modified version V.sub.r;
performing channel decoding on a difference between the second
stream Y.sub.d2 and the estimate of the version V.sub.r to generate
an estimate for a second portion m.sub.2 of the message m.
[0099] In some embodiments, a computer-readable memory medium may
be configured to store program instructions, where the program
instructions are executable to implement any of the method
embodiments described herein (or, any combination of the method
embodiments described herein, or, any subset of the method
embodiments described herein). A memory medium is a medium
configured for the storage of information. Examples of memory media
include various kinds of magnetic media (e.g., magnetic tape,
magnetic disk, magnetic strips, and magnetic film); various kinds
of optical media (e.g., CD-ROM); various kinds of semiconductor RAM
and ROM; various media based on the storage of electrical charge
and/or other physical quantities; etc.
[0100] In some embodiments, a computer system may be configured to
include a processor (or a set of processors) and memory medium. The
memory medium may be configured to store program instructions. The
processor (or set of processors) may be configured to read and
execute the program instructions. The program instructions may be
executable to implement any of the various method embodiments
described herein (or, any combination of the method embodiments
described herein, or, any subset of the method embodiments
described herein). The computer system may be realized in any of
various forms. For example, the computer system may be a personal
computer (in any of its various forms), a workstation, a computer
on a card, a server computer, a client computer, a computer system
in a sensor device, a computer embedded in a transmitter, a
computer embedded in a relay system, a computer embedded in a
receiver, etc.
The Channel Model
[0101] A simple three-node relay channel is shown in FIG. 5, where
c.sub.sd, c.sub.sr, and c.sub.rd denote the channel
gains/coefficients of the links from the source to destination,
source to relay, and relay to destination, respectively. When the
channel coefficients are fixed, we have a Gaussian relay channel.
In one set of embodiments, we focus on the Gaussian relay
channel.
[0102] In time-division half-duplex relaying, a frame of length n
is divided into two parts: the first block of length n.alpha.
(0<.alpha.<1), and the second block of length n(1-.alpha.).
The first block forms a codeword x.sub.s1 to be broadcasted from
the source to both the relay and destination under power constraint
P.sub.s1. The relay overhears this transmission, processes its
received signal y.sub.r in some way, and transmits the processed
version x.sub.r=f.sub.r(y.sub.r) to the destination under power
constraint P.sub.r. While the relay transmits, the source
simultaneously transmits the second block, x.sub.s2, to the
destination under power constraint P.sub.s2. The codeword x.sub.s2
is not heard by the relay, as it is in the transmit mode. One way
to accomplish this is to split the message m at the source into two
non-overlapping parts m.sub.1 and m.sub.2. Then, m.sub.1 is encoded
into the n.alpha.-length codeword x.sub.s1(m.sub.1) as the first
block and m.sub.2 into the n(1-.alpha.)-length codeword
x.sub.s2(m.sub.2) as the second block. At the frame level, the time
interval T is divided into the relay-receive period T.sub.1 and the
relay-transmit period T.sub.2 with T=T.sub.1+T.sub.2. During the
relay-receive period, the received signals at the relay and the
destination are
y.sub.r[i]=c.sub.srx.sub.s1(m.sub.1)[i]+z.sub.r[i], (1)
y.sub.d1[i]=c.sub.sdx.sub.s1(m.sub.1)[i]+z.sub.d1[i], i=1, . . .
,n.alpha., (2)
respectively, where z.sub.r and z.sub.d1 are white Gaussian noises
with unit power. During the relay-transmit period, the relay and
the source, respectively, send the n(1-.alpha.)-length codewords
x.sub.r(m.sub.1) and x.sub.s2(m.sub.2) to the destination, which
receives
y.sub.d2[]=c.sub.rdx.sub.r(m.sub.1)[i]+c.sub.sdx.sub.s2(m.sub.2)[]+z.sub-
.d2[i], i=1, . . . ,n(1-.alpha.), (3)
where z.sub.d2 is again white Gaussian noise with unit power.
[0103] The upper bound on the capacity and the achievable rates for
CF and DF (decompress-forward (DF) of the relay channel are
relatively simple to derive, assuming AWGN channels with Gaussian
input (which means that all the signals to be transmitted, namely,
X.sub.s1, X.sub.s2 and X.sub.r, are Gaussian), since the capacity
for AWGN channel and the WZC limit for the quadratic Gaussian case
are well known. Unfortunately, this Gaussian assumption does not
hold with BPSK modulation. Instead, we have binary-input AWGN
channels, for which the capacity is
C ( snr ) = 1 - .intg. - .infin. .infin. - .tau. 2 2 s .pi. log ( 1
+ - 2 snr .tau. - 2 snr ) .tau. . ( 4 ) ##EQU00001##
snr is the signal to noise ratio.
[0104] In one set of embodiments, we assume the setup shown in FIG.
6 for CF relaying with BPSK modulation (or more generally, N-PSK
modulation, where N is greater than one), where the relay is
located along a straight line from the source to the destination,
which are distance r (e.g., 10 meters) apart. The channel
coefficient of the link from sender i to the receiver j (sender i
may be the source or relay, and receiver j may be the relay or
destination) is (c.sub.ij).sup.2=K.sub.o(d.sub.ij).sup.-n, where
d.sub.ij is the distance from the sender i to the receiver j, n is
the path loss coefficient,
K.sub.o=(c/4.pi.d.sub.of.sub.c).sup.2,
c is the light speed, d.sub.o is the free-space reference distance,
f.sub.c is the transmission frequency. The experimental setup is
fixed with f.sub.c=2.4 GHz carrier frequency, path loss coefficient
n=3, and freespace reference distance d.sub.o=1 m. Therefore the
channel coefficients are: (c.sub.sd).sup.2=10.sup.-7,
(c.sub.sr).sup.2=10.sup.-4d.sup.-3, and
(c.sub.rd).sup.2=10.sup.-4(1-d).sup.-3. Note that c.sub.sd is fixed
and c.sub.sr and c.sub.rd are functions of d. Thus for each
particular d, there is a set of the coefficients.
CF Relaying with BPSK Modulation
[0105] FIG. 7 depicts the overall CF coding scheme. During T.sub.1,
message m.sub.1 is channel coded and then BPSK modulated into
n.alpha. binary symbols X.sub.s1[1], . . . , X.sub.s1[n.alpha.]
with
1 .alpha. n i = 1 .alpha. n X s 1 [ i ] 2 .ltoreq. P s 1
##EQU00002##
and broadcasted to the relay and the destination. The received
versions are Y.sub.r=c.sub.srX.sub.s1+Z.sub.r at the relay, and,
Y.sub.d1=c.sub.sdX.sub.s1+Z.sub.d1 at the destination. We thus have
a broadcast channel in the relay-receive period.
[0106] During T.sub.2, Y.sub.r is compressed into S using Wyner-Ziv
encoder by treating Y.sub.d1, at the destination as the decoder
side information. Then, the relay encodes S into binary channel
codeword X.sub.r, of length (1-.alpha.)n with
1 ( 1 - .alpha. ) n i = 1 ( 1 - .alpha. ) n X r [ i ] 2 .ltoreq. P
r ##EQU00003##
and sends it to the destination. At the same time, the source
encodes m.sub.2 into (1-.alpha.)n binary symbols X.sub.s2[1], . . .
, X.sub.s2[(1-.alpha.)n] with
1 ( 1 - .alpha. ) n i = 1 ( 1 - .alpha. ) n X s 2 [ i ] 2 .ltoreq.
P s 2 ##EQU00004##
and sends them to the destination as well. The signal received at
the destination from the source and relay is
Y.sub.d2=c.sub.rdX.sub.r+c.sub.sdX.sub.s2+Z.sub.d2. We hence have a
multiple-access channel (MAC) in the relay-receive period.
[0107] At the destination, m.sub.1 and m.sub.2 may be recovered
sequentially. First, Y.sub.r is reconstructed into Y.sub.r' via
Wyner-Ziv decoding at the destination (with the help of the side
information Y.sub.d1), yielding an average distortion of
D.sub.WZ(R), where R is the WZC rate. Note that we can write
Y.sub.r'=Y.sub.r+N, where N is the quantization noise with its
variance as the Wyner-Ziv distortion limit D.sub.WZ(R), and the
corresponding WZC rate R is the capacity of the link between the
relay and the destination (with both c.sub.sdX.sub.s2 and Z.sub.d
being treated as noise) and given by
R = 1 - .alpha. .alpha. C ( c r d 2 P r 1 + c sd 2 P s 2 ) , ( 5 )
##EQU00005##
where the normalization factor (1-.alpha.)/.alpha. is due to
half-duplex relaying.
[0108] With both Y.sub.r'=Y.sub.r+N=c.sub.srX.sub.s1+Z.sub.r+N and
Y.sub.d1=c.sub.sdX.sub.s1+Z.sub.d1 available at the destination as
corrupted versions of X.sub.s1, we can recover m.sub.1 with the
information provided by Y.sub.r' and Y.sub.d1 jointly. The joint
log-likelihood-ratio (LLR) is
L ch ( m 1 y r ' , y d 1 ) = log ( f ( m 1 = 0 y r ' , y d 1 ) f (
m 1 = 1 y r ' , y d 1 ) ) = log ( f ( y r ' , y d 1 m 1 = 0 ) P ( m
1 = 0 ) f ( y r ' , y d 1 m 1 = 1 ) P ( m 1 = 1 ) ) = - 2 P s 1 ( c
sr 1 + D WZ ( R ) y r ' + c sd y d 1 ) + log P ( m 1 = 0 ) P ( m 1
= 1 ) = - 2 y ~ + log P ( m 1 = 0 ) P ( m 1 = 1 ) , ( 6 )
##EQU00006##
where
y ~ = c sr P s 1 1 + D WZ ( R ) y r ' + c sd P s 1 y d 1 .
##EQU00007##
Assume P(m.sub.1=0)=P(m.sub.1=1)=0.5, then
[0109] L.sub.ch(m.sub.1|y.sub.r',y.sub.d1)=-2{tilde over (y)}
which is the LLR from the AWGN channel with channel output {tilde
over (Y)} and unit noise variance. Therefore this LLR is equivalent
to the LLR of the combination of y.sub.d1 and y.sub.r' with the
same coefficients as maximum ratio combining (MRC). (For more
information on maximum ratio combining, please refer to: Andear
Goldsmith, Wireless Communications, Cambridge University Press,
Aug. 8, 2005, on page 214-216.) Then we can decode m.sub.1 using
joint decoding similar to MRC with rate
R r ( .alpha. ) .ltoreq. .alpha. C ( c sd 2 P s 1 + c sr 2 P s 1 1
+ D WZ ( R ) ) . ( 7 ) ##EQU00008##
[0110] Once m.sub.1 is recovered, X.sub.r can be reconstructed and
c.sub.rdX.sub.r eliminated from Y.sub.d2
c.sub.rdX.sub.r+c.sub.sdX.sub.s2+Z.sub.d2. Then, m.sub.2 can be
decoded with rate
R.sub.d(.alpha.)=(1-.alpha.)C(|c.sub.sd|.sup.2P.sub.s2). (7B)
[0111] Consequently, the overall achievable rate of CF for the
half-duplex relay channel with specific .alpha. is
R CF ( .alpha. ) = R r ( .alpha. ) + R d ( .alpha. ) .ltoreq.
.alpha. C ( c sd 2 P s 1 + c sr 2 P s 1 1 + D WZ ( R ) ) + ( 1 -
.alpha. ) C ( c sd 2 P s 2 ) . ( 8 ) ##EQU00009##
Therefore, the bound for the achievable rate with CF can be written
as
[0112] R CF .ltoreq. max 0 .ltoreq. .alpha. .ltoreq. 1 R CF (
.alpha. ) .ltoreq. max 0 .ltoreq. .alpha. .ltoreq. 1 ( .alpha. C (
c sd 2 P s 1 + c sr 2 P s 1 1 + D WZ ( R ) ) + ( 1 - .alpha. ) C (
c sd 2 P s 2 ) ) . ( 9 ) ##EQU00010##
[0113] Note that the above achievable rate is given under the
transmitting power constraints P.sub.s1, P.sub.s2, and P.sub.r. We
now consider the rates under the average power constraints P.sub.s
and P.sub.r.
[0114] Since the relay only transmits during the relay-transmit
period T.sub.2 with block length n(1-.alpha.), the normalized
transmitting power at the relay is P.sub.r/(1-.alpha.). Similarly,
the normalized transmitting power at the source during the
relay-receive period T.sub.1 and the relay-transmit period T.sub.2
is P.sub.s1=kP.sub.s/.alpha. and P.sub.s2=(1-k)P.sub.s/(1-.alpha.),
respectively, where k (0.ltoreq.k.ltoreq.1) and .alpha. determine
the power allocation at the transmitter.
[0115] For the relay channel with BPSK modulation, the signals
Y.sub.r and Y.sub.d, are given by (1) and (2), and X.sub.s1 is a
BPSK-modulated signal, taking values at {square root over
(P.sub.s1)} and - {square root over (P.sub.s1)} with the
probabilities p and 1-p, respectively. Z.sub.r and Zd are i.i.d.
Gaussian noise with zero mean and unit variance. Without loss of
generality, we assume p=0.5. Because
Y.sub.rX.sub.s1Y.sub.d1
forms a Markov chain, the conditional pdf f(y.sub.r|y.sub.d1)
is
f ( y r y d 1 ) = .zeta. 1 2 .pi. exp ( - ( y r - c sr P s 1 ) 2 2
) + ( 1 - .zeta. ) 1 2 .pi. exp ( - ( y r - c sr P s 1 ) 2 2 ) , (
10 ) ##EQU00011##
where
.zeta. = 1 1 + exp ( - 2 c sd P s 1 y d 1 ) . ##EQU00012##
[0116] It is seen from (10) that the conditional probability of
Y.sub.r given Y.sub.d1 is the weighted superposition (mixture) of
two Gaussian distributions centered at c.sub.sr {square root over
(P.sub.s1)} and -c.sub.sr {square root over (P.sub.s1)},
respectively, with the identical unit variance. The weights rely on
the likelihood of x.sub.s1 providing y.sub.d1. Several examples of
f(y.sub.r|y.sub.d1) with specific values of y.sub.d1 at d=9 m. are
shown in FIG. 8 to provide an intuitive view.
Distributed Joint Source-Channel Coding (DJSCC) at the Relay
[0117] For Slepian-Wolf Coded Nested Quantization (SWC-NQ) as
practical WZC for CF relaying, since Slepian Wolf coding (SWC) is
implemented by channel codes, separate source-channel coding at the
relay (with side information Y.sub.d1, at the destination) requires
two channel codes: one for SWC (or source coding) and another for
forward error protection (or channel coding). However, just like
Shannon's classic separation principle, the separation principle
for the noisy channel SWC/WZC problem only holds asymptotically
(i.e., with infinite code length). In practical designs with finite
code length, joint source-channel coding with side information (or
DJSCC) should outperform a separate design.
[0118] The basic idea of DJSCC is to use one channel code for both
Slepian-Wolf compression and forward error protection. This is
possible because a) in addition to the optimal syndrome-based
approach for SWC, parity bits of a systematic channel code can also
be used for SWC, and b) if the number of parity bits exceeds the
Slepian-Wolf limit, the added redundancy can be exploited for
protection. In the following, we briefly explain the so-called
parity-based approach for SWC before moving on to parity-based
DJSCC.
[0119] The parity-based SWC scheme for binary i.i.d. sources
employs an (n+r, n) linear systematic channel code. To compress an
n-bit vector from the source X, the encoder outputs r parity bits
of the underlying systematic channel code as its compressed
version, meaning r.ltoreq.n. In addition, r.gtoreq.nH(X|Y) by the
Slepian-Wolf theorem. (For information on the Slepian-Wolf theorem,
please refer to D. Slepian and J. Wolf, "Noiseless coding of
correlated information sources," IEEE Trans. Inform. Theory, vol.
19, pp. 471-480, July 1973.) Thus the rate n/(n+r) of the employed
systematic channel code must be no greater than 1/(1+H(X|Y)), which
is no less than 1/2. The decoder concatenates the r parity bits and
the corresponding n side information bits from Y to form the
received (n+r)-bit codeword before attempting to reconstruct its
original n-bit systematic part as the decoded source vector.
[0120] When r=n-k, the (2n-k, n) systematic channel code in the
above parity-based SWC scheme can be designed to give the same
performance as the syndrome-based SWC scheme, which outputs n-k
syndrome bits of an (n, k) binary channel code for the "virtual"
correlation channel between the two correlated sources X and Y. The
syndrome-based approach is optimal in the sense that if the (n, k)
binary channel code approaches the capacity of the "virtual"
correlation channel, it also provides limit-approaching performance
in SWC.
[0121] Although a longer (2n-k, n) code is needed in the
parity-based approach to obtain the same SWC performance as an (n,
k) code in the syndrome-based approach--the reason why the latter
is preferred for SWC, the advantage of the former lies in the ease
with its generalization to DJSCC. On the other hand, it is not
clear if the latter can be extended to DJSCC. This is because in
contrast to parity bits, syndrome bits cannot provide error
protection.
[0122] Under the same encoding/decoding structure that employs an
(n+r, n) linear systematic channel code for parity-based SWC, the
extension to parity-based DJSCC involves two steps. First, because
the r parity bits generated by the encoder now provides joint
Slepian-Wolf compression and error protection, r is not upper
bounded by n any more. In addition, r.gtoreq.nH(X|Y)/C. Since the
capacity C.ltoreq.1, the encoder generally outputs more parity bits
than the Slepian-Wolf limit. It is this added redundancy that
provides error protection. Second, because we are using one channel
code in DJSCC to do two jobs (SWC and error protection), the code
design now involves two channels: one is the "virtual" correlation
channel between the correlated sources; another is the physical
noisy channel through which the parity bits are transmitted.
Finding the right class of linear systematic code whose design
process can readily accommodate two such channels is the starting
point of DJSCC.
[0123] Liveris et al. (Liveris, Xiong, and Georghiades, "Joint
source-channel coding of binary sources with side information at
the decoder using IRA codes", in Proc. MMSP-2002, St. Thomas, US
Virgin Islands, December 2002) employ systematic IRA codes for
DJSCC of binary source X with decoder side information Y. The basic
idea of Liveris et al. is depicted in FIG. 9, where the distributed
joint source-channel (DJSC) encoder only generates IRA parity bits
for transmission over the noisy channel, and the already existing
side information Y at the decoder is viewed as a "noisy" version of
the source X (or systematic part); the IRA/DJSC decoder combines Y
and the received noisy parity bits to reconstruct {circumflex over
(X)}.
[0124] IRA codes (introduced in Jin, Khandekar and McEliece,
"Irregular repeat-accumulate codes," in Proc. 2nd Int. Symp. Turbo
codes and related topics, September 2000) can perform close to
capacity on the binary-input AWGN channel. In addition, systematic
IRA codes have the advantages of both LDPC codes (with iterative
decoding) and turbo codes (with linear-time encoding). They are
well suited for DJSCC because they can be designed using Gaussian
approximation to take into account the two different channels.
CF Code Design
A. Quantizer Design
[0125] Nested scalar quantizer design for Y.sub.r, targets at
finding the optimal nesting ratio N and scalar quantization
stepsize q to minimize the distortion while subjecting to the rate
constraint
R .ltoreq. 1 - .alpha. .alpha. C r d , ( 36 ) ##EQU00013##
where the rate R=H(W|Y.sub.d1) due to Slepian-Wolf coding of the
nested quantization index W and c.sub.rd is the capacity of the
channel between the relay and the destination with BPSK modulation.
Due to BPSK modulation, NSQ has to operate at the low rate. We
hence resort to simulations to generate the operational
distortion-rate function {tilde over (D)}.sub.WZ(R) of SWC-NSQ by
varying N and q. Based on {tilde over (D)}.sub.WZ(R), the
operational point at R that is slightly less than the target rate
(1-.alpha.)/(.alpha.C.sub.rd) is picked and its corresponding N and
q identified as the optimal parameters for NSQ.
[0126] We draw L (e.g., 10.sup.5) samples of Y.sub.r' and Y.sub.d1'
offline (here we use Y.sub.r' and Y.sub.d1' to distinguish them
from Y.sub.r and Y.sub.d1 because Y.sub.d1 is not available at the
relay) according to the joint distribution of Y.sub.r and Y.sub.d1,
quantize Y.sub.r' into W', decode .sub.r' jointly from W' and
Y.sub.d1', and compute the corresponding rate R'=H(W'|Y.sub.d1')
and distortion
D WZ ' ( R ' ) = 1 L i = 1 L Y r i [ i ] - Y ^ r i [ i ] 2
##EQU00014##
with different N and q. For
|c.sub.sr|.sup.2=1,|c.sub.sd|.sup.2=0.5,
and P.sub.s1=10, FIG. 10 shows the distortion-rate curves for
several different nesting ratios N, where each curve is generated
by varying q while fixing N. The lower envelope of these curves is
the operational distortion-rate function {tilde over (D)}.sub.WZ(R)
of SWC-NSQ, which is 1.5 dB away from the upper bound
D.sub.WZ.sup.add(R) at high rate.
[0127] When reconstructing W' into .sub.r', non-linear estimation
may be applied to reduce the distortion, especially at low rate.
Denote J(W') as the index of W', 0<J<N-1, then the .sub.r' is
reconstructed into
Y ^ r ' = k .intg. ( kN + J ( W ' ) ) q ( kN + J ( W ' ) + 1 ) q y
r f ( y r | y d 1 ) y r k .intg. ( kN + J ( W ' ) ) q ( kN + J ( W
' ) + 1 ) q f ( y r | y d 1 ) y r , ( 37 ) ##EQU00015##
where f(y.sub.r|y.sub.d1) is given by (10). For more information
regarding non-linear estimation, please refer to: (a) Liu et al.,
"Slepian-Wolf coded nested quantization for Wyner-Ziv coding:
High-rate performance analysis and code design", IEEE Trans.
Inform. Theory, vol. 52, October 2006, and (b) U.S. patent
application Ser. No. 11/086,778, filed on Mar. 22, 2005, entitled
"Data Encoding and Decoding Using Slepian-Wolf Coded Nested
Quantization to Achieve Wyner-Ziv Coding", invented by Liu, Cheng,
Liveris and Xiong which are hereby incorporated by reference in
their entirety.
B. DJSCC Based on IRA Codes
[0128] When the nesting ratio N=2 in NSQ, using a binary systematic
(n, n.alpha.) IRA code of rate .alpha., we apply parity-based DJSCC
at the relay and encode the binary quantization index W (of length
n.alpha.) into parity bits X.sub.r of length n(1-.alpha.) for
transmission to the destination. The destination receives
Y.sub.d2=c.sub.rdX.sub.r+c.sub.sdX.sub.s2+Z.sub.d where
c.sub.sdX.sub.s2+Z.sub.d is treated as the additive noise.
Meanwhile, the side information Y.sub.d1 at the destination plays
the role of the "noisy" systematic part of the IRA codeword. Then W
is decoded from [Y.sub.d1,Y.sub.d2] by the IRA/DJSC decoder,
resulting in . Since in the optimal NSQ design, we pick its rate
such that
R = H ( W | Y d 1 ) < 1 - .alpha. .alpha. C rd , ( 38 )
##EQU00016##
we have
n ( 1 - .alpha. ) > n .alpha. H ( W | Y d 1 ) C rd , ( 39 )
##EQU00017##
in DJSCC, which fulfills the requirement for successful decoding of
W.
[0129] When N>2 in NSQ, we employ a multi-level systematic IRA
code for DJSCC, where each of the .left brkt-top.log N.right
brkt-bot. levels is used for one bit plane of W. Denote J
(0.ltoreq.J.ltoreq.N-1) as the index of W and write J as
B.sub..left brkt-top.logN.right brkt-bot., . . . ,B.sub.1
in its binary representation, where B.sub.1 is the least
significant bit of W and B.sub..left brkt-top.logN.right brkt-bot.
its most significant bit. The first-level binary systematic
(n.alpha.+r.sub.1, n.alpha.) IRA code with
r 1 > n .alpha. H ( B 1 | Y d 1 ) C rd ( 40 ) ##EQU00018##
outputs r.sub.1 parity bits after DJSCC of B.sub.1, and the j-th
level (2.ltoreq.j.ltoreq..left brkt-top.log N.right brkt-bot.)
binary systematic (n.alpha.+r.sub.j, n.alpha.) IRA code with
r j > n .alpha. H ( B j | Y d 1 , B j - 1 , , B 1 ) C rd ( 41 )
##EQU00019##
outputs r.sub.j parity bits after DJSCC of B.sub.j. In addition,
the r.sub.j's are chosen so that
j = 1 [ log N ] r j = n ( 1 - .alpha. ) . ( 42 ) ##EQU00020##
By the chain rule,
[0130] j = 1 [ log N ] H ( B j | Y d 1 , B j - 1 , , B 1 ) = H ( W
| Y d 1 ) , ( 43 ) ##EQU00021##
then (40)-(43) lead to
n ( 1 - .alpha. ) = j = 1 [ log N ] r j > n .alpha. H ( W | Y d
1 ) C rd , ( 44 ) ##EQU00022##
which is again guaranteed by our choice of rate in (38) for
NSQ.
[0131] RATE COMPUTATION FOR EACH BIT PLANE: From (40) and (41), we
see that knowing the "sum-rate" H(W|Y.sub.d1) after NSQ is not
enough for multi-level IRA code design in DJSCC, the conditional
entropy of each bit plane of W is also needed. We start from
estimate
P.sub.r(B.sub.1=b.sub.1, . . .
,B.sub.j=b.sub.j|Y.sub.d1=y.sub.d1),
where b.sub.1, . . . , b.sub.j, y.sub.d1, are specific realizations
of B.sub.1, . . . , B.sub.j, Y.sub.d1, respectively. Since B.sub.j
is determined by Y.sub.r, we denote B.sub.j=b.sub.j(Y.sub.r) as a
function of Y.sub.r. Therefore we have
P r ( B 1 = b 1 , , B j = b j | Y d 1 = y d 1 ) = .intg. b 1 ( y r
) = b 1 , , b j ( y r ) = b j f ( y r | y d 1 ) y r . ( 45 )
##EQU00023##
[0132] When NSQ is applied for quantization, the integration
region
{y.sub.r|b.sub.1(y.sub.r)=b.sub.1, . . .
,b.sub.j(y.sub.r)=b.sub.j}
is a union of an infinite number of disjoint intervals, and (45)
can be calculated analytically using the erfc function. Since
f(y.sub.r|y.sub.d1) decays exponentially from the origin, the sum
up of a few Gaussian tail probabilities could be a good
approximation of (45).
[0133] For the general quantization such as non-uniform
quantization or high-dimensional quantization, however,
P.sub.r(B.sub.1=b.sub.1, . . .
,B.sub.j=b.sub.j|Y.sub.d1=y.sub.d1)
cannot be calculated analytically. Instead, we use Monte Carlo
simulations. At first, the real axis is divided into M intervals,
partitioning all possible Y.sub.d1 into M regions .sub.m for m=1, .
. . , M. Denote (y.sub.d1) as the region containing y.sub.d1, and
define I(*) as the indicator function taking value one if its
argument is true, or zero otherwise. We then calculate
P.sub.r(B.sub.1=b.sub.1, . . . , B.sub.j=b.sub.j|Y.sub.d1=y.sub.d1)
offline again by relying on the same L samples of (Y.sub.r',
Y.sub.d1') we collect during the optimal NSQ design that results
in
P r ( B 1 = b 1 , , B j = b j | Y d 1 = y d 1 ) .apprxeq. P r ( B 1
= b 1 , , B j = b j Y d 1 .di-elect cons. ( y d 1 ) ) .apprxeq. i =
1 L I ( Y d 1 ' [ i ] .di-elect cons. ( y d 1 ) , b 1 ( Y r ' [ i ]
) = b 1 , , b j ( Y r ' [ i ] ) = b j ) i = 1 L I ( Y d 1 ' [ i ]
.di-elect cons. ( y d 1 ) ) . ( 46 ) ##EQU00024##
[0134] Based on (46), the j-th level (1.ltoreq.j.ltoreq..left
brkt-top.log N.right brkt-bot.) binary systematic
(n.alpha.+r.sub.j, n.alpha.) IRA code can be designed with
r j > n .alpha. C rd H ( B j | Y d 1 , B j - 1 , , B 1 ) = n
.alpha. C rd m = 1 M b 1 .di-elect cons. { 0 , 1 } , , b j - i
.di-elect cons. { 0 , 1 } P r ( Y d 1 .di-elect cons. m , B 1 = b 1
, , B j - 1 = b j - 1 ) ( P r ( B j = 1 | Y d 1 .di-elect cons. Y m
, B 1 = b 1 , , B j - 1 = b j - 1 ) ) = n .alpha. C rd m = 1 M b 1
.di-elect cons. { 0 , 1 } , , b j - i .di-elect cons. { 0 , 1 } P r
( Y d1 .di-elect cons. m , B 1 = b 1 , , B j - 1 = b j - 1 ) ( P r
( B 1 = b 1 , , B j = 1 | Y d 1 .di-elect cons. m ) P r ( B 1 = b 1
, , B j - 1 = b j - 1 | Y d 1 .di-elect cons. m ) ) ( 47 )
##EQU00025##
where
P.sub.r(B.sub.1=b.sub.1, . . .
,B.sub.j=1|Y.sub.d1.epsilon..sub.m)
and
P.sub.r(Y.sub.d1.epsilon..sub.m,B.sub.1=b.sub.1, . . .
,B.sub.j-1=b.sub.j-1)
are obtained directly from (46),
( p ) = p log 1 p + ( 1 - p ) log 1 1 - p , and ##EQU00026## P r (
Y d 1 .di-elect cons. m , B 1 = b 1 , , B j - 1 = b j - 1 )
##EQU00026.2##
is estimated by using similar Monte Carlo simulations as (46)
with
P r ( Y d 1 .di-elect cons. m , B 1 = b 1 , , B j - 1 = b j - 1 ) =
1 L i = 1 L I ( Y d 1 ' [ i ] .di-elect cons. m , b 1 ( Y r ' [ i ]
) = b 1 , , b j ( Y r ' [ i ] ) = b j ) . ( 48 ) ##EQU00027##
[0135] SOFT THRESHOLD DECODING: In the iterative decoding procedure
at the j-th bit plane, the information about the j-th bit from the
channel is expressed in term of the log-likelihood-ratio, as
follows,
L ch ( j ) ( y d 1 | b 1 , , b j - 1 ) = log P ( y d 1 , B 1 = b 1
, B 2 = b 2 , , B j - 1 = b j - 1 | B j = 1 ) P ( y d 1 , B 1 = b 1
, b 2 = b 2 , , B j - 1 = b j - 1 | B j = 0 ) = log P ( B 1 = b 1 ,
, B j - 1 = b j - 1 , B j = 1 | y d 1 ) / P ( B j = 1 ) P ( B 1 = b
1 , , B j - 1 = b j - 1 , B j = 0 | y d 1 ) / P ( B j = 0 ) = log P
( B 1 = b 1 , , B j - 1 = b j - 1 , B j = 1 | y d 1 ) P ( B 1 = b 1
, , B j - 1 = b j - 1 , B j = 0 | y d 1 ) - log P ( B j = 1 ) P ( B
j = 0 ) = .DELTA. L ~ ch ( j ) ( y d 1 | b 1 , , b j - 1 ) + L ext
( B j ) . ( 49 ) ##EQU00028##
where b.sub.1, . . . , b.sub.j-1 are the specific realizations of
the bits B.sub.1, . . . , B.sub.j-1,
L.sub.ch.sup.(j)(y.sub.d1|b.sub.1, . . . , b.sub.j-1) characterizes
the information about the j-th bit plane given previously decoded
bits b.sub.1, . . . , b.sub.j-1, and it is a function of
y.sub.d1.
{tilde over (L)}.sub.ch.sup.(j)(y.sub.d1|b.sub.1, . . .
,b.sub.j-1)
denotes the information about the j-th bit from the "virtual"
channel, and L.sub.ext(B.sub.j) denotes the information provided by
the distribution of the j-th bit itself. For NSQ, due to the
symmetric property of f(y.sub.r|y.sub.d1) as shown in (10) and FIG.
8, P(B.sub.j=0)=P(B.sub.j=1)=0.5, thus L.sub.ext(B.sub.j)=0,
and
L.sub.ch.sup.(j)(y.sub.d1|b.sub.1, . . . ,b.sub.j-1)={tilde over
(L)}.sub.ch.sup.(j)(y.sub.d1|b.sub.1, . . . ,b.sub.j-1).
[0136] The conditional probabilities of each quantization index
given the side information Y.sub.d1 when d=8 m, and the
corresponding L.sub.ch.sup.(j) for the same d, are shown in FIGS.
11A and 11B, respectively.
C. LDPC Code Design
[0137] LDPC codes are linear codes obtained from sparse bipartite
graphs. Suppose that G is a graph with n left nodes (called message
nodes) and r right nodes (called check nodes). The graph gives rise
to a linear code of block length n and dimension at least n-r in
the following way: The n coordinates of the codewords are
associated with the n message nodes. The codewords are those
vectors (c1, . . . , cn) such that for all check nodes the sum of
the neighboring positions among the message nodes is zero.
[0138] LDPC decoding is an iterative decoding procedure based on
belief propagation, which is a special case of message passing
algorithms. At each round of the algorithms messages are passed
from message nodes to check nodes, and from check nodes back to
message nodes. In belief propagation, the messages passed along the
edges are probabilities, or beliefs. More precisely, the message
passed from a message node v to a check node c is the probability
that v has a certain value given the observed value of that message
node, and all the values communicated to v in the prior round from
check nodes incident to v other than c. On the other hand, the
message passed from c to v is the probability that v has a certain
value given all the messages passed to c in the previous round from
message nodes other than v.
[0139] The messages/belief transmitted along the edges are random
variables, therefore their probability density function is studied.
The density function is updated for each circle of message passing
from the message node v to check node c and then back to v. This
recursion is called density evolution. Density evolution can be
used to obtain asymptotic thresholds below which belief propagation
decodes the code successfully, and above which belief propagation
does not decode successfully. Therefore, according to the density
evolution algorithm, we can optimize the density function (and
therefore, the profile of the LDPC code) to get the optimal
performance.
[0140] In some embodiments, the pdf's used in decoding are stored
in look-up tables at nodes in the destination system.
[0141] In some embodiments, the target transmission rate is set at
0.5 bit per channel use and the average relay power P.sub.r=70
dB.
[0142] In some embodiments, the DJSCC rate for each bit plane and
the soft information for iterative decoding are collected off-line
according to (47) and (49). The rates and IRA code profiles for
each bit plane using NSQ for quantization when d=7 m and d=9 m are
listed in FIGS. 12A and 12B, with nesting ration N=4 for both
cases.
[0143] In some embodiments, for coding two parts of the message,
m.sub.1 and m.sub.2, we employ two different LDPC codes designed
via density evolution.
* * * * *