Presentation is loading. Please wait.

Presentation is loading. Please wait.

Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message.

Similar presentations


Presentation on theme: "Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message."— Presentation transcript:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19 Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message to Shortened Reed Solomon Codes

20 Properties of Shortened Reed Solomon Codes For a (n,k) Reed Solomon code that is shortened to (n-l,k-l) the minimum distance is (n-l-(k-l)-1) = n-k-1 (shortening does not change the minimum distance) Code is no longer cyclic, but it is maximum distance separable e.g. (255,245) RS code and shortened (182,172) code over GF(256) both correct t=5 errors. It is very common to use codes over GF(256) and then shorten the message to get the desired codeword length

21 Case study: Error control coding in DVD-ROM Product Reed Solomon Codes

22 Case study: Error control coding in DVD-ROM Product Reed Solomon Codes Physical bits stored

23 Format k bytes of data (e.g. video) 8-bits 16-bits parity RS encoder EFM+

24 RS Encoder 33k bytes of data (e.g. video) parity RS encoder 172 bytes 192 rows Read in by row

25 RS Encoder 33k bytes of data (e.g. video) parity RS encoder 172 bytes 192 rows Read in by row 172 bytes Read out by row

26 RS Encoder 33k bytes of data (e.g. video) parity RS encoder 172 bytes 192 rows 10 bytes (182,172) RS code over GF(256) 192 times

27 RS Encoder parity RS encoder 172 bytes 192 rows 10 bytes 16 bytes (208,192) RS code over GF(256) 182 times

28 RS Encoder parity RS encoder 172 bytes 192 rows 10 bytes 16 bytes 172*182 = 31kbytes 10* *16 n=37856 k=31304 R=k/n = 0.82

29 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes

30 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes Row code: Shortened RS code (182,172) with 10 parity bytes: Each row can correct up t=5 byte errors in that row

31 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes Column code: Shortened RS code (208,192) with 16 parity bytes: Each column can correct up tp t=8 byte errors for that column

32 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes How long of a burst of errors is correctible?

33 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes How long of a burst of errors is correctible?

34 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes How long of a burst of errors is correctible?

35 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes Burst error correcting capability: - any burst of errors that extends for no more than 8 rows is correctible (182*8 = 1456 bytes)

36 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes Burst error correcting capability: - a max burst of errors that extends for no more than 8 rows is correctible (182*8 = 1456 bytes)

37 RS Encoder 172 bytes 192 rows 10 bytes 16 bytes Burst error correcting capability: - a max burst of errors that extends for no more than 8 rows is correctible (182*8 = 1456 bytes) max width of scratch: (1456byte*2.13 microns/byte = 3mm )

38 Issues 172 bytes 192 rows 10 bytes 16 bytes Unfortunately there are random errors that occur too - at a rate of about 1 in1000 bits -- about other random errors sprinkled in

39 Issues 172 bytes 192 rows 10 bytes 16 bytes Unfortunately there are random errors that occur too - at a rate of about 1 in1000 bits -- about other random errors sprinkled in Row Decode

40 Issues 172 bytes 192 rows 10 bytes 16 bytes Unfortunately there are random errors that occur too - at a rate of about 1 in1000 bits -- about other random errors sprinkled in Row Decode

41 Issues 172 bytes 192 rows 10 bytes 16 bytes Unfortunately there are random errors that occur too - at a rate of about 1 in1000 bits -- about other random errors sprinkled in Row Decode Column decode

42 Issues 172 bytes 192 rows 10 bytes 16 bytes Unfortunately there are random errors that occur too - at a rate of about 1 in1000 bits -- about other random errors sprinkled in Row Decode Column decode

43 Comments This is done at about 5 Mbps - not bad this is cheap to implement Can be done on an ASIC - some general purpose DSP’s have this built in now Now decoding…. Row code: different syndromes Col code: different syndromes

44 Error Control Coding in Fiber Optic Transmission systems This is done at about 5 Mbps - not bad this is cheap to implement

45 1 bit transmitted every T seconds: data rate 1/T bits/sec Detector at receiving end is a threshold device: was 0 or 1 sent? Transmitting and Detecting bits T Time t Decide 1 Decide 0 0 Volts A Volts 0 Volts

46 Detector can be wrong Performance B “signal to noise ratio”

47 Detector can be wrong Performance Bit error rate as a function of SNR

48 Q degrades as a function of Distance Transmitted power Data rate Traditional (but not best design): Design system with significant margin to keep error rate < 1e-15 Degradation of Q B “signal to noise ratio”

49 Option: Forward Error Correction Send “information” bits and overhead “parity” bits to correct for the the errors that result from Distance,Transmitted power, Data rate Overhead bits allow for correction of errors during transmission But overhead bits result in bandwidth expansion Have to account for this

50 History and numbers Error control coding: History –First codes in 30s: Hamming –Promise of error free communications in the presence of any noise: Shannon 1948 Common applications – > 4 Billion CD/DVDs produced each year – > 400 million CD/DVD players – > every hard drive – > every cell phone, many pagers, digital TV, DSL, cable modems GT courses –ECE6605 Information Theory –ECE6606 Error Control Coding

51 Bandwidth expansion and Rate T Time t RT Time t Information bits only: k bits Information bits (k) and parity ‘overhead’ bits (r) k r True data rate is same in both (information data rate) Let R =k/(k+r), channel bit rate expands by a factor 1/R

52 Issues Is error correction worth it? Channel bandwidth goes up - noise increases as a function of bandwidth (causes Q to decrease, BER goes up), e.g. But FEC can correct errors that occur Which wins? How is FEC done?

53 G.975: 10 Gbps data rate n=255 bytes, k=239 bytes, corrects 3 byte errors 25 year old technology Optical fiber products only last 5-7 years R = 239/255, 7% overhead Line rate = n/k*10Gbps=10.7Gbps Standard specifies 16 of these codes in parallel Processing rate = 10 Gbps/16 = 625 Mbps G.975 Reed Solomon Code Enc 1 Enc 2 Enc bytes 255 bytes MUXMUX 10.7 Gbps

54 FEC BERin vs BERout

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103


Download ppt "Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message."

Similar presentations


Ads by Google