MIMO Decoder Single Buffer K-Best Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of optimal decoder architectures for MIMO techniques in wireless standards, such as OFDM receivers, grows exponentially with higher modulation and more transmitted streams, making optimal solutions impractical and necessitating near-optimal solutions with lower complexity.
Innovation Solution
A single buffer processing mechanism based on the K-Best algorithm is implemented, which uses a single register to process multiple inputs, reducing space and latency by simultaneously loading and processing values, and optimizing the K-Best Tree Layer structure to minimize logic area and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If optimal decoder architecture is used, then decoding performance is improved, but device complexity grows exponentially
Solution Approach 1:
The decoder is segmented into multiple processing stages including a sorting network, K-Best tree search unit, and metric calculation units. The K-Best algorithm divides the search space into K parallel paths, processing a subset of candidate points at each stage rather than evaluating all possible combinations, thus reducing complexity from exponential to polynomial while maintaining near-optimal performance
Solution Approach 2:
Instead of performing complete optimal search over all possible transmitted signals, the decoder performs partial search by maintaining only K best candidate paths at each processing stage. This partial action approach evaluates a limited subset of most promising candidates, achieving near-optimal decoding performance with significantly reduced computational complexity
2Productivity
If double buffer is used for processing, then processing capability is improved, but area increases
Solution Approach 1:
The patent merges the functionality of multiple buffers into a single buffer structure that is reused across different processing stages. The same buffer is used for storing incoming metric values, intermediate sorting results, and K-Best candidate metrics sequentially, eliminating the need for separate double buffer structures and reducing the overall register area by approximately half
Solution Approach 2:
The single buffer is designed with multi-functionality, serving multiple purposes: storing received signal metrics, holding sorted values during processing, and maintaining K-Best candidate information. This universal buffer replaces specialized dedicated buffers, achieving the same processing capability with reduced hardware area
3Productivity
If more streams are transmitted, then spectral efficiency is improved, but decoder complexity grows exponentially
Solution Approach 1:
The decoder handles multiple transmitted streams by segmenting the search space into K parallel processing paths. Each path independently processes a subset of candidate points, allowing the system to scale to higher numbers of transmitted streams without exponential complexity growth. The sorting network efficiently manages candidates across all streams by maintaining only the K best candidates regardless of the total number of streams
Solution Approach 2:
The K-Best algorithm changes the parameter of interest from evaluating all possible signal combinations to evaluating only the K best candidates at each stage. This parameter change from exhaustive search to selective search enables the decoder to handle higher spectral efficiency scenarios with more transmitted streams while keeping complexity manageable through polynomial rather than exponential growth
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A device for determining a received signal as minimum values of a set of values, the device comprising a processor configured to: load a first set of values in a register; identify a maximum value of the first set of values and a minimum value of the first set of values; in the register, replace the maximum value by a value of a second set of values and simultaneously replace the minimum value by a new value, calculated based on the minimum value, to receive an updated first set of values; and repeat previous steps until all values of the updated first set of values are replaced by values of the second set of values.