IP Library Granted Patent US 9,628,867
Granted Patent B2
US 9,628,867 · App. 14/444,234 · Granted Apr 18, 2017

Method and apparatus for data rate controller for a code block multiplexing scheme

Inventors: Liming Qin (Gaithersburg, MD); Marwan Adas (Broadlands, VA); Prachi Raikar (Germantown, MD); David Roos (Boyds, MD); Yezdi Antia (North Potomac, MD); Neal Becker (Frederick, MD)
Assignee: Hughes Network Systems, LLC
H04N21/6143H04N7/20H04N21/236H04N21/238H04N21/2381H04N21/2389H03M13/1165
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 9,628,867
App. No.
14/444,234
Granted
Apr 18, 2017
Kind
B2
Abstract

A receiver is used with third code blocks based on first code blocks, second code blocks, and a planning code block. The first code blocks are associated with a first sequence number and modulated with a first modulation scheme. The second code blocks are associated with a second sequence number and modulated with a second modulation scheme. The planning code block associates the third code blocks with the first code blocks and the second code blocks. The receiver includes a de-multiplexing portion, which includes a code block selector and a look up table, that outputs a de-multiplexed signal based on the third code blocks. The code block selector selects a code block from the third code blocks to output as the de-multiplexed signal based on entries in the look up table. The receiver also includes a recovery portion that outputs received code blocks based on the de-multiplexed signal.

Claims (39)

1. An apparatus for a data rate controller comprising:

a look up table comprising a plurality of entries; and

a code block selector comprising a code block counter and configured to:

receive a code block,

increment a value of the code block counter,

reference the code block with the value of the code block counter,

look up an entry in the look up table corresponding to the value of the code block counter, and

output the code block for further processing or drop the code block based on the entry in the look up table,

wherein the look up table includes a same number of entries as a number of code blocks to be received in at least one of a superframe, a sequence of code blocks, and a data stream.

2. The apparatus of claim 1 , further comprising:

a post processor configure to receive the code block if the code block was not dropped by the code block selector, decode a stream sequence identifier from the code block, determine an offset by comparing the stream sequence identifier to the value of the code block counter referenced to the code block, and write the offset to register of the code block selector.

3. The apparatus of claim 1 , further comprising:

a second lookup table comprising a plurality of entries wherein the code block selector is further configured to switch between the lookup table and the second lookup table.

4. The apparatus of claim 2 , wherein the code block selector is further configured to add the offset to the value of the code block counter after dropping or outputting the code block.

5. A method for controlling a data rate comprising:

receiving a number of code blocks within at least one of a superframe, a sequence of code blocks, or a data stream; and

for each code block:

incrementing a value of a code block counter,

referencing the code block with the value of the code block counter,

looking up an entry in a look up table based on the value of the code block counter, and

outputting the code block or dropping the code block based on the entry in the lookup table,

wherein the look up table includes a same number of entries as the number of code blocks received in the at least one of the superframe, the sequence of code blocks, and the data stream.

6. The method of claim 5 , further comprising, after outputting the code block:

decoding a stream sequence identifier for the code block;

comparing the value of the code block counter for the code block to the stream sequence identifier to generate an offset; and

writing the offset to a register.

7. The method of claim 5 , further comprising:

receiving an instruction to switch from the look up table to a second look up table; and

looking up an entry in the second look up table.

8. The method of claim 6 , further comprising, after outputting or dropping the code block:

adding an offset to the value of the code block counter.

9. The method of claim 5 , further comprising setting the value of the code block counter to zero responsive to determining the code block is a first code block in at least one of a superframe, a sequence of code blocks, or data stream.

10. The method of claim 5 , wherein each entry of the look up table includes a value of “1” indicative that the corresponding code block is to be output for further processing or a value of “0” indicative that the corresponding code block is to be dropped.

11. The method of claim 5 , wherein referencing the code block with the value of the code block counter includes marking or tagging the code block with the value of the code block counter.

12. The apparatus of claim 1 , wherein the code block selector is configured to set the value of the code block counter to zero responsive to determining the code block is a first code block in at least one of a superframe, a sequence of code blocks, or data stream.

13. The apparatus of claim 1 , wherein each entry of the look up table includes a value of “1” indicative that the corresponding code block is to be output for further processing or a value of “0” indicative that the corresponding code block is to be dropped.

14. The apparatus of claim 1 , wherein the code block selector is configured to reference the code block with the value of the code block counter by marking or tagging the code block with the value of the code block counter.

15. The apparatus of claim 1 , wherein 1024 code blocks are to be received in at least one of the superframe, the sequence of code blocks, and the data stream, and

wherein the look up table includes 1024 entries.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 050600 FRAME 0314. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF PATENT SECURITY AGREEMENTS. Recorded Sep 3, 2020
From: WELLS FARGO, NATIONAL BANK ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053703/0367 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED AT REEL: 044376 FRAME: 0139. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Sep 3, 2020
From: HUGHES NETWORK SYSTEMS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION - AS COLLATERAL AGENT
Reel/Frame 053723/0726 →
ASSIGNMENT OF PATENT SECURITY AGREEMENTS Recorded Oct 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050600/0314 →
SECURITY INTEREST Recorded Nov 6, 2017
From: HUGHES NETWORK SYSTEMS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION - AS COLLATERAL AGENT
Reel/Frame 044376/0139 →
SECURITY INTEREST Recorded Jul 27, 2016
From: HUGHES NETWORK SYSTEMS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION - AS COLLATERAL AGENT
Reel/Frame 039266/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2016
From: QIN, LIMING; ADAS, MARWAN; RAIKAR, PRACHI; ROOS, DAVID; ANTIA, YEZDI; BECKER, NEAL
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 038125/0416 →
Continuity (5)
Division 13438570 · Apr 3, 2012
Continuation In Part 13323467 · Dec 12, 2011
Continuation In Part 13086702 · Apr 14, 2011
Provisional Application 61324085 · Apr 14, 2010
Related Publication 20140337896A1 · Nov 13, 2014