Hi All,
I would like to adjust gain on specific frequency, I think equalizer can be used. Below is the data structure of equalizer on my codes:
typedef struct {
/* type of filter */
u32 equ_type;
/* filter length */
u32 equ_length;
union {
/* parameters are the direct and recursive coefficients in */
/* Q6.26 integer fixed-point format. */
s32 type1[NBEQ1];
struct {
/* center frequency of the band [Hz] */
s32 freq[NBEQ2];
/* gain of each band. [dB] */
s32 gain[NBEQ2];
/* Q factor of this band [dB] */
s32 q[NBEQ2];
} type2;
} coef;
s32 equ_param3;
} abe_equ_t;
TI document : "OMAP4430_4460_4470_PUBLIC_TRM_Addendum_ABE_HAL_vH.PDF" has demonstrated Matlab codes to get filter coefficients, then the computed data will apply to array "type1" within structure "abe_equ_t".
It is difficult for me to tune equalizer by changing the filter coefficients, I think structure "type2" within "abe_equ_t" can meet my needs, but I don't know how to write "type2" data into equalizer.
The development platform I work on is TI OMAP4430 and Windows Embedded Compact 7, is anyone know how to write freq、gain、Q data instead of filter coefficients into equalizer(how to write "type2" data into ABE coefficient memory)? Linux based Android example is also OK.
Thanks,
ChangChih