Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Scroll Documents: Update page title prefix

Overview

16-bit version of Sparse FIR filter which works together with the DelayStateWriter16 module

Discussion

This module implements a 16-bit version of sparse FIR filter which is also known as a tapped delay line. This module stores only the coefficients and delay times and works in conjunction with an upstram delay_state_writer16_module.m. The delay_state_writer16_module.m holds the state variables and can be shared by multiple FIRSpareReaderModules.

...

The module only outputs a mono channel of data.

Type Definition

Code Block
typedef struct _ModuleFIRSparseReaderFract16
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 numTaps;                                // Number of non-zero coefficients (taps) in the filter
    INT32 postShift;                              // Number of bits to shift
    INT32 dswObjectID;                            // Object ID of the upstream DelayStateWriter module
    INT32* tapDelay;                              // Current delay per tap
    INT32* tapDelayTarget;                        // Current delay per tap
    FLOAT32* tapCoeffs;                           // Coefficient applied to each tap output
    fract32* tapCoeffsFract16;                    // Fract16 coefficient applied to each tap output
    void * dswObjectPtr;                          // Points to the upstream DelayStateWriter module
} ModuleFIRSparseReaderFract16Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

numTaps

int

const

0

20

Unrestricted

postShift

int

derived

1

1

Unrestricted

dswObjectID

int

state

1

-1

Unrestricted

tapDelay

int*

parameter

0

[20 x 1]

Unrestricted

samples

tapDelayTarget

int*

state

0

[21 x 1]

Unrestricted

samples

tapCoeffs

float*

parameter

0

[20 x 1]

Unrestricted

tapCoeffsFract16

fract32*

derived

0

[20 x 1]

Unrestricted

dswObjectPtr

void *

state

1

Unrestricted

Pins

Input Pins

Name: ptr

Description: Pointer to the DelayStateWriter16 instance structure

...

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: fract32

MATLAB Usage

File Name: fir_sparse_reader_fract16_module.m

...