Factorial Pulse Coding With Log-Domain Combinatorial Approximation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for Factorial Pulse Coding (FPC) face significant complexity and memory requirements when dealing with large vector lengths and unit pulse counts, particularly in mobile handheld devices, due to the computational complexity of combinatorial expressions and memory needed for lookup tables.
Innovation Solution
A method that generates a low-complexity approximation of the combinatorial function F(n, d) using logarithmic transformations and low-resolution representations, allowing for efficient encoding and decoding with reduced precision and memory usage, by defining functions P′(i), Q′(d), and R′(k) that satisfy specific conditions for unique decodability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If exact combinatorial function F(n,d) is computed using prior art methods, then coding precision is maintained, but computational complexity becomes unacceptably high for large n and d values
Solution Approach 1:
The patent transforms the combinatorial computation from direct factorial calculation to logarithmic domain operations. By changing the parameter representation from F(n,d) to log(F(n,d)) and using pre-computed logarithmic factorial tables, the computational complexity is reduced from O(n) multiplications to O(1) table lookups and additions, while maintaining sufficient precision for coding applications
Solution Approach 2:
The patent pre-computes and stores logarithmic factorial values in lookup tables before runtime. This preliminary action eliminates the need for complex real-time factorial calculations during encoding/decoding operations, reducing runtime computational complexity to simple table lookups and arithmetic operations
2Productivity
If lookup tables for combinatorial values are stored in memory, then computation speed increases, but memory requirements become unreasonably large for mobile devices
Solution Approach 1:
The patent changes the stored parameter from actual combinatorial values F(n,d) to their logarithmic equivalents log(F(n,d)). This parameter transformation reduces the memory storage requirements significantly because logarithmic values are smaller in magnitude and can be represented with fewer bits, while still enabling rapid computation through simple addition operations
Solution Approach 2:
The patent segments the combinatorial computation into two parts: pre-computed logarithmic factorial components stored in compact tables, and runtime operations that combine these components through addition. This segmentation allows the heavy computational burden to be shifted to offline table generation, leaving only lightweight operations for runtime execution
3Measurement precision
If multi-precision arithmetic operations are used to maintain accuracy, then coding accuracy is preserved, but the number of MAC operations increases significantly
Solution Approach 1:
The patent replaces the mechanical multi-precision arithmetic system with a logarithmic arithmetic system. Instead of performing complex multi-precision multiplication and division operations to compute F(n,d), the system uses logarithmic identities to convert these operations into simple addition and subtraction of pre-computed logarithmic values, dramatically reducing the number of MAC operations required
Data Source
AI summary
During operation of an encoder, a signal vector (x) is received. A first multi-precision operand (Ψ′k) will be generated based on the signal vector to be encoded. A mantissa operand and an exponent operand are generated. Both the mantissa operand and the exponent operand are representative of a second multi-precision operand that is based on the signal vector to be encoded. A portion of Ψ′k is selected to be modified based on the exponent operand. A part of Ψ′k is modified based on the mantissa operand to produce a modified multi-precision operand (Ψ′k+1). Finally, a multi-precision codeword is generated for use in a corresponding decoder.


