Difference between revisions of "Component: Scale (DSP)"
(2 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
==Scale component== | ==Scale component== | ||
Allows the values in a single buffer to be scaled uniformly. Functions include: Multiply, Divide, LeftShift, RightShift, Float Multiply, Float Divide | Allows the values in a single buffer to be scaled uniformly. Functions include: Multiply, Divide, LeftShift, RightShift, Float Multiply, Float Divide | ||
+ | |||
+ | ==Component Pack== | ||
+ | |||
+ | DSP | ||
==Detailed description== | ==Detailed description== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Line 24: | Line 34: | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Line 62: | Line 78: | ||
|- | |- | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:]] - | + | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT |
| width="90%" | Scaler | | width="90%" | Scaler | ||
|- | |- | ||
Line 80: | Line 96: | ||
|- | |- | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:]] - | + | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT |
| width="90%" | Scaler | | width="90%" | Scaler | ||
|- | |- | ||
Line 126: | Line 142: | ||
|- | |- | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
| width="90%" | Connect To | | width="90%" | Connect To | ||
|- | |- | ||
Line 140: | Line 156: | ||
|- | |- | ||
| colspan="2" | Sets the buffer data type. | | colspan="2" | Sets the buffer data type. | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | ||
+ | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Scaling | ||
+ | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
Line 155: | Line 175: | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} |
Latest revision as of 17:19, 9 November 2022
Author | Matrix Ltd |
Version | 1.1 |
Category | DSP |
Contents
Scale component
Allows the values in a single buffer to be scaled uniformly. Functions include: Multiply, Divide, LeftShift, RightShift, Float Multiply, Float Divide
Component Pack
DSP
Detailed description
No detailed description exists yet for this component
Examples
Here is an example which demonstrates variable scaling based on an analogue input.
Here are the traces as seen on the data recorder window.
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 / RightShift(1) = Divide by 2
LeftShift(2) = Multiply by 4 / RightShift(2) = Divide by 4
LeftShift(3) = Multiply by 8 / RightShift(3) = Divide by 8
LeftShift(4) = Multiply by 16 / RightShift(4) = Divide by 16
Downloadable macro reference
![]() |
SetScalerFloat |
Sets the Float scaler to be used when calling the calculate function. | |
![]() |
Scaler |
![]() |
Return |
![]() |
SetScalerInteger |
Sets the Integer scaler to be used when calling the calculate function. | |
![]() |
Scaler |
![]() |
Return |
![]() |
Calculate |
Performs the selected scaling on a value from the input buffer and passes to the output buffer. | |
![]() |
Return |
![]() |
CalculateArray |
Performs the selected scaling on an entire buffer. | |
![]() |
Return |