我需要在当前项目中使用DRC。 与大多数TAS5713寄存器一样,文件不仅不足,而且存在的文件自相矛盾。
- http://www.ti.com/lit/ds/symlink/tas5713.pdf上的数据表DRC部分 提到了滤波器T和K的3个alpha和omega对 。它提到T参数是9.23 格式,而其他参数是3.23 ,但不指示T或K的单位。 它指示过滤器结构,但不指示它如何与DRC关联(如果有)。
- 同一节列出了每个alpha和omega以及T的3个寄存器,但不列出K (其正上方图表中所示的斜率)。
- 寄存器列表也不会选择任何K设置,但会添加一个T ',该T '被描述为衰减阈值,没有进一步的信息证明其存在。 虽然SPEC的DRC部分列出了注册位置,但它们与注册列表中的位置不同(DRC/reg部分表示T=3B/40,ae-OE=3C/3B,aa-ad-wa-wd/attack-release=40/3C)。 GDE似乎遵循寄存器描述,而不是DRC部分。 但是,不清楚aa,ad,wa和wd...大概是3.23 值...是如何填入64位寄存器中的,无论它是哪一个。 (不是四个滤波系数,而是
- http://www.ti.com/lit/an/sloa148/sloa148.pdf上的DRC应用说明 没有任何T'参数的指示,但提及K参数并添加O参数以进行偏移。 它特别指出,"刚果民主共和国方案有一个单一的阈值,偏移和斜率(均可编程)。" 相比之下,TAS5713似乎具有双重阈值,没有偏移或斜率。
- 当然,最简单的配置方法是使用GDE。 读取DRC时,我尝试在-3dB...it上设置阈值,应生成一个代表(-3 - 24)/- 6.02 或关于4.5 的数字(忽略方程式4中的符号错误,在转换到9.23 时会被另一符号错误抵消)。 但是,它会生成 05A9万,这更接近11.32。 它没有为神秘的T生成任何值,所以我不知道这是注册定义还是描述中的错误。 我无法在应用说明中测试该示例,因为它使用-64dB的阈值,GDE不支持该阈值。
- 虽然DRC部分指出所有值都是3.23 而不是T,但GDE很高兴地输出更大(和/或负值?) 发布编号。 攻击似乎限于0-0x000A0000。 由于没有进一步的互不冲突的描述,因此很难知道如何解释它们。
- 使用寄存器列表,SPEC DRC描述和APP注释中的冲突指示进行多次试验和错误,不会显示DRC在任何条件下对收益有任何影响。 (是,我将0x0.0001万写入0x46。) 当我将全刻度输入更改为3dB时,输出也会改变3dB,这表明没有任何压缩。
因此,我需要尽快知道这是一个可以工作的模块,还是只是TI从未测试过的那些多产错误之一,当他们发现文档不起作用时,只对文档进行了编辑。 如果有人希望它能以在这些不同的地方所描述的各种方式工作,那么我们最好能定义哪个(或每个元素使用哪些)并决定涉及哪些寄存器,单位和规则。