InvertFract32
Overview
Phase invert module
Discussion
This module inverts the phase of a signal. Inverting the phase is simply multiplying by -1. The variable isInverted is a Boolean which controls the behavior. When isInverted=1, the module multiplies the input signal by -1. When isInverted=0, the module passes the input signal through unchanged. Internally, the module uses a first order smoother to seamlessly switch between +1 and -1. The smoothing time of the switching process is set by the smoothingTime variable.
Type Definition
typedef struct _ModuleInvertFract32
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 isInverted; // Boolean that specifies whether the signal is inverted (=1) or not (=0)
FLOAT32 smoothingTime; // Time constant of the smoothing process
FLOAT32 currentGain; // Instantaneous gain applied by the module. This is also the starting gain of the module.
FLOAT32 smoothingCoeff; // Smoothing coefficient
fract32 currentGainFract32; // Instantaneous gain applied by the module. This is also the starting gain of the module.
fract32 smoothingCoeffFract32; // Smoothing coefficient
} ModuleInvertFract32Class;
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
isInverted | int | parameter | 0 | 0 | 0:1 | |
smoothingTime | float | parameter | 0 | 10 | 0:1000 | msec |
currentGain | float | state | 1 | 1 | -1:1 | linear |
smoothingCoeff | float | derived | 1 | 0.002081 | Unrestricted | |
currentGainFract32 | fract32 | state | 1 | 1 | Unrestricted | |
smoothingCoeffFract32 | fract32 | derived | 1 | 0.002081 | Unrestricted |
Pins
Input Pins
Name: in
Description: audio input
Data type: fract32
Channel range: Unrestricted
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: audio output
Data type: fract32
MATLAB Usage
File Name: invert_fract32_module.m
M=invert_fract32_module(NAME)
Creates a module which inverts the phase of a signal (that is, sets the
gain equal to -1). The change happens smoothly with a specified
smoothing time. Arguments:
NAME - name of the module.