Patent US5745497A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5745497A Expired / Lapsed US ⏱️ 0.0 years remaining

Convolutional interleaving/DE-interleaving method and apparatus for data transmission

Assignee: LSI Corp
•
Filing: 1997-01-07
•
Granted: 1998-04-28
•
Expires: 2017-01-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a method and apparatus for selective convolutional interleaving or de-interleaving of symbols or data bits, a plurality of segments are defined in random access memory, with each segment including a different number of locations for storing symbols. Previously stored symbols are sequentially read out of current locations in the segments respectively, and new symbols are read into the current locations. Next locations in the segments are redesignated as current locations respectively, and the operation is repeated until all of the symbols have been interleaved or de-interleaved. The first location in each segment is designated by a respective segment pointer. The current and next locations are designated as relative offset pointers from the segment pointers, and these locations are incremented by incrementing the offset pointers. Interleaving or de-interleaving operation is determined by the direction in which the segments are sequentially selected for the read/write operations.

Inventors

  • 👤 Nadav Ben-Efraim
  • 👤 Peter Tze-Hwa Liu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 19:26
CPC Classifications
H; H03; H03M; H03M13/00; H03M13/27; H03M13/2789; H03M13/2732; H03M13/276; H03M13/2782

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 98 words
A method for selectively interleaving and de-interleaving symbols, comprising the steps of: (a) defining a sequence of memory segments each having storage locations, wherein a predetermined number of said segments are defined as having a different number of locations in accordance with a predetermined function; (b) reading a stored symbol from each of said segments of the sequence; (c) writing a current symbol into each of said segments of the sequence; (d) designating next locations in each of said segments as said current locations respectively; and (e) repeating steps (b) to (d) until said symbols have been reordered.
Claim 2
Independent Claim 98 words
A method for selectively interleaving and de-interleaving symbols, comprising the steps of: (a) defining a sequence of memory segments each having storage locations, wherein a predetermined number of said segments are defined as having a different number of locations in accordance with a predetermined function; (b) reading a stored symbol from each of said segments of the sequence; (c) writing a current symbol into each of said segments of the sequence; (d) designating next locations in each of said segments as said current locations respectively; and (e) repeating steps (b) to (d) until said symbols have been reordered.
Claim 3
Dependent Claim 47 words
The method of claim 1, wherein said predetermined function is C K =K×.left brkt-top.N/B.right brkt-top., where K is a segment number, C K is the number of locations in segment K, N is a predetermined block length of said symbols and B is a predetermined interleaving depth.
Claim 4
Dependent Claim 23 words
The method as in claim 1, in which a step (a) further comprises defining at least one segment as being a direct connection.
Claim 5
Independent Claim 105 words
A method for selectively interleaving and de-interleaving symbols, comprising the steps of: (a) defining a memory segment sequence having locations for storing said symbols, wherein said segments are designated by segment pointers and current locations comprise relative offset pointers from said segment pointers; (b) reading a stored symbol out of a current location in each of said segments of the sequence; (c) writing a current symbol into a current location in each of said segments of the sequence; (d) redesignating next locations in each of said segments as said current locations respectively; and (e) repeating steps (b) to (d) until said symbols have been reordered.
Claim 6
Independent Claim 105 words
A method for selectively interleaving and de-interleaving symbols, comprising the steps of: (a) defining a memory segment sequence having locations for storing said symbols, wherein said segments are designated by segment pointers and current locations comprise relative offset pointers from said segment pointers; (b) reading a stored symbol out of a current location in each of said segments of the sequence; (c) writing a current symbol into a current location in each of said segments of the sequence; (d) redesignating next locations in each of said segments as said current locations respectively; and (e) repeating steps (b) to (d) until said symbols have been reordered.
Claim 7
Dependent Claim 14 words
The method as in claim 4, wherein step (d) comprises incrementing said offset pointers.
Claim 8
Dependent Claim 49 words
The method as in claim 4, wherein steps (b) and (c) comprise: sequentially selecting said segments for reading and writing respectively by incrementing said segment pointers for interleaving said symbols; and sequentially selecting said segments for reading and writing respectively by decrementing said segment pointers for de-interleaving said symbols.
Claim 9
Dependent Claim 49 words
The method as in claim 4, wherein steps (b) and (c) comprise sequentially selecting said segments for reading and writing respectively by decrementing said segment pointers for interleaving said symbols; and sequentially selecting said segments for reading and writing respectively by incrementing said segment pointers for de-interleaving said symbols.
Claim 10
Dependent Claim 28 words
The method as in claim 4, wherein step (a) comprises defining a predetermined number of said segments having different numbers of locations in accordance with a predetermined function.
Claim 11
Dependent Claim 48 words
The method as in claim 8, wherein said predetermined function is C K =K×.left brkt-top.N/B.right brkt-top., where K is a segment number, C K is said number of locations in segment K, N is a predetermined block length of said symbols and B is a predetermined interleaving depth.
Claim 12
Dependent Claim 21 words
The method as in claim 8, wherein a step (a) further comprises defining a predetermined segment as being a direct connection.
Claim 13
Dependent Claim 89 words
The method as in claim 4, further comprising the steps, performed prior to step (b), of: (f) selecting interleave operation or de-interleave operation; (g) if said interleave operation is selected in step (f), controlling steps (b) and. (c) to sequentially select said segments for reading and writing respectively by incrementing segment numbers from zero; and (h) if said de-interleave operation is selected in step (f), controlling steps (b) and (c) to sequentially select said segments for reading and writing respectively by decrementing segment numbers from a maximum segment number.
Claim 14
Dependent Claim 89 words
The method as in claim 4, further comprising the steps, performed prior to step (b), of: (f) selecting interleave operation or de-interleave operation; (h) if said interleave operation is selected in step (f), controlling steps (b) and (c) to sequentially select said segments for reading and writing respectively by decrementing segment numbers from a maximum segment number; and (g) if said de-interleave operation is selected in step (f), controlling steps (b) and (c) to sequentially select said segments for reading and writing respectively by incrementing segment numbers from zero.
Claim 15
Dependent Claim 24 words
The method as in claim 4, wherein: step (a) comprises setting said offset pointers to zero; and step (d) comprises incrementing said offset pointers.
Claim 16
Dependent Claim 79 words
The method as in claim 4, wherein: step (a) comprises the substeps of: (f) defining maximum values of said offset pointers as being equal to numbers of locations in said segments respectively; and (g) setting said offset pointers to zero; and step (d) comprises the substeps of: (h) incrementing said offset pointers; (i) comparing said offset pointers with said maximum values respectively; and (j) setting an offset pointer to zero if a value thereof exceeds said respective maximum value.
Claim 17
Independent Claim 53 words
An apparatus for selectively interleaving and de-interleaving symbols, comprising: a memory including a plurality of locations for storing said symbols; a sequencer for sequentially reading stored symbols and sequentially writing current symbols; and a computer for redesignating next locations as current locations respectively, and controlling the sequencer to repeat said reading and writing.
Claim 18
Independent Claim 53 words
An apparatus for selectively interleaving and de-interleaving symbols, comprising: a memory including a plurality of locations for storing said symbols; a sequencer for sequentially reading stored symbols and sequentially writing current symbols; and a computer for redesignating next locations as current locations respectively, and controlling the sequencer to repeat said reading and writing.
Claim 19
Dependent Claim 15 words
The apparatus as in claim 15, wherein said segments have different numbers of locations respectively.
Claim 20
Dependent Claim 25 words
The apparatus as in claim 15, wherein the memory comprises a plurality of segments having different numbers of locations in accordance with a predetermined function.
Claim 21
Dependent Claim 52 words
The apparatus as in claim 15, wherein said predetermined function is C K =K×.left brkt-top.N/B.right brkt-top., where K is a segment number within a predetermined range, C K is said number of locations in segment K, N is a predetermined block length of said symbols and B is a predetermined interleaving depth.
Claim 22
Dependent Claim 15 words
The apparatus as in claim 18, wherein at least one segment is a direct connection.
Claim 23
Dependent Claim 32 words
The apparatus as in claim 18, of wherein: the sequencer designates said segments by segment pointers, and the computer designates said current locations as relative offset pointers from said segment pointers respectively.
Claim 24
Dependent Claim 26 words
The apparatus as in claim 20, wherein the computer redesignates said next locations in said segments as said current locations respectively by incrementing said offset pointers.
Claim 25
Dependent Claim 24 words
The apparatus as in claim 20, wherein the computer sequentially selects segments for reading and writing by incrementing segment pointers for interleaving said symbols.
Claim 26
Dependent Claim 24 words
The apparatus as in claim 20, wherein the computer sequentially selects segments for reading and writing by decrementing segment pointers for de-interleaving said symbols.
Claim 27
Dependent Claim 41 words
The apparatus as in claim 20, wherein the computer sequentially selects segments for reading and writing by decrementing segment pointers for interleaving said symbols and sequentially selects segments for reading and writing respectively by incrementing segment pointers for de-interleaving said symbols.
Claim 28
Dependent Claim 25 words
The apparatus as in claim 20, wherein the memory comprises a plurality of segments having a number of locations in accordance with a predetermined function.
Claim 29
Dependent Claim 49 words
The apparatus as in claim 25, wherein the predetermined function is C K =K×.left brkt-top.N/B.right brkt-top., where K is a predetermined segment number, C K is said number of locations in segment K, N is a predetermined block length of said symbols and B is a predetermined interleaving depth.
Claim 30
Dependent Claim 15 words
The apparatus as in claim 26, wherein at least one segment is a direct connection.
Claim 31
Dependent Claim 77 words
The apparatus as in claim 20, wherein: the computer comprises a selector for selecting interleave operation or de-interleave operation; if said interleave operation is selected, the computer controls the sequencer to sequentially select said segments for reading and writing respectively by incrementing segment numbers from zero; and if said de-interleave operation is selected, the computer controls the sequencer to sequentially select said segments for reading and writing respectively by decrementing segment numbers from a maximum segment number.
Claim 32
Dependent Claim 29 words
The apparatus as in claim 20, wherein the computer initially sets said offset pointers to zero, and increments said offset pointers after the sequencer performs said reading and writing.
Claim 33
Dependent Claim 71 words
The apparatus as in claim 20, wherein the computer: defines maximum values of said offset pointers as being equal to numbers of locations in said segments respectively; initially sets said offset pointers to zero; increments said offset pointers after the sequencer performs said reading and writing; compares said offset pointers with said maximum values respectively; and sets an offset pointer to zero if a value thereof exceeds said respective maximum value.
Claim 34
Independent Claim 312 words
A method for communicating a series of symbols over a communication channel by selectively interleaving the symbols, communicating the interleaved symbols over the communication channel, and de-interleaving the symbols to restore the symbols into their original series, said method comprising steps of: (a) providing a random access memory (RAM), and defining in said RAM plural memory segments according to the function C K =K×.left brkt-top.N/B.right brkt-top., where K is a segment number from zero (0) through (B-1), C K is the number of memory locations in the respective segment K, N is a predetermined block length of the series of symbols, B is a predetermined interleaving depth, and the ratio is rounded up to the next larger integer; (b) providing a respective memory segment pointer to the first memory location of each memory segment, and further providing for each memory segment both a current-location pointer and a next-location pointer to respective memory locations each by an offset relative to the respective memory segment pointer of the memory segment; (c) for memory segments one (1) through (B-1) storing symbols of said series of symbols seriatim in successive ones of said memory locations, and for symbols allocated to the K 0 segment communicating the symbols directly via said communication channel; (d) sequentially for memory segments one (1) through (B-1) reading a stored symbol out of a memory location designated by a current-location pointer the respective memory segment, transmitting the symbol via said communication channel, and then writing the next symbol from said series of symbols into the current memory location and redesignating the next-location pointer as a current-location pointer, and incrementing the next-location pointer in the memory segment; (e) repeating steps (c) through (d) for memory segment numbers zero (0) through (B-1); and (f) repeating steps (c) through (e) until the series of symbols have been communicated in interleaved form via the communication channel.
Claim 35
Independent Claim 312 words
A method for communicating a series of symbols over a communication channel by selectively interleaving the symbols, communicating the interleaved symbols over the communication channel, and de-interleaving the symbols to restore the symbols into their original series, said method comprising steps of: (a) providing a random access memory (RAM), and defining in said RAM plural memory segments according to the function C K =K×.left brkt-top.N/B.right brkt-top., where K is a segment number from zero (0) through (B-1), C K is the number of memory locations in the respective segment K, N is a predetermined block length of the series of symbols, B is a predetermined interleaving depth, and the ratio is rounded up to the next larger integer; (b) providing a respective memory segment pointer to the first memory location of each memory segment, and further providing for each memory segment both a current-location pointer and a next-location pointer to respective memory locations each by an offset relative to the respective memory segment pointer of the memory segment; (c) for memory segments one (1) through (B-1) storing symbols of said series of symbols seriatim in successive ones of said memory locations, and for symbols allocated to the K 0 segment communicating the symbols directly via said communication channel; (d) sequentially for memory segments one (1) through (B-1) reading a stored symbol out of a memory location designated by a current-location pointer the respective memory segment, transmitting the symbol via said communication channel, and then writing the next symbol from said series of symbols into the current memory location and redesignating the next-location pointer as a current-location pointer, and incrementing the next-location pointer in the memory segment; (e) repeating steps (c) through (d) for memory segment numbers zero (0) through (B-1); and (f) repeating steps (c) through (e) until the series of symbols have been communicated in interleaved form via the communication channel.
Claim 36
Dependent Claim 304 words
The method of claim 31, further including de-interleaving the communicated symbols to restore the symbols into their original series by the steps of: (g) providing a random access memory (RAM), and defining in said RAM plural memory segments according to the function C K =K×.left brkt-top.N/B.right brkt-top., where K is a segment number from zero (0) through (B-1), C K is the number of memory locations in the respective segment K, N is the same predetermined block length of the series of symbols, B is the same predetermined interleaving depth, and the ratio is rounded up to the next larger integer; (h) providing a respective memory segment pointer to the first memory location of each memory segment, and further providing for each memory segment both a current-location pointer and a next-location pointer to respective memory locations each by an offset relative to the respective memory segment pointer of the memory segment; (i) for memory segments one (1) through (B-1) storing communicated interleaved symbols seriatim in successive ones of said memory locations, and for symbols communicated directly as allocated to the K 0 segment receiving these symbols directly into their restored series locations; (j) sequentially for memory segments one (1) through (B-1) reading a stored symbol out of a memory location designated by a current-location pointer of the respective memory segment, receiving a transmitted symbol via said communication channel, and then writing a the received symbol into the memory location indicated by the current-location pointer, and redesignating the next-location pointer as a current-location pointer, and decrimenting the next-location pointer in the memory segment; (k) repeating steps (i) through (j) for memory segment numbers zero (0) through (B-1); and (l) repeating steps (i) through (k) until the series of symbols have been communicated in interleaved form via the communication channel and restored to their original series.
Claim 37
Dependent Claim 17 words
The method of claim 32, wherein steps (b) and (h) each include setting said offset to zero.
Claim 38
Dependent Claim 90 words
The method of claim 33 further including steps of: defining respective maximum values for the offset of the current-location and next-location pointers of each memory segment, the respective maximum values being equal to the number of memory locations of each respective memory segment; comparing the offset to zero (0) and to the maximum value; and resetting the offset to zero -if upon an incrementation it exceeds the maximum value, and resetting the offset to the maximum value if upon a decrement of the offset it is less than zero (0).

References Cited (Backward Citations)

US4559625A Cited
US4707805A Cited
US4710923A Cited
US5353024A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-04-27 2001-10-27 2002-04-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-04-27 2005-10-27 2006-04-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-04-27 2009-10-27 2010-04-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag