What kind of bit error rate do they get from deep space communications (Pioneer, Voyager, et.al.), and what kind of modulation and FEC allows them to recover messages with that microscopic level of received signal power?

Are there more modern modulation methods and encoding schemes for similar channel conditions?


2 Answers 2


For many years the state of the art was to use a convolutional "inner code" and a block "outer code". The "inner" and "outer" terminology come from the following block diagram:

$$\boxed{\scriptstyle \rm Payload}{\longrightarrow}\boxed{\scriptstyle\textrm{Outer Encode}}{\longrightarrow}\boxed{\scriptstyle\textrm{Inner Encode}}{\longrightarrow}\boxed{\scriptstyle\rm Channel}{\longrightarrow}\boxed{\scriptstyle\textrm{Inner Decode}}{\longrightarrow}\boxed{\scriptstyle\textrm{Outer Decode}}{\longrightarrow}\boxed{\scriptstyle\rm Payload}$$

Convolutional codes were used as the inner code because they are very powerful and can correct a large number of bit errors. They have a weakness, though- when there are lots of errors that are close together they can break down and spit out errors in a burst at that location. The outer code is used to correct those bursts of errors. Block codes are not as powerful as convolutional codes (do not use as many parity bits/symbols either), but they are good at dealing with bursts of errors. Also, there was usually a deinterleaver in between the inner and outer codes that spread the bursts of errors among many blocks, making it even easier for the block code to correct them.

As Wikipedia's Deep Space Telecommunications section says, early on the inner/outer codes were Viterbi (convolutional) and Reed-Muller codes. Later they were Viterbi and Reed-Solomon codes.

In the early 90's Turbo codes were discovered and took the FEC world by storm. In the 2000's low-density parity check codes have grown in popularity. They were discovered in 1960 by Gallagher, but were not feasible to implement until recently because of the computational load that they require. Both Turbo and LDPC codes are near optimal in the sense that they get very close to the Shannon limit of what it is possible to achieve with FEC. Presently NASA uses both Turbo and LDPC codes, as far as I'm aware.

Like designing any reliable communications system, designing reliable deep space communications requires more than just adding powerful FEC. Signal power, free-space path loss, receiver noise, etc., must be taken into consideration. Deep space communications actually have a lot of advantages and two enormous disadvantages. The disadvantages are the enormous distance and the limited transmitter power. The advantages are the really high-gain directional antennas, the low noise that the earth dishes get from looking into empty space, the even lower noise they get by cooling their receivers with liquid nitrogen, etc. They can also slow down their data rate while keeping the transmitted power constant to give each bit more energy.


Interleaved convolution coding can be used to reduce the ECC overhead and wastage/saving of bandwidth used for parity information.

  1. Split the data into N streams. Assume there are 8 streams and therefore each bit of a byte goes in a separate stream.
  2. Transmit the convoluted bit of each stream sequentially.
  3. Thus if there is a burst error of say 5-bits it will just affect a single bit of each stream.
  4. The maximum length of recoverable burst error is number of streams N x sequential correction capability of each stream.

For instance if your convolution coding is capable of correcting up to 2 consequent bit errors then for an 8 stream interleaved coding you can correct up to 16 errors.

  • 1
    $\begingroup$ Doesn't really answer the question asked, does it? $\endgroup$ Commented Dec 23, 2016 at 8:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.