Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Code design: Computer search Low rate: Represent code by its generator matrix Find one representative for each equivalence class of codes Permutation.

Similar presentations


Presentation on theme: "1 Code design: Computer search Low rate: Represent code by its generator matrix Find one representative for each equivalence class of codes Permutation."— Presentation transcript:

1 1 Code design: Computer search Low rate: Represent code by its generator matrix Find one representative for each equivalence class of codes Permutation equivalences? Do not try several generator matrices for the same code? Avoid nonminimal matrices (and of course catastrophic ones)

2 2 Code design: Computer search (2)* High rate codes Represent code by its parity check matrix Find one representative for each equivalence class of codes Avoid nonminimal matrices Problem: Branch complexity of rate k/n codes One solution: Use a bit-oriented trellis Can limit complexity of bit-level trellis to + , 0    min(n-k,k) Reference: E. Rosnes and Ø. Ytrehus, Maximum length convolutional codes under a trellis complexity constraint, J. of Complexity 20 (2004) 372-403.

3 3 Code design/ Bounds on codes* Heller bound: d free  best minimum distance in any block code of the same parameters as any truncated/terminated code McEliece: For rate (n-1)/n codes of d free =5, n  2 ( +1)/2 Sphere packing bounds Applies to codes of odd d free Similar to the Hamming/sphere packing bound for block codes Corollary: For rate (n-1)/n codes of d free =5, n  2 /2 Reference: E. Rosnes and Ø. Ytrehus, Sphere packing bounds for convolutional codes, IEEE Trans. On Information Theory, to appear (2004)

4 4 QLI codes Skip this.

5 5 Code design: Construction from block codes Justesen: Constr 12.1 …skip Constr 12.2 …skip Other attempts Wyner code d=3 Generalizations d=3 and 4. Can be shown to be optimum Reference: E. Rosnes and Ø. Ytrehus, Maximum length convolutional codes under a trellis complexity constraint, J. of Complexity 20 (2004) 372-403. Other algebraic (”BCH-like”) constructions (not in book) Warning: Messy

6 6 Implementation issues Decoder memory Metrics dynamic range (normalization)* Path memory Decoder synchronization Receiver quantization

7 7 Decoder memory Limit to how large can be In practice is seldom more than 4 (16 states) Exists implementation with = 14 (BVD)

8 8 Dynamic range of metrics Normalize metrics values after each time instant! 1 2 2 3 1 2 2 3 2 0 1 0 3 2 1 0 0 3 0 1 0 0 1 1 2 0 1

9 9 Path memory For large information length: Impractical to store complete path before backtracing Requires a large amount of memory Imposes delay Practical solution: Select integer  After  blocks: Start backtracing by either Starting from the survivor in an arbitrary state, or the survivor in the state with best metrics Try backtracing from all states, and select the first k-bit block that occurs most frequently in these backtracings This determines the first k-bit information block. Subsequent information blocks are decoded successively in the same way

10 10 Truncation of the decoder Not maximum likelihood The truncated decoder can make two kinds of errors E ML = The kind of error that an ML decoder would also make Associated with low-weight paths (paths of weight d free, d free +1, …) P(E ML )  A d free  P d free where P d depends on the channel and is decreasing rapidly as the argument d increases E T = The kind of error that are due to truncation, and which an ML decoder would not make Why would an ML decoder not make those errors? Because if the decoding decision is allowed to ”mature”, the erroneous codewords will not preferred over the correct one. However, the truncated decoder enforces an early decision and thus makes mistakes

11 11 Truncation length Assume the all zero word is the correct word P(E T )  A d(  )  P d(  ),where d(  ) is the minimum weight of a path that leaves state zero at time 1 and that is still unmerged at time  Want to select d(  ) such that P(E ML ) >> P(E T ) The minimum length  such that d(  ) > d free is called the truncation length. Often 4-5 times the memory m. Determined e. g. by modified Viterbi algorithm

12 12 Example

13 13 R=1/2, =4 code, varying path memory

14 14 Synchronization Symbol synchronization: Which n bits belong together as a branch label? Metrics evaluation: If metrics are consistently bad this insicates loss of synchronization May be enhanced by code construction* May embed special synchronization patterns in the transmitted sequence What if the noise is bad? Decoder: Do we know that the encoder start in the zero state? Not always Solution: Discard the first (5m) branches

15 15 Quantization Skip this

16 16 Other complexity issues Branch complexity (of high rate encoders) Punctured codes Bit level encoders (equivalence to punctured codes)* Syndrome trellis decoding (S. Riedel)* Speedup: Parallell processing One processor per node Several time instants at a time / pipelining (Fettweiss)* Differential Viterbi decoding

17 17 SISO decoding algorithms Two new elements Soft-in Soft-out (SISO) Allows non-uniform input probability The a priori information bit probabilities P(u l ) may be different Applications: Turbo decoding Two most used algorithms: The Soft Output Viterbi Algorithm The BCJR algorithm (APP, MAP)

18 18 SOVA

19 19 SOVA (continued)

20 20 SOVA (continued)

21 21 SOVA (continued)

22 22 SOVA Update

23 23 SOVA Finite path memory: Straightforward Complexity vs. Complexity of Viterbi Algorithm: Modest increase Storage complexity: Need to store reliability vectors in addition to metrics and survivor pointers Need to update the reliability vector Provides ML decoding (Minimizes WER) and reliability measure Not MAP: Does not minimize BER

24 24 Suggested exercises 12.6-12.26


Download ppt "1 Code design: Computer search Low rate: Represent code by its generator matrix Find one representative for each equivalence class of codes Permutation."

Similar presentations


Ads by Google