Skip to content

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.