DSP Block Floating-Point Scaling for Fast Fixed-Point Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing digital signal processing technologies face inefficiencies in converting floating-point numbers to fixed-point numbers, particularly in determining the appropriate common exponent for block floating-point representation, which can result in inaccurate representation of data ranges.
Innovation Solution
A processor is configured to receive floating-point data, determine an input-scale-factor based on a previous-input-block-exponent-value, and convert the data into fixed-point data, with mechanisms to adjust for out-of-range indicators and utilize a maximum-input-exponent-value for revised conversions, allowing efficient processing and representation within specific ranges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If floating-point representation is used to provide greater dynamic range, then the ratio of largest and smallest representable numbers increases, but power consumption and integrated circuit area increase
Solution Approach 1:
The floating-point data processing is segmented into blocks, where a common exponent is determined for each block. This allows the use of efficient fixed-point arithmetic operations within each block while maintaining the dynamic range benefits of floating-point representation through the block-wise exponent management.
Solution Approach 2:
The patent changes the representation parameter from individual floating-point numbers to block-wise fixed-point numbers with a common exponent. This parameter change allows fixed-point processors to handle data with high dynamic range by adjusting the scale factor based on the maximum exponent within each block, thereby reducing power consumption while preserving dynamic range characteristics.
2Measurement precision
If floating-point representation is used to provide greater dynamic range, then the ratio of largest and smallest representable numbers increases, but integrated circuit area increases
Solution Approach 1:
The floating-point data processing is segmented into blocks, where a common exponent is determined for each block. This allows the use of efficient fixed-point arithmetic operations within each block while maintaining the dynamic range benefits of floating-point representation through the block-wise exponent management.
Solution Approach 2:
The patent changes the representation parameter from individual floating-point numbers to block-wise fixed-point numbers with a common exponent. This parameter change allows fixed-point processors to handle data with high dynamic range by adjusting the scale factor based on the maximum exponent within each block, thereby reducing integrated circuit area while preserving dynamic range characteristics.
3Measurement precision
If separate reading of floating-point numbers is performed to determine input-scale-factor, then accuracy of scale-factor determination improves, but processing time increases
Solution Approach 1:
The patent applies preliminary action by determining the maximum exponent value within each block before performing the actual data conversion. This preliminary determination of the common exponent allows subsequent fixed-point conversions to proceed efficiently without requiring separate reading and analysis of each floating-point number's exponent, thus reducing processing time while maintaining accuracy.
Solution Approach 2:
The patent skips the time-consuming step of individually reading and analyzing each floating-point number by directly computing the common exponent from the block's maximum exponent value. This rushing through the scale-factor determination process enables faster conversion while preserving the accuracy needed for proper fixed-point representation.
Data Source
AI summary
A processor configured to: receive, at a floating-point-input-terminal, an input-block of data comprising a plurality of floating-point numbers each floating-point number comprising a mantissa and an exponent; determine an input-scale-factor based on a previous-input-block-exponent-value associated with a previous-input-block of data; and convert the input-block of data into a fixed-point-block of data in accordance with the input-scale-factor, wherein the fixed-point-block of data comprises a plurality of fixed-point-values that can represent the plurality of floating-point numbers within a particular range.


