单位文秘网 2021-10-14 08:14:48 点击: 次
摘要:实现了一种基于DSP的通用语音编译码器实验平台。在该平台上通过软件重构可以实现常用语音信号的编译码。详细介绍了应用DSP实现通用语音编译码中的关键技术,包括硬件平台设计、软件结构和接口扩展等。由于硬件和软件采用模块和结构化设计,通过开放的模块接口和子程序使得该设计具有扩展和升级容易、学生参与度高等优点。最后通过实际测试验证了设计的正确性。
关键词:语音信号处理; DSP; 编码器; 解码器; 实验系统
中图分类号:TN912.334文献标识码:A文章编号:1004373X(2011)23007704
Design and Implementation of Universal Speech CODEC Based on DSP Platform
DONG Shaojie, NIE Wei, ZHANG Yongjie
(Computer System and Communication Laboratory, Beijing University of Chemical Technology, Beijing 100029, China)
Abstract: A kind of universal speech encoding and decoding platform on DSP is implemented, which can complete the encoding and decoding common speech signals by using the software refactoring technology. The key techniques of implementing the general speech encoding and decoding are introduced such as hardware platform design, software structure and interface expansion. Because of that hardware and software used modularization and structuralization design, this design has advantages of easy expansion and upgrade, and students participation through open interface module and subroutine. At last, the correctness of this design is verified through the simulation and the actual test.
Keywords: speech signal processing; DSP; encoder; decoder; experimental system
收稿日期:20110621
基金项目:实验中心专项建设资金(B40828,BJDGDZ)资助0引言
语音信号处理在通信系统中占有重要地位,也是通信工程专业的重要课程[1]。由于课程内容比较抽象,如果只是停留在理论教学,会使学生不易理解并且感到枯燥乏味,同时也不容易体现它的实现原理以及在实际通信系统的位置和作用 [2]。语音编译码器的实现主要有三种方法:专用芯片、基于DSP和混合方法[35]。其中,DSP5000系列以其内含硬件乘法器、硬件加法器和FFT运算器特别适合用于语音信号处理[6]。文献[7]提出一种基于DSP的多制式语音编解码器,文献[8]给出一种可变速率的通用语音编解码实现技术,但都不适合实验教学。本文在文献[7]和文献[8]的基础上,结合实验教学特点设计一种语音编译码器实验平台,其设计思想是采用通用的DSP,CPLD,控制器和PC机将语音信号处理过程在硬件、软件、接口和PC机管理几个方面实现模块化和开放接口设计。通过PC机或控制器,可以设置编码方式、调用不同的子程序实现不同的编码算法,同时也设置了计算机数据接口来实现编解码器的通用性,方便直观地了解语音信号的处理过程,易于不同层次、不同目的的学生参与,具有方便实现设计性、系统性、综合性和创新性实验等优点。该平台可以实现G.711,G.721,G.729 和ΔM四种符合国际标准的编解码[9]。为了观察信号的处理过程,在硬件电路的关键点都设置有测试点;其次,在软件设计上也尽量将程序分解成子程序由主程序调用,如初始化子程序、命令解析子程序、信号采集与输出子程序、编译码子程序、数据接收与发送子程序等。每个子程序的入口都有相应的函数名、要传递的参数和返回的结果,这样便于学生参与各个算法子程序的设计。文中给出了详细的硬件电路设计和软件流程图,最后对实验平台进行了测试,结果正确且工作稳定可靠。
1系统结构与硬件电路设计
在硬件设计上根据功能分了6个模块,包括滤波器与放大模块、A/D与D/A转换器模块、DSP处理器模块、FPGA与数据接口模块、MCU控制器与PC机接口模块、键盘/显示器模块。为了防止干扰和方便学生观察信号,各模块之间的控制线通过通用底板相连,而信号通过各个模块的信号线相连。系统结构如图1所示。
图1中,抗混叠滤波器采用二阶有源低通滤波器;音频接口芯片选择TI公司性价比较高的A/D转换芯片TLV320AIC23[10],它可以在8~96 kHz的采样频率范围内提供16 b,20 b,24 b和32 b的采样数据,其DSP Mode是TI公司特有的与DSP连接模式,使音频接口设计非常简单,如对于PCM编码则根据AIC23的数据手册只需在其时钟输入端MCLK引脚外接一个12.288 MHz的有源晶振,配置AIC23的采样率控制寄存器的SR3~SR0=0011,即可得到AIC23的A/D和D/A的采样率为8 kHz;DSP选择TI公司的TMS320VC5416,它采用增强的多总线和优化的CPU设计结构,内含三个多通道缓冲串口McBSP和8/16 b的增强型HPI口,不但可以满足语音编译码算法处理的需求,也方便实现主机访问;SRAM和FLASH分别采用常用的芯片CY7C1041CV33和SST39VF400(两者存储空间均为256K×16 b),外扩存储器的控制时序通过CPLD(EPM3128ATC100)实现;控制器采用AT89C52,它通过DSP的HPI口与DSP相连,其优点是可以通过DSP内部的双口RAM访问DSP内部的各种资源,而不会影响DSP的运行。同时,控制器扩展了键盘/显示和RS 232接口(预留了USB接口),不但方便用户使用,也实现了上位机软件与编译码器的通信。
图1语音编解码实验平台结构图系统工作原理如下:首先来自用户的语音信号先经过抗混叠滤波器模块完成信号的滤波和放大,然后送A/D、D/A模块将模拟语音信号转换成相应标准速率(如8 kHz)和采样精度(如16 b)的数字信号,数字化的语音信号通过多通道缓冲串口McBSP0送给DSP信号处理板,信号处理板将语音数据信号送到DSP内部缓冲区,在缓冲区内按用户选择的方法调用编码算法编成特定码率的码流,再将得到的标准数字码流送数据接口模块输出;另一方面,来自数据接口的码流送数据处理模块,数据处理模块由其多通道缓冲串口McBSP2接收至DSP的内部接收缓冲区,然后由DSP对其进行解码处理,解码后的数字化语音通过多通道缓冲串口McBSP0传送给D/A转换器模块转换成模拟语音信号后送信号滤波和放大模块,从而实现语音信号的采集、编码、发送和接收、解码等功能。
2软件设计
软件设计包括DSP程序、控制器程序、CPLD程序和上位机程序四部分。DSP程序根据命令完成语音信号和计算机数据的处理等;控制器程序完成本地对编译码器的管理,并负责DSP与PC之间的通信;CPLD程序除完成系统需要的组合、时序工作外,还要提供与调制/解调器的数据接口;上位机程序完成对语音编译码器的管理。下面介绍部分程序的设计原理。
2.1DSP程序设计
DSP程序主要包括主程序、命令解析子程序、模拟信号采集与输出子程序、编译码子程序、数据信号接收与发送子程序等。DSP完成G.711规范的ALaw编译码程序流程图如图2所示。
图2PCM编译码流程图在DSP响应控制器程序中设置一个控制标志位CON_SEL,并分配在DSP数据空间内的0x1fffH地址,控制器根据用户从键盘输入的命令(或来自PC机的命令)向此地址写入相应的控制标志,DSP的底层程序响应该控制标志位完成相应的工作(MIC语音处理、线路语音处理和数据通信)。DSP响应控制器程序流程图如图3所示。从流程图中可以看到,对于语音处理,程序先打开中断。当A/D采集完语音数据后,即进入中断服务程序,在中断服务程序中关闭全局中断,并设置数据是否满的标志位为有效状态。主程序查询该标志位,如果有效则调语音处理子程序进行处理,处理完调用通信程序输出;而对于数据通信的处理过程是,DSP首先在内部开辟一个数据缓冲区,并打开HPI中断和全局中断,然后DSP主程序进入数据处理程序,这时接收来自单片机(或PC机)的数据通过数据口传输出去,传送完后可通过HINT去中断控制器,通知主机传送下一个数据。
图3DSP响应控制器程序流程图2.2控制器程序设计
控制器工作有两个状态,即本地控制工作状态和通信传输工作状态。本地控制状态就是实现对编译码器的控制与管理,而通信工作状态仅仅完成DSP与PC机之间的信息传输,这里只说明DSP、控制器和PC机之间的程序设计。由于DSP的HINT引脚和单片机的INT0引脚相连接,HINT中断有效触发的是单片机的INT0中断,所以PC机的上位机软件要响应DSP的中断只能在控制器与PC机的控制协议中完成, DSP在发送完成一个数据后无法采用中断的方式告诉上位机。为解决这个问题,上位机采用查询的方式,即在控制器中设置一个标志位send_end,初始化为0,当DSP发送完一个字节数据后置该标志位为1,上位机每发送完一个数据,通过控制器触发一次DSPINT中断,并读回send_end的值判断,若为1则传送下一个字节,否则等待控制器将当前数据发送完成。
2.3上位机软件设计
上位机软件采用学生容易掌握的VB语言实现,其主界面如图4所示。
图4上位机软件主界面主界面主要完成系统初始化,并显示系统需要检测和控制的内容。初始化正常后,上位机程序即可通过控制器向DSP的指令地址发送控制命令,DSP查询此地址的命令字,并根据命令字进入相应的服务程序(MIC语音、线路语音或数据通信。DSP在初始化中默认的是MIC语音处理),如果要进行线路语音处理则在控制界面上选择“线路输入语音”控制命令,这时控制子界面将用户选择的命令通过控制器送DSP,DSP查询到并判断是线路输入语音命令后即执行线路输入语音子程序,这时如果将数据输出端口与数据输入端口、对应的同步信号连接好的话,从耳机可听到经过语音编码和译码后的电脑播放的音乐,从听到的音乐比较编译码后的语音质量。如果在命令控制界面选择“计算机数据通信”控制命令,即可进行计算机数据通信实验。
3实际测试
3.1语音信号编译码测试
首先将PC机的线路输出用信号线连接到编译码器的LINE输入,启动编译码实验系统,然后由PC机播放MP3音乐,测试得到的8 kHz帧同步和64 kHz位同步时钟的波形如图5所示。
图58 kHz帧同步信号和64 kHz位时钟同步信号图6是在64 kHz位同步时钟情况下编码后的音乐数据波形,在译码器输出端用耳机可以听到MOS分在4 dB以上的音乐。
3.2数据传输测试
首先在上位机软件的控制界面中选择计算机数据通信命令,在弹出的数据通信对话框中输入测试数据1234,如图7所示。
图664 kHz位同步时钟编码后的数据波形图7数据通信测试对话框DSP结束当前语音通信过程后即进入数据通信子程序,这时可以从主界面的编辑对话框中输入要传输的数据(也可以选择PC机中的文件),点击“确认”按钮,编译码实验系统即可完成数据通信,图8给出以64 Kb/s的速率传输的数据,同时PC机从DSP端读回所发送的数据,可以看到数据完全正确。
图8计算机数据传输测试对于传输文件,先选择*.txt数据文件,然后点击“确认”,则*.txt文件中的数据将通过控制器发送到DSP中指定的发送缓冲区中,DSP将发送缓冲区中的数据以64 Kb/s的速率从数字接口McBSP2发送出去。如果将数据接口的发送和接收端用测试线连接起来,则DSP接收回到接收缓冲区中,软件从其接收缓冲区中读回数据,图9是写入DSP发送缓冲区的数据,在CCS中观察与所发送的数据完全一致。
4结语
本文设计并实现了一种基于DSP的通用语音编译码器实验平台。该平台硬件采用模块化设计,软件采用结构化设计, 非常方便学生从不同层面参与实验,也非常适合以团队的方式完成实验项目,将比较复杂、内容比较多的实验项目分解成易于实现的小模块,同时模块和结构化的设计思想非常容易实现硬件和软件的扩展和升级,可以从硬件和软件等多方面培养学生的设计、综合以及创新等能力。从仿真和测试结果可以看到设计的正确性。
图9文件传输测试参考文献
[1]COX Richard V, KAMM Candace A, RABINER Lawrence R. Speech and language processing for nextmillennium communications services \[J\]. IEEE, 2000, 88(8):13141337.
[2]MARKOVIC Milan Z. Speech compressionrecent advances and standardization \[C\]// 5th International Conference on Telecommunications in Modern Satellite, Cable and Broadcasting Service. \[S.l.\]: IEEE, 2001, 1: 235244.
[3]贾艳阳,陈稼婴.用AC4830xCC和TCM38C17实现四路语音编解码系统[J].国外电子元器件,2004(2):1113.
[4]胡仕兵,杨绍国.一种语音压缩处理通用DSP系统的设计与实现[J].电讯技术,2006,46(3):127130.
[5]成城,韩赞东.基于DSP和ARM的音频处理系统设计[J].微计算机信息,2007,23(8):147149.
[6]TI Corporation. TMS320VC5416 fixedpoint digital signal processor data manua1\[M\]. \[S.l.\]: TI Corporation,2003.
[7]言鑫,李力耘,崔慧娟.多制式语音编解码算法的DSP设计实现[J].微计算机信息,2008,24(2):171173.
[8]BESSETTE Bruno, SALAMI Redwan, LEFEBVRE Roch. The adaptive multirate wideband speech codec (AMRWB) \[J\]. IEEE Transactions on Speech and Audio Processing, 2002, 10(8):620636.
[9]杨震,毕厚杰.基于ADPCM、CELP和语音分类和变速率语音压缩编码[J].南京邮电学报,1998,18(2):4146.
[10]付国荣,周庆敏.基于TLV320AIC23和TMS320VC5416的语音系统设计[J].微计算机信息,2007,23(35):192199.
作者简介: 董少杰女,1984年出生,河南人,硕士。主要研究方向为软件无线电、通信信号处理等。
聂伟男,1960年出生,山西太原人,博士,副教授。主要研究方向为软件无线电、通信信号处理等。
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-165-96104-1.html
上一篇:谈我国网络通信技术
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用