1 /*
2 * Copyright (C) 2004-2010 NXP Software
3 * Copyright (C) 2010 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /*-------------------------------------------------------------------------*/
19 #include "BIQUAD.h"
20 #include "BQ_1I_D16F32Css_TRC_WRA_01_Private.h"
21
22
23 /*-------------------------------------------------------------------------*/
24 /* FUNCTION: */
25 /* BQ_1I_D16F32Css_TRC_WRA_01_Init */
26 /* */
27 /* DESCRIPTION: */
28 /* These functions initializes a BIQUAD filter defined as a cascade of */
29 /* biquadratic Filter Sections. */
30 /* */
31 /* PARAMETERS: */
32 /* pInstance - output, returns the pointer to the State Variable */
33 /* This state pointer must be passed to any subsequent */
34 /* call to "Biquad" functions. */
35 /* pTaps - input, pointer to the taps memory */
36 /* pCoef - input, pointer to the coefficient structure */
37 /* N - M coefficient factor of QM.N */
38 /* RETURNS: */
39 /* void return code */
40 /*-------------------------------------------------------------------------*/
41 #ifdef BUILD_FLOAT
BQ_1I_D16F32Css_TRC_WRA_01_Init(Biquad_FLOAT_Instance_t * pInstance,Biquad_1I_Order2_FLOAT_Taps_t * pTaps,BQ_FLOAT_Coefs_t * pCoef)42 void BQ_1I_D16F32Css_TRC_WRA_01_Init ( Biquad_FLOAT_Instance_t *pInstance,
43 Biquad_1I_Order2_FLOAT_Taps_t *pTaps,
44 BQ_FLOAT_Coefs_t *pCoef)
45 {
46 LVM_FLOAT temp;
47 PFilter_State_FLOAT pBiquadState = (PFilter_State_FLOAT) pInstance;
48 pBiquadState->pDelays = (LVM_FLOAT *)pTaps;
49
50 temp = pCoef->A2;
51 pBiquadState->coefs[0] = temp;
52 temp = pCoef->A1;
53 pBiquadState->coefs[1] = temp;
54 temp = pCoef->A0;
55 pBiquadState->coefs[2] = temp;
56 temp = pCoef->B2;
57 pBiquadState->coefs[3] = temp;
58 temp = pCoef->B1;
59 pBiquadState->coefs[4] = temp;
60 }
61 #else
BQ_1I_D16F32Css_TRC_WRA_01_Init(Biquad_Instance_t * pInstance,Biquad_1I_Order2_Taps_t * pTaps,BQ_C16_Coefs_t * pCoef)62 void BQ_1I_D16F32Css_TRC_WRA_01_Init ( Biquad_Instance_t *pInstance,
63 Biquad_1I_Order2_Taps_t *pTaps,
64 BQ_C16_Coefs_t *pCoef)
65 {
66 LVM_INT16 temp;
67 PFilter_State pBiquadState = (PFilter_State) pInstance;
68 pBiquadState->pDelays =(LVM_INT32 *) pTaps ;
69
70 temp=pCoef->A2;
71 pBiquadState->coefs[0]=temp;
72 temp=pCoef->A1;
73 pBiquadState->coefs[1]=temp;
74 temp=pCoef->A0;
75 pBiquadState->coefs[2]=temp;
76 temp=pCoef->B2;
77 pBiquadState->coefs[3]=temp;
78 temp=pCoef->B1;
79 pBiquadState->coefs[4]=temp;
80 }
81 #endif
82 /*-------------------------------------------------------------------------*/
83 /* End Of File: BQ_1I_D16F32Css_TRC_WRA_01_Init */
84
85