基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx

上传人:b****5 文档编号:19667336 上传时间:2023-01-08 格式:DOCX 页数:10 大小:203.94KB
下载 相关 举报
基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx_第1页
第1页 / 共10页
基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx_第2页
第2页 / 共10页
基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx_第3页
第3页 / 共10页
基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx_第4页
第4页 / 共10页
基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx

《基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

基于ARM和DSP的语音通讯系统设计图文Word文档下载推荐.docx

吴 平1,2,曹晓琳1,2,丁铁夫1

(1.中国科学院长春光学精密机械与物理研究所,吉林长春 130021;

2.中国科学院研究生院,北京 100039摘要:

为解决强背景噪声下的语音通信问题,设计了基于ARM核处理器的硬件控制平台和以DSP为核心的语音处理系统,采用嵌入式以太网完成实时语音和指令数据的传输;

在uClinux嵌入式操作系统下开发了外部设备的驱动程序和网络应用程序,系统在实际应用中满足了语音实时通讯要求。

关键词:

ARM;

DSP;

语音;

uClinux;

嵌入式以太网

DesignofSpeechCommunicationSystemBasedonARMandDSP

WuPing1,2,CaoXiaolin1,2,DingTiefu1

(1.ChangchunInstituteofOptics,FineMechanicsandPhysics,ChineseAcademyofSciences,Changchun 130021,China;

2.GraduateSchool,ChineseAcademyofSciences,Beijing 100039,China

Abstract:

AspeechsignalprocessingsystembasedonthehardwarecontrolplatformofARMcoreprocessorDSPisdesignedtore2solvethespeechcommunicationinthehighnoiseenvironment.transmissionofrealtimespeechandisrealizedbytheem2beddedethernet.DevicedriverandnetworkapplicationprogramaredevelopedinResultshowsthissys2temhasmettherealtimedemandsofspeechcommunication.

Keywords:

speech;

embeddedEt0 引言

在通话质量差、、,作为改和操作系统的10M嵌入式以太网,DSP数字信号处理技术完成语音数据的采集、降噪和传输,满足了系统实际要求。

1 数字语音通讯系统硬件设计

嵌入式以太网的网络拓扑结构为总线型连接方式,网络通讯采用80213协议,各通话成员均以网络终端形式接入系统,通过TCP(UDP/IP协议进行语音和数据的传输。

系统的各个成员拥有不同的优先级和通话权限,可接受网络提供的点对点、点对多点的语音和数据服务。

图1为网络终端的硬件结构,采用Samsung公司的ARM7TDMI内核处理器S3C4510B(下简称ARM为控制核心,利用ARM内置的以太网控制器实现各终端的网络连接,通过RS232实现与外部数据通讯,利用ARM的两个外部I/OBank分别完成与DSP的语音数据交换以及对LCD字符显示模块和键盘的控制。

PCM语音数据的编解码工作由MC145483芯片完成,语音采样频率为8kHz,16位编码,传输带宽为128kb/s。

语音处理系统以DSP芯片TMS320VC5402(下简称DSP为处理核心,实现对语音数据的采集和语音回送,DSP首先对

PCM语音进行自适应滤波,然后将处理后的纯净语音经FPGA语音模块内的语音缓存区交给ARM,ARM将接收到的语音数据按UDP协议处理为IP包发送到局域网上的通话人员。

FPGA用来扩展和简化ARM与各外设的接口,ARM和DSP的数据总线、地址总线、读写信号线、相应的中断线和片选线等都接入FPGA,通过FPGA的内部逻辑设计产生需要的

控制信号和数据交换通道。

图1中KEY模块为键盘提供行列扫描信号和键盘消抖电路,LCD模块实现ARM对LCD的显示控制。

图1 网络终端硬件结构图

PCM模块的结构如图2所示,图中pianxuan译码逻辑左

侧为DSP的控制信号线,右上部分为DSP通过FPGA扩展的

存储器接口。

Code逻辑块利用FPGA外接时钟源,分频产生MC145483编解码所需的512kHz的MCLK、BCLKR和8kHz的FST、FSR时钟信号,以及8kHz的语音采集中断信号(与

 ・1424・  计算机测量与控制 第12期

DSP的/INT0相连,并完成MC145483串行语音数据和DSP

并行数据总线之间的串并转换工作

图2 PCM模块逻辑图

图3 ARM接收DSP语音包逻辑

ARM和DSP之间的语音数据交换采用打包的办法,通过FPGA内的语音模块实现,在语音模块中使用两个RAM作为

语音缓存区,分别存放发送和接收的语音数据包,定义一个语

音包为16ms、256字节。

图3为FPGA语音模块内DSP向ARM发送语音数据逻辑电路,其中的控制信号由ARM或DSP的读写线、片选线和地址线经译码逻辑复合产生,/ARM_RD为ARM读信号线,/DSP_CLR为DSP用来复位RAM地址信号,/DSP_WR为DSP写数据信号,DSP写一个字节语音数据RAM地址自动加1,写满256字节后发送/DSP_INT中断信号给ARM,并将RAM地址复位,ARM在收到中断信号后即读取256个字节的语音数据,完成一次语音数据包的接收操作。

相应的在FPGA语音模块内另有ARM向DSP发送语音数据的逻辑电路,由ARM控制时序并中断通知DSP,DSP在收到语音数据包后无需处理,直接送MC145483进行播放。

本系统选用uClinux嵌入式操作系统经过平台层次的移植

运行在以ARM为核心的硬件平台上,将FPGA内设计的语音模块、KEY模块和LCD模块作为外设开发相应的设备驱动程序,由操作系统进行管理,实现ARM对外设的管理和控制,并利用uClinux集成的TCP/IP协议栈进行网络编程,实现语音和其它数据的实时、可靠传输。

2 系统软件设计

uClinux是针对控制领域的嵌入式Linux操作系统,派生

于Linux210/214内核,适合不具备MMU的微处理器。

所以uClinux采用实存储器策略,所有程序访问的地址都是实际的物理地址。

uClinux可以根据实际硬件系统对其进行裁减,最小可在512kB左右[1]。

211 设备驱动程序

uClinux设备驱动程序可分为用户空间驱动程序和内核空间驱动程序,由于uClinux嵌入式操作系统不具备MMU,用

户程序可以直接访问物理地址,对于不需要中断处理器的外部设备如本系统的LCD字符显示模块,可以采用对其编写用户空间驱动程序的方法,即可满足系统设计要求。

相对内核空间驱动程序,C,,可使用[2]、语音设备等需要中断处,内核设备驱动程序是操作系统内核和硬件设备之间的接口,它为应用程序屏蔽了硬件的细节,使得应用程序可以象操作普通文件一样对硬件设备进行操作。

以下简要介绍语音设备的字符型设备驱动程序,操作系统将FPGA内的语音模块抽象为语音硬件设备,定义该设备驱动程序的file_operations结构为:

structfile_operationsdspsound_fops{

  read:

dspsound_read,/3用于读取语音数据3/  write:

dspsound_write,/3用于写入语音数据

3/

  ioctl:

dspsound_ioctl,/3对设备进行控制操作3/  open:

dspsound_open,/3打开设备并初始化3/  release:

dspsound_release,/3关闭设备3/

};

在操作系统内部,外部设备的存取是通过一组固定入口点来进行的,这些入口点由每个外设的file_operations结构向系统内核进行说明,该结构的每一个成员都对应着一个系统调用,当用户进程利用系统调用对设备文件进行操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针。

编写设备驱动程序的主要工作就是编写子函数来填充file_operations的各个域。

uClinux对中断的处理属于系统的核心部分,如果外部设备与内核以中断方式进行数据交换,就必须把该设备的驱动程序作为系统内核的一部分,把相关的中断号路由到正确的中断处理程序中。

设备驱动程序通过调用intrequest_irq(函数向内核申请中断,并将一个中断服务函数挂到相应的处理队列中。

第12期吴平,等:

基于ARM和DSP的语音通讯系统设计 ・1425・  

使用内核函数intregister_chrdev(向操作系统注册新设备驱动程序。

212 网络应用程序

为使网络中的多个主机同时接受到相同的报文,可以采用单播、广播和组播方式实现。

如采用单播方式,源主机必须不停的产生多个相同的报文进行发送,之后再产生第二个数据报文,这对发送主机来说,是很大的负担。

如采用广播的方式,则源主机会把报文传送到局域网内每个主机上,不管这个主机是否对报文感兴趣,这样会造成带宽的浪费和主机的资源浪费。

如采用组播方式,源主机可以只发送一个报文就可以到达每个需要接收该报文的主机。

组播能使一个或多个组播源只把数据包发送给特定的组播组,而只有加入该组播组的主机才能接收到数据包。

uClinux嵌入式操作系统集成有TCP/IP协议栈,本系统对非语音数据和指令数据采用可靠的TCP/IP协议通过多线程编程实现,以保证可靠通讯。

而语音数据传送最重要的是实时,且语音自身有一定的容错能力,偶而一个包丢失或传送错误,并不会严重影响语音的保真度和对语义的理解,特别对组播和广播情况,只能使用UDP协议才能够实现各通话终端间语音交谈分组和电话会议。

本系统对语音通讯采用基于UDP/IP协议的多进程编程方法,由于uClinux系统的内存管理问题,uClinux不支持fork(函数,对多进程的实现要使用vfork(和exec族函数。

播程序的编写和普通UDP服务程序类似,无需建立连接,收IP组播的成员集合构成一个群组,,某,播组。

需指出的是,IP,不能出现在任何数据报的源地址字段中。

系统在初始化时,为每个成员分配不同的IP地址和终端号码,成员可直接用终端号码进行相应的通话操作和数据通讯[3]。

因为UDP不提供大块数据的分割功能,为保证实时传输,需要合理设计语音发送缓冲区的大小,使得一个语音缓冲区内的数据可以通过一个UDP发送。

每个以太网帧的数据段最大长度为1500字节,除去IP头和UDP报头,每个UDP可以承载的最大语音数据量为1472字节。

本系统实际语音发送缓冲区设为256字节,与ARM和DSP语音交换的数据包大小一致,即ARM收到DSP一个语音包后即处理为UDP包进行发送,这样既保证实时传输,又不使网络负载过大,同时如果网络中偶而丢失一个语音包,因其中语音信息较少,对语音的质量影响也不大。

对接收端实时连续播放语音,采用预存储技术解决抖动问题,设置一个预存储量,语音包数目达到此数量时才进行播放。

通过实验,本系统在实际应用中接收循环缓存区设为1024字节,预存储值为1包(256字节,即DSP在收到第2包语音后才开始将第1包及以后的语音送MC145483进行播放,延时为16ms,这样处理后语音听起来十分流畅,解决了语音抖动问题。

3 语音信号处理算法

DSP主要针对由MC145483采集到的带噪PCM语音进行

降噪处理,经对实际环境的噪声样本分析发现,噪声大体上可

以分为周期性噪声、脉冲噪声、宽带噪声及同声道其他语音的干扰,周期性噪声主要来源于发动机等周期性运转的机械,噪声频谱集中在低频部分,基本在1kHz以下,对低频周期性噪声进行IIR数字滤波即有明显抑制,不会严重影响语音可懂度。

经过上述处理后,信道中剩余的噪声分量即为与语音信号在时域及频域基本重叠的宽带噪声。

对宽带噪声采用基于短时谱估计的谱相减法进行处理,该算法利用加性噪声与读音不相关的特点,在假设噪声是统计平稳的前提下,用无语音间隙测算得到的噪声频谱估计值取代有语音期间噪声的频谱,与含噪语音频谱相减,从而获得语音频谱的估计值。

谱相减法具有算法简单、运算量小的特点,便于实现快速处理,往往能够获得较高的输出信噪比[4]。

假设纯净语音s(n被加性噪声d(n所污染,形成带噪语音y(n,即y(n=s(n+d(n。

y(n通常需要加窗分帧处理,所以上式可表示为:

ym(n=sm(n+dm(n

(1式中,m为语音帧编号,n为每帧语音中采样点的编号。

设ym(n的傅里叶系数为Yk,sm(n的傅里叶系数为Sk,dm(n的傅里叶系数为Nk(1式进行傅里叶变换,并用无话时的|Nk|λn(k作为噪声谱估计值|Yk|Sk+|Nk=|YkNk|]=|Yk|-λn(k

(2

图4 幅值谱相减法实现框图

  图4为基于幅值谱相减法的具体实现框图。

对输入带噪语音分帧加窗后,对有语音帧,一方面提取出原带噪语音相位;

另一方面采用之前最新的某无语音帧时测算得到的噪声频谱幅度估计值,近似替代此帧噪声的频谱幅度,从带噪语音频谱幅度将其扣除作为此帧语音频谱幅度估计值。

对语音频谱幅度估计值插入原带噪语音相位作为语音频谱的估计值,对其进行反傅里叶变换即可得到增强后的语音信号。

对无语音帧,理论上直接置零作为频谱估计值以获得更高的信噪比,但实验表明,这样处理会使输出语音有明显的截断感。

因此,对无语音帧采用与有语音帧同样的方式处理。

并在处理后及时更新E[|Nk

 ・1426・  

计算机测量与控制 第12期

|]备用。

4 结束语

本文介绍了一种基于嵌入式局域网的语音通讯系统,相比于传统的因特网IP电话,本系统主要用于语音实时通讯,网络数据主要是语音,其它数据较少,而且限于在局域网范围内传送,网络流量和负载都较低,语音数据传送路径和时延相对固定,故没有采用复杂的语音压缩算法。

实践证明,基于ARM和DSP的系统设计方案能够满足特殊环境下各成员间的实时语音通讯要求。

参考文献:

[1]范晓珣,高金山.基于uClinux的嵌入式数字存储示波器[J].计

算机测量与控制,2003,11(12:

1010-1012.

[2]魏永明,骆刚,姜君,译.Linux设备驱动程序[M].北京:

国电力出版社,2002.

[3]张辉,译.GNU/Linux编程指南(第二版[M].北京:

清华大

学出版社,2002.

[4]朱民雄,等.计算机语音技术[M].北京:

北京航空航天大学出

版社,2002.

(上接第1393页

⑥将中断屏蔽寄存器初始化为0X0001,使消息完成中断使能;

⑦将开始/复位寄存器配置为0X0002,启动MT模式;

⑧将配置寄存器2配置为0X0004,清中断。

通过对以上寄存器的配置,即可完成MT操作[6]。

412 自检模块

自检模块主要完成对BU-61580的4K字内存空间的检查,看是否有错。

实现方法是向该内存空间写入连续的数据,然后读出来比较看是否相等,若不等则表示有错,记录下总的错误数并把这个错误数通过串行口发送给上位机。

413 中断模块

本接口卡驱动程序的中断模块分为两部分:

收1553B总线到来的数据,响应1553B,的是F206的INT1,IN;

另一,接收上位机的命令是通过F206的异步来进行的,利用的是F206的TXRXINT中断。

在INT1中断服务子程序中置“读总线数据标志”,在异步串口中断服务子程序中置“读串口数据命令标志”。

在查询模块中,可以通过查询这两个标志,来判断是否有总线数据到来以及是否有上位机命令到来。

这两个中断服务子程序的流程图分别如图3和图4所示。

414 查询模块

在查询模块中,通过查询“读总线数据标志位”和“读串口数据标志位”,来分别进行1553B

总线数据的接收转发以及

图3 TXRXINT中断     图4 INT1中断服务

服务程序流程图     程序流程图

上位机命令的读取和自检结果的返回。

当“读总线数据标志位”有效时,F206就从BU-61580的命令堆栈相应地址处开始依次读四个地址单元的内容,分别为数据块状态字、时间标志字、数据块指针和接收到的命令字,根据命令字和数据块指针到数据堆栈读取总线数据,然后将接收到的总线上的数据转发出去。

在这里需要注意的两点是:

(1615800X0400增至0X07FF后

应再翻转回地址0X0400;

20X0800增至0X0FFF,主要用ADTR。

当“读串口数据标志位”有效时,读TR接收上位机的命令,根据不同的命令实现相应的功能。

为了能够保证与上位机实现可靠的握手,在查询程序中设置了一个数据缓冲区,在查询程序中对缓冲区中的数据进行判断,看是否收到一帧完整的命令。

若收到一帧完整的命令,则根据不同的命令设置系统的启动、停止、自检等相应标志并将缓冲区中的数据依次向前移动一帧,数据指针也向前移动一帧。

5 结束语

现代电子信息技术、计算机技术、控制技术的快速发展,使得航空电子综合化技术也得到迅速发展。

DSP芯片作为一种具有特殊结构的微处理器,它以其强大的运算和控制功能以及方便、灵活等特点在通信、航空航天、工业控制、医疗等领域得到了广泛的应用。

基于DSP的1553B总线接口卡的软硬件设计方案,对于DSP在1553B总线技术中的使用具有一定的实用参考价值。

[1]罗志强.航空电子综合化系统[M].北京:

版社,1990.

[2]吴勇,朱建民,等.航电综合化系统总线接口板研究设计[J].火

力与指挥控制,2001,26(3:

27-31.

[3]林强,熊华钢,等.DSP在1553总线接口技术中的应用[J].微

计算机应用,2004,25(3:

339-342.

[4]TMS320C2XXUser’sGuide[Z].TexasInstruments,1999.[5]何苏勤,王忠勇.TMS320C2000系列DSP原理及实用技术[M].

北京:

电子工业出版社,2003.

[6]ACE/Mini-ACESeriesBC/RT/MTAdvancedCommunicationEn2

gineIntegrated1553TerminalUser’sGuide[Z].DDC,1999.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1