Claims
- 1. Time de-interleave, de-puncture and viterbi decoder circuitry, comprising:
- a time de-interleave circuit adapted for communication with a memory circuit and having an input receiving a stream of digital data defined by a plurality of time interleaved frames of encoded data samples and metric data samples, said time de-interleave circuit defining a corresponding plurality of address pointers to the memory circuit and compactly storing a number of said plurality of time interleaved frames of metric data samples therein according to addresses defined by a corresponding number of said plurality of address pointers, said time de-interleave circuit processing the stored metric data samples and producing time de-interleaved data samples at an output thereof;
- a de-puncture circuit having an input connected to said time de-interleave circuit output, said de-puncture circuit de-puncturing the time de-interleaved data samples and producing time de-interleaved and de-punctured data samples at an output thereof; and
- a viterbi decoder circuit having an input connected to said de-puncture circuit output, said viterbi decoder circuit viterbi decoding the time de-interleaved and de-punctured data samples and producing time de-interleaved, de-punctured and viterbi decoded data samples at an output thereof.
- 2. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 1 wherein said viterbi decoder circuit is adapted for communication with said memory circuit, said viterbi decoder circuit storing said time de-interleaved, de-punctured and viterbi decoded data samples in said memory circuit.
- 3. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 2 further including a program manager circuit having a first output adapted for communication with said memory circuit and producing a program identifier thereat, said program manager circuit having a first input adapted for communication with said memory circuit and receiving time de-interleaved, de-punctured and viterbi decoded data samples therefrom according to said program identifier, said program manager circuit retrieving said time de-interleaved, de-punctured and viterbi decoded data samples from said memory circuit at a rate defined by said program identifier and producing said data samples at a data output thereof.
- 4. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 3 wherein said program manager circuit includes a plurality of data outputs;
- and wherein said program manager circuit is operable to produce a number of program identifiers at said first output, retrieve time de-interleaved, de-punctured and viterbi decoded data samples from said memory circuit according to said number of program identifiers at rates defined by each of said program identifiers, and produce said data samples corresponding to each of said program identifiers at a separate data output thereof.
- 5. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 4 further including a control interface circuit operable to produce data decoding information at a first output thereof;
- and wherein each of said time de-interleave circuit, said de-puncture circuit, said viterbi decoder circuit and said program manager circuit include a control input connected to said first control interface circuit output for receiving said data decoding information.
- 6. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 5 wherein said time de-interleave circuit, said de-puncture circuit, said viterbi decoder circuit, said program manager circuit and said control interface circuit each form a portion of a single integrated circuit.
- 7. Time de-interleave, de-puncture and viterbi decoder circuitry comprising:
- a time de-interleave circuit having an input receiving a stream of digital data defined by a plurality of time interleaved frames of encoded data samples and an output producing time de-interleaved data samples;
- a de-puncture circuit having an input connected to said time de-interleave circuit output and an output, said de-puncture circuit receiving said time de-interleaved data samples at said input thereof and producing time de-interleaved and de-punctured data samples at said output thereof;
- a viterbi decoder circuit having an input connected to said de-puncture circuit output and a number of outputs, said viterbi decoder circuit receiving said time de-interleaved and de-punctured data samples at said input thereof and producing a program identifier along with time de-interleaved, de-punctured and viterbi decoded data samples for each of a number of data programs at said number of outputs thereof; and
- a program manager circuit having a number of inputs receiving program identifiers along with time de-interleaved, de-punctured and viterbi decoded data samples for each of said number of data programs, and a number of outputs, said program manager producing time de-interleaved, de-punctured and viterbi decoded data samples for each of said number of programs at a rate defined by a corresponding one of said program identifiers at a separate one of said number of outputs thereof.
- 8. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 7 further including a memory circuit in communication with said time de-interleave circuit, said viterbi decoder circuit and said program manager circuit, said memory circuit storing time interleaved data samples provided thereto by said time de-interleave circuit and providing time de-interleaved data samples to said time de-interleave circuit for further processing thereof.
- 9. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 8 wherein said memory circuit is further operable to store data samples therein produced by said viterbi decoder circuit, said memory circuit storing said data samples produced by said viterbi decoder circuit in a circular buffer fashion to accommodate various block lengths of said data samples produced by said viterbi decoder circuit.
- 10. The time de-interleave, de-puncture and viterbi decoder circuitry of claim 9 wherein a portion of said memory circuit is arranged as a three-bank trellis for storing said data samples produced by said viterbi decoder circuit therein, said viterbi decoder circuit storing said data samples produced thereby in said three-bank trellis in accordance with a trellis trace back algorithm.
- 11. The time de-interleave, de-puncture and viterbi decoder circuit of claim 9 wherein said viterbi decoder circuit produces said time de-interleaved, de-punctured and viterbi decoded data samples for each of said number of data programs in accordance with a Radix-4 in-place calculation of state metrics, thereby minimizing parallel hardware necessary for time de-interleaving, de-puncturing and viterbi decoding a plurality of data programs.
CROSS REFERENCE TO RELATED U.S. PATENT APPLICATIONS
The present invention relates to U.S. patent application Ser. No. 08/824,028 which is related to a digital audio broadcasting (DAB) system and being filed concurrently with this invention.
US Referenced Citations (10)