Multi-Channel Viterbi Decoding for Tail-Biting and Packet Frames
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing sequential Viterbi decoders are limited in processing finite length encoded data packets/data frames for specific construction types like arbitrary-tail, direct truncation, and tail-biting constructions, and lack multi-channel capability for continuous and encoded stream decoding.
Innovation Solution
A multi-channel sequential Viterbi decoder system with enhanced processing units and RAM architecture, enabling selective processing of continuous streams or encoded data packets for each decoder channel, supporting arbitrary-tail, direct truncation, and tail-biting constructions through specific command-driven operations and multichannel addressing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional sequential Viterbi decoders are used, then continuous stream decoding is supported, but finite length encoded data packets for arbitrary-tail, direct truncation, and tail-biting constructions cannot be processed
Solution Approach 1:
The Viterbi decoder is designed with a universal architecture that can handle multiple construction types (arbitrary-tail, direct truncation, tail-biting) and both continuous streams and finite length packets through a unified state metric management approach, eliminating the need for separate decoder implementations for different construction types
Solution Approach 2:
The decoder employs dynamic state metric management where path metrics are conditionally reset or maintained based on the construction type and operating mode. The state metric unit dynamically adjusts its behavior to accommodate different packet constructions and continuous stream processing requirements within the same hardware architecture
2Adaptability or versatility
If multi-channel capability is added to support various construction types, then decoding versatility improves, but processing complexity and resource requirements increase
Solution Approach 1:
Multiple decoder channels are merged into a single integrated Viterbi decoder unit that shares common resources including the state metric unit, branch metric calculator, and path traceback logic. The unified architecture processes multiple channels sequentially with dynamic channel switching, reducing overall system complexity while maintaining multi-channel capability
Solution Approach 2:
The decoder introduces a channel dimension to the processing architecture, allowing transition between different decoder channels based on construction type requirements. This dimensional approach enables the system to handle arbitrary-tail, direct truncation, and tail-biting constructions by switching to appropriate channels rather than implementing separate dedicated decoders for each type
3Use of energy by moving object
If sequential processing is used for each decoding channel, then resource utilization improves, but processing speed for multiple channels decreases
Solution Approach 1:
The sequential Viterbi decoder implements periodic action by systematically processing each decoder channel in turn through defined processing stages (branch metric calculation, state metric update, path traceback). This periodic processing pattern ensures efficient resource utilization while maintaining predictable processing intervals for each channel
Solution Approach 2:
The decoder maintains continuity of useful action by implementing pipelined processing where channel processing stages overlap in time. While one channel undergoes traceback, another channel can simultaneously perform branch metric calculations, ensuring that the processing resource remains continuously productive across channel transitions
Data Source
AI summary
A multi-channel sequential Viterbi decoder includes: an input buffer, a “Read Data from Input Buffer” signal driver, a processing unit selector, a decoder channel parameters registers unit, a processing unit for a “Reset Path Metrics” command, a processing unit for a “Set Path Metric Value for the Given Path Number” command, a processing unit for a “Get Single Bit from the Path with Given Number” command, a processing unit for a “Process Input Samples” command, a memory for storing decoding paths and path metrics, a unit for generating an address for the memory, and data buffers for decoder channels output.


