Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Scroll Documents: Update page title prefix

Overview

Adds dither to a fract32 signal

Discussion

This module generates uniformly distributed noise in fract32 format and then adds it to an input signal. This type of random noise is often added prior to quantization to change the characteristics of the quantization noise. The module can be configured to generate noise with a uniform distribution (ditherType=1), or a triangular distribution (ditherType=2). For a rectangular distribution, a single random value is used; for the triangular distribution, two uniformly distributed random numbers are added. Setting ditherType=0 causes the input to be passed unchanged to the output.

The shiftBits variable controls how many bits to the right each random value should be shifted prior to being added to the input. Keep in mind that the random values are generated to be full scale (+/-1) and should almost always be shifted to the right. If no shifting occurs with the triangular distribution then the values will often saturate.

Type Definition

Code Block
typedef struct _ModuleDitherFract32
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 ditherType;                             // Controls the type of dither used by the module. 0 = no dither. 1 = rectangular distribution. 2 = triangular distribution
    INT32 shiftBits;                              // Number of bits to shift random noise
    UINT32 seed;                                  // Initial seed value for the random number generator
} ModuleDitherFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

ditherType

int

parameter

0

1

0:2

shiftBits

int

parameter

0

16

0:32

seed

uint

parameter

1

random value

Unrestricted

Pins

Input Pins

Name: in

Description: audio input

...

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: fract32

MATLAB Usage

File Name: dither_fract32_module.m

...