基于aic23语音接口及agc方法的实现
摘要:针对语音接口常见的信号幅度动荡的问题,设计了基于语音编解码芯片aic23和数字信号处理器tms320vc5416的语音接口。研究了基于aic23内部可变增益放大器的语音信号自动增益控制(acc)方法,所设计的语音接口电路简单、音质清晰、音量稳定。
关键词:可变增益放大器;多通道缓冲串口;自动增益控制;数字信号处理器
语音接口包括采集和播放两项功能,是语音处理系统中最基本、最关键的部分。语音采集时,输入信号幅度动荡会影响后续处理;语音播放时,输出信号幅度不稳定会恶化收听效果。所以,语音agc(自动增益控制)是语音接口中不可或缺的功能单元。tlv320aic23(简称aic23)是ti公司生产的集成了a/d,d/a转换器和可变增益放大器的高性能语音编解码芯片,是设计语音接口的理想选择。文中介绍了aic23的特点和结构,在此基础上给出语音接口及agc的实现方法。
1 aic23介绍
1.1 主要特点
(1)集成线输入可变增益放大器(vga),增益范围-34.5~12 db,步进1.5 db;
(2)集成线输出可变增益放大器(vga),增益范围-73~6 db,步进1 db;
(3)i/o电压、数据接口与ti公司的54系列dsp兼容。
1.2基本结构和主要接口
aic23的基本结构和主要接口,如图1所示。模拟语音信号从左、右声道线输入管脚或麦克信号输入管脚输入,分别经vga、静音控制、多路选择器、a/d转换器、数字插值滤波器,得到特定采样率的数字语音信号;数字语音信号依次经过数字滤波器、d/a转换器、静音控制和vga,最后从左、右声道线输出管脚输出;aic23的工作状态由系统微处理器通过控制接口设置,控制接口模式为spi/i2c可选(mode管脚置高为spi模式,置低为i2c模式);aic23与微处理器通过数据接口进行数据交换,数据接口为左判断/右判断/i2c/dsp模式可选(由微处理器通过控制接口设置)。ti公司生产的54系列dsp集成了多通道缓冲串口(mcbsp),可与spi模式的控制接口和dsp模式的数据接口无缝连接。
1.3控制方法
aic23是一款可编程芯片,内部有11个9位寄存器,可由微处理器通过控制接口进行配置,从而设定芯片的工作模式和状态。主要寄存器内容,如表1所示。
2 语音接口设计
2.1 硬件设计
语音接口由ti公司的数字信号处理器tms320vc5416与aic23构成,如图2所示。vc5416有3个多通道缓冲串口(mcbsp),其中mcbsp0与aic23的控制接口相连,负责对aic23内部寄存器进行配置。mcbspl与aic23的数据接口相连,完成与aic23之间的数据交换。模拟语音信号从线输入管脚输入,线输出管脚输出。
2.2 接口配置
(1)控制接口。
通过置高aic23的mode管脚将控制接口设为spi模式。vc54.16的mcbsp0设为主动模式,产生位同步信号、帧同步信号,向aic23发送16 bit单帧,每帧高7位为aic23中寄存器的地址,低9位为该寄存器的设置值。本设计中对aic23的配置主要包括:线输入使能、麦克输入静音、数据接口设为dsp(主)模式、字长16 bit、采样率32 khz。
(2)数据接口。
数据接口的dsp模式是专门用来与ti公司dsp相连接的。vc5416的mcbspl工作在从动模式,位同步信号、帧同步信号由aic23产生。mcbspi发送、接收的数据传输采用单帧模式,其中高16位为左声道数据,低16位为右声道数据。
3 语音agc方法的实现
使放大器的增益随信号强度的变化而自动调整的控制方法,就是agc,即自动增益控制。agc可由硬件或软件实现,本设计充分利用aic23内部集成的vga,采用软硬结合的方法实现。输入和输出agc的实现方法,如图3,图4所示。
3.1 输入agc实现方法
输入agc由反馈控制环路实现。检波模块对mcbspl接收到的语音信号进行鉴幅,估计出语音信号的平均包络电平,增益折算模块将平均包络电平与目标电平比较,折算出vga的增益调整量,由积分模块对增益调整量进行累加,得到vga的目标增益值,目标增益值经mcbsp0、控制接口反馈到vga和从而实现增益的自动控制。
(1)检波模块。
检波模块采用快充慢放包络检波算法,对输入信号进行低通滤波,得到信号包络的均值。其表达式为
其中,x(n)为输人语音信号,y(n)为检波结果,mf为充电时间常数,ms为放电时间常数。根据语音信号包络起伏较大的特点,充电时间应该在几百毫秒量级,而放电时间应该在几秒到十几秒之间。另外,由于语音字与字,句与句之间有停顿,停顿期间只有噪声,包络检波器应停止工作。实现的方法是设定幅度门限ln,幅度低于ln的信号认为是噪声,只有幅度高于ln的信号才参与包络检波。
(2)增益折算模块。
平均包络电平y(n)与目标电平yaim相差的分贝数为△g(n)=20 log(yaim/y(n)),由于输入vga的调整精度为1.5 db(共31档),所以vga的增益调整量△g0(n)应取与△g(n)最接近且能被1.5整除的数。y(n)与△g0(n)之间的映射关系,如图5所示,一定范围内的y(n)与唯一的△g0(n)相对应,例如,若y(n)∈[1.3 yaim,1.54 yaim],则△g0(n)=-3 db。
3.2输出agc实现方法
输出agc由前馈控制算法实现。检波模块对语音信号进行鉴幅,估计出语音信号的平均包络电平,增益折算模块将平均包络电平与目标电平比较,折算出vga的增益调整量,再与vga的初始增益值相加,得到vga的目标增益值。目标增益值经mcbsp0和控制接口前馈到vga,从而实现增益的自动控制。
输出agc中检波模块的实现方法与输入agc中检波模块完全一致,增益折算方法与输入agc中的增益折算方法相似,但由于输出vga的调整精度为1 db(共79档),所以输出vga的增益调整量△g0(n)应取与△g(n)最接近的整数。
结束语
在介绍aic23特点和结构的基础上,给出了基于aic23的语音接口设计方法,详细讲解了语音agc的实现方法。充分利用aic23接口简单灵活、输入和输出信噪比高、增益可调的特点,使所设计的语音接口电路简单、音质清晰、音量稳定。
布局边缘计算企业需要提前考虑哪些问题?
Intel出售NAND闪存芯片业务对其发展是好还是坏?
只有机海战术才能生存?国产手机或要到国际市场决胜负
机器人索菲娅手绘的“自画像”以近70万美元的价格售出
气体放电管和压敏电阻的原理及特性
基于AIC23语音接口及AGC方法的实现
网商银行、微众银行或加入数字人民币试点银行队伍
巧用RC吸收电路降低开关管损耗
人工智能之EdgeBoard中CNN架构的剖析
计算机控制系统中的四种电源介绍
工业物联网网关如何设置定时重启步骤
运算放大器和比较器的不同之处
白光LED的六个常见问题解析
桥式整流无级调光电路图
CDMA国际标准的发展历程
IGBT在前,SiC在后,新能源汽车该如何选择?
维信诺合肥斥资440亿建第6代柔性AMOLED生产线
音质很好的耳机排行,调音师耳机才算“声”得人心
新能源汽车动力电池包温度监测的必要性分析
小鹏第二代飞行汽车曝光