EP0764950A2

Method and apparatus for generating high rate codes for recording information on a magnetic medium

Abstract

Method and apparatus for encoding digital information to be recorded on a magnetic medium is disclosed. The invention provides for receiving a sequence of (2mn + d) user bits, mapping the sequence of user bits to 2m dc-free codewords, and recording the 2m dc-free codewords on a magnetic medium. A modulation coder, which includes a memory containing multiple non-intersecting subconstellations of dc-free codewords, performs the mapping in a non-equiprobable manner such that a particular codeword from a larger subconstellation is more likely to be used than a particular codeword from a smaller constellation. Less desirable codewords, such as those containing relatively long strings of bits having the same value, are assigned to the smaller subconstellations, thereby lessening the likelihood of loss of timing and gain parameters in the system, as well as maximizing the transmission rate and efficient use of the set of possible dc-free sequences of a given length.

EP0764950A2, drawing sheet 1
Sheet 1 of 23

Term

Term ended

Projected expiry passed 17 September 2016, 10 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

43 claims: 7 independent, 36 dependent

  1. 1
    A method of encoding digital information at an average rate of (n + d/2 m ) user bits per codeword, wherein n is a positive integer, and d is a positive integer less than 2 m , the method comprising the steps of:receiving a sequence of (2 m n + d) user bits;selecting 2 m dc-free codewords from among a plurality of non-intersecting subconstellations of dc-free codewords, wherein codewords with the most frequent bit transitions are assigned to subconstellations different from codewords with the least frequent bit transitions, wherein the step of selecting comprises the steps of: identifying from which of the plurality of subconstellations each of the 2 m dc-free codewords will be selected based upon a portion of the sequence of user bits;and specifying the 2 m dc-free codewords based upon the remaining user bits in the sequence;and generating a sequence of bits corresponding to the selected 2 m dc-free codewords.
  2. 8
    A method of encoding digital information at an average rate of (n + d/2 m ) user bits per codeword for storage on a magnetic medium, wherein n is a positive integer, and d is a positive integer less than 2 m , the method comprising the steps of:receiving a sequence of (2 m n + d) user bits;selecting 2 m dc-free codewords from among a plurality of non-intersecting subconstellations of dc-free codewords, wherein the step of selecting comprises the steps of: identifying from which of the plurality of subconstellations each of the 2 m dc-free codewords will be selected based upon a portion of the sequence of user bits;and specifying the 2 m dc-free codewords based upon the remaining user bits in the sequence;and recording the selected 2 m dc-free codewords on a magnetic medium.
  3. 16
    A method of generating high rate codes for encoding digital information comprising the steps of:receiving a signal indicating a desired average code rate of (n + d/2 m ) user bits per codeword, wherein n is a positive integer, and d is a positive integer less than 2 m ;generating a plurality of non-intersecting subconstellations of dc-free codewords, wherein the number and size of the subconstellations are determined according to the average code rate;assigning dc-free codewords to each of said subconstellations, wherein codewords with the most frequent bit transitions are assigned to different subconstellations from codewords with the least frequent bit transitions;assigning a q-bit address to each one of said dc-free codewords, where q = log 2 Q, and Q is the size of the respective subconstellation to which the codeword was assigned;storing in memory each of said codewords, the correspondence between the codewords and the subconstellations, and the address assigned to each respective codeword;receiving a sequence of (2 m n + d) user bits;selecting 2 m of the dc-free codewords based upon the received sequence of user bits;and generating a sequence of bits corresponding to the selected 2 m dc-free codewords.
  4. 22
    A coder for encoding digital information at an average code rate of (n + d/2 m ) user bits per codeword, wherein n is a positive integer, and d is a positive integer less than 2 m , the apparatus comprising:a memory comprising a plurality of non-intersecting subconstellations of dc-free codewords, wherein each codeword is assigned to one of the subconstellations, wherein the subconstellations are of different sizes, and wherein codewords with the least frequent bit transitions are assigned to the smaller subconstellations;means for selecting, in response to a received sequence of (2 m n + d) user bits, 2 m dc-free codewords from among the plurality of subconstellations, wherein the subconstellations are used in a non-equiprobable manner such that a particular codeword from a larger subconstellation is more likely to be selected than a particular codeword from a smaller subconstellation;and means for generating a sequence of bits corresponding to the selected 2 m dc-free codewords.
  5. 29
    An apparatus for encoding digital information comprising:means for receiving a signal indicating an average code rate of (n + d/2 m ) user bits per codeword, wherein n is a positive integer, and d is a positive integer less than 2 m ;means for generating a plurality of non-intersecting subconstellations of dc-free codewords, wherein the subconstellations are of different sizes, and wherein the number and size of the subconstellations are determined according to the average code rate;means for assigning dc-free codewords to each of said subconstellations, wherein codewords with the most frequent bit transitions are assigned to the larger subconstellations and codewords with the least frequent bit transitions are assigned to the smaller subconstellations;a memory for storing said plurality of subconstellations and for storing the correspondence between said codewords and said subconstellations;means for selecting 2 m of the dc-free codewords in response to a received sequence of (2 m n + d) user bits;and means for generating a sequence of bits corresponding to the selected 2 m dc-free codewords.
  6. 33
    An apparatus for decoding digital information recorded on a magnetic medium, wherein the digital information comprises 2 m dc-free codewords corresponding to an original sequence of (2 m n + d) user bits, wherein n is a positive integer, and d is a positive integer less than 2 m , the apparatus comprising:means for receiving said 2 m dc-free codewords;means for recovering the (2 m n + d) user bits based upon the received 2 m dc-free codewords;and means for generating a sequence of bits corresponding to the recovered user bits.
  7. 38
    A method of decoding digital information recorded on a magnetic medium, wherein the digital information comprises 2 m dc-free codewords corresponding to an original sequence of (2 m n + d) user bits, wherein n is a positive integer, and d is a positive integer less than 2 m , the method comprising the steps of:receiving said 2 m dc-free codewords;recovering the (2 m n + d) user bits based upon the received 2 m dc-free codewords;and generating a sequence of bits corresponding to the recovered user bits.