# A History of Channel Coding in Aeronautical Mobile Telemetry and Deep-Space Telemetry
## 3 Deep-Space Telemetry
### Voyager  
The _Voyager_ program sent two unmanned spacecraft, each an advanced version of the _Mariner_ spacecraft [47], to the outer solar system, and on to interstellar space. _Voyager_ 1, launched in 1977, visited Jupiter and Saturn before leaving the solar system [48]. _Voyager_ 2, also launched in 1977, visited Jupiter, Saturn, Uranus, and Neptune before leaving the solar system [48]. A block diagram of the _Voyager_ telemetry system is shown in Figure 10a. The payload comprises science instruments and engineering sensors. The flight data subsystem (FDS) sampled the continuous-time outputs of the instruments and sensors, compressed the image data (optional), encoded the data using one of the coding options described below, and arranged the data for subcarrier modulation. The data were either transmitted in real-time or stored for play-back transmission at a later time, possibly at a lower data rate. Transmission was performed by the telecommunications subsystem. A detailed view of the telecommunications subsystem is shown in Figure 10b. For transmission, data from the FDS modulated one of two subcarriers [48]. The high-rate subcarrier was used for transmission rates greater than 7.2 kbits/s. The subcarriers were combined, and the resulting combination phase-modulated either an S-band carrier (at 2296.481481 MHz or 2295.5 MHz), or an X-band carrier (at 8420.432097 MHz or 8415 MHz) [48]. The telemetry bit rate was adjustable, depending on both the spacecraft-to-Earth distance, S-band, or X-band transmission, and the kind of data to be transmitted. The slowest mode transmitted uncoded engineering data at 10 b/s. The other modes were convolutionally encoded (described below) with information rates ranging from 10 b/s to 115.2 kbits/s. Figure 9: The Viking telemetry systems: (**a**) the orbiter; (**b**) the lander. The reliability of the non-imaging science instrument data and the engineering sensor data was a bit error probability no greater than \(5\times 10^{-5}\)[47]. Given the relatively low data rates for these data, the desired reliability was achievable using the \((7,1/2)\) convolutional code with soft-decision Viterbi decoding and with decreasing bit rates as the spacecraft traveled further from the Earth. This coding strategy is illustrated in Figure 11a. During planetary encounters, image data were also transmitted along with the engineering data. The required reliability for image data was a bit error probability of \(5\times 10^{-3}\). Because 95% of the data were image data, it was more efficient to design the link, from convolutional encoder input to convolutional decoder output, to achieve a bit error probability of \(5\times 10^{-3}\) and apply an additional layer of coding to the non-imaging data [47]. For the Jupiter and Saturn encounters, non-imaging science instrument data and the engineering sensor data were protected using the concatenated coding system shown in Figure 11b [49]. The outer code was the Golay (24,12) code and the inner code was the \((7,1/2)\) convolutional code. The Uranus and Neptune encounters with _Voyager_ 2 used the concatenated coding system shown in Figure 11c [49]. The outer code was the \((255,223)\) Reed-Solomon and the inner code was the \((7,1/2)\) convolutional code. The interleaver between the inner and outer code had a depth of four symbols. Figure 10: A block diagram of the _Voyager_ 1 and 2 telemetry system: (**a**) a system-level overview (adapted from [47]); (**b**) a detailed view of the telecommunications subsystem. The encoder for the \((7,\
icefrac{{1}}{{2}})\) convolutional code is shown in Figure 12[6]. This code is defined by the following polynomials:  
\[ \begin{split} G^{(1)}(D)&=1+D+D^{2}+D^{3}+D^{6}\\ G^{(2)}(D)&=1+D^{2}+D^{3}+D^{5}+D^{6}.\end{split}  \tag{6}\]  
The code was originally discovered by [PERSON] in [41] and is characterized by a free distance \(d_{\text{free}}=10\). Maximum-likelihood sequence detection performed by the Viterbi algorithm (VA) was used for decoding.