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 #include "BIQUAD.h"
19 #include "BQ_2I_D16F32Css_TRC_WRA_01_Private.h"
20
21
22 /*-------------------------------------------------------------------------*/
23 /* FUNCTION: */
24 /* BQ_2I_D16F32Css_TRC_WRA_01_Init */
25 /* */
26 /* DESCRIPTION: */
27 /* These functions initializes a BIQUAD filter defined as a cascade of */
28 /* biquadratic Filter Sections. */
29 /* */
30 /* PARAMETERS: */
31 /* pInstance - output, returns the pointer to the State Variable */
32 /* This state pointer must be passed to any subsequent */
33 /* call to "Biquad" functions. */
34 /* pTaps - input, pointer to the taps memory */
35 /* pCoef - input, pointer to the coefficient structure */
36 /* N - M coefficient factor of QM.N */
37 /* RETURNS: */
38 /* void return code */
39 /*-------------------------------------------------------------------------*/
40 #ifdef BUILD_FLOAT
BQ_2I_D16F32Css_TRC_WRA_01_Init(Biquad_FLOAT_Instance_t * pInstance,Biquad_2I_Order2_FLOAT_Taps_t * pTaps,BQ_FLOAT_Coefs_t * pCoef)41 void BQ_2I_D16F32Css_TRC_WRA_01_Init ( Biquad_FLOAT_Instance_t *pInstance,
42 Biquad_2I_Order2_FLOAT_Taps_t *pTaps,
43 BQ_FLOAT_Coefs_t *pCoef)
44 {
45 LVM_FLOAT temp;
46 PFilter_State_FLOAT pBiquadState = (PFilter_State_FLOAT) pInstance;
47 pBiquadState->pDelays = (LVM_FLOAT *) pTaps;
48 temp = pCoef->A2;
49 pBiquadState->coefs[0] = temp;
50 temp = pCoef->A1;
51 pBiquadState->coefs[1] = temp;
52 temp = pCoef->A0;
53 pBiquadState->coefs[2] = temp;
54 temp = pCoef->B2;
55 pBiquadState->coefs[3] = temp;
56 temp = pCoef->B1;
57 pBiquadState->coefs[4] = temp;
58 }
59 #else
BQ_2I_D16F32Css_TRC_WRA_01_Init(Biquad_Instance_t * pInstance,Biquad_2I_Order2_Taps_t * pTaps,BQ_C16_Coefs_t * pCoef)60 void BQ_2I_D16F32Css_TRC_WRA_01_Init ( Biquad_Instance_t *pInstance,
61 Biquad_2I_Order2_Taps_t *pTaps,
62 BQ_C16_Coefs_t *pCoef)
63 {
64 LVM_INT16 temp;
65 PFilter_State pBiquadState = (PFilter_State) pInstance;
66 pBiquadState->pDelays =(LVM_INT32 *) pTaps ;
67
68 temp=pCoef->A2;
69 pBiquadState->coefs[0]=temp;
70 temp=pCoef->A1;
71 pBiquadState->coefs[1]=temp;
72 temp=pCoef->A0;
73 pBiquadState->coefs[2]=temp;
74 temp=pCoef->B2;
75 pBiquadState->coefs[3]=temp;
76 temp=pCoef->B1;
77 pBiquadState->coefs[4]=temp;
78 }
79 #endif
80 /*-------------------------------------------------------------------------*/
81 /* End Of File: BQ_2I_D16F32Css_TRC_WRA_01_Init */
82
83