Polynomial
Overview
Sample-by-sample polynomial nonlinearity
Discussion
Polynomial nonlinearity, computed on a sample by sample basis. The module implements the following equation:
\(y[n]=x[n]^{N-1}c[0]+x[n]^{N-2}c[1]+...+x[n]c[N-2] + c[N-1]\)
where y is the output, x is the input, and c is the array of polynomial coefficients.
Module Pack
Standard
ClassID
classID = 79
Type Definition
typedef struct _ModulePolynomial
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 numCoeffs; // Number of coefficients in the polynomial.
FLOAT32* coeffs; // Coefficient array in descending order. X^(N-1)*C[0] + X^(N-2)*C[1]+ ...
} ModulePolynomialClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| numCoeffs | int | const | 0 | 3 | Unrestricted | |
| coeffs | float* | parameter | 0 | [3 x 1] | Unrestricted |
Pins
Input Pins
| Name | in |
| Description | audio input |
| 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: polynomial_module.m
M=polynomial_module(NAME, NUMCOEFFS)
Creates a sample-by-sample polynomial nonlinearity for use in the Audio
Weaver environment. The module has a single multi-channel input pin.
Arguments:
NAME - name of the module.
NUMCOEFFS - number of coefficients in the polynomial.
The order of the polynomial (the highest power of x) is NUMCOEFFS-1.
The polynomial coefficients use the same ordering as the MATLAB
polyval function.
Copyright (c) 2026 DSP Concepts, Inc.