- •1 Data transmission systems
- •1.1 Classification of basic error-correcting codes
- •1.2 Cyclic codes
- •1.2.1 Basic construction principles of cyclic codes
- •1.2.2 The relative information transfer rate of cyclic codes
- •1.2.3 Basic principles of construction of cyclic сodes coders
- •1.2.4 Syndrome decoding of cyclic codes
- •1.2.5 Meggitt decoder of cyclic codes
- •1.3 Convolutional codes
- •1.3.1 Basic parameters of convolutional codes
- •1.3.2 Decoding of the systematic convolutional codes
- •1.3.3 Decoding of the nonsystematic convolutional codes
- •1.3.3 Soft output Viterbi algorithm
- •1.4 Concatenated codes
- •1.4.1 Serial concatenated encoding fundamentals
- •1.4.2 Construction of interleaver and deinterleaver
- •1.4.3 Turbo codes
- •1.4.4 Perforation of output sequences
- •1.5 Frames structure on hdlc procedure
- •1.5.1 Types of frames according to hdlc procedure
- •1.5.3 Support frames structure
1.3 Convolutional codes
1.3.1 Basic parameters of convolutional codes
Currently convolutional codes (CvC) find large practical application in telecommunications. It above all things concerns to data transmission systems, to the digital broadcast, television and to the mobile networks GSM. The convolutional encoding got further development in connection with appearance of decoding on the Viterbi algorithm.
A basic task at encoding by CvC, as well as CC, consists in forming of check sequence and time-division multiplexing of it with informative sequence. Using operator of delay D on a time τ0 (an operator Dv corresponds to the delay on vτ0), informative A(D) and check B(D) sequences can be presented as binary polynomials with the half-infinite number of elements:
Every check bit bv at the convolutional encoding is linear combination of information bits A(D) taking into account some fixed polynomial G(D), degree of which is more than zero, i.e.
B(i)(D) = G(i)(D) A(D), (1.22)
where G(i)(D) – generator polynomials that determines corrective ability of CvC.
The binary convolutional coder contains the shift register on K cells and adders modulo 2 on the for code symbols formation. Inputs of adders are defined by register cells. Links of i-th adder with cells of j-th register describes by a generator polynomial (for codes with a speed R = 1/n0)
,
where = 1 if link of i-th adder with s-th cell exists, and = 0 if such link is not present.
Thus, the convolutional coder is described by a set of factors = { … }.
The parameters of CvC are:
1. Free code distance. Unlike block codes for systematic CvC free code distance df is determined by weight (amount of units) of impulsive description of the coder Wt(v). Impulsive description of coder v is a response on the single influence of kind ei = 1 0 0 0 0 0 0 . . . 0.
2. Constraint length (CL). A coder of any CvC is a device with memory, containing K memory cells, on inputs of which every clock cycle enters k0 entrance bits, and on an output appears n0 bits. Parameter
Na = n0 (K + 1) (1.23)
determines constraint length, which plays the same role as the length of the code combination of the block code.
For compactness of the denotation of the systematic convolutional codes the record of the kind (Na, Ka), where Ka = K + 1 is the amount of informative bits in the limits of CL.
3. Correcting capability in the limits of CL of a convolutional code is a number of errors that can be corrected by the code. It can be calculated from the formula for cyclic codes (1.6):
tc = [(df – 1)/2], (1.24)
where [x] is the largest integer, but not more than x.
4. Relative information transfer rate and redundancy of the CvC are determined as follows:
R = k0/n0, (1.25)
ρ = 1 – R. (1.26)