Difference between revisions of "Component: Scale (DSP)"

From Flowcode Help
Jump to navigationJump to search
(XML import of component help)
Line 20: Line 20:
  
 
==Examples==
 
==Examples==
''<span style="color:red;">No additional examples</span>''
 
  
 +
Here is a basic example showing various aspects of the DSP scale component.
 +
 +
[[File:Scale.fcfx]]
 +
 +
 +
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.
 +
 +
[[File:DSPScale.jpg]]
  
 
==Downloadable macro reference==
 
==Downloadable macro reference==

Revision as of 17:31, 22 November 2013


Author Matrix Ltd
Version 1.1
Category DSP


Image 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.

File:Scale.fcfx


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.

DSPScale.jpg

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