Versions Compared

Key

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

Overview

DSP Concepts proprietary Single-Channel Noise Reduction. Version 1.

Discussion

DSP Concepts proprietary Single-Channel Noise Reduction module. This module works in conjunction with the WOLA filterbank modules. The module has a mono input pin and mono output pin. The input pin is mic input signal and output pin is stationary noise-suppressed signal.

...

The module estimates SNR and determins attenuation of each frequency from gain table.

Type Definition

Code Block
typedef struct _ModuleSCNRv1
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    FLOAT32 minGaindB;                            // the minimum gain to be applied in dB
    FLOAT32 noiseAdjust;                          // noise level adjustment.
    FLOAT32 minGain;                              // the minimum gain to be applied in linear.
    FLOAT32 attackTime;                           // Internal coefficient realizing the attack time.
    FLOAT32 attackCoeff;                          // Internal coefficient realizing the attack time.
    FLOAT32 freq1;                                // Internal coefficient realizing the attack time.
    FLOAT32 b0_1;                                 // Desired first numerator coefficient.
    FLOAT32 b1_1;                                 // Desired second numerator coefficient.
    FLOAT32 a1_1;                                 // Desired second denominator coefficient.
    FLOAT32 freq2;                                // Internal coefficient realizing the attack time.
    FLOAT32 b0_2;                                 // Desired first numerator coefficient.
    FLOAT32 b1_2;                                 // Desired second numerator coefficient.
    FLOAT32 a1_2;                                 // Desired second denominator coefficient.
    FLOAT32 ppriorTimeConst;                      // Internal coefficient realizing the attack time.
    FLOAT32 ppriorEta;                            // Internal coefficient realizing the attack time.
    FLOAT32* pxState;                             // Sb smoothing state for Px computation.
    FLOAT32* pshatState;                          // Sb smoothing state for Ps_hat computation.
    FLOAT32* gainState;                           // Sb smoothing state for gain computation.
    FLOAT32* pnEnvState;                          // Attack release env state for Pn computation.
    FLOAT32* prevPsHat;                           // Feedback memory.
} ModuleSCNRv1Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

minGaindB

float

parameter

0

-15

-15:1:0

dB

noiseAdjust

float

parameter

0

0.5

0.01:0.01:1

minGain

float

derived

1

0.17783

Unrestricted

attackTime

float

const

1

2000

Unrestricted

attackCoeff

float

derived

1

1.0417e-05

Unrestricted

freq1

float

const

1

12

Unrestricted

b0_1

float

derived

1

0.00078478

Unrestricted

b1_1

float

derived

1

0.00078478

Unrestricted

a1_1

float

derived

1

0.99843

Unrestricted

freq2

float

const

1

5

Unrestricted

b0_2

float

derived

1

0.00032714

Unrestricted

b1_2

float

derived

1

0.00032714

Unrestricted

a1_2

float

derived

1

0.99935

Unrestricted

ppriorTimeConst

float

const

1

311.9

Unrestricted

ppriorEta

float

derived

1

0.99993

Unrestricted

pxState

float*

state

1

[1 x 32]

Unrestricted

pshatState

float*

state

1

[1 x 32]

Unrestricted

gainState

float*

state

1

[1 x 32]

Unrestricted

pnEnvState

float*

state

1

[1 x 32]

Unrestricted

prevPsHat

float*

state

1

[1 x 32]

Unrestricted

Pins

Input Pins

Name: in

Description: Audio input

...

Sample rate range: Unrestricted

Complex support: Complex

Output Pins

Name: out

Description: audio output

Data type: float

MATLAB Usage

File Name: scnr_v1_module.m

...