基于DSP内核的语音处理技术及仿真

2016-05-14 02:32张瑞祥
数字技术与应用 2016年5期
关键词:仿真语音互联网

张瑞祥

摘要:随着计算机、互联网、集成电路的不断发展,人们对美好生活的迫切向往,一个名为“多媒体”的行业(或称为领域)正在不断壮大,而数字语音通讯又是其中一个重要的角色。语音是人类交流的一种重要方式,渐渐的也变成人机交流的一种重要方式,比如打电话,网络音频,智能家居交互等等。随着社会的发展,交流传递的信息量也在不断增大,信道资源愈加宝贵,在这样一个背景下,DSP语音处理以及仿真技术相应的孕育而生,但是伴随着DSP语音处理及仿真技术的发展,这方面技术也存在一定的问题,因此在能保证音质的前提下,降低传输速率,减少带宽,节约资源成为目前研究的要点。

关键词:互联网 语音 DSP 仿真

中图分类号:TP37 文献标识码:A 文章编号:1007-9416(2016)05-0000-00

1 DSP的原理及发展

对于DSP的语音处理技术,硬件采用TI公司的C6000系列DSP[1],DSP是一种数字处理芯片,采用数字通信具有比模拟通信无可比拟的优势,数字通信首先是的芯片的体积很小,这在集成电路里可谓非常重要,电子产品自问世以来一直以一种爆炸的趋势不断的发展,在1965年,英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出了摩尔定律,其内容:“当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍”,直至最近几年才有所放缓,且具有处理速度快,灵敏度高,抗干扰能力强等优势,满足精确、高效、实时的信号处理要求。

2 DSP硬件内核剖析及设计

2.1 关于TLC320AD50数字影音处理芯片

C6000系列的DSP数据传输字节长为32bit,适合于带宽网络和数字影音的应用,相比于C2000系列,C5000系列等等在语音处理方面具有较好的表现,基于C6000的TMS320DM644x架构是一款用的比较多的数字影音处理芯片,也是一款高度集成并且强化了的系统平台,用于开发是极好的选择,考虑到硬件成本,本文讨论另一种开发平台,以TMS320C6XX为核心的系统处理平台。

2.2硬件内核的具体解析与研究

本套系统的硬件搭配大致由三块组成,一是以TMS320C6XX为核心的数字信号处理器;二是语音信号AD/DA转换选择TLC320AD50芯片;三为存储器模块具体如下:

TMS320C6XX以高达9亿每秒浮点运算性能(MFLOPS)在150 MHz的时钟速率[2],该处理器有32个32位字长度和八个高度独立的功能单元的通用寄存器。八个功能单元提供四浮点/定点ALU,两定点ALU,和两个浮点/定点乘法器。1级程序缓存(L1P)是一个32 k bit的直接映射缓存和1级缓存(L1D)是一个32 k bit 2路组相联高速缓存。2级内存/缓存(L2)包括一个512 k bit存储空间,程序和数据空间之间的共享。二级存储器可以配置为映射的存储器,高速缓存,或两者的组合。周边包括两个多通道缓冲串口(McBSP),两个通用定时器,一个主机接口(HPI),和一个无缝的外部存储器接口(EMIF)能够连接到SDRAM、SBSRAM和异步外设,使得DSP将缓冲串口数据的存放提供强有力的硬件支持。该C6711拥有一套完整的开发工具包括:一个新的C编译器,汇编优化器来简化编程和调度,和Windows调试界面的可视性,源代码执行,为后续软件的操控与调试带来了方便。模拟的语言信号输入,经过运算放大器,被AD50芯片采集,转换为数字信号并进行低频滤波传入到TMS320C6XX的RAM单元,TMS320C6XX将接收到的数据传入SRAM寄存器中,如果传出的话,也是通过AD50芯片,将数字信号转换为模拟信号经过功率放大器输出。这里涉及到C6XX的McBSP寄存器,共有两个,大小都是256K。McBSP和其他设备之间的通信包含75 Mbps的167 MHz-200 MHz的CPU时钟和50 Mbps的100 MHz的CPU时钟。必须确保在数据表中指定的交流时间了。McBSP通信最大比特速率为67 Mbps;因此,最小CLKR / X时钟周期是两倍的CPU周期时间(2P),或15纳秒(67 MHz)。例如,当运行部分在167MHz(P = 6 ns),用15ns作为最小CLKR / X时钟周期(通过设置适当的CLKGDV比或外部时钟源)。当运行部分在60MHz(P = 16.67 ns),使用2P = 33 ns(30 MHz)为最小CLKR / X时钟周期。McBSP将MCBSP通信的最大比特率应用串行端口时,主时钟和帧同步(与CLKR连接CLKX,FSR与FSX,clkxm = FSXM = 1,和clkrm = FSRM = 0)中的数据延迟,1或2模式(R模式端= 01B或10B)与其他设备通信的McBSP是下位机。

数字串行接口包括移位时钟(SCLK)、帧同步信号(FS),输出ADC通道数据(DOUT),和DAC通道数据输入(DIN)[3]。主帧同步的间隔期间,SCLK时钟的ADC通道的结果通过DOUT和时钟16(15 + 1)位的数据通过DIN。在主要的通信,数据字是ADC转换结果。在二次通信中,数据是在读/写位要求时,寄存器读结果。通过DIN期间发生所有的寄存器编写,和数据锁存和帧同步信号在SCLK的下降沿有效。如果想要一个特定的寄存器的默认值,该寄存器在二次通信间隔期间不需要处理。no op命令(DS15–DS8都设置为0)地址伪登记(登记0),没有寄存器编写发生在通信。此外,每个登记可以通过回读DOUT,在二次通信通过设置读位(DS13)1。当该寄存器是在读模式,没有数据可以写在这个周期的寄存器。DS13必须清除写入登记。

如果读的是不要求写入,第二字的低八位都是零[4]。采用主从状态(m/s)终端是由二次通信的MSB反射(DOUT,位DS15)和初级通信LSB(DOUT,位D0)而在15+1模式。当设备处于从属模式,输出保持在高阻抗状态直到一个非零的值是作为一个下位机的数量控制寄存器3(位D7、D6)。 当多个AD50或AD52连接到一个单一的DSP的串行接口在主从配置,控制寄存器,程序应按以下顺序在设备初始化:Control register 1, Control register 2, Control register 4, Control register 3。所有AD50或AD52设备将配置同一个全局初始化写入寄存器1,2,和4。一旦寄存器3程序写入(设置FS和FSD之间sclks数),每个设备将开始在指定的时隙通信。

AD50的输入输出端如图1所示,反相的DAC输出。outm输出可装载600?。outm功能相同和互补输出。outm也可以单独使用单端操作。同相的DAC输出。输出可装载600?。对于TLC320AD52帧同步功能, TLC32AD52只能支持一个从机, FSD终端功能可以通过控制寄存器位D2,FSD加载到寄存器3的值必须乘以2得到的延迟sclks实际数量。DOUT、DIN、SCLK、FS和FC是串行通信信号。从ADC的数字输出数据到DOUT。该DAC的数字输入数据应用于DIN。同步时钟的串行通信数据帧同步是从SCLK。从ADC或DAC信号传输数据,主要采用串口通信[5]。读写词,控制设备的选项和电路结构,二次通信。

两个差分模拟输入(INP和INM或auxp和auxm)复用到∑Δ调制器的辅助通道性能类似于正常的输入通道[6]。一个单杆的抗混叠滤波器必须连接到InP和INM(也auxp和auxm,如果使用)。如果一个RC用于单极滤波器R值不应大于1 K?。输入放大器的增益设置通过控制寄存器4。为了产生最佳的可能,共模抑制不必要的信号性能,模拟信号被处理的差异,直到它被转换为数字数据。信号施加到端子INM和InP应该差保护装置规格。如果直接使用单端输入信号,那么信号电平的6分贝就会丢失。信号源驱动的模拟输入(INP和INM或auxp和auxm)应该有一个低源阻抗,低噪声,性能和精度最好。

3软件编辑及MATLAB仿真

然而声音信号的采集光靠这些硬件的堆砌是不够的,FIR滤波是其很好的选择,滤波器必须将模拟信号转换成数字信号,这个AD50已经完成,且为了保持信号的不失真,对于采样速率也有要求,采样频率为信号频率的5倍左右[7] 。数据的输出经FIR滤波器通过DA输出来。FIR滤波器基本结构分为四大类,分别为横截型(卷积和公式),级联型(实系数二阶因子的乘积),频率抽样(离散傅里叶变换,),快速卷积(圆卷积带替线性卷积)。编程环境可采用CCS6.0开发环境,再采样MATLAB连接程序设计语言,进行仿真,观看参数。例如MATLAB有自带的数据采集函数库,可直接对PC上的音频信号进行采集,方便进行调试。工具箱函数buttp buttor butter在CCS开发环境中应用C语言进行编程,会生成text,cinit,bss,stack,sysmem代码段,在开发环境中,先初始化DSP,初始化UART,初始化McBSP0和AD50,再使能MCBSP0中断,之后便是数据采集,端点检测结束点,其中,UART大的时钟为1.8432MHz,并且波特率9600。MCBSP0每一帧包含一位数据,设置AD50以8k速率进行采样。

现有一实例,一带杂音的WAV文件,杂音集中在低频,而高频部分才是对我们有用的,所以对该杂音进行傅里叶变换,滤掉杂音后在对信号进行傅里叶逆变换,即还原回了原音频信号,用FDATool工具和Filter实现滤波处理,plot()函数绘制原信号波形图……下面图2为MATLAB中FIR滤波器高通,带通,带阻的仿真波形。

4总结与展望

语音识别及仿真技术是一门新兴学科,从实验室到市场,从工业到民间,二十多年的发展使我们认识到语音及仿真技术的重要性,从最早期的通话,到现在的互联网+人与智能之间的交互,现在国内做的好的主要有科大讯飞,尚科语音,捷通华声等等,我们也能看到这一技术正在快速的融入我们的生活中,比如现在手机输入法都自带语音转换成文字的功能,苹果的Siri等等。随着互联网的更进一步发展及社会的进步,相信在不久的将来,语音处理及仿真技术使用起来将会更加得心应手,也将给人类社会带来更多的惊喜与便捷,希望此文能给后人解去一些疑惑,提供一份有价值的参考资料,也望业内高手多多指教。

参考文献

[1]肖莹慧.基于DSP的语音信号采集系统研究与设计[J].信息通信,2013.

[2]牛景涛.基于DSP实现的数字语音信号处理技术研究[D].西北工业大学,2013.

[3]谢德芳.数字信号处理[M].北京:北京科学出版社,2005.

[4]张雄伟.现代语言处理技术及应用[M].北京:机械工业出版社,2006.

[5]吴家安.语音编码技术及应用[M].北京:机械工业出版社,2006.

[6]刘幺,宋庭新.语音识别与控制应用技术[M].北京:科学出版社,2008.

[7] 张雪英.数字语音处理及MATLAB仿真[M].北京:电子工业出版社,2012.

猜你喜欢
仿真语音互联网
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施