Lookup Table Segmentation for Non-Linear Function Approximation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing non-linear functions in hardware or embedded systems is complex and resource-intensive, with Taylor series expansion being computationally inefficient due to high memory and processing requirements.

Innovation Solution

The use of look-up tables (LUTs) in conjunction with interpolation or extrapolation, specifically employing spline interpolation with exponentially spaced segments and spline reuse methods, to approximate non-linear functions efficiently and accurately.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If Taylor series expansion is used to approximate non-linear function, then computation accuracy is improved, but memory usage and processing time increase significantly

Engineering Contradiction:
Improvecomputation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores function values in lookup tables during the design phase. The processor determines an integer n by finding the position of the most significant bit of input x, then directly retrieves pre-computed values from lookup tables based on n and x, avoiding real-time complex calculations and significantly reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the input range into segments based on the position of the most significant bit. Different lookup tables are used for different segments (e.g., n=0 for x<1, n=1 for 1≤x<2, etc.), allowing efficient retrieval for any input range while maintaining computational accuracy through segmented approximation.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If Taylor series expansion is used to approximate non-linear function, then computation accuracy is improved, but memory usage increases significantly

Engineering Contradiction:
Improvecomputation accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent pre-calculates and stores function values in lookup tables during the design phase. The processor determines an integer n by finding the position of the most significant bit of input x, then directly retrieves pre-computed values from lookup tables based on n and x, avoiding real-time complex calculations and significantly reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the input range into segments based on the position of the most significant bit. Different lookup tables are used for different segments (e.g., n=0 for x<1, n=1 for 1≤x<2, etc.), allowing efficient retrieval for any input range while maintaining computational accuracy through segmented approximation.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If lookup tables with fine granularity are used to improve accuracy, then computation accuracy is improved, but memory usage increases

Engineering Contradiction:
Improvecomputation accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides the input range into segments based on the position of the most significant bit. Different lookup tables are used for different segments (e.g., n=0 for x<1, n=1 for 1≤x<2, etc.), allowing efficient retrieval for any input range while maintaining computational accuracy through segmented approximation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses interpolation to estimate function values between discrete lookup table entries. This partial approximation approach achieves sufficient accuracy for most practical applications without requiring storage of every possible input value, thereby reducing memory usage while maintaining acceptable computation accuracy.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3507707A2Approximation of non-linear functions in fixed point using look-up tables
Publication Date: 2019.07.10 QUALCOMM INC

AI summary

Computing a non-linear function f(x) in hardware or embedded systems can be complex and resource intensive. In one or more aspects of the disclosure, a method, a computer-readable medium, and an apparatus are provided for computing a non-linear function f(x) accurately and efficiently in hardware using look-up tables (LUTs) and interpolation or extrapolation. The apparatus may be a processor. The processor computes a non-linear function f(x) for an input variable x, where f(x)=g(y(x),z(x)). The processor determines an integer n by determining a position of a most significant bit (MSB) of an input variable x. In addition, the processor determines a value for y(x) based on a first look-up table and the determined integer n. Also, the processor determines a value for z(x) based on n and the input variable x, and based on a second look-up table. Further, the processor computes f(x) based on the determined values for y(x) and z(x).