ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

16
ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau

Transcript of ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Page 1: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

ECEE - 443

Compact Disc (CD) Coding –

Signal Processing and Error Correction

Jessica Lau

Page 2: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Need for Error Correction

Signal incentive to small defects on bottom surface of CD such as dust

Larger defects = Wiping of dataExample: scratches on disc

Data on CDs are spread all around Missing bits of data can be

reconstructed using error correction codes.

Minimize the effect of error on Disc

Page 3: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Generalized CD Data Path

Components: CIRC Encoder Sub Channel / Sub Code EFM Encoder

Outline of a main data channel in a CD

Page 4: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Audio Data Break-down Block98 frames or 2352

bytes / BlockRead : 75 blocks/sec

Frame 36 bytes / Frame 24 data + 8 parity + 3

sync + 1 subcode bytes Blocks /CD (74mins)

74x60x75 = 333,000 blocks

Page 5: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

CIRC Encoder CIRC –

Cross Interleave Reed-Soloman Code

Parity blocks are generated in addition to data and encoded onto the disc Interleaving stage break the data up so it is not contiguous on Disc, i.e. long burst error associated form scratches or larger scale of defects

C1Encoder

C2Encoder

InterleavingStage

DataInputData

Data

ParityParity

Page 6: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

CIRC – Parity Generation

Parity bits additional bits that represent whether the total number of ‘1s’ is even or odd

Used to carry error detection and correction information

Example: 1 Parity (all bits) 1101 0000 1101 0000 1 4 Parity(1st 4, 2nd 4, 1256, 2367 bits) 1101 0000 1001Error detected 1101 0001 by checking parity bit, error detected

in 2nd parity bit, hence error in 8th bit

Page 7: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

CIRC – Interleaving Technique

Process of scrambling, breaking /damaging and unscrambling frame of data

Example U N I V E R S I T Y O F W A S H I N G T O N

Defects ----- R S I T Y O F W A S H I N G T O N hard to reconstruct first word

1. Scrambling O N S T H U G R F S I I O T W N N V E I Y A

2. Damaging U G R F S I I O T W N N V E I Y A 3. Unscrambling U N I V E R I Y O F W A S I G T N 4. Interpolation Guessing of the missing letters

Page 8: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

CIRC Process – 3 Stages Stage 1 – C1 Process 32 bytes= 28 data + 4 ECC bytes Detect a bad C1 frame and fix only a single error A bad C1 frame - at least 2 error and location unknown Stage 2 – De/Interleaving Process Only 1 out of 28 bytes from C1 frame is taken into C2

due to data scattering on Disc Each byte is delayed by 1 frame until last byte is used Stage 3 – C2 Process 28 bytes from 28 different C1 frames, including 4

parity bytes Number and locations of errors known Fix up to 4 errors at a time

Page 9: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Interpolation Used when error correcting code fails Used to fill missing bits of data by

guessing Only valid for audio CD Example: CD audio tracks

400, 525, 650, 825, 1100 Defect 400, 525, 650, ? , 1100

using interpolation, estimate the half value = 875 825 Vs. 875 - close enough for audio signal, human ear unable to detect such mistake.

Page 10: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Eight to Fourteen (EFM) Modulation

Applied to each byte in the data stream before the data is put on CD

Minimize the number of 0 to 1 and 1-0 transitions -- thus avoiding small pits

Binary bits translated into EFM codes first Digital 10 0000 1010

EFM 10 1001 0001 0000 00 Rules: no more than ten and no less than

two consecutive zeroes in the data stream on the disc. This also means that there can be no consecutive ones.

Page 11: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

EFM Modulation -Example

(a) EFM coded data(b) NRZ coded data (Non return to zero) require twice the pits

on CD high BW (c) NRZI coded data (Non

Return to Zero Inverted)

half pits half BWAdvantages: Reduce

overall BW

Page 12: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Subcode Additional subcode byte is added to the frame

after CIRC encoded. Each bit in this byte represents a subcode

channel labeled P,Q,R,S,T,U,V and W In practice only the P and Q subcode channels

are used. P subcode

simple music separator flag indicates audio silence between tracks. in leadout, it alternates at 2 Hz to signal to the player that the disc has ended.

Page 13: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Subcode Q subcode Contains the table of contents for the disc. During normal playing time, the Q subcode

denotes the current time on the disc in minutes, seconds and frames

Denotes the disc UPCIEAN number and for each track, the International Standard Recording Code (ISRC).

UPCIEAN - The Universal Product Code (UPC)/ European Article Number (EAN) bar code

Page 14: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Some Facts – ECC & CD Player

Parity & Interleaving Combination Detect and correct a burst error up to

4000 bad bits Physical defect of 2.7 mm long

Interpolation Detects and corrects a burst error up

to 13700 bad bits Physical defect of 8.5 mm long

Page 15: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Trade-offs

Data Capacity Vs. Redundancy Data CDs – 10%capacity for error detection and

correction codes (ERC)Example: 2324 bytes of data only using 2048 bytes

Audio CDs – A quarter of the incoming bytes used for ERCExample: 24 out of 32 bytes of incoming data are used,8 bytes for ERC 74mins of music is actually 98mins

Page 16: ECEE - 443 Compact Disc (CD) Coding – Signal Processing and Error Correction Jessica Lau.

Q & A