Fixed Point vs. Floating Point

Post on 17-Feb-2016

287 views 6 download

Tags:

description

number format

transcript

Prepared by:Prepared by:

Hind J. Zourob 220033212Heba M. Matter 220012336

SupervisorSupervisor::

Dr. Hatem El-Aydi

Faculty Of Engineering Communications & Control Engineering Department

Digital Signal Processing

OutlinesOutlinesIntroduction.Fixed point processors.Q Format.Floating point processors.Overflow and scaling.Scaling.Comparison.Conclusion.

1Digital Signal Processing -

IntroductionIntroductionDigital Signal Processing can be divided into two

categories,

Fixed point Floating point.

Refer to the format used to store and manipulate numbers within the devices.

2Digital Signal Processing -

Fixed point processorsFixed point processors Represents each number with a minimum of 16

bits.Numbers are represented and manipulated in

integer format.There are four common ways that these

2^16=65,536 possible bit patterns can represent a number:

unsigned integersigned integerunsigned fraction notationsigned fraction format

3Digital Signal Processing -

Fixed point processors usagesFixed point processors usagesThere is simply no need for the floating-

point processing in mobile TVs.

Indeed, floating point computations would produce a more precise DCT,

Unfortunately, the DCTs in video codec are designed to be performed on a fixed point processor and are bit-exact.

4Digital Signal Processing -

Q Format (Fractional Representation)Q Format (Fractional Representation) In a 16-bit system, it is not possible to represent

numbers larger than 32767 and smaller than –32768.

To cope with this limitation, numbers are often normalized between -1,1.

This achieved by moving the implied binary point.

Number representations

5Digital Signal Processing -

ExamplesExamplesExample (1)Example (1)

Consider two Q15 format Consider two Q15 format numbers are multipliednumbers are multipliedwhat the result and how will it what the result and how will it be stored in 16 bit memory?be stored in 16 bit memory?

6Digital Signal Processing -

Example (2)Example (2)Any multiplication or addition Any multiplication or addition resulting in a number larger than 7 resulting in a number larger than 7 or smaller than –8 will cause or smaller than –8 will cause overflow.overflow.

When 6 is multiplied by 2, we get When 6 is multiplied by 2, we get 12.12. The result will be wrapped The result will be wrapped around the circle to 1100, which is around the circle to 1100, which is –4.–4.How to solve this problem? How to solve this problem?

The third example will answerThe third example will answer

7Digital Signal Processing -

Example (3)Example (3)

8Digital Signal Processing -

ButBut.….…It should be realized that some precision

is lost.

As a result of discarding the smaller fractional bits.

To solve this problem, the scaling approach will be used (discussed later)

9Digital Signal Processing -

Floating point Number Floating point Number representationrepresentation

Use a minimum of 32 bits to store each value. The represented numbers are not uniformly spaced. Composed of a mantissa and exponent Floating point processor can also support integer

representation and calculations. There are two floating-point data representations on the

C67x processor: single precision (SP) and double precision(DP).

10Digital Signal Processing -

Single precision and double precisionSingle precision and double precision

C67x floating-point data representation.

C67x double precision floating-point representation

11Digital Signal Processing -

Floating point processorsFloating point processorsAll steps needed to perform floating-point

arithmetic are done by the floating-point hardware.

It is inefficient to perform floating-point arithmetic on fixed-point processors , Since all the operations involved, must be done in software.

12Digital Signal Processing -

Floating point processors usagesFloating point processors usagesIn military radar, the floating point processor is

frequently used because its performance is essential.

Floating point processing is good for doing large FFTs so we can implement the FIR in frequency domain.

Appropriate in systems where gain coefficients are changing with time or coefficients have large dynamic ranges .

13Digital Signal Processing -

Overflow and scalingOverflow and scalingWhen multiplying two Q15 numbers, which are in

the range of –1 and 1the product will be in the same range.

However, when two Q15 numbers are added, the sum may fall outside this range, leading to an overflow.

Overflows can cause major problems by generating erroneous results.

The simplest correction method for overflow is scaling.

14Digital Signal Processing -

ScalingScalingThe idea of scaling is to scale down the system input

before performing any processing then to scale up the resulting output to the original size.

Scaling can be applied to most filtering and transform operations.

An easy way to achieve scaling is by shifting.

Since a right shift of 1 is equivalent to a division by 2, we can scale the input repeatedly by 0.5 until all overflows disappear.

The output can then be rescaled back to the total scaling amount.

15Digital Signal Processing -

ComparisonComparisonCharacteristic Floating point Fixed pointDynamic range much larger smallerResolution comparable comparable

Speed comparable comparableEase of programming much easier more difficult

Compiler efficiency more efficient less efficientPower consumption comparable comparableChip cost comparable comparable

System cost comparable comparableDesign cost less moreTime to market faster slower

16Digital Signal Processing -

ConclusionConclusionDSP processors are designed as fixed point and

floating point.

Fixed-point◦Partition a binary word into integer and fractional◦Radix point is in a fixed position

Floating-point◦Large dynamic range◦Composed of a mantissa and exponent

Scaling solves the problem of overflow.Comparison between fixed point and floating point

17Digital Signal Processing -