Document toolboxDocument toolbox

RepWinOverlap

Overview

Replicates, windows, and overlap adds signals

Discussion

This module forms part of the synthesis bank of a filterbank and typically follows the inverse FFT. The module replicates the input N times where N = (window length) / (ifftSize). The replicated signal is multiplied by the window and the result is added to a state buffer. The first OLEN samples of the state buffer are output and then the state buffer is left shifted by OLEN samples.

Type Definition

typedef struct _ModuleRepWinOverlap { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 winLen; // Length of the window INT32 repCount; // Number of times to replicate the input prior to applying the window FLOAT32* window; // Window coefficients FLOAT32* state; // State variable array } ModuleRepWinOverlapClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

winLen

int

const

0

128

Unrestricted

 

repCount

int

const

1

4

Unrestricted

 

window

float*

parameter

0

[128 x 1]

Unrestricted

 

state

float*

state

1

[128 x 1]

Unrestricted

 

Pins

Input Pins

Name: in

Description: audio input

Data type: float

Channel range: Unrestricted

Block size range: 32

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: float

MATLAB Usage

File Name: replicate_window_overlap_module.m

M=replicate_window_overlap_module(NAME, ILEN, WLEN, OLEN) Creates a module which performs 4 operations: replicates a signal, applies a window, adds the result to a state buffer, and then outputs a single block of data from the state buffer. This modules forms the core of the synthesis bank of frequency domain filterbanks. Arguments: NAME - name of the module. ILEN - length of the input block of data (equal to IFFT size) WLEN - length of the window to apply. Also, the length of the internal state buffer. OLEN - number of output samples to be taken from the buffer. The length of the window (WLEN) must be a multiple of the IFFT size (ILEN). By default, the module using a Hanning (raised cosine) window.

Â