10149.audiosector.ecc
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:2k
源码类别:
SCSI/ASPI
开发平台:
MultiPlatform
- Cross Interleaved Reed-Solomon Code for audio sectors
- 24 bytes (data) are extended by 8 bytes CIRC EDC/ECC information.
- 32 bytes are extended by one subchannel byte.
- 1 + 12 + 4 + 12 + 4 = 33 bytes. This is a small frame.
- S + D1 + Q1 + D2 + P1
- (S = subchannel, D1 = first data portion, Q1 = Q parity
- D2 = second data portion, P1 = P parity)
- 98 small frames yield 3234 bytes (one sector or big frame).
- That is 98 subchannel bytes (including 2 sync bytes) plus
- 24*98=2352 data bytes plus
- (4+4)*98=392+392 Q+P-CIRC bytes
- The input of the Reed-Solomon encoder consists of
- 12 16-bit-words of data giving 24 bytes.
- These bytes go through delay and scrambling stages.
- The delay is two bytes (for some bytes).
- Four Q parity bytes are generated (Encoder C2).
- 28 bytes go through a second delay stage (delays vary from
- 0 to 108 bytes).
- Four P parity bytes are generated (Encoder C1).
- 32 bytes are delayed (0 or 1 bytes).
- At this stage the total delay so far is 3 up to 108 bytes.
- Q and P parity are inverted.
- This gives D1, Q1, D2, P1.
- Decoding reverses the process.
- Total constant delay of encoding and decoding is 111 bytes.
- Reed-Solomon operates on bytes.
- Polynomial:
- P(x) = x^8 + x^4 + x^3 + x^2 + 1
- primitive element alpha of GF(2^8):
- alpha = (00000010) (MSBit - LSBit)
- first stage (Q-parity)
- (28,24) Reed-Solomon code bytes over GF(2^8)
- P1[n] = sum over m (S[(m * 24) + n]
- P2[n] = sum over m (S[(m * 24) + n]
- second stage (P-parity)
- (32,28) Reed-Solomon code bytes over GF(2^8)
- Q1[n] = sum over m (S[(m * 28) + n]
- Q2[n] = sum over m (S[(m * 28) + n]