ScaleOffsetFract32
Overview
Linear multichannel scale and offset
Discussion
Scales the input Fract32 signal, and adds a fixed Fract32 (DC) offset. The ScaleOffset module is useful for specific nonlinearities, as well as in dynamics processing, where the scale and offset can occur in the log domain.
The output is computed on a sample by sample basis according to the formula: y[n] = ((gainFract32 * x[n]) SHIFT shiftFract32) + offsetFract32
gainFract32 and shiftFract32 are derived based on the gain value. The final output y[n] will also be clipped to be between 1 and -1.
Module Pack
Standard
ClassID
classID = 184
Type Definition
typedef struct _ModuleScaleOffsetFract32
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
FLOAT32 gain; // Linear gain
FLOAT32 offset; // DC offset
fract32 offsetFract32; // DC offset Fract32
fract32 gainFract32; // Linear gain Fract32
INT32 shift; // Number of bits to shift
} ModuleScaleOffsetFract32Class;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| gain | float | parameter | 0 | 1 | -10:10 | |
| offset | float | parameter | 0 | 0.99 | -1:1 | |
| offsetFract32 | fract32 | derived | 1 | 0.99 | Unrestricted | |
| gainFract32 | fract32 | derived | 1 | 0.5 | Unrestricted | |
| shift | int | derived | 1 | 1 | Unrestricted |
Pins
Input Pins
| Name | in |
| Description | Input signal |
| Data type | fract32 |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | out |
| Description | Output signal |
| Data Type | fract32 |
Matlab Usage
File Name: scale_offset_fract32_module.m
M=scale_offset_fract32_module(NAME)
Creates a scale and offset object for use with the Audio Weaver.
Arguments:
NAME - name of the module.
Copyright (c) 2026 DSP Concepts, Inc.