170 likes | 365 Views
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 data Example: scratches on disc Data on CDs are spread all around
E N D
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 data Example: 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
Generalized CD Data Path Outline of a main data channel in a CD Components: • CIRC Encoder • Sub Channel / Sub Code • EFM Encoder
Audio Data Break-down • Block 98 frames or 2352 bytes / Block Read : 75 blocks/sec • Frame 36 bytes / Frame 24 data + 8 parity + 3 sync + 1 subcode bytes • Blocks /CD (74mins) 74x60x75 = 333,000 blocks
C1 Encoder Interleaving Stage C2 Encoder Input Data Data Data Parity Parity 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
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 1001 Error detected 1101 0001 by checking parity bit, error detected in 2nd parity bit, hence error in 8th bit
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
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
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.
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.
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 BW Advantages: Reduce overall BW
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.
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
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
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 ERC Example: 24 out of 32 bytes of incoming data are used, 8 bytes for ERC 74mins of music is actually 98mins