FractionalDelayV2
Overview
Provides fractional delay
Discussion
This subsystem implements a delay module providing a fractional number of samples of delay. A delay of the form N.x may be specified where N is an integer number of samples and x is a float between 0.0 and 1.0. The N.x delay is achieved by cascading a sample delay module and a FIR filter. The FIR filter is designed to provide the fractional portion of the delay between 0.0 to 1.0. The delay of N.x samples can be set in real time with an inspector. Each time N.x is changed a new set of filter coefficients is computed, and the internal sample delay module is set to N. NOTE: The FIR filter itself has a delay of 20 samples. Thus this module has a minimum delay of 20 samples. This is shown on the inspector. Input and output data for this module are floating point.
Type Definition
typedef struct _ModuleFractionalDelayV2
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 maxDelay; // Maximum delay, in samples. The size of the delay buffer is maxDelay*numChannels.
FLOAT32 floatCurrentDelay; // total delay
awe_modDelayInstance *ConstantDelay; // Time delay in which the delay is specified in samples
awe_modFIRInstance *FIRmodule; // FIR filter
} ModuleFractionalDelayV2Class;
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
maxDelay | int | const | 0 | 300 | Unrestricted | samples |
floatCurrentDelay | float | parameter | 0 | 20 | 20:321 | Samples |
Pins
Input Pins
Name: in
Description: Audio Input
Data type: float
Channel range: Unrestricted
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: Audio output
Data type: float
Scratch Pins
Channel count: 1
Block size: 32
Sample rate: 48000
MATLAB Usage
File Name: fractional_delay_v2_module.m
Create a subsystem that implements fractional delay module
ARGUMENTS:
NAME - name of the module.
MAXDELAY - maximum delay provided by the module.