LNS Arithmetic Coding for Error-Protected Real-Number Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveerror detection capabilityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata protection from errorsVSAvoidhardware computing power requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP3641137B1Device and method for processing data
Publication Date: 2024.06.05 SIEMENS AG
  • EP3641137B1 patent drawingFigure 1~2
  • EP3641137B1 patent drawingFigure 3~4
  • EP3641137B1 patent drawingFigure 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.