LNS Arithmetic Coding for Error-Protected Real-Number Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing methods in functionally safe systems face performance overhead when handling floating-point arithmetic due to the need for extensive integer operations, which is inefficient and costly in terms of computing power.
Innovation Solution
The method involves converting uncoded real numbers into LNS-coded integers using a logarithmic number system and then encoding them using arithmetic coding, reducing the number of integer operations required and improving performance by leveraging LNS encoding in conjunction with arithmetic encoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If floating-point arithmetic operations are used in combination with ANBD coding, then data can be processed in coded form with error protection, but a large number of integer operations are required for one floating-point arithmetic operation, resulting in high performance overhead
Solution Approach 1:
The patent changes the numerical representation parameter from floating-point to LNS (logarithmic number system) coded integers. This parameter change allows arithmetic operations to be performed directly on coded integers without conversion, reducing the number of operations required and improving processing performance while maintaining error detection capability through ANBD coding
Solution Approach 2:
The patent introduces LNS coding as an intermediary representation between floating-point numbers and coded integers. This intermediary allows floating-point arithmetic operations to be performed using integer operations on LNS-coded values, avoiding the need for extensive conversion operations while maintaining numerical accuracy and enabling error detection
2Reliability
If floating-point arithmetic operations are converted into integer operations using software, then ANBD coding can be applied for error protection, but the conversion process requires a large number of integer operations, increasing computing power requirements and hardware costs
Solution Approach 1:
The patent changes the data representation parameter from floating-point to LNS-coded integers, which can be directly processed using integer arithmetic operations. This parameter change eliminates the need for complex software-based conversion while enabling the use of simpler integer arithmetic units in hardware, reducing device complexity and computing power requirements
Solution Approach 2:
The patent replaces the software-based conversion mechanism with a hardware-friendly integer arithmetic approach using LNS coding. By representing floating-point operations as integer operations on LNS-coded values, the system can use simpler hardware arithmetic units instead of complex software converters, reducing hardware complexity and computing power requirements
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A method for processing data is proposed. An uncoded real number x is converted into an LNS-coded integer xLNS using a predetermined conversion rule for a logarithmic number system, LNS, according to the equation xLNS = sgnx ⋅ 2m + ldx ⋅ 2n, where sgn(x) is a sign function of the uncoded real number x, ld|x| is a base-two logarithm of the uncoded real number x, m is a first exponent, and n is a second exponent. The LNS-coded integer xLNS is then encoded into an arithmetically coded integer xc using arithmetic encoding. This reduces the number of integer operations required. Furthermore, a computer program, a device, and a functionally safe, programmable controller are proposed.