# US 7,610,519 B1 · Vector generation for codes through symmetry

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,519 B1
- Document ID: US7610519B1
- Status: Granted
- Kind: B1
- Application number: 11/368,128
- Filed: 2006-03-03
- Granted: 2009-10-27
- Earliest claimed: 2006-03-03
- Assignees: Xilinx, Inc.
- Inventors: Jeffrey A. Graham; Ben J. Jones
- Web page: https://patentgrep.com/patent/US7610519B1

## CPC

- H03M 13/2771: {Internal interleaver for turbo codes (H03M13/2714 and H03M13/2725 take precedence)}
- H03M 13/275: {Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c}
- H03M 13/276: {Interleaving address generation}
- H03M 13/6572: {Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))}
- G11C 2029/0411: {Online error correction}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

Apparatus for vector generation is described. A vector generator is associated with a discrete power series symmetric about at least one term and configured to provide vectors, such as QSvectors for a Turbo Code for example. The vectors are each provided in separate portions as a first portion and a second portion. The second portion of a vector of the vectors is generated from the first portion of the vector using symmetry about the at least one term.

## Claims

### Claim 1

An interleaver, comprising:
a read address generator including:
a vector generator, the vector generator associated with a discrete power series, the discrete power series being symmetric about at least one term;
the vector generator configured to provide vectors;
the vectors each being provided in separate portions as a first portion and a second portion; and
the second portion of a vector of the vectors generated from the first portion of the vector using symmetry about the at least one term.

### Claim 2 (depends on 1)

The interleaver according to claim 1, further comprising:
a first buffer coupled to receive input data and first write address information;
the first buffer configured to store the input data in association with the first write address information;
the read address generator coupled to the first buffer and configured to provide first read address information to the first buffer;
the first buffer configured for outputting the input data stored as output data responsive to the first read address information; and
the first read address information being associated with the vectors.

### Claim 3 (depends on 2)

The interleaver according to claim 2, wherein:
the read address generator further includes an offset generator configured to provide offset values for respective combination with the vectors;
the vectors being a number of discrete power series (QSvectors) as associated with an error-correction code;
the discrete power series being a single discrete power series (Svector) as associated with the error-correction code; and
the read address generator configured to provide a permutated sequence of read addresses as the first read address information.

### Claim 4 (depends on 3)

The interleaver according to claim 3, wherein the read address generator further includes:
an adder coupled to respectively combine the offset values with the QSvectors to provide the first read address information;
a counter coupled to the offset generator and configured to provide row addresses; and
the offset generator configured to respectively provide the offset values responsive to the row addresses.

### Claim 5 (depends on 1)

The interleaver according to claim 1, wherein a subset of the vectors are provided using symmetry about at least one other term, wherein the second portion of the vectors in the subset are generated from the first portion using symmetry about the at least one other term.

### Claim 6 (depends on 1)

The interleaver according to claim 1, wherein the vector generator includes:
an index generator configured to provide indices, the discrete power series being an Svector associated with an error-correction code, the vectors being QSvectors associated with the error-correction code;
a buffer coupled to receive the indices as second read address information, the buffer having stored therein a first data half of the Svector and not having stored therein a second data half of the Svector, the indices being associated with the first data half and the second data half;
the buffer configured to output terms of the Svector from the first data half stored responsive to any of the indices to provide the QSvectors; and
output control circuitry for selecting between providing the terms as stored in the buffer for output from the vector generator without using with the at least one term to manipulate the terms and with using the at least one term to manipulate the terms.

### Claim 7 (depends on 6)

The interleaver according to claim 6, wherein the at least one term of the Svector divided by two is subtracted from the second read information to provide third read address information for reading the terms for output from the buffer and to provide a select bit for selecting between providing the terms for output with or without manipulation with the at least one term.

### Claim 8 (depends on 6)

The interleaver according to claim 6, wherein the at least one term is a p−1 term for p a prime number; and wherein the vector generator further includes a subtractor to provide manipulation of the terms by subtracting the at least one term from each of the terms to be output.

### Claim 9 (depends on 2)

The interleaver according to claim 2, wherein the vectors are QSvectors as associated with an error-correction code; and wherein the vector generator includes:
a QSvector generator configured to provide the first portion for each of the QSvectors and second write address information for the first portion of each of the QSvectors;
a second buffer coupled to receive the first portion of each of the QSvectors and the second write address information;
the second buffer configured to store the first portion of each of the QSvectors in association with the second write address information; and
control circuitry configured to provide second read address information for outputting the first portion of each of the QSvectors from the second buffer.

### Claim 10 (depends on 9)

The interleaver according to claim 9, wherein the control circuitry includes:
a counter coupled to provide the second read address information to the second buffer and configured to provide a select signal;
the control circuitry configured to:
provide the second portion of each of the QSvectors, the second portion of each of the QSvectors being initially read out of the second buffer as the first portion of each of the QSvectors; and
output one of the first portion and the second portion for each of the QSvectors responsive to a first state of the select signal and to output the other one of the first portion and the second portion of each of the QSvectors responsive to a second state of the select signal.

### Claim 11 (depends on 10)

The interleaver according to claim 10, wherein the control circuitry is configured to provide the second portion of each of the QSvectors by multiplying the first portion of each of the QSvectors by −1 modulus p for p a prime number.

### Claim 12 (depends on 10)

The interleaver according to claim 10, wherein the first portion of each of the QSvectors is a bottom half of each of the QSvectors symmetric about the at least one term; and wherein the second portion of each of the QSvectors is a top half of each of the QSvectors symmetric about the at least one term.

### Claim 13 (depends on 9)

The interleaver according to claim 9, wherein the at least one term is a p−1 term; and wherein the control circuitry includes a subtractor for subtracting the p−1 term from the first portion of each of the QSvectors to provide the second portion of each of the QSvectors.

### Claim 14

An apparatus for use associated with multi-channel interleaved data, comprising:
a vector generator configured to provide a first portion of each of a plurality of vectors, the vectors being associated with a discrete power series for a type of error-correcting code, the discrete power series being symmetric about at least one term; and
term manipulation circuitry coupled to receive the first portion and configured to provide a second portion of each of the vectors responsive to the first portion of each of the vectors using symmetry about the at least one term of the discrete power series.

### Claim 15 (depends on 14)

The apparatus according to claim 14, wherein the vectors are QSvectors; and wherein the term manipulation circuitry is configured to provide the second portion of each of the QSvectors by multiplying the first portion of each of the QSvectors by −1 modulus p for p a prime number.

### Claim 16 (depends on 14)

The apparatus according to claim 14, wherein the first portion of each of the QSvectors are provided to a first channel; and
wherein the second portion of each of the QSvectors are provided to a second channel.

### Claim 17 (depends on 16)

The apparatus according to claim 16, wherein the first portion of each of the QSvectors are a bottom half of each of the QSvectors; wherein the second portion of the QSvectors are a top half of each of the QSvectors; wherein the at least one term is a prime number minus 1 term; and wherein the term manipulation circuitry includes a subtractor for subtracting the prime number minus 1 term from the first portion of each of the QSvectors to provide the second portion of each of the QSvectors.

### Claim 18 (depends on 16)

The apparatus according to claim 16, further comprising a multiplier coupled to receive the first portion of each of the QSvectors and configured to multiply the first portion of the QSvectors by a constant, the constant being associated with symmetry about at least one other term of the discrete power series.
