IP Library Granted Patent US 7,269,208
Granted Patent B2
US 7,269,208 · App. 10/088,387 · Granted Sep 11, 2007

Device for sending/receiving digital data capable of processing different bit rates, in particular in a VDSL environment

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,269,208
App. No.
10/088,387
Granted
Sep 11, 2007
Kind
B2
Abstract

A device for sending/receiving digital data is capable of processing different bit rates from a group of predetermined bit rates. The device may include a channel coding/decoding stage including an interleaver, a deinterleaver, and a memory whose minimum size is fixed as a function of the maximum bit rate of the group of predetermined bit rates. The memory may have a first memory space assigned to the interleaver and a second memory space assigned to the deinterleaver. The size of each of the two memory spaces may be set as a function of the bit rate actually processed by the device.

Claims (40)

1. A device for sending and receiving digital data that is capable of processing different bit rates from a group of predetermined bit rates, the device comprising:

a channel coding/decoding stage comprising

an interleaver,

a deinterleaver,

a shared memory having a minimum size based upon a maximum bit rate of the group of predetermined bit rates and having a first memory space assigned to said interleaver and a second memory space assigned to said deinterleaver, a size of each of the first and second memory spaces being set as a function of the bit rate actually processed by the device,

a Reed-Solomon coder/decoder connected to said interleaver and said deinterleaver and having a length N, and

said interleaver providing convolutional interleaving of I branches with i−1 blocks of M bytes, and said deinterleaver providing convolutional deinterleaving with I′ branches of i′−1 blocks of M′ bytes, with I and I′ being sub-multiples of N and i and i′ being current relative indexes of the branches.

2. The device according to claim 1 wherein the size of the first memory space is equal to I×(I−1)×M/2 bytes, the size of the second memory space is equal to I′×(I′−1)×M′/2 bytes, and the sizes of the first and second memory spaces are set by I, I′, M and M′.

3. The device according to claim 1 wherein said interleaver and said deinterleaver respectively comprise a first addressing device and a second addressing device, said first and second addressing devices each comprising:

a first counter defining the relative index i or i′ of a branch and having a counting limit value;

a second counter defining a number of bytes in a block and incremented each time that said first counter reaches its counting limit value;

a third counter defining the current index of a block in the branch with index i or i′ to be incremented each time the block in the branch with index i or i′ has M or M′ bytes; and

an intermediate calculation device for calculating the address of each branch in said memory from the content of said first counter.

4. The device according to claim 3 wherein said first addressing device further comprises a first address determination device for determining successive read and write addresses in said memory of data successively delivered to said interleaver and said first address determination device, the successive read and write addresses being determined based upon values supplied by said intermediate calculation device, said second and third counters, and the parameter M.

5. The device according to claim 3 wherein said second addressing device further comprises a second address determination device for determining successive read and write addresses in said memory of data successively delivered to said deinterleaver and said second address determination device, the successive read and write addresses being determined based upon values supplied by said intermediate calculation device, said second and third counters, the parameter M′, and the size of the first memory space.

6. The device according to claim 1 wherein said memory comprises a random access memory.

7. The device according to claim 1 wherein said memory comprises a dual-port memory.

8. A device for sending and receiving digital data that is capable of processing different bit rates from a group of predetermined bit rates, the device comprising:

a channel coding/decoding stage comprising

an interleaver,

a deinterleaver,

a shared random access memory whose minimum size is fixed as a function of a maximum bit rate of the group of predetermined bits and having a first memory space assigned to said interleaver and a second memory space assigned to said deinterleaver, a size of each of the first and second memory spaces being set as a function of the bit rate actually processed by the device, and

a Reed-Solomon coder/decoder connected to said interleaver and said deinterleaver and having a length N,

said interleaver providing convolutional interleaving of I branches with i−1 blocks of M bytes, and said deinterleaver providing convolutional deinterleaving with I′ branches of i′−1 blocks of M′ bytes, with I and I′ being sub-multiples of N and i and i′ being current relative indexes of the branches, said interleaver and said deinterleaver respectively comprising a first addressing device and a second addressing device, said first and second addressing devices each comprising

a first counter defining the relative index i or i′ of a branch and having a counting limit value,

a second counter defining a number of bytes in a block and incremented each time that said first counter reaches its counting limit value,

a third counter defining the current index of a block in the branch with index i or i′ to be incremented each time the block in the branch with index i or i′ has M or M′ bytes, and

an intermediate calculation device for calculating the address of each branch in said random access memory from the content of said first counter.

9. The device according to claim 8 wherein the size of the first memory space is equal to I×(I−1)×M/2 bytes, the size of the second memory space is equal to I′×(I′−1)×M′/2 bytes, and the sizes of the first and second memory spaces are set by I, I′, M and M′.

10. The device according to claim 8 wherein said first addressing device further comprises a first address determination device for determining successive read and write addresses in said random access memory of data successively delivered to said interleaver and said first address determination device, the successive read and write addresses being determined based upon values supplied by said intermediate calculation device, said second and third counters, and the parameter M.

11. The device according to claim 8 wherein said second addressing device further comprises a second address determination device for determining successive read and write addresses in said random access memory of data successively delivered to said deinterleaver and said second address determination device, the successive read and write addresses being determined based upon values supplied by said intermediate calculation device, said second and third counters, the parameter M′, and the size of the first memory space.

12. The device according to claim 8 wherein said random access memory comprises a dual-port memory.

13. A method for sending and receiving digital data and processing different bit rates from a group of predetermined bit rates, the method comprising:

interleaving and deinterleaving the digital data;

setting a minimum size of a shared memory based upon a maximum bit rate of the group of predetermined bit rates;

assigning a first memory space of the shared memory for interleaving and a second memory space of the shared memory for deinterleaving, a size of each of the first and second memory spaces being set as a function of the bit rate actually processed by the device;

performing Reed-Solomon coding and decoding for a length N of the digital data; and

the interleaving providing convolutional interleaving of I branches with i−1 blocks of M bytes, and the deinterleaving providing convolutional deinterleaving with I′ branches of i′−1 blocks of M′ bytes, with I and I′ being sub-multiples of N and i and i′ being current relative indexes of the branches.

14. The method according to claim 13 wherein the size of the first memory space is equal to I×(I′−1)×M/2 bytes, the size of the second memory space is equal to I′×(I′−1)×M′/2 bytes, and the sizes of the first and second memory spaces are set by I, I′, M and M′.

15. The method according to claim 13 wherein the memory comprises a random access memory.

Assignments (2)
CHANGE OF NAME Recorded Jul 1, 2024
From: STMICROELECTRONICS SA
To: STMICROELECTRONICS FRANCE
Reel/Frame 068104/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2002
From: MAZZONI, SIMONE; CAME, HELENE
To: STMICROELECTRONICS S.A.
Reel/Frame 013205/0123 →