Connect with us

Bit representation on a CD

Discussion in 'Electronic Basics' started by c.j[dot]w, Nov 21, 2004.

Scroll to continue with content
  1. c.j[dot]w

    c.j[dot]w Guest


    This question has some connections with the other one that I recently

    When data is stored on a CD, a straight-forward approach would be to
    store a 0 as a land and a 1 as a pit, or vice-versa. But the
    representation used is that a 1 is representated by a change from pit to
    land or from land to pit, and a 0 is represented by a pit or a land.

    My questions is: Why is it better to use the transition/not-transition
    approach? I have read an explanation, but don't understand it. It is
    quoted below this post. The whole text can be found at

    Thanks in advance!

    To ensure accurate recovery, the disc data must be encoded to optimize
    the analog-to-digital conversion process that the radio frequency signal
    must undergo. Goals of the low level data encoding include:

    1. High information density. This requires encoding that makes the best
    possible use of the high, but limited, resolution of the laser beam and
    read head optics.
    2. Minimum intersymbol interference. This requires making the minimum
    run length, i.e. the minimum number of consecutive zero bits or one
    bits, as large as possible.
    3. Self-clocking. To avoid a separate timing track, the data should be
    encoded so as to allow the clock signal to be regenerated from the data
    signal. This requires limiting the maximum run length of the data so
    that data transitions will regenerate the clock.
    4. Low digital sum value (the number of one bits minus the number of
    zero bits). This minimizes the low frequency and DC content of the data
    signal which permits optimal servo system operation.

    A straightforward encoding would be to simply to encode zero bits as
    land and one bits as pits. However, this does not meet goal (1) as well
    as the encoding scheme actually used. The current CD scheme encodes one
    bits as transitions from pit to land or land to pit and zero bits as
    constant pit or constant land.

    To meet goals (2) to (4), it is not possible to encode arbitrary binary
    data. For example, the integer 0 expressed as thirty-two bits of zero
    would have too long a run length to satisfy goal (3). To accommodate
    these goals, each eight-bit byte of actual data is encoded as fourteen
    bits of channel data. There are many more combinations of fourteen bits
    (16,384) than there are of eight bits (256). To encode the eight-bit
    combinations, 256 combinations of fourteen bits are chosen that meet the
    goals. This encoding is referred to as Eight-to-Fourteen Modulation
    (EFM) coding.

    If fourteen channel bits were concatenated with another set of fourteen
    channel bits, once again the above goals may not be met. To avoid this
    possibility, three merging bits are included between each set of
    fourteen channel bits. These merging bits carry no information but are
    chosen to limit run length, keep data signal DC content low, etc. Thus,
    an eight bit byte of actual data is encoded into a total of seventeen
    channel bits: fourteen EFM bits and three merging bits.

    To achieve a reliable self-clocking system, periodic synchronization is
    necessary. Thus, data is broken up into individual frames each beginning
    with a synchronization pattern. Each frame also contains twenty-four
    data bytes, eight error correction bytes, a control and display byte
    (carrying the subcoding channels), and merging bits separating them all.
    Each frame is arranged as follows:

    Sync Pattern24 + 3channel bits
    Control and Display byte14 + 3
    Data bytes12 * (14 + 3)
    Error Correction bytes 4 * (14 + 3)
    Data bytes12 * (14 + 3)
    Error Correction bytes 4 * (14 + 3)

    TOTAL588channel bits
  2. Rich Grise

    Rich Grise Guest

    It's called NRZ (Non-Return to Zero) recording; maybe drawing a little
    timing diagram would help you see the point - it ensures that there are
    enough edges to recover the clock, and stuff like that. I put "nrz data"
    in google and got this results page:

    Hope This Helps!
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day