Outlines
Introduction.
Fixed point processors.
Q Format.
Floating point processors.
Overflow and scaling.
Scaling.
Comparison.
Conclusion.
1Digital Signal Processing -
Introduction
Digital 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 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 integer
signed integer
unsigned fraction notation
signed fraction format
3Digital Signal Processing -
Fixed point processors usages
There 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)
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 -
Examples
Example (1)
Consider two Q15 format
numbers are multiplied
what the result and how will it
be stored in 16 bit memory?
6Digital Signal Processing -
Example (2)
Any multiplication or addition
resulting in a number larger than
7 or smaller than –8 will cause
overflow.
When 6 is multiplied by 2, we get
12.The result will be wrapped
around the circle to 1100, which is
–4.
How to solve this problem?
The third example will answer
7Digital Signal Processing -
Example (3)
8Digital Signal Processing -
But….
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
representation
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 precision
C67x floating-point data representation.
C67x double precision floating-point representation
11Digital Signal Processing -
Floating point processors
All 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 usages
In 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 scaling
When 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 -
Scaling
The 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 -
ComparisonCharacteristic Floating point Fixed point
Dynamic range much larger smaller
Resolution comparable comparable
Speed comparable comparable
Ease of programming much easier more difficult
Compiler efficiency more efficient less efficient
Power consumption comparable comparable
Chip cost comparable comparable
System cost comparable comparable
Design cost less more
Time to market faster slower
16Digital Signal Processing -
Conclusion
DSP 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 -