IP Library Granted Patent US 7,640,479
Granted Patent B2
US 7,640,479 · App. 12/074,380 · Granted Dec 29, 2009

Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving

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 7,640,479
App. No.
12/074,380
Granted
Dec 29, 2009
Kind
B2
Abstract

A method and apparatus for decoding and de-interleaving a received encoded and interleaved signal, the method employing and the apparatus including a single decoder coupled to a common buffer, the common buffer size equal to a frame of the received signal and the method further employing, and the apparatus further including, an address controller that causes data to be de-interleaved when read from the buffer and data to be interleaved when written to the buffer.

Claims (26)

1. A method of decoding and de-interleaving a received signal representing a single frame of data, the received signal encoded with two constituent codes and interleaved on a frame by frame basis, the method comprising the steps of:

serially decoding the received signal; and

storing all received data of the frame that is partially decoded data in a single common buffer, the common buffer required to hold only one block of data, each representing a soft estimate of one bit, for each bit encoded in the single frame of received data.

2. The method of claim 1 , further comprising the step of:

a) generating read and write addresses that cause data to be de-interleaved when read from and written to the common buffer and generating read and write addresses that cause data to be interleaved when read from and written to the common buffer.

3. The method of claim 2 , wherein step a) generates read and write addresses that cause data to be read from the common buffer row by row and to be written to the common buffer column by column to de-interleave the data and generates read and write addresses that cause data to be read from the common buffer column by column and to be written to the common buffer row by row to interleave the data.

4. The method of claim 3 , wherein the common buffer is divided into a plurality of sub-buffers and each sub-buffer is a single port memory.

5. The method of claim 4 , further comprising the step of generating a read address for one of the plurality of sub-buffers and a write address for another of the plurality of sub-buffers, the reading and writing of the respective sub-buffers occurring during the same clock cycle.

6. The method of claim 2 , wherein step a) includes the step of employing a first algorithm to generate read addresses for the common buffer for data input to the constituent code decoder and contemporaneously employing the first algorithm to generate write addresses for the common buffer for data output from the constituent code decoder where the write addresses are offset by a predetermined number of rows from the read addresses when the decoder is decoding the first of the two constituent codes.

7. The method of claim 6 , wherein step a) includes the step of employing a second algorithm to generate read addresses for the common buffer for data input to the constituent code decoder and contemporaneously employing the second algorithm to generate write addresses for the common buffer for data output from the constituent code decoder where the write addresses are offset by a predetermined number of columns from the read addresses when the decoder is decoding the second of the two constituent codes.

8. The method of claim 7 , wherein the employment of the first algorithm to generate write addresses during the decoding of the first of the two constituent codes and employment of the second algorithm to generate read addresses during the decoding of the second of the two constituent codes interleaves the data and the employment of the second algorithm to generate write addresses during the decoding of the second of the two constituent codes and employment of the first algorithm to generate read addresses during the decoding of the first of the two constituent codes de-interleaves the data.

9. The method of claim 8 , wherein step a) includes the step of generating read addresses using a one of a row-by-row with column shuffling algorithm and a column-by-column with row shuffling algorithm.

10. The method of claim 9 , wherein the received signal is encoded with two constituent codes and interleaved based on a CDMA protocol and wherein the apparatus is employed in a mobile unit deployed within a CDMA-based communication system.

11. An article of manufacture for use in decoding and de-interleaving a received signal representing a single frame of data, the received signal encoded with two constituent codes and interleaved on a frame by frame basis, the article of manufacture comprising computer readable storage media including program logic embedded therein that causes control circuitry to perform the steps of:

serially decoding the received signal; and

storing all received data of the frame that is partially decoded data in a single common buffer, the common buffer required to hold only one block of data, each representing a soft estimate of one bit, for each bit encoded in the single frame of received data.

12. The article of manufacture of claim 11 , further performing the step of:

a) generating read and write addresses that cause data to be de-interleaved when read from and written to the common buffer and generating read and write addresses that cause data to be interleaved when read from and written to the common buffer.

13. The article of manufacture of claim 12 , wherein step a) generates read and write addresses that cause data to be read from the common buffer row by row and to be written to the common buffer column by column to de-interleave the data and generates read and write addresses that cause data to be read from the common buffer column by column and to be written to the common buffer row by row to interleave the data.

14. The article of manufacture of claim 13 , wherein the common buffer is divided into a plurality of sub-buffers and each sub-buffer is a single port memory.

15. The article of manufacture of claim 14 , the further performing the step of generating a read address for one of the plurality of sub-buffers and a write address for another of the plurality of sub-buffers, the reading and writing of the respective sub-buffers occurring during the same clock cycle.

16. The article of manufacture of claim 12 , wherein step a) includes the step of employing a first algorithm to generate read addresses for the common buffer for data input to the constituent code decoder and contemporaneously employing the first algorithm to generate write addresses for the common buffer for data output from the constituent code decoder where the write addresses are offset by a predetermined number of rows from the read addresses when the decoder is decoding the first of the two constituent codes.

17. The article of manufacture of claim 16 , wherein step a) includes the step of employing a second algorithm to generate read addresses for the common buffer for data input to the constituent code decoder and contemporaneously employing the second algorithm to generate write addresses for the common buffer for data output from the constituent code decoder where the write addresses are offset by a predetermined number of columns from the read addresses when the decoder is decoding the second of the two constituent codes.

18. The article of manufacture of claim 17 , wherein the employment of the first algorithm to generate write addresses during the decoding of the first of the two constituent codes and employment of the second algorithm to generate read addresses during the decoding of the second of the two constituent codes interleaves the data and the employment of the second algorithm to generate write addresses during the decoding of the second of the two constituent codes and employment of the first algorithm to generate read addresses during the decoding of the first of the two constituent codes de-interleaves the data.

19. The article of manufacture of claim 18 , wherein step a) includes the step of generating read addresses using a one of a row-by-row with column shuffling algorithm and a column-by-column with row shuffling algorithm.

20. The article of manufacture of claim 19 , wherein the received signal is encoded with two constituent codes and interleaved based on a CDMA protocol and wherein the apparatus is employed in a mobile unit deployed within a CDMA-based communication system.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED AT REEL: 047195 FRAME: 0827. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Nov 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047924/0571 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0827 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →