基于DSP5410与TLC320AD50C的实时音频信号处理研究
2009-07-21
作者:刘 勇,祝忠明,罗文渊,余全合,
摘 要: 介绍一种高保真的音频信号处理系统,给出了前端音频信号调理电路设计,实现了DSP芯片TMS320VC5410与语音转换芯片TLC320AD50C的硬件接口设计,并通过FIR算法实现了对音频信号的处理。测试结果表明,此音频处理系统达到预期要求。
关键词: DSP;AD50;音频信号处理;放大器;FIR算法
传统的音频产品及音频处理大都使用模拟设备,体积大、精度低、容易受环境影响,而且易受元件老化的影响。使用数字音频处理器,则使设备体积大大缩小,精度得到提高,而且数字设备受环境影响较小,减轻了受元件老化的影响。音频信号处理是利用算法对采集的音频信号进行变换处理实现的。随着科学技术的进步及各种新型数字音源的相继出现,如数字广播、数字电视、网际多媒体广播、移动通信等,对数字音频处理系统应用的需求日益增加。IT领域的科技成果越来越普遍地应用于视、音频领域并大大地推动了视、音频科技的进步,其中 DSP在音频领域内的应用就是一个很好的例子。本文着重设计了DSP与AD50的硬件接口、音频信号处理的FIR算法实现以及AD50前端的信号调理电路设计。这种设计方法可在IP电话和多媒体通信中广泛应用。
1 系统构成与工作原理
在本次设计中,数字信号处理器TMS320VC5410(以下简称DSP)是主要核心部分,它在控制TLC320AD50(以下简称AD50)的同时还进行数字信号处理。AD50主要进行A/D和D/A转换。其基本构成如图1所示。
对于音频输入而言,可以通过MP3播放器将音频信号输入到放大器;也可以通过PC机的音频线将音频信号输入到放大器,本设计采用后者。
系统基本工作原理:通过PC机输出音频信号,由于此音频信号很微弱,所以需要放大,这样可以提高采样精度。由于AD50采用的是差分输入,可以提高共模抑制比,大大减少了共模信号,得到了较高信噪比的音频信号,为后面的采样提供了失真度很小的音频信号。AD50把得到的数字信号通过DSP的多通道缓冲接口(MCBSP)传给DSP进行处理。DSP经过处理后再把音频信号输入到AD50,然后通过AD50输出,这样就可以把音频信号无失真地还原出来,实现了音频信号的处理。本设计主要实现以下功能:
(1)对原始的音频信号放大,把放大的音频信号转化为差分信号。
(2)DSP通过MCBSP控制AD50采样和接收音频数据。
(3)DSP通过软件处理使原始音频信号还原出来(数字信号),然后通过MCBSP发给AD50转换成模拟信号。
2 系统硬件设计
本设计的音频处理系统主要分为音频信号调理模块和数据采集与处理模块。
2.1 音频信号调理模块
音频信号调理模块分为放大电路和差分电路两部分。
在放大电路中,放大器采用美国德州仪器公司的TLC2272,是单芯双运放放大器,具有相当好的AC性能,有更好的输入失调电压、噪声和功耗性能,增益带宽为2 MHz,转换速率为3 V/μs。
在放大电路中(图2),电源采用双电源±5 V供电,输入信号采用反向输入,即输入电压与输出电压的相位相差180°。C1和R1组成反馈回路,C4、C5起隔直通交和耦合作用(可以通过JP1短接),R4和R2并联组成可调的电阻R,由放大电路的原理可知:放大倍数A=R1/R,所以本次设计的放大器的增益是可调的。电容C2、C3起耦合作用。
在图3所示的差分电路中也采用TLC2272,作用是把输入信号转化成差分信号。由放大器的原理可知, 3个反向输入放大器的放大倍数都为1(因为反馈回路的电阻与输入回路的电阻之比是1:1)。由图可知,Input端口的信号与in_m的信号同相,而与in_p信号反相,这两个信号分别接入到AD50的INP和INM引脚,这样就得到差分信号,提高了共模抑制比,大大减少了共模信号,得到了高信噪比的音频信号。C3和C8作为前后级放大器的耦合电路。
2.2 数据采集与处理模块
数据采集与处理模块由DSP和AD50组成,AD50集成了16位A/D和D/A转换器,采样速率可达22 Kbit/s,它具有7个控制寄存器,AD50的采样频率由控制寄存器4设定。当选择PLL模式时(D7=0),采样频率为:
AD50内部在ADC转换后有抽样滤波器,DAC转换前直插滤波器,AD50与DSP 的通信数据格式采用16位的二进制。AD50的16位的传输时序图如图4,FS为帧同步信号。
DSP提供了3个多通道缓冲串行口(MCBSP),为模数接口的设计提供了极大的便利。MCBSP提供了全双工的传输机制,数据长度可以为8、12、16、20、24、32位。数据经MCBSP的DR和DX引脚传输,控制信号由CLKR、CLKX、FSR、FSX 4个引脚决定(图5)。本设计中,AD50的时钟由DSP提供,AD50工作在从模式。DSP和AD50的接收数据和发送数据共用一个时钟,避免了时序冲突,提高了可靠性。
3 算法设计
通过设计一个FIR低通滤波器对输入的音频信号进行滤波处理来说明对音频信号的处理实现过程,由此可以推广到其他的处理方法。
FIR滤波器的差分方程为:
式(3)中:x(n)是输入序列;y(n)是输出序列;ai是滤波器的系数;N是滤波器的阶数,其横向滤波结构图如图6所示。
取音频信号的采样频率为10 kHz,N=64,利用MATLAB得到低通滤波器,其函数为:
B=FIR(N,W) (5)
式中:B是滤波器的系数;N是滤波器的阶数;W是滤波器的截止频率[2]。
由式(3)可知:不断地输入样本,经过延时一个单位,再和滤波器的系数进行乘法累加运算,最后得到输出序列y(n)。程序流程图如图7所示。
在CCS5000开发平台下创建源文件。本软件采用C语言和汇编语言混合编写,经过编译、调试,生成可执行文件?鄢.out。最后把*.out文件下载到芯片运行,部分源代码如下:
STL A,*FIR_DATA_P+%;更新数据
NOP ;
MVMD FIR_DATA_P,f32_p
RPTZ A ,#63
MAC*FIR_DATA_P+0%,*FIR_COFF_P+0%,A;滤波
NOP
NOP
STH A,*(_ sample)
4 实验结果
在CCS5000开发平台下,为了便于分析,采用探针,把带纹波的方波信号作为信号输入,经过CCS仿真后输入信号与输出信号的时域和频域的对比结果如图8所示。
从以上处理的效果来看,方波信号由基波信号和高次谐波组成,由于采用了低通滤波器处理,高频信号(叠加在方波信号上面的纹波)得到有效抑制,低频信号得到保留(音频信号的带宽主要在低频),最后输出比较平滑的信号(主要是基波信号),由此证明了系统的低通性能,验证了此音频处理系统的正确性。读者只要在这个硬件平台上改变算法就可以得到不同的音频效果。
实验结果表明,由于在音频信号采集前端增加了放大电路和差分电路,提高了共模抑制比,大大减少了共模信号,得到了高信噪比的音频信号,而在DSP内部又采用了FIR滤波算法,因此设计的高保真音频信号处理系统完全实现了音频信号的实时处理。该音频信号处理系统可以在IP电话和多媒体通信中得到广泛应用。
参考文献
[1] 丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,2001.
[2] 李夕红,祝忠明.基于DSP5402的音频处理与实现[J].电声技术,2006(12).
[3] 祝忠明.DSP实验应用指导[Z].成都:成都理工大学信息工程学院,2002.
[4] TMS320VC54xDSP Applications Guide.Texas Instrument.1999.
[5] TLC2272 datasheet.Texas Instrument,2000.
[6] TLCAD50C datasheet.Texas Instrument,1999.