www.pudn.com > SMV_Code.rar > tables.c
/*=========================================================================*/
/* Each of the companies; Ericsson, Lucent, Mindspeed, Motorola, Nokia, */
/* Nortel Networks, and Qualcomm (hereinafter referred to individually as */
/* “Source” or collectively as “Sources”) do hereby state: */
/* */
/* To the extent to which the Source(s) may legally and freely do so, */
/* the Source(s), upon submission of a Contribution, grant(s) a free, */
/* irrevocable, non-exclusive, license to the Third Generation Partnership */
/* Project 2 (3GPP2) and its Organizational Partners: ARIB, CCSA, TIA, */
/* TTA, and TTC, under the Source’s copyright or copyright license rights */
/* in the Contribution, to, in whole or in part, copy, make derivative */
/* works, perform, display and distribute the Contribution and derivative */
/* works thereof consistent with 3GPP2’s and each Organizational Partner’s */
/* policies and procedures, with the right to (i) sublicense the foregoing */
/* rights consistent with 3GPP2’s and each Organizational Partner’s */
/* policies and procedures and (ii) copyright and sell, if applicable) in */
/* 3GPP2's name or each Organizational Partner’s name any 3GPP2 or */
/* transposed Publication even though this Publication may contain the */
/* Contribution or a derivative work thereof. The Contribution shall */
/* disclose any known limitations on the Source’s rights to license as */
/* herein provided. */
/* */
/* When a Contribution is submitted by the Source(s) to assist the */
/* formulating groups of 3GPP2 or any of its Organizational Partners, */
/* it is proposed to the Committee as a basis for discussion and is not */
/* to be construed as a binding proposal on the Source(s). The Source(s) */
/* specifically reserve(s) the right to amend or modify the material */
/* contained in the Contribution. Nothing contained in the Contribution */
/* shall, except as herein expressly provided, be construed as conferring */
/* by implication, estoppel or otherwise, any license or right under */
/* (i) any existing or later issuing patent, whether or not the use of */
/* information in the document necessarily employs an invention of any */
/* existing or later issued patent, (ii) any copyright, (iii) any */
/* trademark, or (iv) any other intellectual property right. */
/* */
/* With respect to the Software necessary for the practice of any or all */
/* Normative portions of the Selectable Mode Vocoder (SMV) as it exists on */
/* the date of submittal of this form, should the SMV be approved as a */
/* Specification or Report by 3GPP2, or as a transposed Standard by any of */
/* the 3GPP2’s Organizational Partners, the Source(s) state(s) that a */
/* worldwide license to reproduce, use and distribute the Software, the */
/* license rights to which are held by the Source(s), will be made */
/* available to applicants under terms and conditions that are reasonable */
/* and non-discriminatory, which may include monetary compensation, */
/* and only to the extent necessary for the practice of any or all of the */
/* Normative portions of the SMV or the field of use of practice of the */
/* SMV Specification, Report, or Standard. The statement contained above */
/* is irrevocable and shall be binding upon the Source(s). In the event */
/* the rights of the Source(s) in and to copyright or copyright license */
/* rights subject to such commitment are assigned or transferred, */
/* the Source(s) shall notify the assignee or transferee of the existence */
/* of such commitments. */
/*=========================================================================*/
/* */
/*-------------------------------------------------------------------*/
/*===================================================================*/
short thr_rowrel[4] = {10485, 11469, 7864, 6554};
short thr_sig2[4] = {6900, 6850, 6650, 6400};
/*******************************************************
* The following table holds the coefficients for *
* the 16 Goertzel filters, computed as follows *
* *
* cos(2pi*k/N)*32768 //coefficient *
* *
* with N = 102 (1st and 2nd Harmonics) *
* k = 9, 10, 11, 12, 15, 17, 19, 21 (1. Harm) *
* k = 18, 20, 22, 24, 31, 34, 38, 42 (2. Harm) *
* *
******************************************************/
short COEF1st[8] = { /* 1st Harmonics */
27980,
26956,
25701,
24219,
19073,
16325,
13085,
9315
};
short COEF2nd[8] = { /* 2nd Harmonics */
14739,
11414,
7549,
3032,
-10565,
-16503,
-22318,
-27472
};
/* DTMF Digit Lookup Table: */
/* 4-bit digit array index = ((row<<2) | col) */
/* Digits 'A', 'B', 'C', 'D' (3rd col) */
/* are treated as 'invalid' and are set to 0xffff. */
short dtmf_lookup_table[16] = {
0x0001, /* '1' : row = 0, col = 0 */
0x0002, /* '2' : row = 0, col = 1 */
0x0003, /* '3' : row = 0, col = 2 */
0x000d, /* 'A' : row = 0, col = 3 */
0x0004, /* '4' : row = 1, col = 0 */
0x0005, /* '5' : row = 1, col = 1 */
0x0006, /* '6' : row = 1, col = 2 */
0x000e, /* 'B' : row = 1, col = 3 */
0x0007, /* '7' : row = 2, col = 0 */
0x0008, /* '8' : row = 2, col = 1 */
0x0009, /* '9' : row = 2, col = 2 */
0x000f, /* 'C' : row = 2, col = 3 */
0x000b, /* '*' : row = 3, col = 0 */
0x000a, /* '0' : row = 3, col = 1 */
0x000c, /* '#' : row = 3, col = 2 */
0x0010 /* 'D' : row = 3, col = 3 */
};
short dtmf_low_freq[17] = {
0, /* 0 */
27980, /* 697 Hz Digit = 1 */
27980, /* 697 Hz Digit = 2 */
27980, /* 697 Hz Digit = 3 */
26956, /* 770 Hz Digit = 4 */
26956, /* 770 Hz Digit = 5 */
26956, /* 770 Hz Digit = 6 */
25701, /* 852 Hz Digit = 7 */
25701, /* 852 Hz Digit = 8 */
25701, /* 852 Hz Digit = 9 */
24219, /* 941 Hz Digit = 0 */
24219, /* 941 Hz Digit = * */
24219, /* 941 Hz Digit = # */
27980, /* 697 Hz Digit = A */
26956, /* 770 Hz Digit = B */
25701, /* 852 Hz Digit = C */
24219 /* 941 Hz Digit = D */
};
short dtmf_high_freq[17] = {
0, /* 0 */
19073, /* 1209 Hz Digit = 1 */
16325, /* 1336 Hz Digit = 2 */
13085, /* 1477 Hz Digit = 3 */
19073, /* 1209 Hz Digit = 4 */
16325, /* 1336 Hz Digit = 5 */
13085, /* 1477 Hz Digit = 6 */
19073, /* 1209 Hz Digit = 7 */
16325, /* 1336 Hz Digit = 8 */
13085, /* 1477 Hz Digit = 9 */
16325, /* 1336 Hz Digit = 0 */
19073, /* 1209 Hz Digit = * */
13085, /* 1477 Hz Digit = # */
9315, /* 1633 Hz Digit = A */
9315, /* 1633 Hz Digit = B */
9315, /* 1633 Hz Digit = C */
9315 /* 1633 Hz Digit = D */
};