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.