探讨音频信号采集与AGC算法的DSP实现

发布时间:2012-02-6 阅读量:1253 来源: 我爱方案网 作者:

中心议题:
    *  音频信号采集介绍
    *  音频AGC算法的实现
解决方案:
    *  音频芯片采用IT公司的TLV320 AIC23
    *  AIC23的数字音频接口采用DSP模式

引言
  
电台等由于其自办频道的广告、新闻、广播剧、歌曲和转播节目等音频信号电平大小不一,导致节目播出时,音频信号忽大忽小,严重影响用户的收听效果。在转播时,由于传输距离等原因,在信号的输出端也存在信号大小不一的现象。过去,对大音频信号采用限幅方式,即对大信号进行限幅输出,小信号不予处理。这样,仍然存在音频信号过小时,用户自行调节音量,也会影响用户的收听效果。随着电子技术,计算机技术和通信技术的迅猛发展,数字信号处理技术已广泛地深入到人们生活等各个领域。其中语音处理是数字信号处理最活跃的研究方向之一,在IP电话和多媒体通信中得到广泛应用。语音处理可采用通用数字信号处理器DSP和现场可编程门阵列(FPGA) 实现,其中DSP实现方法具有实现简便、程序可移植行强、处理速度快等优点,特别是TI公司TMS320C54X系列在音频处理方面有很好的性价比,能够解决复杂的算法设计和满足系统的实时性要求,在许多领域得到广泛应用。在DSP的基础上对音频信号做AGC算法处理可以使输出电平保持在一定范围内,能够解决不同节目音频不均衡等问题。
  
音频信号采集
  
TI公司DSP芯片TMS320VC5402具有独特的6总线哈佛结构,使其能够6条流水线同时工作,工作频率达到100MHz。利用VC5402的2个多通道缓冲串行口(McBSP0和McBSP1)来实现与AIC23的无缝连接。VC5402的多通道带缓冲的串行口在标准串口的基础上加了一个2K的缓冲区。每次串口发送数据时,CPU自动将发送缓冲中的数据送出;而当接收数据时,CPU自动将收到的数据写入接收缓存。在自动缓冲方式下,不需每传送一个字就发一次中断,而是每通过一次缓冲器的边界,才产生中断至CPU,从而减少频繁中断对CPU的影响。
  
音频芯片采用TLV320 AIC23,它是TI公司的一款高性能立体声音频A/D,D/A放大电路。AIC23的模数转换和数模转换部件高度集成在芯片内部,采用了先进的过采样技术。AIC23的外部硬件接口分为模拟口和数字口。模拟口是用来输入输出音频信号的,支持线路输入和麦克风输入;有两组数字接口,其一是由/CS、SDIN、SCLK和MODE构成的数字控制接口。AIC23是一块可编程的音频芯片,通过数字控制口将芯片的控制字写入AIC23内部的寄存器,如采样率设置,工作方式设置等,共有12个寄存器。音频控制口与DSP的通信主要由多通道缓冲串行口McBSP1来实现。
  
AIC23通过数字音频口与DSP的McBSP0完成数据的通信,DSP做主机,AIC23做从机。主机提供发送时钟信号BCLKX0和发送帧同步信号BFSX0。在这种工作方式下,接收时种信号BCLKR0和接收帧同步信号BFSR0实际上都是由主机提供的。图1是AIC23与VC5402的接口连接。                                 

AIC23的数字音频接口支持S(通用音顿格式)模式,也支持DSP模式(专与TIDSP连接模式),在此采用DSP模式。DSP模式工作时,它的帧宽度可以为一个bit长。

图2是音频信号采集的具体电路图。

 

 


电路的设计和布线是信号采集过程中一个很重要的环节,它的效果直接关系到后期信号处理的质量。对于DSP达类高速器件,外部晶体经过内部的PLL倍频以后可达上百兆。这就要求信号线走等长线和绘制多层电路板来消除电磁干扰和信号的反射。在两层板的前提下,可以采取顶层与底层走交叉线、尽量加宽电源线和地线的宽度、电源线成"树杈型"、模拟区和数字区分开等原则,可以达到比较好的效果。

音频AGC算法的实现
  
AGC算法
  
使放大电路的增益随信号强度的变化而自动调整的控制方法,就是AGC-自动增益控制。实现AGC可以是硬件电路,即AGC闭环电子电路,也可以是软件算法。本文主要讨论用软件算法来实现音频信号的AGC。
  
音频AGC是音频自动增益控制算法,更为准确的说是峰值自动增益控制算法,是一种根据输入音频信号水平自动动态地调整增益的机制。当音量(无论是捕捉到的音量还是再现的音量)超过某一门限值,信号就会被限幅。限幅指的是音频设备的输出不再随着输入而变化,输出实质上变成了最大音量位置上的一条水平线;当检测到音频增益达到了某一门限时,它会自动减小增益来避免限幅的发生。另一方面,如果捕捉到的音量太低时,系统将自动提高增益。当然,增益的调整不会使音量超过用户在调节向导中设置的值。图3是音频AGC算法的结构框图。

AGC算法的实现过程
  
首先从串口获取音频数据,它是16位的整型数,一般来说,这些数都是比较小的,通过AGC算法将输入的音频数据投影在一个固定区间内,从而使得不论输入的数据点数值大小都会等比例地向这个空间映射。一方面将获得的音频数据最大值与原来的峰值进行比较,如果有新的峰值出现就计算新的增益系数;另一方面在一定的时间周期内获取一个新的峰值,这个峰值就具有检测性能,又与原峰值比较,然后就计算新的增益系数。这个增益系数是相对稳定的。当音量加大时,信号峰值会自动增加,从而增益系数自动下降;当音量减小时,新的峰值会减小并且取代原来的峰值,从而使峰值下降,使增益系数上升。最后输出的数据乘以新增益系数后映射到音频信号输入的投影区间内。
  
图4是音频信号AGC算法的程序流程图。
                                            

AGC_Coff是初始增益系数,初始值为1;maxAGC_in是增益峰值,初始值为0;time是采样点计数,门限值为4096;AGC_in是新的音频数据,MAXArrIn是新的音频增益峰值;映射区间【-20000,20000】。
  
整个系统的软件部分为5人模块。系统主函数main( )、CMD文件、中断向量表、DSP5402头文件和专为C语言开发的库函数rtdx.lib。其中主函数部分是核心,主要包括:DSP器件初始化、MCBSP1初始化、MCBSP0初始化、AIC23初始化(内部12个可编程寄存器设置)及算法程序等。
  
在CCS2.0集成开发环境下,采用*.c语言和*.asm语言相结合的方式编写程序。将编写的程序*.c、*.asm和链接程序*.cmd文件编译链接后生成执行目标文件*.out,通过仿真器将执行目标文件*.out下载到系统板上,经过调试、编译并运行,以音乐作为音频信号源输入到系统板上。
  
结语
  
这套完整的音频信号采集和处理系统已经应用于实际的音频设备中。

相关资讯
谷歌旗舰芯片代工战略重大调整,台积电成Tensor系列新合作伙伴

业内消息证实,谷歌Pixel 10系列将成为该公司首款更换芯片代工方的旗舰产品。其搭载的Tensor G5芯片确定采用台积电第二代3nm制程(N3E)量产。这一合作标志着谷歌结束与三星的独家代工关系,开启半导体供应链多元化布局。

西部电博会启幕在即!亦真科技邀您“头号玩家”式沉浸六维奇幻世界!

科技赋能文化新篇,沉浸体验再塑经典。2025年7月9日至11日,被誉为中国西部电子信息技术发展重要风向标的第十三届中国(西部)电子信息博览会(西部电博会) 将再次在成都世纪城新国际会展中心8、9号馆盛大举行。本届展会聚焦人工智能、XR(扩展现实)、新型显示、先进计算等前沿领域,汇聚全产业链力量。作为国内领先的“内容+技术+运营”全栈式XR服务商,亦真科技(深圳)有限公司(展位号:8C109) 将携其最新构建的空间计算技术平台和融合5G-A与云渲染技术的多款重磅VR体验作品精彩亮相。公司积极响应国家文化数字化战略,深植中华文化沃土,以创新应用强势赋能新消费与元宇宙场景,现已在全国布局15家直营VR大空间体验馆。此行,亦真科技旨在为与会观众开启一场融合尖端科技与深厚文化的深度沉浸奇幻之旅。

英伟达登顶全球市值榜首,AI芯片霸主地位再强化

2025年6月25日,英伟达股价大涨4.3%,市值攀升至3.77万亿美元,超越微软重夺全球市值第一宝座。这一里程碑事件标志着AI算力需求持续爆发,而英伟达凭借其在数据中心领域的绝对统治力(Q1营收391亿美元,占比89%),成为全球半导体产业格局重构的核心驱动力。

2025年5月日本半导体设备销售额创历史次高,AI需求驱动连续17个月增长

日本半导体制造设备协会(SEAJ)于2025年6月24日正式发布其最新统计报告,详细介绍了2025年5月及1-5月日本半导体制造设备的销售表现。这些数据反映了全球半导体产业链的强劲需求,为行业提供了关键的市场洞察。整体来看,日本制造设备销售额持续展现出卓越的增长态势,多项指标刷新历史纪录,凸显了日本在该领域的核心竞争力和市场主导地位。

龙芯3C6000 vs 英特尔第三代至强:国产算力破局之战

全球数据中心处理器市场长期被x86架构垄断,国产处理器面临指令集授权与生态建设的双重壁垒。2025年6月,龙芯中科发布基于100%自研指令集(LoongArch)的3C6000系列服务器处理器,首次在核心性能参数上对标英特尔2021年推出的第三代至强可扩展处理器,标志着国产高端芯片实现从技术攻关到市场应用的跨越式突破。