Overview
Evenly spaced table lookup
Discussion
Multichannel input / multichannel output table lookup module. The table lookup is evenly spaced, using a variety of interpolation methods. The module performs lookup as Y=f(X) where X is the input to the module and Y is the output. The module contains a table of values which are assumed to be linearly spaced. The first value in the table corresponds to the function value at .minX. The last value in the table corresponds to the function value at .maxX. The field .interpolationType determines how the interpolation occurs.
...
Input values outside of the range [minX maxX] are clipped.
Type Definition
Code Block |
---|
typedef struct _ModuleTableLookupV2 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 L; // Number of entries in the table. INT32 interpolationType; // Selects the type of interpolation: 0=nearest, 1=linear. FLOAT32 minX; // X value corresponding to the first table entry. FLOAT32 maxX; // X value corresponding to the last table entry. FLOAT32 divisor; // Precomputed constant = (L-1)/(maxX-minX) to eliminate division on the target. INT32 tableHeap; // Heap in which to allocate memory. FLOAT32* table; // Table of evenly spaced values. } ModuleTableLookupV2Class; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
L | int | const | 0 | 10 | 2:1:5000 | |
interpolationType | int | parameter | 0 | 1 | 0:1:1 | |
minX | float | parameter | 0 | -1 | -1000:1000 | |
maxX | float | parameter | 0 | 1 | -1000:1000 | |
divisor | float | state | 0 | 0 | Unrestricted | |
tableHeap | int | const | 1 | 2 | Unrestricted | |
table | float* | parameter | 0 | [10 x 1] | Unrestricted |
Pins
Input Pins
Name: in
Description: audio input
...
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: audio output
Data type: float
MATLAB Usage
File Name: table_lookup_v2_module.m
...