IP Library Granted Patent US 6,909,385
Granted Patent B2
US 6,909,385 · App. 10/084,040 · Granted Jun 21, 2005

Method and apparatus for suppressing low frequency content in digital data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,909,385
App. No.
10/084,040
Granted
Jun 21, 2005
Kind
B2
Abstract

A method of encoding digital information in order to suppress dc includes the steps of receiving a sequence of m message bits of a message word, and mapping the sequence of m message bits of the message word to a codeword, of length n bits, generated from the m message bits using algebraic operations. Multiple codeword candidates are generated from the m message bits using the algebraic operations to combine the m message bits with different periodic scrambling sequences. One of the codeword candidates is selected for mapping based upon an optimizing criteria. Second order digital sum sequences, corresponding to each of the plurality of codeword candidates, can be used as the optimizing criteria to select the codeword.

Claims (36)

1. A method of encoding digital information in order to suppress direct current (dc) content, the method comprising:

receiving a sequence of m message bits of a message word;

mapping the sequence of m message bits of the message word to a codeword, of length n bits, generated from the m message bits using algebraic operations, wherein mapping the sequence of m message bits further comprises:

generating a plurality of codeword candidates, each of length n bits, from the m message bits using algebraic operations by adding a different one of a plurality of periodic scrambling sequences to the m message bits of the message word; and

selecting one of the plurality of codeword candidates based upon an optimizing criteria.

2. The method of claim 1 , wherein selecting one of the plurality of codeword candidates further comprises generating second order digital sum sequences corresponding to each of the plurality of codeword candidates, and selecting the one of the plurality of codeword candidates based upon the second order digital sum sequences.

3. The method of claim 2 , wherein each of the plurality of codeword candidates is a binary sequence, and wherein selecting one of the plurality of codeword candidates further comprises converting the bipolar sequence of each codeword candidate to a bipolar sequence.

4. The method of claim 3 , wherein for the bipolar sequence corresponding to each of the plurality of codeword candidates, selecting one of the plurality of codeword candidates further comprises:

generating a first order running digital sum for the codeword candidate;

determining a set of positions within the codeword candidate, such that, modifying the codeword candidate by inverting bits in the codeword candidate starting at a position from the set of positions results in a running digital sum for the codeword candidate being equal to zero; and

calculating a separate second order running digital sum sequence for the codeword candidate and each respective position in the corresponding set of positions within the codeword candidate at which bit inversion began.

5. The method of claim 4 , wherein calculating the separate second order running digital sum sequence for the codeword candidate and each respective position in the corresponding set of positions within the codeword candidate further comprises calculating the second order running digital sum sequences for each of the plurality of codeword candidates and for each respective position in the corresponding set of positions at which bit inversion began as cumulative sums of first order running digital sum values.

6. The method of claim 5 , wherein selecting one of the plurality of codeword candidates further comprises selecting the one of the plurality of codeword candidates and the position in the corresponding set of positions which produces the smallest absolute value of second order running digital sum, together with the periodic scrambling sequence which was added to it.

7. The method of claim 6 , and before receiving the sequence of m message bits of a message word, further comprising modulating the message word with an error correcting code to provide the sequence of m message bits.

8. The method of claim 6 , and after mapping the sequence of m message bits of the message word to the codeword, further comprising modulating the codeword with an error correcting code.

9. An encoding apparatus which encodes digital information in order to suppress direct current (dc) content, the encoding apparatus comprising:

an input receiving a sequence of m message bits of a message word;

a plurality of parallel processing branches each generating a different codeword candidate from the m message bits using algebraic operations, wherein each of the plurality of parallel processing branches comprises scrambling circuitry which receives the m message bits and a scrambling sequence as inputs and provides as an output a codeword candidate, wherein the scrambling sequence used by each processing branch is different than the scrambling sequence used by all of the others of the plurality of parallel processing branches; and

a selector for selecting one of a plurality of codeword candidates, each generated by a different one of the plurality of parallel processing branches, based upon an optimizing criteria.

10. The encoding apparatus of claim 9 , wherein each of the plurality of parallel processing branches further comprises conversion circuitry coupled to the scrambling circuitry, the conversion circuitry converting the codeword candidate from a binary sequence to a bipolar sequence.

11. The encoding apparatus of claim 10 , wherein each of the plurality of parallel processing branches further comprises:

first order running digital sum calculating circuitry, coupled to the conversion circuitry to generate a first order running digital sum for the codeword candidate having the bipolar sequence;

inversion position determining circuitry coupled to the first order running digital sum circuitry to determine a set of positions within the codeword candidate, such that, modifying the codeword candidate by inverting bits in the codeword candidate starting at a position from the set of positions results in a running digital sum for the codeword candidate being equal to zero; and

a plurality of running digital sum registers storing a running digital sum sequence for the codeword candidate and each respective position in the corresponding set of positions within the codeword candidate at which bit inversion began.

12. The encoding apparatus of claim 11 , wherein each of the plurality of parallel processing branches further comprises second order running digital sum calculating circuitry coupled to the plurality of running digital sum registers to calculate a separate second order running digital sum sequence for the codeword candidate and each respective position in the corresponding set of positions within the codeword candidate at which inversion begins.

13. The encoding apparatus of claim 12 , wherein the selector is coupled to the plurality of parallel processing branches and selects the one of a plurality of codeword candidates and the position in the corresponding set of positions which produces the smallest absolute value of the second order running digital sum, together with the corresponding scrambling sequence.

14. An apparatus for encoding digital information in order to suppress direct current (dc) content, the apparatus comprising:

an input which receives a sequence of m message bits of a message word; and

means for mapping the sequence of m message bits of the message word to a codeword, the means for mapping comprising:

a plurality of parallel processing branches each generating a different codeword candidate from the m message bits using algebraic operations, each of the plurality of parallel processing branches comprises scrambling circuitry which receives the m message bits and a scrambling sequence as inputs and provides as an output a codeword candidate, wherein the scrambling sequence used by each processing branch is different than the scrambling sequence used by all of the other of the plurality of parallel processing branches; and

a selector for selecting one of a plurality of codeword candidates, each generated by a different one of the plurality of parallel processing branches, based upon an optimizing criteria.

15. The apparatus of claim 14 , wherein each of the plurality of parallel processing branches further comprises conversion circuitry coupled to the scrambling circuitry, the conversion circuitry converting the codeword candidate from a binary sequence to a bipolar sequence.

16. The apparatus of claim 15 , wherein each of the plurality of parallel processing branches further comprises:

first order running digital sum calculating circuitry, coupled to the conversion circuitry to generate a first order running digital sum for the codeword candidate having the bipolar sequence;

inversion position determining circuitry coupled to the first order running digital sum circuitry to determine a set of positions within the codeword candidate, such that, modifying the codeword candidate by inverting bits in the codeword candidate starting at a position from the set of positions results in a running digital sum for the codeword candidate being equal to zero; and

a plurality of running digital sum registers storing a running digital sum sequence for the codeword candidate and each respective position in the corresponding set of positions within the codeword candidate at which bit inversion began.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY PUBLIC LIMITED COMPANY; SEAGATE TECHNOLOGY; SEAGATE TECHNOLOGY HDD HOLDINGS; I365 INC.; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE HDD CAYMAN; SEAGATE TECHNOLOGY (US) HOLDINGS, INC.
Reel/Frame 072193/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jul 19, 2013
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE
To: SEAGATE TECHNOLOGY LLC; EVAULT INC. (F/K/A I365 INC.); SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE TECHNOLOGY US HOLDINGS, INC.
Reel/Frame 030833/0001 →
SECURITY AGREEMENT Recorded Mar 24, 2011
From: SEAGATE TECHNOLOGY LLC
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 026010/0350 →
RELEASE Recorded Jan 19, 2011
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: SEAGATE TECHNOLOGY HDD HOLDINGS; MAXTOR CORPORATION; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL
Reel/Frame 025662/0001 →
SECURITY AGREEMENT Recorded May 15, 2009
From: MAXTOR CORPORATION; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND FIRST PRIORITY REPRESENTATIVE; WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE
Reel/Frame 022757/0017 →