Presentation is loading. Please wait.

Presentation is loading. Please wait.

Error Correction Code (2)

Similar presentations


Presentation on theme: "Error Correction Code (2)"— Presentation transcript:

1 Error Correction Code (2)
Fire Tom Wada Professor, Information Engineering, Univ. of the Ryukyus 2019/4/25 System Arch (Fire Tom Wada)

2 Two major FEC technologies
Reed Solomon code (Block Code) Convolutional code Serially concatenated code Interleaving Reed Solomon Code Convolution Code ConcatenatedCoded Source Information Concatenated Goes to Storage, Transmission 2019/4/25 System Arch (Fire Tom Wada)

3 System Arch 2008 (Fire Tom Wada)
(n, k) Block Code BLOCK it-2 k bit it-1 it Information code wt-2 n bit wt-1 wt ENCODE Time t information block it is coded to time t code wt. k : information length n : code length Code Rate : R=k/n 2019/4/25 System Arch (Fire Tom Wada)

4 System Arch 2008 (Fire Tom Wada)
Convolutional Code it-2 k bit it-1 it Information code wt-2 n bit wt-1 wt Constraint length K Time t code wt is determined by past K information. K : Constraint length Code Rate : R=k/n 2019/4/25 System Arch (Fire Tom Wada)

5 Simple Convolutional Coder
 D is delay operator  c1t, c2t depends on not only current it bu also past it-1, it-2 2019/4/25 System Arch (Fire Tom Wada)

6 Simple Convolutional Coder(2)
Time t 1 2 3 4 5 it F1=it-1 F2=it-2 c1t c2t If input information is “110010” then Output code is “ ”. Constraint length K=3, R=1/2 2019/4/25 System Arch (Fire Tom Wada)

7 State Transition Diagram
Number of State: 4 Time t 1 2 3 4 5 it F1=it-1 F2=it-2 c1t c2t 2019/4/25 System Arch (Fire Tom Wada)

8 State Transition Diagram(2)
Time t 1 2 3 4 5 it F1=it-1 F2=it-2 c1t c2t t=0 t=5 t=1 t=3 t=2 In each time t, a traveler stays in one state. And move to different state cycle by cycle. 2019/4/25 System Arch (Fire Tom Wada)

9 System Arch 2008 (Fire Tom Wada)
Trellis Diagram Convert the State transition diagram to 2D diagram Vertical axis : states Horizontal axis : time states time 00 01 10 11 00/0 11/1 11/0 00/1 01/0 10/1 10/0 01/1 2019/4/25 System Arch (Fire Tom Wada)

10 System Arch 2008 (Fire Tom Wada)
Encoding in Trellis Time t 1 2 3 4 5 it F1=it-1 F2=it-2 c1t c2t Input information determines a path in Trellis Each Branch outputs 2bit code. t=0 t=1 t=2 t=3 t=4 t=5 00 01 10 11 00/0 11/1 11/0 00/1 01/0 10/1 10/0 01/1 11 11 11 01 10 10 2019/4/25 System Arch (Fire Tom Wada)

11 Punctured Convolutional Code
The example Encoder has Code Rate R=1/2 Punctured Convolutional Code means that one or some code output is removed. Then Code Rate can be modified 2019/4/25 System Arch (Fire Tom Wada)

12 Merit of Punctured Code
Larger code rate is better. Using Punctured technology, When communication channel condition is good, weak error correction but high code rate can be chosen. When communication channel condition is bud, strong error correction but low code rate can be chosen. This capability can be supported by small circuit change. One coder or decoder can be used for several code rate addaptively 2019/4/25 System Arch (Fire Tom Wada)

13 System Arch 2008 (Fire Tom Wada)
R=2/3 example 2019/4/25 System Arch (Fire Tom Wada)

14 System Arch 2008 (Fire Tom Wada)
Viterbi Decode Viterbi Decode is one method of Maximum likelihood decoding for Convolutional code. Maximum likelihood decoding Likelihood function is P(xi|r): Probability of seding xi under the condition of receiving r N message x1, x2, x3, …, xN x? r Sender take one message and send it out! Receiver find the maximum conditional Probability 2019/4/25 System Arch (Fire Tom Wada)

15 System Arch 2008 (Fire Tom Wada)
Viterbi Decode(2) Branch metric is the Likelihood function of each branch. -Ln{p(xk|ri)} High possibility  small value Example : Hamming distance Path metric is the sum of branch metrics along the possible TRELLIS PATH. 2019/4/25 System Arch (Fire Tom Wada)

16 Viterbi Decoding Example
R=1/2, Receive Calculate Each Branch metric (This time Hamming distance) 00 01 10 11 00(2) 11(0) 01(1) 10(1) 00(1) 11(1) 01(0) 10(2) 01(2) 10(0) t=0 t=1 t=2 t=3 t=4 t=5 t=6 Rece- ived 2019/4/25 System Arch (Fire Tom Wada)

17 Viterbi Decoding Example(2)
Calculate Path metric in order to find minimum path metric path. Until t=2 Lower path has smaller path metric, Then Take it! t=0 t=1 t=2 t=3 t=4 t=5 t=6 5 3 00 00(2) 00 00(1) 00 00(2) 00 00(1) 00 00(2) 00 00(1) 00 2 11(0) 11(1) 11(0) 11(1) 11(0) 11(1) 3 01 01 11(0) 01 11(1) 01 11(0) 01 11(1) 01 2 00(2) 00(1) 00(2) 00(1) 01(2) 01(1) 01(0) 01(1) 01(0) 10 10 10 10 10 10(0) 10(1) 10(2) 10(1) 10(2) 10(1) 10(2) 10(1) 10(2) 11 11 11 11 11 01(1) 01(0) 01(1) 01(0) 2019/4/25 System Arch (Fire Tom Wada)

18 Viterbi Decoding Example(3)
Calculate Path metric in order to find minimum path metric path. Until t=6 t=0 t=1 t=2 t=3 t=4 t=5 t=6 3 2 2 3 3 00 00(2) 00 00(1) 00 00(2) 00 00(1) 00 00(2) 00 00(1) 00 11(0) 11(1) 11(0) 3 11(1) 11(0) 11(1) 3 3 2 2 01 01 11(0) 01 11(1) 01 11(0) 01 11(1) 01 2 00(2) 00(1) 00(2) 00(1) 2 3 01(2) 01(1) 01(0) 01(1) 01(0) 10 10 10 10 10 10(0) 10(1) 1 10(2) 10(1) 10(2) 2 10(1) 10(2) 10(1) 10(2) 11 11 11 11 11 01(1) 01(0) 01(1) 01(0) 1 1 2 2 2019/4/25 System Arch (Fire Tom Wada)

19 Viterbi Decoding Example(4)
Select Minimum Path Metric and get original information In this example, two minimum path Upper path : Lower path : If we increase the time, we might find ONLY ONE MINIMUM PATH. 00 01 10 11 00(2) 11(0) 01(1) 10(1) 00(1) 11(1) 01(0) 10(2) 01(2) 10(0) t=0 t=1 t=2 t=3 t=4 t=5 t=6 1 2 1 1 2 2 2019/4/25 System Arch (Fire Tom Wada)

20 Received signal has many level
In the previous example, we have assumed the received sequence is Usually, received signal is analog (Many Levels) such as SIGNAL LEVEL 1 2 3 4 5 6 7 2019/4/25 System Arch (Fire Tom Wada)

21 System Arch 2008 (Fire Tom Wada)
Hard Decision HARD DECISION LINE SIGNAL LEVEL 1 2 3 4 5 6 7 Loosing Reliability Information by Hard Decision! HARD DECISION OUTPUTS 1 1 1 1 1 1 1 1 1 Highly reliable 1 Low reliable 1 We have to distinguish! 2019/4/25 System Arch (Fire Tom Wada)

22 System Arch 2008 (Fire Tom Wada)
Soft Decision Use soft decision metric One Example LEVEL 1 2 3 4 5 6 7 Branch Metric for ‘0’ Branch Metric for ‘1’ Difference -3 -2 -1 Reliable ‘1’ Reliable ‘0’ 00 00(branch metric = = 3) LEVEL= 65 HOW TO COMPUTE BRANCH METRIC No effect on Viterbi decoding! Looks like Erased or Punctured! 2019/4/25 System Arch (Fire Tom Wada)

23 System Arch 2008 (Fire Tom Wada)
Soft Decision Viterbi Calculate Branch Metric based on Soft-Table 00 01 10 11 00(1) 11(0) 01(1) 10(0) 00(2) 01(0) 10(2) 01(2) 00(3) 00(4) 11(1) 10(4) t=0 t=1 t=2 t=3 t=4 t=5 t=6 65 LEVEL 63 54 36 66 27 LEVEL 1 2 3 4 5 6 7 Branch Metric for ‘0’ Branch Metric for ‘1’ 2019/4/25 System Arch (Fire Tom Wada)

24 Soft Decision Viterbi(2)
Calculate Path metric in order to find minimum path metric path. Until t=6 00 01 10 11 00(1) 11(0) 01(1) 10(0) 00(2) 01(0) 10(2) 01(2) 00(3) 00(4) 11(1) 10(4) t=0 t=1 t=2 t=3 t=4 t=5 t=6 65 LEVEL 63 54 36 66 27 3 5 2 3 4 3 3 2 4 2 3 3 1 1 3 3 2019/4/25 System Arch (Fire Tom Wada)

25 Soft Decision Viterbi(3)
Select Minimum Path Metric and get original information In this example : 00 01 10 11 00(1) 11(0) 01(1) 10(0) 00(2) 01(0) 10(2) 01(2) 00(3) 00(4) 11(1) 10(4) t=0 t=1 t=2 t=3 t=4 t=5 t=6 65 LEVEL 63 54 36 66 27 2019/4/25 System Arch (Fire Tom Wada)

26 System Arch 2008 (Fire Tom Wada)
Summary 2 types of FEC Block code such as RS Convolutional Code Code Rate Punctured Viterbi Decoder : Maximum likelihood decoding Trellis Hard Decision vs. Soft Decision Branch Metric, Path Metric 2019/4/25 System Arch (Fire Tom Wada)


Download ppt "Error Correction Code (2)"

Similar presentations


Ads by Google