This paper describes the application of selected block and convolutional coding techniques to digital transmission over an HF radio channel. Performance results are presented for interleaved binary Bose-Chaudhuri-Hocquenghem (BCH) codes, interleaved two-stage concatenated codes, and diffuse convolutional codes. The performance results are based upon raw error data recorded in transmission over a 640-km HF path, with various data runs representing the typical effects of frequency-selective and non-selective fading, atmospheric impulse noise, and interference from other users of the HF band. The performance of binary BCH codes with bit interleaving is presented and the selection of a code to meet a specified performance criterion is described. The sensitivity of specific codes to changing channel conditions is presented, along with the cost, in terms of interleaving, of designing for one set of channel conditions rather than others. Concatenated codes are discussed as a means of effective error control on channels with clustered errors. Performance data are presented for selected two-stage codes used with inner-stage word interleaving and the effects of varying certain of the code parameters are shown. Emphasis is placed on code designs that use the inner-stage code only for error detection and the outer-stage code mainly for erasure filling with only a small amount of symbol error correction. The impact of error clustering on the performance of concatenated codes is discussed. Two diffuse convolutional codes are evaluated with the use of recorded error data in computer simulations of their threshold-decoding algorithms. Performance of various configurations of these convolutional codes is given and a comparison is made with that of a simple block coding scheme having the same decoder storage requirements. The various coding techniques studied are compared on the basis of achievable performance as well as certain factors affecting the feasibility of implementation.