Parallel turbo coder implementation
AssigneeTelefonaktiebolaget LM Ericsson (publ)
InventorsGerd Mörsberger, Georg Sporlein
Life of this patent
Estimating the term…
Abstract
A turbo coder block having a parallelization of degree n achieves increased processing speed. Each parallelized turbo coder block includes a first storage unit to store n samples of an input signal and a second storage unit to store n samples of at least one output signal of the parallelized turbo coding block. The parallelized turbo coder block further includes a bank of n delay units and is adapted to parallel process n samples of the input signal such that two delay units of the bank directly receive subsets of the n samples of the input signal, and an output signal of one delay unit is supplied to two delay units in the parallelized turbo coder block.
Claims12
A parallel turbo coder implementation method for a serial turbo coder block described according to:
- x 1 ( t ) = I ( t - 1 ) ⊕ α 1 · x 1 ( t - 1 ) ⊕ α 2 · x 2 ( t - 1 ) ⊕ … ⊕ α N · x N ( t - 1 ) α i ϵ { 0 , 1 } x 2 ( t ) = x 1 ( t - 1 ) ⋮ ⋮ x N ( t ) = x N - 1 ( t - 1 ) Q j ( t ) = β j0 · I ( t - 1 ) ⊕ x 1 ( t - 1 ) · [ β j0 · α 1 ⊕ β j1 ] ⊕ ⋮ x N ( t - 1 ) · [ β j0 · α N ⊕ β jN ] β ij ϵ { 0 , 1 } j ϵ [ 1 , … , N ]
- comprising
- a) carrying out a time index substitution for a first internal state according to:
- x 1 ( t - 1 ) = I ( t - 2 ) ⊕ α 1 · x 1 ( t - 2 ) ⊕ α 2 · x 2 ( t - 2 ) ⊕ … ⊕ α N · x N ( t - 2 ) ( 2. x 1 .1 ) ⋮ x 1 ( t - ( n - 1 ) ) = I ( t - n ) ⊕ α 1 · x 1 ( t - n ) ⊕ α 2 · x 2 ( t - n ) ⊕ … ⊕ α N · x N ( t - n ) ( 2. x 1 . n - 1 )
- where n is the degree of parallelization;
- b) carrying out a time index substitution for the remaining internal states (i=2, . . . , N) according to:
- x i ( t - 1 ) = x i - 1 ( t - 2 ) ( 2. x i .1 ) ⋮ x i ( t - ( n - 1 ) ) = x i - 1 ( t - n ) ( 2. x i . n -1 )
- c) carrying out a time index substitution for the output signal according to:
- Q j ( t - i ) = β j0 · I ( t - ( i + 1 ) ) ⊕ x 1 ( t - ( i + 1 ) ) · [ β j0 · α 1 ⊕ β j1 ] ⊕ ⋮ x N ( t - ( i + 1 ) ) · [ β j0 · α N ⊕ β jN ] i ϵ [ 1 , … , n - 1 ] ( 2. Q . i )
- to derive a parallel output vector:
- Q j ( t ) = Q j 0 ( p ) Q j ( t - 1 ) = Q j 1 ( p ) ⋮ Q j ( t - ( n - 1 ) ) = Q j n - 1 ( p ) j ϵ [ 1 , … , M ]
- d) carrying out an internal state substitution process for each internal state xk(t) (k=1, . . . N) according to the following:
- d1) set maximum time index element for the internal state xk(t) to tmax=t−1;
- d2) scan the representation of the internal state xk(t) for internal states with maximum time index tmax;
- d3) execute backward time index transition from tmax to tmax−1 in the representation of the internal state xk(t) through state variable substitution steps using eqs. (2);
- and
- d4) decrement tmax by a value of 1 and repeat steps d2) to d4) while tmax>t−n;
- e) carrying out an internal state substitution process for each element Qj(t−i) (i=0, . . . , n−2) of each parallel output vector Qj(t) (j=1, . . . , M) according to the following
- e1) set maximum time index element for vector element Qj(t−i) in the considered parallel output vector Qj(t) to tmax=t−i−1;
- e2) scan the representation of the vector element Qj(t−i) for internal states with maximum time index;
- e3) execute backward time index transition in the representation of the vector element Qj(t−i) from tmax to tmax−1 through state variable substitution steps using eqs. (2);
- and
- e4) decrement tmax by a value of 1 and repeat steps e2) to e4) while tmax>t−n.
A parallel turbo coder block of parallelization degree n, comprising
- a) a first stoic to store n samples of an input signal to the parallel turbo coding block;
- b) a second store to store n samples of at least one output signal of the parallel turbo coding block;
- and
- c) a turbo coder comprising a bank of n delay units and being adapted to parallel process n samples of the input signal such that at least two delay units of the bank directly receive subsets of the n samples of the input signal and an output signal of at least one delay unit in the turbo coder is supplied to at least two delay units in the turbo coder.
Dependencies are inferred from the claim text.