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.