W⑨6@@妇@晌响@0⑥⑨妒
系统的主控芯片,用于实现编解码算法,ADl885在系统
中用作模/数、数/模转换器,S3C2440A的AC97控制器
通过AC一-Link的5个串行数字接口引脚与ADl885连
接,分别为:(1)串行数据输入SDATA—IN,方向为输入;
(2)串行数据输出SDATA—OUT,方向为输出;(3)帧同
步发送信号SYNC;(4)位时钟信号BIT-CLK,一般为
12.288MHz;(5)复位信号RESET,低电平有效。
SDATAINSDATAIN
BITCLKBITCLK
SYNCSYNC
ac97SDATA—OUTSDATA0UT
RESElr#RESET#
S3C2440AADl885
图2¥3C2440A与ADl885连接方式图
系统工作时,先由ADl885以8kHz的采样率将传声器输入的模拟语音信号转换成标准的PCM数字
信号,再经过SDATA—IN输入到S3C2440A的AC97控
制器,由AC97控制器收集,用DMA将数据搬移并
存入到数据缓冲区。当采样的数据达到一个语音帧
(10ms)时,即采用G.729AB进行编码处理。由于笔者
设计的系统仅是供研究用的实验平台,因此编码后的
数据直接进行解码,解码后的语音数据再由DMA搬
移到AC97,最后再经ADi885数,模转换后通过扬声
器输出。G..729AB的编码帧方式为10ms为一帧,在每
125仙s采样一个8bit的语音数据,这样,对每80次采
样经过编码的64Kb/s的PCM语音数据进行ACELP
的压缩编码输出数字语音比特率为8Kb/s。ADl885的
比特时钟设定为12.288MHz,帧同步信号由控制器根
据比特时钟提供为48kHz,串行数据在比特时钟的上
升沿发送,接收端在时钟的下降沿采样数据。
6结果及结论
原始11’UG.729AB程序码,按照笔者所述的准则依次优化后,性能提升列于表1。由表可见,C版本
体性能提升达72%以上。
表2为优化程序码大小比较表。因为优化主要以缩短执行周期为目标,所以C语言版本的程序码略大于
原始版本。优化程序的输出结果与原始程序完全相同,
并经过S3C2440试验板的顺利执行,验证结果无误。
参考文献
…111TU-T.RecommendationG.729一AnnexAreducedcorn一国堕妻丝薹巡生蔓墼查筻!塑
表1优化n-U—TG.729AB性能表
原始程序优化C版本优化汇编语言版本方案
频率频率提升率频率提升率
I(MC/s)/(MC/s)/%/(MC/s),%程序codeD罴。D。罴弛D。淼。DataSizeTotalSize
plexity8Kbit/sCS-ACELPspeechcodec[S].Geneva:ITU,1996.
【2】删-T.RecommendationG.,729-AnnexBAsilencecom-pressionschemeforG.729optimizedforterminalscon-formingtoRecommendationV7.0[s1.Geneva:ITU,l996.【3】ITU—T.RecommendationG.729Codingofspeechat8Kbit/susingconjugate-structurealgebraic-code-excitedlinear-prediction(CS-ACELP)IS].Geneva:ITU,1996.
作者简介
赵子L新,教授,主要研究方向为实时信号与信息处理、模式识别与智能系统、语音编码技术;
董娜,硕士研究生,主要研究方向为模式识别与智能系统;
李司字,硕士研究生,主要研究方向为嵌入式开发。
【责任编辑】侯莉
【收稿日期】2008-03—48