一种基于DSP的音频实时处理系统
2.2 基于DSP的软件实现
基于DSP的实时处理的实现,本文将AIC23采集到的数据先存储到SDRAM中,在需要处理的时候利用EDMA实现Ping-Pong缓冲,将待处理的数据分批搬运到片内存储器,结合高速缓存和片内内存设计合适的数据结构,并将数据对齐,这样大大减小了数据搬移带来的开销。
DSP处理主流程图如图4所示。
基于Ping-Pong缓冲结构的音频处理流程如图5所示。
通过对音频处理算法中数据结构的调整和优化,将Ping-Pong缓冲架构的数据进行合理的安排,使得EDMA的数据传输和Process AEC线程更好地并行处理。将当前需要处理的麦克风信号和扬声器信号的数据保存在片内地址内,并将回声消除中用到的FFT和扬声器参考数据均放在片内地址处理。将算法的其他辅助数据结构均放在SDRAM。这使得片内资源得到最大化利用,并且很大程度地提升了整个系统的运算效率。
参考TI DSP相关优化资料,TI的编译器选项使用-mv6700,-O3,-oiO,-pm开关,使得编译的代码能更多地利用TMS320C6713B的硬件资源和浮点指令,参考了TI带的FFT加速函数,结合实际算法做了局部的改进,使得所有算法最终在TI TMS320C6713B上均能实时高效的运行。
3 结论
声学回声消除以及噪音抑制等算法在多媒体通信的音频处理中起着至关重要的作用。
本文通过结合相关的自适应滤波器以及非线程处理和噪音抑制等算法,并在基于TI的TMS320C6713B上实现和优化,实现了高效率的声学回声、噪声消除实时处理系统。通过实际应用表明,该系统对噪音消除可达40 dB以上,对回音消除可达50 dB以上,并具备良好的双工处理能力。目前在本系统的基础上已经延伸扩展出了多路输入/输出的专业数字音频处理器,并实际应用在视频会议系统中,取得了较好的体验效果。
- 用CPLD实现FIR数字滤波器的设计(08-07)
- 单片DSP处理器功能系统的SOPC技术设计(01-12)
- Altera FPGA在Fairlight新媒体处理引擎中替代64片DSP(01-20)
- 基于DSP的短波分集合成接收机(09-01)
- LPC2292的伪中断与伪中断处理(03-25)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)