我使用TLV320AIC3106进行音频采集时出现直流偏移现象,因此我打算设置高通滤波器来去掉直流偏移。
我设置了 page0/register12 为0xA0,得到一个高通滤波。但是,我发现这个寄存器只能设置三种高通滤波,最小的经计算得到206Hz。
我希望保留50Hz~206Hz的音频,因此这种方式是不可行的。我打算使用page1来实现自定义的High Pass。我使用软件得到一个结果,如下:
我做了如下设置:
AIC3106_writeRegister(107, 0xC0); // page0/register 107 设置High Pass模式
AIC3106_writeRegister(0, 1);
AIC3106_writeRegister(65, 0x7F);
AIC3106_writeRegister(66, 0xA1);
AIC3106_writeRegister(67, 0x80);
AIC3106_writeRegister(68, 0x5F);
AIC3106_writeRegister(69, 0x7F);
AIC3106_writeRegister(70, 0x44);
AIC3106_writeRegister(71, 0x7F);
AIC3106_writeRegister(72, 0xA1);
AIC3106_writeRegister(73, 0x80);
AIC3106_writeRegister(74, 0x5F);
AIC3106_writeRegister(75, 0x7F);
AIC3106_writeRegister(76, 0x44);
AIC3106_writeRegister(0, 0);
但是,直流偏移没有被消除,我想知道如何正确的去自定义设置High Pass?
谢谢!
Jacky Wang(QD):
Hi,
你还要设置一下Page 0/Register 12,使能ADC的High Pass Filter,选三种模式中的一种就行了,它加载系数时就不是预置的了,而是你设置的了。
yan liu2:
回复 Jacky Wang(QD):
Hi Jacky :
我设置了Page 0/Register 12,但是发现不是我要的40Hz,而是Page 0/Register 12的设置起作用了。
我把page0/Register107 设置成0XC8,还是不行!我的配置如下,请问错误在哪里?
AIC3106_writeRegister(12, 0x00); AIC3106_writeRegister(107, 0xC08);
AIC3106_writeRegister(AIC3106_REG_PAGESELECT, 1);
AIC3106_writeRegister(65, 0x7F); AIC3106_writeRegister(66, 0xFF); AIC3106_writeRegister(67, 0x80); AIC3106_writeRegister(68, 0x01); AIC3106_writeRegister(69, 0x7F); AIC3106_writeRegister(70, 0x54);
AIC3106_writeRegister(71, 0x7F); AIC3106_writeRegister(72, 0xFF); AIC3106_writeRegister(73, 0x80); AIC3106_writeRegister(74, 0x01); AIC3106_writeRegister(75, 0x7F); AIC3106_writeRegister(76, 0x54);
AIC3106_writeRegister(AIC3106_REG_PAGESELECT, 0); AIC3106_writeRegister(12, 0x60);
谢谢!
yan liu2:
回复 Jacky Wang(QD):
Hi Jacky:
我测试了一下,结果和预期的不相符。 加载系数时是预置的了,而不是我在page2设置的。
我的修改如下:
AIC3106_writeRegister(12, 0x00); AIC3106_writeRegister(107, 0xC08);
AIC3106_writeRegister(AIC3106_REG_PAGESELECT, 1);
AIC3106_writeRegister(65, 0x7F); AIC3106_writeRegister(66, 0xFF); AIC3106_writeRegister(67, 0x80); AIC3106_writeRegister(68, 0x01); AIC3106_writeRegister(69, 0x7F); AIC3106_writeRegister(70, 0x54);
AIC3106_writeRegister(71, 0x7F); AIC3106_writeRegister(72, 0xFF); AIC3106_writeRegister(73, 0x80); AIC3106_writeRegister(74, 0x01); AIC3106_writeRegister(75, 0x7F); AIC3106_writeRegister(76, 0x54);
AIC3106_writeRegister(AIC3106_REG_PAGESELECT, 0); AIC3106_writeRegister(12, 0xF0);
是我的设置有问题吗?
谢谢!
yan liu2:
回复 Jacky Wang(QD):
Hi Jacky:
Thank you very much!The problem has been solved!
Best Wish For You!
Hang Yin:
回复 yan liu2:
你好,我看到手册里有那个高通的公式,请问那个要怎么算啊 z是什么啊???