Component: Scale (DSP)
Author | Matrix Ltd |
Version | 1.1 |
Category | DSP |
Contents
Scale component
Allows the values in a single buffer to be scaled uniformly. Functions include: AddOffset, Divide, LeftShift, Multiply, RightShift, Subtract
Examples
Here is a basic example showing various aspects of the DSP scale component.
The RightShift macro is a very efficient means of performing a division but only for values which are a power of 2.
The LeftShift macro is a very efficient means of performing a multiplication but only for values which are a power of 2.
LeftShift(1) = Multiply by 2
LeftShift(2) = Multiply by 4
LeftShift(3) = Multiply by 8
LeftShift(4) = Multiply by 16
Here is an example which demonstrates multiplication and division and then compares to the shift macros.
Downloadable macro reference
DivideTick
Allows a integer divide to be assigned to the current index position within the buffer.
Parameters
- UINT Scaler
Return value
- This call does not return a value
LeftShift
Allows a highly efficient multiply to be assigned to every value within the buffer.
Parameters
- BYTE Scaler
Return value
- This call does not return a value
MultiplyTick
Allows a less efficient but more flexible multiply to be assigned to the current index position within the buffer.
Parameters
- UINT Scaler
Return value
- This call does not return a value
SubtractOffset
Allows a integer offset to be subtracted from every value within the buffer.
Parameters
- UINT Offset
Return value
- This call does not return a value
Divide
Allows a integer divide to be assigned to every value within the buffer.
Parameters
- UINT Scaler
Return value
- This call does not return a value
LeftShiftTick
Allows a highly efficient multiply to be assigned to the current index position within the buffer.
Parameters
- BYTE Scaler
Return value
- This call does not return a value
Multiply
Allows a less efficient but more flexible multiply to be assigned to every value within the buffer.
Parameters
- UINT Scaler
Return value
- This call does not return a value
RightShift
Allows a highly efficient divideto be assigned to every value within the buffer.
Parameters
- BYTE Scaler
Return value
- This call does not return a value
RightShiftTick
Allows a highly efficient divide to be assigned to the current index position within the buffer.
Parameters
- BYTE Scaler
Return value
- This call does not return a value
AddOffsetTick
Allows a integer offset to be added to the current index position within the buffer.
Parameters
- UINT Offset
Return value
- This call does not return a value
SubtractOffsetTick
Allows a integer offset to be subtracted from a single index value within the buffer.
Parameters
- UINT Offset
Return value
- This call does not return a value
AddOffset
Allows a integer offset to be added to every value within the buffer.
Parameters
- UINT Offset
Return value
- This call does not return a value
Simulation macro reference
This component does not contain any simulation macros
Property reference
Buffer Manager
This property is of type Fixed list of ints and can be referenced with the variable name buffer_manager.
Reference to DSP system buffer manager component.
Input
This property is of type Fixed list of ints and can be referenced with the variable name input_a.
Buffer assigned to input channel
Output
This property is of type Fixed list of ints and can be referenced with the variable name output_c.
Buffer assigned to output channel