ZHCABE7A November   2021  – April 2022 PCM5120-Q1 , PCM6120-Q1 , TLV320ADC5120 , TLV320ADC6120

 

  1.   摘要
  2.   商标
  3. 引言
  4. 动态范围增强器
  5. 动态范围压缩机
  6. PGA 抗饱和
  7. 高通滤波器
  8. DRE/DRC 参数
  9. 支持采样速率
  10. 示例
  11. 参考文献
  12. 10修订历史记录

DRE/DRC 参数

表 6-1 显示了 DRE/DRC 算法的参数。其中两个参数是写入器件寄存器来控制的。其他参数驻留在器件的 32 位宽系数存储器(Book 0、Page 5、Page 6 和 Page 7)中。在热启动期间,器件采用 Book 0 的 Page 5、Page 6 和 Page 7 中参数的默认值,为了使用户值覆盖这些参数,需要设置 DSP_CFG1 寄存器 (P0_R108_D2) 中的位 DRE_AGC_CFG_DEF_OVR = 1

表 6-1 DRE 参数列表
DRE 参数特性/说明
DRE/DRC 阈值 (dB)高于 DRE/DRC 处于非活动状态时的信号电平。
最大增益 (dB)DRE/DRC 应用的增益上限。
释放时间常数(秒)当输入信号降至低于 DRE/DRC 阈值时 DRE/DRC 电路通过增大 PGA 增益进行响应的速度。
起音时间常数(秒)当输入信号升至高于 DRE/DRC 阈值时 DRE/DRC 电路通过减小 PGA 增益进行响应的速度。
释放迟滞 (dB)超过 DRE/DRC 阈值的信号电平降低量(以 dB 为单位),迫使 DRE/DRC 增加增益并开始释放。
起音迟滞 (dB)超过 DRE/DRC 阈值的信号电平增加量(以 dB 为单位),迫使 DRE/DRC 减小增益并开始起音。
释放去抖(样本)起音事件之后,在 DRE/DRC 开始释放和增加 PGA 增益之前,连续输入样本数低于 DRE 阈值的数量。
起音去抖(样本)释放事件之后,在 DRE/DRC 开始起音和减小 PGA 增益之前,连续输入样本数升到高于 DRE 阈值。

DRE/DRC 阈值: DRE/DRC 停止修改 PGA 并将其设置为统一增益时的信号电平。阈值电平是相对于 ADC 输出的满量程 (dBFS) 表示的。表 6-2 列出了 DRE/DRC 阈值配置设置。默认值为 -54dB。设置高阈值电平会减少 DRE/DRC 在信号电平突然增加时做出反应的余量,并可能导致数字削波和 PGA 饱和。因此,必须将 DRE/DRC 阈值设置为具有足够的裕度,以防止在输入电平发生较大动态变化时出现削波。

表 6-2 DRE/DRC 触发阈值电平可编程设置
P0_R109_D[7:4]:DRE_LVL[3:0]DRE 触发阈值电平
0000DRE/DRC 目标阈值是 –12dB 输出信号电平。
0001DRE/DRC 目标阈值是 –18dB 输出信号电平。
0010DRE/DRC 目标阈值是 –24dB 输出信号电平。
0111(默认值)DRE/DRC 目标阈值是 –54dB 输出信号电平。
1001DRE/DRC 目标阈值是 –66dB 输出信号电平。
1010 至 1111保留(不使用这些设置)

最大增益:最大增益表示 DRE/DRC 对低于 DRE/DRC 阈值的信号应用的增益上限。表 6-3 列出了最大增益配置设置。默认值是 24dB。其可编程范围为 2dB 至30 dB ,步长为 2 dB。

表 6-3 DRE/DRC 最大增益可编程设置
P0_R109_D[3:0]:DRE_MAXGAIN[3:0]允许的 DRE/DRC 最大增益
0000允许的 DRE/DRC 最大增益为 2dB。
0001允许的 DRE/DRC 最大增益为 4dB。
0010允许的 DRE/DRC 最大增益为 6dB。
1011(默认值)允许的 DRE/DRC 最大增益为 24dB。
1110允许的 DRE/DRC 最大增益为 30dB。
1111保留(不使用该设置)

释放时间常数:当输入信号降至低于 DRE/DRC 阈值时 DRE/DRC 电路增大 PGA 增益的速度。释放时间常数由两个系数控制:DRE_REL_ALPHA 和 DRE_REL_BETA。Equation5Equation6 显示了如何从下述时间常数中计算 DRE_REL_ALPHA 和 DRE_REL_BETA 参数。

Equation5. DRE_REL_ALPHA = round(231 * e –ln(9) / 48000*RT)
Equation6. DRE_REL_BETA = (231round(231 * e –ln(9) / 48000*RT)

其中

  • RT 是以秒为单位的释放时间常数
  • FSYNC 是 ADC 的采样率(以 Hz 为单位)

表 6-4 显示了控制 DRE_REL_ALPHA 和 DRE_REL_BETA 参数的寄存器。这些参数均具有 32 位的宽度,必须以二进制补码表示形式写入。DRE_REL_ALPHA 和 DRE_REL_BETA 的默认值对应的时间常数为 20 毫秒。

表 6-4 用于释放时间常数参数的可编程寄存器
系数PAGE寄存器复位值说明
DRE_REL_ALPHA0x050x7C0x7FDRE_REL_ALPHA 字节 [31:24]
0x050x7D0xB5DRE_REL_ALPHA 字节 [23:16]
0x050x7E0x16DRE_REL_ALPHA 字节 [15:8]
0x050x7F0x50DRE_REL_ALPHA 字节 [7:0]
DRE_REL_BETA0x060x080x00DRE_REL_BETA 字节 [31:24]
0x060x090x4ADRE_REL_BETA 字节 [23:16]
0x060x0A0xE9DRE_REL_BETA 字节 [15:8]
0x060x0B0xB0DRE_REL_BETA 字节 [7:0]

起音时间常数:当输入信号升至高于 DRE/DRC 阈值时, DRE/DRC 电路减小 PGA 增益的速度有多快。起音时间常数由两个系数控制:DRE_ATT_ALPHA 和 DRE_ATT_BETA。Equation7Equation8 显示了如何从下述时间常数中计算 DRE_ATT_ALPHA 和 DRE_ATT_BETA 参数。

Equation7. DRE_ATT_ALPHA = round(231 * e –ln(9) / 48000*AT)
Equation8. DRE_ATT_BETA = (231round(231 * e –ln(9) / 48000*AT)

其中

  • AT 是以秒为单位的起音时间常数
  • FSYNC 是 ADC 的采样率(以 Hz 为单位)

DRE_ATT_ALPHA 和 DRE_ATT_BETA 系数均以宽度为 32 位的二进制补码形式表示。表 6-5 显示了控制 DRE_ATT_ALPHA 和 DRE_ATT_BETA 参数的寄存器。DRE_ATT_ALPHA 和 DRE_ATT_BETA 的默认值对应的时间常数为 0.1 毫秒。

表 6-5 用于起音时间常数参数的可编程寄存器
系数PAGE寄存器复位值说明
DRE_ATT_ALPHA0x060x0C0x50DRE_ATT_ALPHA 字节 [31:24]
0x060x0D0xFCDRE_ATT_ALPHA 字节 [23:16]
0x060x0E0x64DRE_ATT_ALPHA 字节 [15:8]
0x060x0F0x5CDRE_ATT_ALPHA 字节 [7:0]
DRE_ATT_BETA0x060x100x2FDRE_ATT_BETA 字节 [31:24]
0x060x110x03DRE_ATT_BETA 字节 [23:16]
0x060x120x9BDRE_ATT_BETA 字节 [15:8]
0x060x130xA4DRE_ATT_BETA 字节 [7:0]

释放迟滞:超过 DRE/DRC 阈值的信号电平降低量,迫使 DRE/DRC 增加增益并开始释放。释放迟滞以 dB 为单位。Equation9 显示了如何计算 DRE_REL_HYST 参数。

Equation9. DRE_REL_HYST = round(28 * RH)

其中

  • RH (>= 0) 是以 dB 为单位的释放迟滞

DRE_REL_HYST 的默认值为 0x00000300,对应的迟滞为 3dB 。表 6-6 显示了控制 DRE_REL_HYST 参数的寄存器。

表 6-6 用于释放迟滞参数的可编程寄存器
系数PAGE寄存器复位值说明
DRE_REL_HYST0x060x340x00DRE_REL_HYST 字节 [31:24]
0x060x350x00DRE_REL_HYST 字节 [23:16]
0x060x360x03DRE_REL_HYST 字节 [15:8]
0x060x370x00DRE_REL_HYST 字节 [7:0]

起音迟滞:超过 DRE 阈值的信号电平增加量,迫使 DRE/DRC 减小增益并开始攻击。Equation10 显示了如何计算 DRE_ATT_HYST 参数。

Equation10. DRE_ATT_HYST = round(28 * AH)

其中

  • AH (>= 0) 是以 dB 为单位的起音迟滞

起音迟滞的默认值为 1dB。可以通过对表 6-7 中列出的寄存器进行写入来更改默认值。

表 6-7 用于起音迟滞参数的可编程寄存器
系数PAGE寄存器复位值说明
DRE_ATT_HYST0x060x3C0x00DRE_ATT_HYST 字节 [31:24]
0x060x3D0x00DRE_ATT_HYST 字节 [23:16]
0x060x3E0x01DRE_ATT_HYST 字节 [15:8]
0x060x3F0x00DRE_ATT_HYST 字节 [7:0]

起音去抖:释放事件之后,在 DRE/DRC 开始攻击且 PGA 增益减小之前,上升到 DRE/DRC 阈值以上的连续输入样本数。在频率为 48kHz 时该参数的默认值为 2 个样本(0.01 毫秒)。Equation11 显示了如何计算 DRE_ATT_CNT 参数。

Equation11. DRE_ATT_CNT = round(28 * FSYNC * AD)

其中

  • AD (>= 0) 以秒为单位
  • FSYNC 是 ADC 的采样率(以 Hz 为单位)

表 6-8 显示了控制 DRE_ATT_CNT 参数的寄存器。

表 6-8 用于起音去抖参数的可编程寄存器
系数PAGE寄存器复位值说明
DRE_ATT_CNT0x060x180x00DRE_ATT_CNT 字节 [31:24]
0x060x190x00DRE_ATT_CNT 字节 [23:16]
0x060x1A0x02DRE_ATT_CNT 字节 [15:8]
0x060x1B0x00DRE_ATT_CNT 字节 [7:0]

释放去抖:起音事件之后,在 DRE/DRC 开始释放和增加 PGA 增益之前下降到 DRE/DRC 阈值以下的连续输入样本数。在频率为 48kHz 时释放去抖的默认值为 25 毫秒。Equation12 显示了如何计算 DRE_REL_CNT 参数。

Equation12. DRE_REL_CNT = round(28 * FSYNC * RD)

其中

  • RD (>= 0) 是以秒为单位指定的释放去抖
  • FSYNC 是 ADC 的采样率(以 Hz 为单位)

表 6-9 列出了控制 DRE_REL_CNT 参数的寄存器。

表 6-9 用于释放去抖参数的可编程寄存器
系数PAGE寄存器复位值说明
DRE_REL_CNT0x060x1C0x00DRE_REL_CNT 字节 [31:24]
0x060x1D0x04DRE_REL_CNT 字节 [23:16]
0x060x1E0xB0DRE_REL_CNT 字节 [15:8]
0x060x1F0x00DRE_REL_CNT 字节 [7:0]