Claims
- 1. A method of encoding digital information in a system comprising :
receiving a sequence of user bits; calculating a running digital sum (RDS) of the system; and generating a code word based on the sequence of user bits and the RDS of the system to maintain the RDS of the system calculated with the code word to within a selected range.
- 2. The method of claim 1 and further comprising:
generating a first segment of the code word based on the sequence of user bits and the RDS of the system, the first segment further having a RDS; and generating a second segment of the code word based on the sequence of user bits and the RDS of the first segment.
- 3. The method of claim 2 wherein the sequence of user bits is 19 bits and the first segment and the second segment are both 10 bits.
- 4. The method of claim 1 wherein the selected range is +/−4.
- 5. The method of claim 1 wherein the sequence of user bits is 19 bits and the code word that is generated is 20 bits.
- 6. The method of claim 1 and further comprising:
separating the sequence of user bits into a first fragment, a second fragment and a third fragment based on the RDS of the system; mapping the second fragment to a first segment of the code word based on the length of the first fragment and the RDS of the system, the first segment having an RDS; mapping the third fragment to a second segment of the code word based on the length of the second fragment and the RDS of the first segment; and combining the first segment and the second segment to form the code word.
- 7. The method of claim 6 wherein the sequence of user bits is 19 bits, the code word is 20 bits, the first fragment is less than 9 bits, the second fragment is less than 8 bits and the third fragment is less than 10 bits, wherein a number of bits in the first fragment, the second fragment and the third fragment is 19.
- 8. A system for generating a code word from a sequence of user bits, comprising:
an input circuit adapted to receive the sequence of user bits; a calculation circuit adapted to calculate the running digital sum (RDS) of the system; an encoder adapted to generate a code word based on the sequence of user bits and the RDS of the system to maintain the RDS of the system calculated with the code word to within a selected range.
- 9. The system of claim 8, wherein the encoder further comprises:
a first encoder circuit adapted to generate a first segment of a code word based on the sequence of user bits and the running digital sum of the system, the first segment further having an RDS; and a second encoder circuit adapted to generate a second segment of the code word based on the sequence of user bits and the running digital sum of the first segment.
- 10. The system of claim 9 wherein the encoder further comprises:
a third encoder circuit adapted to separate the sequence of user bits into first, second and third fragments based on a first state and transmit the second fragment to the first encoder circuit and transmit the third fragment to the second encoder circuit; a fourth encoder circuit adapted to separate the sequence of user bits into first, second and third fragments based on a second state and transmit the second fragment to the first encoder circuit and transmit the third fragment to the second encoder circuit; and a fifth encoder circuit adapted to separate the sequence of user bits into first, second and third fragments based on a third state and transmit the second fragment to the first encoder circuit and transmit the third fragment to the second encoder circuit.
- 11. The system of claim 10 wherein the first encoder is adapted to select one of the second fragments from the third, fourth and fifth encoder circuits based on the RDS of the system and map said second fragment to the first segment of the code word and the second encoder is adapted to select one of the third fragments based on the RDS of the system and map the third fragment to the second segment of the code word.
- 12. The system of claim 11 wherein the sequence of user bits is 19 bits, the code word is 20 bits, the first fragment is less than 9 bits, the second fragment is less than 8 bits and the third fragment is less than 10 bits, wherein a number of bits in the first fragment, the second fragment and the third fragment is 19.
- 13. The system of claim 8, wherein the encoder is further adapted to:
separate the sequence of user bits into a first fragment, a second fragment and a third fragment based on the RDS of the system; map the second fragment to a first segment of the code word based on the length of the first fragment and the RDS of the system, the first segment having an RDS; map the third fragment to a second segment of the code word based on the length of the second fragment and the RDS of the first segment; and combine the first segment and the second segment to form the code word.
- 14. The system of claim 8 wherein the selected range is +/−4.
- 15. The system of claim 8 wherein the sequence of user bits is 19 bits and the code word that is generated is 20 bits.
- 16. The system of claim 8 and further comprising:
a disc drive; a disc within the disc drive; and a write transducer adapted to receive the code word from the encoder and write the code word to the disc.
- 17. An encoder system, comprising:
means for receiving a sequence of 19 bits; means for calculating a running digital sum of the system; and means for generating a code word of 20 bits based on the sequence of user bits and the RDS of the system to maintain the RDS of the system calculated with the code word to within a selected range.
- 18. The encoder system of claim 17 and further comprising:
means for generating a first 10-bit segment of the code word bsed on the sequence of user bits and the RDS of the system, the first segment further having an RDS; and, means for generating a second 10-bit segment of the code word based on the sequence of user bits and the RDS of the first segment.
- 19. The encoder system of claim 17 and further comprising:
means for separating the sequence of user bits into a first fragment, a second fragment and a third fragment based on the RDS of the system; means for mapping the second fragment to a first segment of the code word based on the length of the first fragment and the RDS of the system, the first segment having an RDS; means for mapping the third fragment to a second segment of the code word based on the length of the second fragment and the RDS of the first segment; and means for combining the first segment and the second segment to form the code word.
- 20. A method of decoding a code word, comprising:
receiving a code word; identifying a state value associated with the code word; and generating a sequence of user bits based on the code word and the state value.
- 21. The method of claim 20 and further comprising:
separating the code word into a first segment and a second segment, generating a first portion of the sequence of user bits based on the first segment; and generating a second portion of the sequence of user bits based on the state value and the first segment.
- 22. The method of claim 21 and further comprising:
generating a third portion of the sequence of user bits based on the length of the first portion and the length of the second portion.
- 23. The method of claim 21 wherein the sequence of user bits is 19 bits and the first segment and the second segment are both 10 bits.
- 24. A digital communication system, comprising:
a communication channel; an encoder system comprising:
an input circuit adapted to receive the sequence of user bits; a calculation circuit adapted to calculate the running digital sum (RDS) of the system; an encoder adapted to generate a code word-based on the sequence of user bits and the RDS of the system to maintain the RDS of the system calculated with the code-word to within a selected range; and an output circuit adapted to transmit the code word to the communication channel; and a decoder system comprising:
an input circuit adapted to receive a code word from the communication channel; a state evaluator adapted to identify a state value associated with the code word; and
a decoder adapted to generate a sequence of user bits based on the code word and the state value.
- 25. The system of claim 24, wherein the encoder further comprises:
a first encoder circuit adapted to generate a first segment of a code word based on the sequence of user bits and the running digital sum of the system, the first segment further having an RDS; and a second encoder circuit adapted to generate a second segment of the code word based on the sequence of user bits and the running digital sum of the first segment.
- 26. The system of claim 25 wherein the encoder further comprises:
a third encoder circuit adapted to separate the sequence of user bits into first, second and third fragments based on a first state and transmit the second fragment to the first encoder circuit and transmit the third fragment to the second encoder circuit; a fourth encoder circuit adapted to separate the sequence of user bits into first, second and third fragments based on a second state and transmit the second fragment to the first encoder circuit and transmit the third fragment to the second encoder circuit; and a fifth encoder circuit adapted to separate the sequence of user bits into first, second and third fragments based on a third state and transmit the second fragment to the first encoder circuit and transmit the third fragment to the second encoder circuit.
- 27. The system of claim 26 wherein the first encoder is adapted to select one of the second fragments from the third, fourth and fifth encoder circuits based on the RDS of the system and map said second fragment to the first segment of the code word and the second encoder is adapted to select one of the third fragments based on the RDS of the system and map the third fragment to the second segment of the code word.
- 28. The system of claim 27 wherein the sequence of user bits is 19 bits, the code word is 20 bits, the first fragment is less than 9 bits, the second fragment is less than 8 bits and the third fragment is less than 10 bits, wherein a number of bits in the first fragment, the second fragment and the third fragment is 19.
- 29. The system of claim 24, wherein the encoder is further adapted to:
separate the sequence of user bits into a first fragment, a second fragment and a third fragment based on the RDS of the system; map the second fragment to a first segment of the code word based on the length of the first fragment and the RDS of the system, the first segment having an RDS; map the third fragment to a second segment of the code word based on the length of the second fragment and the RDS of the first segment; and combine the first segment and the second segment to form the code word.
- 30. The system of claim 24 wherein the selected range is +/−4.
- 31. The system of claim 24 wherein the sequence of user bits is 19 bits and the code word that is generated is 20 bits.
- 32. The system of claim 24 wherein the decoder is further adapted to:
separate the code word into a first segment and a second segment; generate a first portion of the sequence of user bits based on the first segment; and generate a second portion of the sequence of user bits based on the state value and the first segment.
- 33. The system of claim 24 wherein the decoder is further adapted to:
generate a third portion of the sequence of user bits based on the length of the first portion and the length of the second portion.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority from U.S. Provisional Application 60/409,156 filed on Sep. 9, 2002 for inventor Kinhing P. Tsang and entitled DC FREE CODE DESIGN WITH STATE DEPENDENT MAPPING.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60409156 |
Sep 2002 |
US |