让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 摘 要: 分析了音频压限器的算法, 对起控时间和释放时间这两个参数的处理进行了说明, 并使用MATLAB 软件和DSP 硬件对压限算法进行了验证。 以DSP 芯片TMS320VC5501 和微控制器STC89LE58RD+ 为核心构建系统平台, 给出了硬件和软件设计。 使用同一音源对音频压限器进行了测试, 将测试结果和MATLAB 结果进行了对比, 两者平均误差0.38%, 验证了设计方案的正确性
摘 要: 分析了音频压限器的算法, 对起控时间和释放时间这两个参数的处理进行了说明, 并使用MATLAB 软件和DSP 硬件对压限算法进行了验证。 以DSP 芯片TMS320VC5501 和微控制器STC89LE58RD+ 为核心构建系统平台, 给出了硬件和软件设计。 使用同一音源对音频压限器进行了测试, 将测试结果和MATLAB 结果进行了对比, 两者平均误差0.38%, 验证了设计方案的正确性, 满足音频压限器高精度要求, 为高精度音频压限器的设计提供了一种新的思路。
1 引言
音频压限器是一种用于压缩或限制节目信号的动态范围, 避免过激失真的音频信号处理设备[3]. 压限算法基本原理见《基于ADSP-21262 的数字压限器设计》[2], 该论文采用的压缩系数使用泰勒级数展开式和分段的方法来求得, 其误差为0.6dB, 经过后级设备的放大, 误差也将同时被放大, 将不能满足专业音频压限器的音质要求。 起控时间和释放时间是压缩算法中两个最为重要的参数, 如何实时实现起控时间和释放时间的调控是音频压限器设计必须重点考虑的问题。
为减少误差, 本文尝试将压缩系数使用C 标准库的pow 函数直接求得。 由于使用pow 函数的优点是其精度高, 但是pow 函数的执行时间比较长, 因此在整个算法实现中必须考虑时间的因素。 算法的DSP 实现中, 每10ms 处理一次数据, 处理函数必须在10ms 内完成, 否则将影响下一次的数据处理。 在DSP 算法编写完成以后, 将对算法的执行时间经行测算, 以保证在10ms 内完成。
为了实时实现起控时间和释放时间的调控, 本文引入增益系数K, 通过调节K 来满足起控时间和释放时间调节, 根据不同的参数设置给出MATLAB仿真结果。 然后选用TI 公司的DSP 芯片TMS320VC5501 作为实现压限器算法的核心, 又利用音频解码器TLV320AIC23B-Q1 可以和TMS320VC5501 进行无缝连接, 将采样数据无间断传送给后者, 并让后者处理。
以此来构建硬件平台。 最后, 对压限器进行了测试, 测试结果和MATLAB仿真结果进行了对比, 验证了本设计方案的正确性。
2 压限算法
2.1 压限器原理及其参数
如图1 所示, 当输入信号电平(dB)超过阈值电平(dB)时, 对信号电平按压缩比进行压缩。 当压缩比为2:1 时, 输出电平为输入电平的一半。 同理, 压缩比为4: 1时, 输出电平为输入电平的四分之一。 当压缩比大于8:1 时, 此时压缩器可以称为限幅器。
图1 压限器算法示意图
压限器有四个参数: 阈值电平(threshold)、压缩比(compression rate)、起控时间(attack time)和释放(releasetime)。 阈值电平用于决定是否对信号进行压缩。 压缩比是输入信号与输出信号的分贝数之比。 起控时间是当信号电平超过阈值电平时, 压限器开始进入压缩状态所需的时间。 释放时间是当信号电平低于阈值电平后, 压限器从压缩状态退出所需要的时间。
2.2 有效值
当音频信号电平大于阈值电压时, 压限器才开始工作。 因此, 先求出信号当前的有效值。 求有效值时,需对信号进行加窗, 窗口大小为10ms[2], 即每10ms 求一次有效值并判断该信号电平是否超过阈值电平, 如超过则进行压限处理。 有效值使用均方根来近似表达,其公式如下:
其中, x(i)为音频信号采样值, 由于音源信号的采样频率为44.1kHz, 因此, 10ms 时间共441 个采样值。
2.3 增益系数
从1.1 节可知, 输入电平与输出电平之间的关系是在采用db 表示的前提下建立的, 接着, 将这种关系转换成信号在幅值上的关系。
如图1 所示, 建立如下方程:
最后可得压缩系数:
b =x -a
其中, x=RMST/RMSX, a = 1-1/R, R 是压缩比, R >=1.
这里将K =1 b 称为增益系数, 可得到输出信号与输入信号在幅值上的关系式:
RMSY = RMSX *K , 其中0< K<1.
上一篇:差分放大电路工作原理
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |