Once a codeword has been found to represent a source message, it
can be sent through a *channel*, with the result that certain
data is received as the output of the channel, which will be related
to the codeword sent, but with random noise. This software currently
handles only memoryless binary channels, for which each bit sent
through the channel results in a separate piece of data being
received, and the noise affecting one bit is independent of the noise
affecting other bits.

For a *Binary Symmetric Channel* (BSC), each bit sent
results in a bit being received. The bit received differs from the
bit sent with some error probability, *p*, which is the same for
0 bits and for 1 bits. In other words, the probability distribution
for the bit received given the bit sent is as follows:

P(receive 1 | send 1) = P(receive 0 | send 0) = 1-p

P(receive 1 | send 0) = P(receive 0 | send 1) =p

For an *Additive White Gaussian Noise* (AWGN) channel, the
data received at each time is equal to the data sent plus Gaussian
noise with mean zero and some standard deviation, *s*,
independently for each bit. For this software, the data sent is -1
for a 0 bit and +1 for a 1 bit. In other words, the distribution
of the received data given the bit sent is as follows:

data received | send 1 ~ N(+1,s^{2})

data received | send 0 ~ N(-1,s^{2})

It is typically assumed that the standard deviation of the noise
varies with the rate at which bits are sent, increasing in proportion
to the square root of the rate. The error rate obtained from sending
unencoded bits at rate *R* will then be the same as is obtained
using a code that repeats each bit *n* times, and sends these
bits at rate *nR* (assuming optimal decoding of each bit by
thresholding the sum of the *n* channel outputs corresponding to
that bit). Another way of looking at this scaling for *s* is
that when bits are send at a lower rate, the receiver will be
accumulating the channel output for a longer time, with the result
that the amount of noise will decrease (relative to the signal) as a
result of averaging.

To account for this, it is common to compare codes for AWGN channels in terms of their bit error rate and the value of

at which they operate, whereE/_{b}N= 1 / 2_{0}Rs^{2}

The *Additive White Logistic Noise* (AWLN) channel is similar
to the AWGN channel, except that the noise comes from a logistic rather
than a Gaussian distribution. The probability density function for the
noise is

(1/wherew) exp(-n/w) / [1 + exp(-n/w)]^{2}

transmitencoded-file|n-zeros received-file seed channelwhereis one of the following:channelbscerror-probabilityawgnstandard-deviationawlnwidth

Simulates the transmission of the bits in
` encoded-file` through a channel, with the received data
being stored in

Alternatively, a count of zeros to transmit can be given, rather
than a *encoded-file*. This count can be the product of the
block size and the number of blocks, written with `x`
separating these numbers, with no spaces. The
` received-file` will mark the block boundaries with
newlines, assuming a block size of one if a simple bit count is given.
Note that zero messages are sufficient for assessing the performance
of a linear code with a symmetrical channel and a symmetrical decoding
algorithm.

The transmission will be corrupted by random noise, which will be
generated pseudo-randomly based on ` seed`. The actual
random seed used will be

The fourth argument specifies the type of channel, currently either
`bsc` (or `BSC`) for the Binary Symmetric Channel, or
`awgn` (or `AWGN`) for the Additive White Gaussian
Noise channel, or `awln` (or `AWLN`) for the Additive White
Logistic Noise channel. The channel type is followed by an argument
specifying the characteristics of the channel, as follows:

See the description of channel transmission for more details.BSC: The probability that a bit will be flipped by noise - ie, the probability that the bit received is an error.

AWGN: The standard deviation of the Gaussian noise that is added to the encodings of the bits.

AWLN: The width parameter of the logistic distribution for the noise that is added to the encodings of the bits.

**Examples**: The command:

If an AWGN channel is used instead, as follows:0000000000 1000000000 0100000000

-1.36 -0.86 -0.80 -1.19 -1.18 -0.64 -0.31 -1.16 -1.56 -0.79 -2.20 -1.62 -0.53 -1.29 -1.08 -2.05 -0.75 -1.22 -0.81 -0.52 -0.86 -0.34 -1.10 -1.30 -1.10 -1.20 -0.37 -1.07 -0.22 -1.46

Back to index for LDPC software