note: is very restrictive would like more flexibility in determining the length if we shorten the...

103

Upload: adriel-rhodes

Post on 14-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 2: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 3: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 4: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 5: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 6: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 7: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 8: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 9: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 10: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 11: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 12: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 13: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 14: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 15: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 16: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 17: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 18: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 19: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message

• 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

2m −ary, n = 2m −1

c(x) =m(x)g(x)

c0 + c1x+...+ cn−1xn−1 =

(m0 +m1x+...+mk−1xk−1)(g0 + g1x+...+ gn−kx

n−k )

m = (m0 ,...,mk−1)

m = (m0 ,...,mk−l−1)

c0 + c1x+...+ cn−l−1xn−l−1 =

(m0 +m1x+...+mk−l−1xk−l−1 + 0xk−l +...+ 0xk−1)(g0 + g1x+...+ gn−kx

n−k )

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

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

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

Case study: Error control coding in DVD-ROMProduct Reed Solomon Codes

0.4 μm

: 680CD MB: 4.7 DVD GB

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

Case study: Error control coding in DVD-ROMProduct Reed Solomon Codes

0.4 μm

: 680CD MB: 4.7 DVD GB

1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0Physical bitsstored

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

Format

1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0

• • •

33k bytes of data (e.g. video)

8-bits

16-bits

• • •

parity

RS encoder

EFM+

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

RS Encoder

• • •

33k bytes of data (e.g. video)

• • •

parity

RS encoder

172 bytes

192 rows

Read in by row

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

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

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

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)(182,172) RS code over GF(256)

(182,172) RS code over GF(256)

(182,172) RS code over GF(256)

192 times

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

RS Encoder

• • •

• • •

parity

RS encoder

172 bytes

192 rows

10 bytes

16 bytes (208,192) RS code over GF(256)

182 times

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

RS Encoder

• • •

• • • parity

RS encoder

172 bytes

192 rows

10 bytes

16 bytes

172*182 = 31kbytes 10*192 + 182*16

n=37856k=31304

R=k/n = 0.82

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

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

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

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

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

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

How long of a burst of errors is correctible?

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

How long of a burst of errors is correctible?

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

How long of a burst of errors is correctible?

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

Burst error correcting capability:- any burst of errors that extends for no morethan 8 rows is correctible (182*8 = 1456 bytes)

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

Burst error correcting capability: - a max burst of errors that extends for no morethan 8 rows is correctible (182*8 = 1456 bytes)

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

RS Encoder

172 bytes

192 rows

10 bytes

16 bytes

Burst error correcting capability:- a max burst of errors that extends for no morethan 8 rows is correctible (182*8 = 1456 bytes)

max width of scratch: (1456byte*2.13 microns/byte = 3mm )

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

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 20-30 other random errors sprinkled in

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

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 20-30 other random errors sprinkled in

RowDecode

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

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 20-30 other random errors sprinkled in

RowDecode

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

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 20-30 other random errors sprinkled in

RowDecode

Column decode

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

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 20-30 other random errors sprinkled in

RowDecode

Column decode

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

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€

25610 = 280

25616 = 2128

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

Error Control Coding in Fiber Optic Transmission systems

• This is done at about 5 Mbps - not bad this is cheap to implement

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

• 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

1 1 1 1 00 0 0 0 0

Time t

Decide 1 Decide 0

0 Volts

A Volts A Volts

0 Volts

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

• Detector can be wrong

Performance

Q =B

(σ 1 +σ 2 ) /2

B€

σ1

σ 2

“signal to noise ratio”

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

• Detector can be wrong

Performance

6 8 10 12 14 16 1810 -15

10 -10

10 -5

100

20log(Q)

BER

Uncoded BER vs Q, Capacities for R=0.9249

Bit error rate as a function of SNR

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

• 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€

σ1

σ 2

“signal to noise ratio”

Q =B

(σ 1 +σ 2 ) /2

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

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

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

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

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

Bandwidth expansion and Rate

T

1 1 1 1 00 0 0 0 0

Time t

RT

1 1 1 1 00 0 0 0 0

Time t

Information bits only: k bits

Information bits (k) and parity ‘overhead’ bits (r)

1 1 10 11

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

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

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?

Q =B

1/4R(σ 1 +σ 2 )=

4RB(σ 1 +σ 2 )

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

• 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 16

••

239 bytes

239 bytes

239 bytes

255 bytes

255 bytes

255 bytes

MUX

10.7 Gbps

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

FEC BERin vs BERout

Page 55: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 56: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 57: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 58: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 59: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 60: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 61: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 62: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 63: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 64: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 65: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 66: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 67: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 68: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 69: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 70: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 71: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 72: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 73: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 74: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 75: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 76: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 77: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 78: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 79: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 80: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 81: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 82: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 83: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 84: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 85: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 86: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 87: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 88: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 89: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 90: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 91: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 92: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 93: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 94: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 95: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 96: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 97: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 98: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 99: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 100: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 101: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 102: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message
Page 103: Note: is very restrictive Would like more flexibility in determining the length If we shorten the length of the message