Skip to main content
Skip table of contents

WOLAAnalysisFract32

Overview

Analysis filterbank of an oversampled filterbank

Discussion

This module implements the analysis portion of a weighted-overlap filterbank. The filterbank has an adjustable oversampling factor. As a module argument, you specify the FFT size K and the amount of attenuation between subbands (in dB). The module inherits the block size from the input wire. The oversampling factor of the module is defined as K / (input block size). For example, if the block size of the input pin is K/2 then the module has an oversampling factor of 2. For reasonable reconstruction accuracy you should keep the oversampling factor to be at least 1.5. The module decimates by the input block size and the output sample rate will be reduced accordingly.

The attenuation between subbands affects the length of the analysis filter and the latency through the processing. Higher attenuation gives lower distortion while increasing processing and latency. The module displays the latency on the canvas allowing you to compensate for it in other parts of the signal flow. The latency shown is the latency through the combination of the analysis and synthesis banks.

This module is usually used in conjunction with the wola_synthesis_subsystem.m. The synthesis filterbank converts back from the frequency domain to the time domain. The synthesis filterbank must have exactly the same settings for K, the subband attenuation, and the output block size of the synthesis bank must match the input block size of the corresponding analysis bank. This is not checked for but you will get distorted sound if this is not true.

The Audio Weaver Module Users Guide has extensive documentation for this module. Please refer to this other document for more information.

Type Definition

-Not Shown-

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

latency

int

const

0

64

Unrestricted

samples

Pins

Input Pins

Name: t

Description: Time domain signal

Data type: fract32

Channel range: Unrestricted

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: f

Description: Frequency domain subbands

Data type: fract32

Scratch Pins

Channel count: 1

Block size: 16

Sample rate: 48000

Channel count: 1

Block size: 9

Sample rate: 48000

Channel count: 1

Block size: 32

Sample rate: 48000

MATLAB Usage

File Name: wola_analysis_fract32_subsystem.m

CODE
 SYS=wola_analysis_fract32_subsystem(NAME, K, ATTEN)
 Creates an Audio Weaver subsystem that implements the analysis bank of an 
 oversampled filterbank.  The analysis bank splits a time domain input
 signal into multiple decimated frequency subbands.  This version returns
 a floating-point implementation.  The input block size is inherited and
 should be close to K/2.  This version operates on Fract32 data.
 Arguments:
   NAME - name of the subsystem
   K - size of the FFT (must be a power of 2)
   ATTEN - attenuation (in dB) between neighboring subbands
 Internally, the stft_design.m function is used to design the filterbank.
 Refer to stft_design.m for more details.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.