IP Library Granted Patent US 10,122,495
Granted Patent B2
US 10,122,495 · App. 15/357,382 · Granted Nov 6, 2018

Flexible polynomial-based interleaver

Inventors: Matthias Henker (Dresden, DE); Tim Taubert (Dresden, DE); Clemens Michalke (Dresden, DE)
Assignee: NATIONAL INSTRUMENTS CORPORATION
H04L1/0071H03M13/276H03M13/2739H03M13/2775
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 10,122,495
App. No.
15/357,382
Granted
Nov 6, 2018
Kind
B2
Abstract

Techniques are disclosed relating to circuitry configured to interleave data, e.g., for use to process error correcting codes for wireless data transmission. In some embodiments an apparatus includes one or more circuit elements configured to receive input data samples, a plurality of polynomial coefficients, a start index, and information indicating a window size for non-sequential traversal of interleaver indices. The polynomial coefficients may include coefficients for at least a third-order polynomial. In some embodiments, the one or more circuit elements are further configured to generate interleaved bank and address information for writing the input data samples to the plurality of memory blocks, based on an order of the polynomial, a code block length, the start index, and the information indicating the window size. In some embodiments, the apparatus also includes output circuitry configured to provide interleaved data samples from the memory blocks.

Claims (39)

1. An apparatus, comprising:

a plurality of memory blocks configured to store interleaved input data samples in parallel;

one or more circuit elements configured to:

receive input data samples, a plurality of polynomial coefficients, a start index, and information indicating a window size for non-sequential traversal of interleaver indices, wherein the plurality of polynomial coefficients includes coefficients for at least a third-order polynomial; and

generate interleaved bank and address information for writing the input data samples to the plurality of memory blocks, based on an order of the polynomial, a code block length, the start index, and the information indicating the window size; and

output circuitry configured to provide interleaved data samples from the plurality of memory blocks.

2. The apparatus of claim 1 , wherein the number of memory blocks used to store interleaved input data samples corresponds to a parallelization order.

3. The apparatus of claim 1 , wherein the one or more circuit elements include update window circuitry configured to generate updated start indices independently by recursively updating start address and start bank for nested linear index lists.

4. The apparatus of claim 3 , wherein the update window circuitry includes a plurality of elements that are each configured to perform addition and modulus operations.

5. The apparatus of claim 4 , wherein a number of the plurality of elements corresponds to an order of the polynomial.

6. The apparatus of claim 1 , wherein the one or more processing elements are further configured to receive information indicating a step size, a step direction, and a code block length and one or more circuit elements are configured to generate the bank and address information based on the received information.

7. The apparatus of claim 1 , wherein apparatus is configured to use the interleaved data samples for turbo decoding operations.

8. A method, comprising:

receiving, by one or more processing elements:

input data samples;

a plurality of polynomial coefficients that include coefficients for at least a third-order polynomial;

a start index; and

information indicating a window size for non-sequential traversal of interleaver indices;

generating, by address circuitry, bank and address information for writing the input data samples to ones of a plurality of memory blocks in parallel, wherein the generating is based on: an order of the polynomial, a code block length, the start index, and the information indicating the window size;

storing, by the plurality of memory blocks, interleaved input data samples in parallel based on the bank and address information; and

outputting, by output circuitry, interleaved data samples from the plurality of memory blocks.

9. The method of claim 8 , wherein the number of memory blocks used to store interleaved input data samples corresponds to a parallelization order.

10. The method of claim 8 , further comprising:

generating, by window update circuitry, updated start indices independently by recursively updating start address and start bank.

11. The method of claim 8 , wherein the generating uses a plurality of addition and modulus units.

12. The method of claim 8 , further comprising receiving information indicating a step size, a step direction, and a code block length, wherein the generating the bank and address information is further based on the received information.

13. The method of claim 8 , wherein the interleaver indices comprise a nested linear input index pattern.

14. The method of claim 8 , further comprising generating initial parameters for the address circuitry.

15. A non-transitory computer readable storage medium having stored thereon design information that specifies a design of at least a portion of a hardware circuit in a format recognized by a computing system configured to use the design information to implement the circuit according to the design, including:

a plurality of memory blocks configured to store interleaved input data samples in parallel;

one or more circuit elements configured to:

receive input data samples, a plurality of polynomial coefficients, a start index, and information indicating a window size for non-sequential traversal of interleaver indices, wherein the plurality of polynomial coefficients includes coefficients for at least a third-order polynomial; and

generate interleaved bank and address information for writing the input data samples to the plurality of memory blocks, based on an order of the polynomial, a code block length, the start index, and the information indicating the window size; and

output circuitry configured to provide interleaved data samples from the plurality of memory blocks.

16. The non-transitory computer readable storage medium of claim 15 , wherein the design information specifies that the circuit is configured to use a number of memory blocks to store the interleaved input data samples that corresponds to a parallelization order for generating the interleaved bank and address information.

17. The non-transitory computer readable storage medium of claim 15 , wherein the design information specifies that the one or more circuit elements include update window circuitry configured to generate updated start indices independently by recursively updating start address and start bank for nested linear index lists.

18. The non-transitory computer readable storage medium of claim 15 , wherein the design information specifies that the one or more circuit elements configured to generate interleaved bank and address information include a plurality of add-modify elements.

19. The non-transitory computer readable storage medium of claim 15 , wherein the design information specifies that the circuit includes crossbar circuitry configured to assign input samples to memory blocks based on the generated interleaved bank information.

20. The non-transitory computer readable storage medium of claim 15 , wherein the interleaver indices comprise a nested linear input index pattern corresponding to at least a fourth-order polynomial.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2016
From: HENKER, MATTHIAS; TAUBERT, TIM; MICHALKE, CLEMENS
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 040393/0232 →
Continuity (2)
Provisional Application 62259838 · Nov 25, 2015
Related Publication 20170149452A1 · May 25, 2017