IP Library Granted Patent US 8,621,322
Granted Patent B2
US 8,621,322 · App. 12/286,359 · Granted Dec 31, 2013

Data interleaver

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 8,621,322
App. No.
12/286,359
Granted
Dec 31, 2013
Kind
B2
Abstract

Methods and corresponding systems in an interleaver include loading K symbol data, in a linear order, into a matrix memory having (R·C) storage locations corresponding R rows and C columns. A sequence of interleaved addresses is produced for reading the K symbol data in an interleaved order from the matrix memory. Next, (R·C)−K interleaved addresses are queued in a first-in-first-out (FIFO) memory. After queuing (R·C)−K interleaved addresses in the FIFO memory, symbol data is output using the interleaved addresses in the FIFO memory to address and output the symbol data in the matrix memory in the interleaved order. The FIFO memory can contain at least 234 memory locations.

Claims (46)

1. A method in an interleaver comprising:

loading K symbol data, in a linear order, into a matrix memory having (R·C) storage locations corresponding to R rows and C columns;

queuing symbol-related data in a first-in-first-out (FIFO) memory, wherein the symbol-related data is queued in an interleaved order; and

after queuing (R·C)−K symbol-related data in the FIFO memory, outputting, before all symbol related data has been queued in the FIFO memory, the symbol data, in interleaved order, using the symbol-related data from the FIFO memory.

2. The method in an interleaver according to claim 1 wherein the queuing symbol-related data, and the outputting the symbol data using the symbol-related data from the FIFO memory, comprises:

queuing the symbol data in the FIFO memory in the interleaved order; and

after queuing (R·C)−K symbol data in the FIFO memory, outputting the symbol data, in the interleaved order, using the symbol data from the FIFO memory.

3. The method in an interleaver according to claim 1 wherein the queuing symbol-related data. and the outputting the symbol data using the symbol-related data from the FIFO memory, comprises:

queuing, in the FIFO memory in the interleaved order addresses of the storage locations in the matrix memory where the symbol data are stored; and

after queuing (R·C) K addresses in the FIFO memory outputting the symbol data, in the interleaved order, from the matrix memory using the address in the FIFO memory.

4. The method in an interleaver according to claim 1 further comprising permuting the matrix memory by moving the symbol data in the (R·C) storage locations in the matrix memory.

5. The method in an interleaver according to claim 1 further comprising:

permuting the matrix memory by producing a sequence of interleaved addresses that corresponds to a sequence of initial addresses of the symbol data that are read in a column-by-column order from the matrix memory after the matrix memory is loaded in a row-by-row order and permuted by moving the symbol data in the (R·C) storage locations, wherein the initial address of each symbol data is the address of each symbol data at the loading of the K symbol data; and

wherein the queuing the symbol-related data comprises queuing the sequence of interleaved addresses in the FIFO memory.

6. The method in an interleaver according to claim 1 wherein the loading K symbol data comprises loading K bits of symbol data.

7. The method in an interleaver according to claim 1 wherein the loading K symbol data comprises loading K symbol data, wherein each of the K symbol data is represented by a group of soft bits.

8. The method in an interleaver according to claim 1 wherein the loading K symbol data comprises loading K addresses corresponding to K symbol data.

9. The method in an interleaver according to claim 1 wherein the queuing symbol-related data comprises queuing the symbol-related data in the FIFO memory, wherein the FIFO memory has storage locations for storing between 234 and 256 symbol-related data.

10. The method in an interleaver according to claim 1 wherein the queuing the symbol-related data comprises:

determining whether a selected matrix element contains the symbol-related data;

if the selected matrix element contains the symbol-related data, queuing the symbol-related data in a next storage location in the FIFO memory; and

if the selected matrix element contains filler data, selecting a next matrix element in a column-by-column order to locate a next symbol-related data for queuing in the FIFO memory.

11. The method in an interleaver according to claim 1 wherein the outputting the symbol data comprises outputting the symbol data, in the interleaved order, at a constant rate relative to an interleaver clock rate.

12. An interleaver comprising:

a controller;

a matrix memory for providing storage locations for K symbol data configured in R rows and C columns, wherein K, R, and C are integers and K≦(R·C);

a linear address generator coupled to the controller and the matrix memory for generating addresses of the storage locations for storing the K symbol data in the matrix memory in a linear order;

a first-in-first-out (FIFO) memory coupled to the controller and the matrix memory;

an interleaved address generator, coupled to the controller and the FIFO memory, for generating and storing addresses of the storage locations in the FIFO memory in an interleaved order; and

a filler address detector coupled to the controller and the interleaved address generator for detecting an address of filler data in the matrix memory and in response thereto preventing loading of the address of the filler data in the FIFO memory, wherein the controller is configured to control storing the K symbol data in the matrix memory in the linear order, and outputting the K symbol data from the matrix memory in the interleaved order without a delay between outputting each of the K symbol data in response to the interleaved address generator generating an address of filler data in the matrix memory wherein the outputting the K symbol data begins after (R·C)−K and prior to all K of the addresses of the storage locations in the FIFO memory have been generated and stored.

13. The interleaver according to claim 12 wherein the FIFO memory comprises a FIFO memory for storing between 234 and 256 addresses of the symbol data.

14. The interleaver according to claim 12 wherein the interleaved address generator comprises an interleaved address generator for generating and storing the addresses of the storage locations in the FIFO memory in an order that corresponds to a sequence of initial addresses of the symbol data read in a column-by-column order from the matrix memory after the matrix memory has been loaded in a row-by-row order and permuted, wherein the initial address of the symbol data is an address of the symbol data at the storing in the row-by-row order.

15. The interleaver according to claim 12 further comprising a multiplexer for coupling the addresses of the storage locations output by the linear address generator and the FIFO memory to the matrix memory.

16. A method in an interleaver comprising:

loading K symbol data in a linear order in a matrix memory configured as R rows and C columns, wherein K, R, and C are integers;

producing a sequence of interleaved addreses for reading the K symbol data in an interleaved order from the matrix memory;

queuing (R·C)−K interleaved addresses in FIFO memory; and

after queuing the (R·C)−K interleaved addresses and before queuing all interleaved addresses in the FIFO memory, using the interleaved addresses from the FIFO memory to address and output the symbol data in the matrix memory in the interleaved order.

17. The method in an interleaver according to claim 16 wherein the queuing (R·C)−K interleaved addresses in the FIFO memory comprises queuing (R·C)−K interleaved addresses in a FIFO memory having between 234 and 256 storage locations.

18. The method in an interleaver according to claim 16 wherein the loading K symbol data in the linear order comprises loading K symbol data in a row-by-row order in the matrix memory.

19. The method in an interleaver according to claim 16 wherein the producing a sequence of interleaved addresses comprises:

producing a sequence of interleaved addresses that corresponds to a sequence of initial addresses of the symbol data that are read in a column-by-column order from the matrix memory after being loaded in a row-by-row order and permuted in the matrix memory, wherein the initial address of the symbol data is an address of the symbol data at the loading of the K symbol data.

20. The method in an interleaver according to claim 16 wherein the queuing (R·C)−K interleaved addresses in the FIFO memory comprises:

determining whether a selected matrix element contains symbol-related data;

if the selected matrix element contains the symbol-related data, queuing the symbol-related data in a next storage location in the FIFO memory; and

if the selected matrix element contains filler data, selecting a next matrix element in a column-by-column order to locate a next symbol-related data for queuing in the FIFO memory.

Assignments (24)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0757 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →