EasyManuals Logo
Home>Texas Instruments>Microcontrollers>C2000

Texas Instruments C2000 Workshop Guide And Lab Manual

Texas Instruments C2000
342 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #195 background imageLoading...
Page #195 background image
IQmath
C2000 Microcontroller Workshop - Numerical Concepts 8 - 19
IQmath Approach
32-bit IQmath Approach
y = mx + b
I8 Q24
I16 Q48
M
X
B
Y
>> 24
Align Binary
Point Of Multiply
I8 Q24
I8 Q24
sssssssssssssssssI16 Q24
I8 Q24
I8 Q24
Y = ((int64) M * (int64) X) >> Q + B;in C:
In the "IQmath" approach, rather then scaling the operands, which get added to or subtracted
from the multiplication result, we do the reverse. The multiplication result binary point is scaled
back such that it aligns to the operands, which are added to or subtracted from it. The C code
implementation of this is given by linear equation below:
int32 Y, M, X, B;
Y = ((int64) M * (int64) X) >> 24 + B;
The slide shows the implementation of the equation on a processor containing hardware that can
perform a 32x32 bit multiply, 32-bit addition/subtraction and 64-bit logical and arithmetic shifts
efficiently.
The key advantage of this approach is shown by what can then be done with the C and C++ com-
piler to simplify the coding of the linear equation example.
Let’s take an additional step and create a multiply function in C that performs the following oper-
ation:
int32 _IQ24mpy(int32 M, int32 X) { return ((int64) M * (int64) X) >> 24; }
The linear equation can then be written as follows:
Y = _IQ24mpy(M , X) + B;
Already we can see a marked improvement in the readability of the linear equation.

Table of Contents

Other manuals for Texas Instruments C2000

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Texas Instruments C2000 and is the answer not in the manual?

Texas Instruments C2000 Specifications

General IconGeneral
BrandTexas Instruments
ModelC2000
CategoryMicrocontrollers
LanguageEnglish

Related product manuals