This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320AIC3106:启用 ADC 高通滤波器:默认或定制

Guru**** 2482105 points
Other Parts Discussed in Thread: TLV320AIC3106

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/853684/tlv320aic3106-enable-adc-high-pass-filters-either-default-or-custom

器件型号:TLV320AIC3106

尊敬的 TI:

我在正确使用 ADC 高通功能时遇到一些问题。 下面是几个不同的领域、我认为需要共同解决、但我觉得我缺少一些重要信息。

查看数据表、内置的高通传递函数为:

H (z)=(N0 + N1z^-1)/(32768 - D1z^-1)

下面是这些系数的复位值

N0 = 0x3955 = 14677

N1 = 0xF32D =-3283

D1 = 0x537E = 21374

在 Matlab 中实现这一点不会导致高通滤波器频率响应:

>> N0=14677;N1=-3283;D0=32768;D1=21374;
>> sys = TF ([N0 N1]、[D0 -D1]、1/96000、'Variable'、'z^-1');
>>波特(sys);

下面是我要作为频率响应寻找的内容...下面的滤波器是否采用与内置结构兼容的格式?

>> N0=32240;N1=-32240;D0=32768;D1=31713;
>> sys = TF ([N0 N1]、[D0 -D1]、1/96000、'Variable'、'z^-1');
>>波特(sys);

下一个问题:

在第0页寄存器12中:

在这里、我应该启用滤波器。 其中三个选项听起来会影响我已编程到 N0...D1点的滤波器设计([0.0045、0.0125、0.025]* fs)。 这三个选项如何影响我的"自定义"筛选器?

感谢您提供有关如何更好地理解该实现的任何提示、
电流

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Curt、  

    寄存器12的默认功能是启用预设滤波器。  这些不受第1页寄存器66-76上的系数控制。  要启用这些参数、必须将 HPF 设置为寄存器12上的任何预设值、 然后必须 设置寄存器107、D7-6、 最后可以更改系数。  

     此致、

    -Steve Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Steve、

    感谢您的回复。 您描述的顺序与数据表中的顺序似乎相反、是否有意这样做?

    数据表11.3.2.1:

    加载系数后;使用寄存器107选择定制;使用寄存器12启用

    您的建议:

    启用寄存器12中的[任何]预设滤波器;使用寄存器107选择定制;程序系数

    无论如何设置自定义滤波器参数、您能否评论默认传递函数的实现方式? 我包含了当前我如何理解默认滤波器的波特图、但这毫无意义。 我希望能够看到3个默认滤波器选项的 HP freq 响应。

    谢谢、
    电流

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Curt、

    我本来没有打算给我的回复分配一个序列、但我可以看到我的措辞非常粗心。 数据表中描述的顺序正确。 我只是想解释一下、默认系数不在 ROM 中、不会被镜像到自定义系数寄存器。

    有几种方法可以为此器件生成滤波器系数。

    1.使用 TI 的工具

    TIBQ 是一个程序、您可以使用它为该器件生成一阶 hff 系数。

    您只需启用滤波器、将类型更改为高通、将子类型保留为巴特沃斯1、 然后将 FC 设置为您喜欢的类型。

    使用 Matlab、然后将系数转换为 TLV320AIC3106所需的格式

    这无疑是更麻烦的、但它给您更多的控制权。

    下面是用于设计 IIR 高通滤波器的 Matlab 命令

    params.order 是滤波器的阶数、一阶设置为1

    params.f3dB 是滤波器的-3dB 点

    诊断方法支持:

    黄油=优先选择通带上的最大平坦响应。 其余部分在通带和阻带中具有纹波

    cheby1.

    切比2.

    花利

    纹波

    IFIR

    kaiserwin

     

                           HPF = fdesign.highpass ('N、F3dB'、params.order、params.F3dB);
                           hpfButter =设计(hpf、'IIR'、‘黄油');

           h = fvtool ( hpfButter );  
                        图例( h,strcat( num2str( dcblocker_F3dB/2),'_F3ds_Butterworth'));
                           print( h,fullfile( params.outputHPFFolder,strcat( num2str( params.F3dB/2),'_F3db_Butterworth')),'-dpng');

    MATLAB 提供的滤波器系数将被标准化、只需乘以32768并转换为十六进制

    希望这有所帮助、

    -Steve Wilson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Curt、  

    自定义 HPF 的默认系数。  这是数据表误差。  数据表中的系数是去加重滤波器系数的准确副本。  因此、我拉出一个 EVM 并读取寄存器65、我得到的值为:

    N0= 7FEA

    N1= 8016

    D1 = 75D5  

    当我绘制这些图时、我会看到:

    此致、

    -Steve Wilson