Bit error rate (BER) for coded AWGN channels
berub = bercoding(EbNo,'
conv
',decision
,coderate,dspec)
berub = bercoding(EbNo,'block
','hard
',n,k,dmin)
berub = bercoding(EbNo,'block
','soft
',n,k,dmin)
berapprox = bercoding(EbNo,'Hamming
','hard
',n)
berub = bercoding(EbNo,'Golay
','hard
',24)
berapprox = bercoding(EbNo,'RS
','hard
',n,k)
berapprox = bercoding(...,modulation
)
As an alternative to the bercoding
function,
invoke the BERTool GUI (bertool
) and use the Theoretical tab.
berub = bercoding(EbNo,'
returns
an upper bound or approximation on the BER of a binary convolutional
code with coherent phase shift keying (PSK) modulation over an additive
white Gaussian noise (AWGN) channel. conv
',decision
,coderate,dspec) EbNo
is the
ratio of bit energy to noise power spectral density, in dB. If EbNo
is
a vector, berub
is a vector of the same size, whose
elements correspond to the different E_{b}/N_{0} levels.
To specify hard-decision decoding, set decision
to '
hard
'
;
to specify soft-decision decoding, set decision
to '
soft
'
.
The convolutional code has code rate equal to coderate
.
The dspec
input is a structure that contains information
about the code's distance spectrum:
dspec.dfree
is the minimum free
distance of the code.
dspec.weight
is the weight spectrum
of the code.
To find distance spectra for some sample codes, use
the distspec
function or see [5] and [3].
Note: The results for binary PSK and quaternary PSK modulation are the same. This function does not support M-ary PSK when M is other than 2 or 4. |
berub = bercoding(EbNo,'
returns
an upper bound on the BER of an [block
','hard
',n,k,dmin) n
,k
]
binary block code with hard-decision decoding and coherent BPSK or
QPSK modulation. dmin
is the minimum distance of
the code.
berub = bercoding(EbNo,'
returns
an upper bound on the BER of an [block
','soft
',n,k,dmin) n
,k
]
binary block code with soft-decision decoding and coherent BPSK or
QPSK modulation. dmin
is the minimum distance of
the code.
berapprox = bercoding(EbNo,'
returns
an approximation of the BER of a Hamming code using hard-decision
decoding and coherent BPSK modulation. (For a Hamming code, if n is
known, then k can be computed directly from n.)Hamming
','hard
',n)
berub = bercoding(EbNo,'
returns
an upper bound of the BER of a Golay code using hard-decision decoding
and coherent BPSK modulation. Support for Golay currently is only
for n=24. In accordance with [3], the Golay
coding upper bound assumes only the correction of 3-error patterns.
Even though it is theoretically possible to correct approximately
19% of 4-error patterns, most decoders in practice do not have this
capability.Golay
','hard
',24)
berapprox = bercoding(EbNo,'
returns
an approximation of the BER of (n,k) Reed-Solomon code using hard-decision
decoding and coherent BPSK modulation.RS
','hard
',n,k)
berapprox = bercoding(...,
returns
an approximation of the BER for coded AWGN channels when you specify
a modulation
)modulation
type. See the berawgn
function for a listing of the supported
modulation types.
The numerical accuracy of this function's output is limited by
Approximations in the analysis leading to the closed-form expressions that the function uses
Approximations related to the numerical implementation of the expressions
You can generally rely on the first couple of significant digits of the function's output.
[1] Proakis, J. G., Digital Communications, 4th ed., New York, McGraw-Hill, 2001.
[2] Frenger, P., P. Orten, and T. Ottosson, "Convolutional Codes with Optimum Distance Spectrum," IEEE Communications Letters, Vol. 3, No. 11, Nov. 1999, pp. 317–319.
[3] Odenwalder, J. P., Error Control Coding Handbook, Final Report, LINKABIT Corporation, San Diego, CA, 1976.
[4] Sklar, B., Digital Communications, 2nd ed., Prentice Hall, 2001.
[5] Ziemer, R. E., and R. L., Peterson, Introduction to Digital Communication, 2nd ed., Prentice Hall, 2001.