Skip to content

TableInterp2d

Overview

Table driven 2d interpolation module. Currently supports only bilinear interpolation

Discussion

This module performs an interpolated 2-dimensional table lookup using a grid of values evenly spaced from -1 to 1. The module currently supports only bilinear interpolation. The input pins specify the X and Y values at which to perform the interpolation. 4 points in the table are used and bilinear interpolation is applied. The X values interpolate along a row and Y values interpolate along a column.

The range of X and Y are always [-1 +1]. Values outside of this range are clipped to +/- 1.

At instantiation, specify the total number of points (NPOINTS) in each dimension of the table. The amount of memory allocated to the table equals (NPOINTS * NPOINTS).

Module Pack

Advanced

ClassID

classID = 1341

Type Definition

typedef struct _ModuleTableInterp2d
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
INT32 nPoints;                                // Number of points in each dimension of the active interpolation table.
FLOAT32* table;                               // 2d Interpolation Lookup table
} ModuleTableInterp2dClass;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
nPoints int const 0 5 Unrestricted
table float* parameter 0 [5 x 5] Unrestricted

Pins

Input Pins

Name inx
Description index x
Data type float
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real
Name iny
Description index y
Data type float
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real

Output Pins

Name out
Description audio output
Data Type float

Matlab Usage

File Name: table_interp2d_module.m 
 M=table_interp2d_module(NAME, NPOINTS) 
 This Audio Weaver process performs bilinear interpolation between values 
 defined on a lattice with NPTS evenly spaced points from [-1,1] in x and 
 y.  For input coordinates between the lattice points, interpolate 
 linearly for x and then for y. 

 Arguments: 
    NAME - name of the module. 
    NPOINTS - number of points in each dimension. This is set at design 
       time and has a minimum value of 2. 

 The internal variable .table holds the underlying table of values. 
 .table has a size of NPOINTS x NPOINTS. 

Copyright (c) 2026 DSP Concepts, Inc.