Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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.

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

  • No labels