Time-Varying Data Permutation for Low-Complexity Error Decorrelation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional error decorrelators require significant memory size and complexity to handle highly correlated noise, which becomes inefficient for high-speed communication channels, as the complexity is linearly proportional to data throughput and memory depth.
Innovation Solution
The approach involves splitting data permutation into multiple operations across different dimensions, using time-varying permutation elements and block interleavers/de-interleavers to achieve effective data permutation with smaller blocks, reducing overall complexity and gate count.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional error decorrelators use large memory depth to handle highly correlated noise, then error decorrelation performance is improved, but device complexity and memory size increase significantly
Solution Approach 1:
The patent divides the data stream into multiple segments and applies different permutation operations to different segments. Instead of using a single large permutation operation that would require substantial memory, the data is processed in smaller chunks through multiple sequential permutation stages, reducing the memory depth required at any one time while maintaining effective error decorrelation
Solution Approach 2:
The patent introduces time-varying permutation operations that change based on the position in the data stream and uses multiple permutation dimensions (different permutation patterns applied at different stages). This multi-dimensional approach allows achieving the same decorrelation effect with smaller memory depth by utilizing temporal and operational dimensionality rather than relying solely on large spatial memory
2Productivity
If data throughput is increased for high-speed communication channels, then productivity is improved, but complexity increases linearly with throughput
Solution Approach 1:
The permutation operation is segmented into multiple smaller parallel operations that can be executed simultaneously or in quick succession. This segmentation allows the system to handle higher throughput by distributing the permutation workload across multiple processing units or stages, preventing complexity from scaling linearly with throughput
Solution Approach 2:
The patent employs time-varying permutation elements that adapt their operation based on input data characteristics and position. This dynamic approach allows the system to optimize processing efficiency for different throughput conditions, maintaining lower complexity across varying data rates by adjusting permutation parameters rather than requiring maximum complexity for all throughput levels
3Reliability
If memory depth is increased to permute larger amounts of data, then error decorrelation is improved, but complexity increases with the square of memory depth
Solution Approach 1:
The patent applies multiple smaller permutation operations sequentially rather than one large permutation operation. Each small permutation operates on a limited data window requiring minimal memory depth. The composite effect of multiple small permutations achieves the desired error decorrelation without requiring memory depth large enough to trigger quadratic complexity growth
Solution Approach 2:
The patent implements continuous permutation operations that process data in a streaming fashion rather than requiring batch processing of entire data blocks. This continuous action allows each permutation stage to operate on small continuous data flows with minimal memory buffering, avoiding the need for large memory depth that would cause quadratic complexity increase
Data Source
AI summary
Multiple data permutation operations in respective different dimensions are used to provide an overall effective data permutation using smaller blocks of data in each permutation than would be used in directly implementing the overall permutation in a single permutation operation. Data that has been permuted in one permutation operation is block interleaved, and the interleaved data is then permuted in a subsequent permutation operation. A matrix transpose is one example of block interleaving that could be applied between permutation operations.


