AnsweredAssumed Answered

Content of Exported SigmaStudio PARAM.H file

Question asked by PhilProsser on Mar 6, 2012
Latest reply on Apr 9, 2012 by BrettG

Hi,

I am puzzling over some of the parameters generated by Sigma Studio 3.5 for General Second Order filters for the ADAU1442 as presented in the exported PARAM.H file.

 

The addresses and values for B2, B1, B0, A2 and A1 make sense.

 

I am wondering what the values for DATA_ADR_ADDR,  DATAR_ADR_ADDR, COEFF_ADR_ADDR and LOOP_ADDR are about.

 

I have used an older version of SigmaStudio (V2.6 - yes somewhat old!) for AD1940, and did not get these parameters for 2nd order filters.

 

What are these parameters for?  They would not appear to be conventional IIR parameters. Given I am loading the parameters from a micro, and generating these on loading code into the DSP, how should I be generating the values for these?  (The normal IIR filter coefficients are fine.)

 

A snippet of the code is below...

 

/* Module B0_HPF1 - General (2nd order)*/

#define MOD_B0_HPF1_COUNT                              9

#define MOD_B0_HPF1_DEVICE                             "IC1"

#define MOD_B0_HPF1_ALG0_STAGE0_B2_ADDR                75

#define MOD_B0_HPF1_ALG0_STAGE0_B2_FIXPT               0x007FDAE1

#define MOD_B0_HPF1_ALG0_STAGE0_B2_VALUE               SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998867231486796)

#define MOD_B0_HPF1_ALG0_STAGE0_B2_TYPE                SIGMASTUDIOTYPE_FIXPOINT

#define MOD_B0_HPF1_ALG0_STAGE0_B1_ADDR                76

#define MOD_B0_HPF1_ALG0_STAGE0_B1_FIXPT               0xFF004A3D

#define MOD_B0_HPF1_ALG0_STAGE0_B1_VALUE               SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-1.99773446297359)

#define MOD_B0_HPF1_ALG0_STAGE0_B1_TYPE                SIGMASTUDIOTYPE_FIXPOINT

#define MOD_B0_HPF1_ALG0_STAGE0_B0_ADDR                77

#define MOD_B0_HPF1_ALG0_STAGE0_B0_FIXPT               0x007FDAE1

#define MOD_B0_HPF1_ALG0_STAGE0_B0_VALUE               SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.998867231486796)

#define MOD_B0_HPF1_ALG0_STAGE0_B0_TYPE                SIGMASTUDIOTYPE_FIXPOINT

#define MOD_B0_HPF1_ALG0_STAGE0_A2_ADDR                78

#define MOD_B0_HPF1_ALG0_STAGE0_A2_FIXPT               0xFF804A36

#define MOD_B0_HPF1_ALG0_STAGE0_A2_VALUE               SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.997735318739846)

#define MOD_B0_HPF1_ALG0_STAGE0_A2_TYPE                SIGMASTUDIOTYPE_FIXPOINT

#define MOD_B0_HPF1_ALG0_STAGE0_A1_ADDR                79

#define MOD_B0_HPF1_ALG0_STAGE0_A1_FIXPT               0x00FFB5BC

#define MOD_B0_HPF1_ALG0_STAGE0_A1_VALUE               SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.99773360720734)

#define MOD_B0_HPF1_ALG0_STAGE0_A1_TYPE                SIGMASTUDIOTYPE_FIXPOINT

#define MOD_B0_HPF1_ALG0_DATA_ADR_ADDR                 80

#define MOD_B0_HPF1_ALG0_DATA_ADR_FIXPT                0x000000A3

#define MOD_B0_HPF1_ALG0_DATA_ADR_VALUE                SIGMASTUDIOTYPE_INTEGER_CONVERT(163)

#define MOD_B0_HPF1_ALG0_DATA_ADR_TYPE                 SIGMASTUDIOTYPE_INTEGER

#define MOD_B0_HPF1_ALG0_DATAR_ADR_ADDR                81

#define MOD_B0_HPF1_ALG0_DATAR_ADR_FIXPT               0x000000AC

#define MOD_B0_HPF1_ALG0_DATAR_ADR_VALUE               SIGMASTUDIOTYPE_INTEGER_CONVERT(172)

#define MOD_B0_HPF1_ALG0_DATAR_ADR_TYPE                SIGMASTUDIOTYPE_INTEGER

#define MOD_B0_HPF1_ALG0_COEFF_ADR_ADDR                82

#define MOD_B0_HPF1_ALG0_COEFF_ADR_FIXPT               0x0000004E

#define MOD_B0_HPF1_ALG0_COEFF_ADR_VALUE               SIGMASTUDIOTYPE_INTEGER_CONVERT(78)

#define MOD_B0_HPF1_ALG0_COEFF_ADR_TYPE                SIGMASTUDIOTYPE_INTEGER

#define MOD_B0_HPF1_ALG0_LOOP_ADDR                     83

#define MOD_B0_HPF1_ALG0_LOOP_FIXPT                    0x00000001

#define MOD_B0_HPF1_ALG0_LOOP_VALUE                    SIGMASTUDIOTYPE_INTEGER_CONVERT(1)

#define MOD_B0_HPF1_ALG0_LOOP_TYPE                     SIGMASTUDIOTYPE_INTEGER

 

This last chunk is puzzling me.

 

What should I be doing with these parameters in an embedded - microcontroller loaded implementation of the ADAU1442?

 

Regards

Phil

Outcomes