Note: We no longer publish the latest version of our code here. We primarily use a kumc-bmi github organization. The heron ETL repository, in particular, is not public. Peers in the informatics community should see MultiSiteDev for details on requesting access.

source: webrtc/webrtc/modules/audio_processing/aecm/aecm_defines.h @ 0:4bda6873e34c

pub_scrub_3792 tip
Last change on this file since 0:4bda6873e34c was 0:4bda6873e34c, checked in by Michael Prittie <mprittie@…>, 6 years ago

Scrubbed password for publication.

File size: 4.2 KB
Line 
1/*
2 *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_AECM_AECM_DEFINES_H_
12#define WEBRTC_MODULES_AUDIO_PROCESSING_AECM_AECM_DEFINES_H_
13
14#define AECM_DYNAMIC_Q                 /* Turn on/off dynamic Q-domain. */
15
16/* Algorithm parameters */
17#define FRAME_LEN       80             /* Total frame length, 10 ms. */
18
19#define PART_LEN        64             /* Length of partition. */
20#define PART_LEN_SHIFT  7              /* Length of (PART_LEN * 2) in base 2. */
21
22#define PART_LEN1       (PART_LEN + 1)  /* Unique fft coefficients. */
23#define PART_LEN2       (PART_LEN << 1) /* Length of partition * 2. */
24#define PART_LEN4       (PART_LEN << 2) /* Length of partition * 4. */
25#define FAR_BUF_LEN     PART_LEN4       /* Length of buffers. */
26#define MAX_DELAY       100
27
28/* Counter parameters */
29#define CONV_LEN        512          /* Convergence length used at startup. */
30#define CONV_LEN2       (CONV_LEN << 1) /* Used at startup. */
31
32/* Energy parameters */
33#define MAX_BUF_LEN     64           /* History length of energy signals. */
34#define FAR_ENERGY_MIN  1025         /* Lowest Far energy level: At least 2 */
35                                     /* in energy. */
36#define FAR_ENERGY_DIFF 929          /* Allowed difference between max */
37                                     /* and min. */
38#define ENERGY_DEV_OFFSET       0    /* The energy error offset in Q8. */
39#define ENERGY_DEV_TOL  400          /* The energy estimation tolerance (Q8). */
40#define FAR_ENERGY_VAD_REGION   230  /* Far VAD tolerance region. */
41
42/* Stepsize parameters */
43#define MU_MIN          10          /* Min stepsize 2^-MU_MIN (far end energy */
44                                    /* dependent). */
45#define MU_MAX          1           /* Max stepsize 2^-MU_MAX (far end energy */
46                                    /* dependent). */
47#define MU_DIFF         9           /* MU_MIN - MU_MAX */
48
49/* Channel parameters */
50#define MIN_MSE_COUNT   20 /* Min number of consecutive blocks with enough */
51                           /* far end energy to compare channel estimates. */
52#define MIN_MSE_DIFF    29 /* The ratio between adapted and stored channel to */
53                           /* accept a new storage (0.8 in Q-MSE_RESOLUTION). */
54#define MSE_RESOLUTION  5           /* MSE parameter resolution. */
55#define RESOLUTION_CHANNEL16    12  /* W16 Channel in Q-RESOLUTION_CHANNEL16. */
56#define RESOLUTION_CHANNEL32    28  /* W32 Channel in Q-RESOLUTION_CHANNEL. */
57#define CHANNEL_VAD     16          /* Minimum energy in frequency band */
58                                    /* to update channel. */
59
60/* Suppression gain parameters: SUPGAIN parameters in Q-(RESOLUTION_SUPGAIN). */
61#define RESOLUTION_SUPGAIN      8     /* Channel in Q-(RESOLUTION_SUPGAIN). */
62#define SUPGAIN_DEFAULT (1 << RESOLUTION_SUPGAIN)  /* Default. */
63#define SUPGAIN_ERROR_PARAM_A   3072  /* Estimation error parameter */
64                                      /* (Maximum gain) (8 in Q8). */
65#define SUPGAIN_ERROR_PARAM_B   1536  /* Estimation error parameter */
66                                      /* (Gain before going down). */
67#define SUPGAIN_ERROR_PARAM_D   SUPGAIN_DEFAULT /* Estimation error parameter */
68                                /* (Should be the same as Default) (1 in Q8). */
69#define SUPGAIN_EPC_DT  200     /* SUPGAIN_ERROR_PARAM_C * ENERGY_DEV_TOL */
70
71/* Defines for "check delay estimation" */
72#define CORR_WIDTH      31      /* Number of samples to correlate over. */
73#define CORR_MAX        16      /* Maximum correlation offset. */
74#define CORR_MAX_BUF    63
75#define CORR_DEV        4
76#define CORR_MAX_LEVEL  20
77#define CORR_MAX_LOW    4
78#define CORR_BUF_LEN    (CORR_MAX << 1) + 1
79/* Note that CORR_WIDTH + 2*CORR_MAX <= MAX_BUF_LEN. */
80
81#define ONE_Q14         (1 << 14)
82
83/* NLP defines */
84#define NLP_COMP_LOW    3277    /* 0.2 in Q14 */
85#define NLP_COMP_HIGH   ONE_Q14 /* 1 in Q14 */
86
87#endif
Note: See TracBrowser for help on using the repository browser.