TI论坛
直播中

陈艳

7年用户 959经验值
私信 关注
[问答]

请问TIBQ.exe工具在aic3204中滤波时怎么使用?


  • 我在ti网站上下载了滤波参数计算的工具,但对工具中的参数有些迷惑,请帮忙提供指导,谢谢!

    请问工具中的参数 FC,Gain BW,Q,S,O这几个参数具体是什么含义,对应aic3204中那些参数?
    计算出来的结果形式如下,又应该怎么使用计算出来的参数,我参考了一些网上同仁使用滤波参数的例子,对已N0有三个字节,但用工具
    计算出来的结果一个参数只有2个字节, 感到比较疑惑。
    AIC3204_rset( 36, 0x6A ); // Left N0 H
    AIC3204_rset( 37, 0xC3 ); // Left N0 M
    AIC3204_rset( 38, 0x6F ); // Left N0 L
    Text "* Sample Rate = 8000"
    Text "* Filter 1 EQ 3 Hz Fc 0.0 dB 0 Hz BW"
    Text "* BQ: H(z) = (N0 + 2*N1/z + N2/(z2)) / (32768 - 2*D1/z - D2/(z2))"
    Text "* Filter Coefficients in format N0, N1, N2, D1, D2"
    Text "* 1O: H(z) = (N0 + N1/z) / (32768 - D1/z)"
    Text "* Filter Coefficients in format N0, N1, D1"
    Text "* Filter 1 BQ "
    0x7FFF
    0x800B
    0x7FEC
    0x7FF5
    0x8014
      // set biquad A to low pass fc = 3628
        AIC3204_rset( 0, 8 ); // Select page 8
        AIC3204_rset( 36, 0x6A ); // Left N0 H
        AIC3204_rset( 37, 0xC3 ); // Left N0 M
        AIC3204_rset( 38, 0x6F ); // Left N0 L
        AIC3204_rset( 40, 0x35 ); // Left N1 H
        AIC3204_rset( 41, 0x61 ); // Left N1 M
        AIC3204_rset( 42, 0xB7 ); // Left N1 L
        AIC3204_rset( 44, 0x00 ); // Left N2 H
        AIC3204_rset( 45, 0x00 ); // Left N2 M
        AIC3204_rset( 46, 0x00 ); // Left N2 L
        AIC3204_rset( 48, 0xD5 ); // Left D1 H
        AIC3204_rset( 49, 0x3C ); // Left D1 M
        AIC3204_rset( 50, 0x91 ); // Left D1 L
        AIC3204_rset( 52, 0x00 ); // Left D2 H
        AIC3204_rset( 53, 0x00 ); // Left D2 M
        AIC3204_rset( 54, 0x00 ); // Left D2 L
       
        AIC3204_rset( 0, 9 ); // Select page 9
        AIC3204_rset( 44, 0x6F ); // Right N0 H
        AIC3204_rset( 45, 0x96 ); // Right N0 M
        AIC3204_rset( 46, 0x52 ); // Right N0 L
        AIC3204_rset( 48, 0x37 ); // Right N1 H
        AIC3204_rset( 49, 0xCB ); // Right N1 M
        AIC3204_rset( 50, 0x29 ); // Right N1 L
        AIC3204_rset( 52, 0x00 ); // Right N2 H
        AIC3204_rset( 53, 0x00 ); // Right N2 M
        AIC3204_rset( 54, 0x00 ); // Right N2 L
        AIC3204_rset( 56, 0xD0 ); // Right D1 H
        AIC3204_rset( 57, 0x69 ); // Right D1 M
        AIC3204_rset( 58, 0xAD ); // Right D1 L
        AIC3204_rset( 60, 0x00 ); // Right D2 H
        AIC3204_rset( 61, 0x00 ); // Right D2 M
        AIC3204_rset( 62, 0x00 ); // Right D2 L
       
        AIC3204_rset(0x00,44);     //High-pass first order butterworth Filter
        AIC3204_rset(0x0c,0x7c);   //Fc=40 Hz              
        AIC3204_rset(0x0d,0x73);         
        AIC3204_rset(0x0e,0xe4);      
        AIC3204_rset(0x0f,0x00);         
        AIC3204_rset(0x10,0xc1);         
        AIC3204_rset(0x11,0xc6);         
        AIC3204_rset(0x12,0x0f);         
        AIC3204_rset(0x13,0x00);         
        AIC3204_rset(0x14,0x00);         
        AIC3204_rset(0x15,0x00);         
        AIC3204_rset(0x16,0x00);         
        AIC3204_rset(0x17,0x00);         
        AIC3204_rset(0x18,0x3c);
        AIC3204_rset(0x19,0x73);         
        AIC3204_rset(0x1a,0xe6);        
        AIC3204_rset(0x1b,0x00);         
        AIC3204_rset(0x1c,0x00);         
        AIC3204_rset(0x1d,0x00);         
        AIC3204_rset(0x1e,0x00);        
        AIC3204_rset(0x1f,0x00);
       
        AIC3204_rset(0x00,45);  
        AIC3204_rset(0x14,0x7c);
        AIC3204_rset(0x15,0x73);         
        AIC3204_rset(0x16,0xe4);      
        AIC3204_rset(0x17,0x00);         
        AIC3204_rset(0x18,0xc1);         
        AIC3204_rset(0x19,0xc6);         
        AIC3204_rset(0x1a,0x0f);         
        AIC3204_rset(0x1b,0x00);         
        AIC3204_rset(0x1c,0x00);         
        AIC3204_rset(0x1d,0x00);         
        AIC3204_rset(0x1e,0x00);         
        AIC3204_rset(0x1f,0x00);         
        AIC3204_rset(0x20,0x3c);
        AIC3204_rset(0x21,0x73);         
        AIC3204_rset(0x22,0xe6);        
        AIC3204_rset(0x23,0x00);         
        AIC3204_rset(0x24,0x00);         
        AIC3204_rset(0x25,0x00);         
        AIC3204_rset(0x26,0x00);        
        AIC3204_rset(0x27,0x00);
        AIC3204_rset(0x00,0x2c);        
        AIC3204_rset(0x01,0x05);

回帖(2)

李杰

2024-11-7 10:44:34
AIC3204的滤波器参数本身就是16bit的。算出来的直接放到EQ寄存器中机壳
举报

五斤麻辣油

2024-11-8 09:19:24
TIBQ.exe 是 TI 公司提供的一个用于计算 AIC3204 滤波器参数的工具。以下是工具中参数的含义:

1. FC(Filter Cutoff Frequency):滤波器截止频率,单位为 Hz。
2. Gain BW(Gain Bandwidth):增益带宽,单位为 Hz。
3. Q(Quality Factor):品质因数,用于描述滤波器的品质。
4. S(Scale Factor):缩放因子,用于调整滤波器的增益。
5. O(Offset):偏移量,用于调整滤波器的直流偏移。

在 AIC3204 中,这些参数对应于不同的寄存器设置。以下是一些常见的寄存器设置:

1. N0、N1、N2:滤波器系数,用于实现滤波器的传递函数。
2. M0、M1、M2:滤波器系数,用于实现滤波器的传递函数。

计算出来的参数需要根据 AIC3204 的寄存器设置进行调整。例如,如果计算出来的参数是三个字节,而 AIC3204 的寄存器只需要两个字节,那么需要将参数进行截断或舍入。

以下是如何使用计算出来的参数的示例:

1. 首先,将计算出来的参数按照 AIC3204 的寄存器设置进行调整。
2. 然后,使用 AIC3204_rset() 函数将调整后的参数写入相应的寄存器。

例如:

AIC3204_rset( 36, 0x6A ); // Left N0 HAIC3204_rset( 37, 0xC3 ); // Left N0 MAIC3204_rset( 38, 0x6F ); // Left N0 L

在这个示例中,我们首先将计算出来的参数写入 N0、N1 和 N2 寄存器。然后,我们可以根据需要调整其他滤波器参数。

希望这些信息能帮助您解决问题。如果您还有其他问题,请随时提问。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分