新闻  |   论坛  |   博客  |   在线研讨会
基于MPEG-2算法的列车语音记录设备
yanqin | 2009-06-24 17:37:54    阅读:1264   发布文章

 

摘  要:本文介绍了一种新型列车语音记录设备的系统架构、特点和软硬件实现方法。运用dsp技术对语音信号进行处理、压缩和记录,实现了机车语音联控和列车当前状态信息的记录,进而规范乘务员的工作用语并协同监控装置分析行车故障。
关键词:a/d转换;语音数据编码;循环冗余校验      

前言
    列车运行监控记录装置在铁路的安全运输过程中发挥了巨大的作用,但不足的是没有语音记录功能。为了解决这个问题,按照铁道部的技术要求,本文研究开发了一种新型列车语音记录设备。该设备主要用于对乘务员机车联控进行录音,并可协同监控装置分析行车事故,为机务部门和运输部门的科学管理提供新的技术手段。鉴于常见设备的技术指标及标准,对于语音的数字化,以16khz的采样频率、16位量化精度进行采样,在编码方面,采用mpeg-2压缩编码方式。

硬件系统组成
    该语音记录设备如图1所示,整个系统由 adc、dsp、cpld控制器、flash大容量存储器及lcd显示屏等组成。

    在本系统中,adc用来完成信号的转换,数据格式在16、18、20位之间可选,dsp为系统的核心数字处理器,功能强大,完成数字信号的压缩编码,cpld用于数据传送的控制以及对adc、flash和lcd显示屏等器件的初始化检测设置, flash用来存储数据, lcd显示屏用来显示当前系统的状态,如运行等待和数据处理等。系统上电后,若有语音信号,则输入adc,得到一串数字信号送入dsp 进行数据压缩编码,经过压缩编码的数据由cpld存储到flash中,整个系统以流水线的方式工作,数据的采集、压缩编码和存储同时进行。

a/d转换器uda1341ts
    uda1341ts是由philips公司生产的一款单片立体声a/d、d/a转换器,工作电压为3.0v,信噪比为97db,具有双通道输入功能,采样频率在16,32和44.1khz之间可选。

    uda1341ts与dsp构成语音信号采集系统,主要涉及到位采样时钟(bck)、字同步时钟(ws)、采样数据输出(datao)、系统时钟输入(sysclk)这几个对时序有要求的引脚。系统中,datao作为输出引脚,与dsp的bdr0引脚相连;bck、ws、sysclk作为输入引脚,其时序由dsp供给。uda1341ts的系统时钟只能是256fs、384fs、512fs,通过对状态寄存器的sc0位和sc1位编程可实现系统时钟的选择设置。这里fs是语音信号的采样频率。在采样数据时,ws用来指明uda1341ts的datao输出的有效数据。当系统对vinl(左声道)端口进行采样时,ws的上升沿表明一帧数据的起始,下降沿表明一帧数据的结束;当系统对vinr(右声道)端口进行采样时,ws的下降沿表明一帧数据的起始,上升沿表明一帧数据的结束。

740)this.width=740" border=undefined
图1  系统总体结构图

    uda1341ts提供了一个l3端口,利用cpld控制器对l3的l3data、l3mode和l3clock三个引脚进行编程,可以设置其内部的寄存器。当l3mode引脚为低电平时,通过l3data引脚输入寄存器地址信息;当l3mode引脚为高电平时,通过l3data引脚输入有关寄存器设置的数据信息(如设置芯片系统时钟频率、数据输入格式、芯片工作模式等)。uda1341ts与dsp的mcbsp(多通道缓冲同步串口)相连,各种同步信号由dsp产生,这样就保证了新数据的正常接收以及已接收数据的正常处理。uda1341ts与dsp的硬件连接如图2所示。

语音编码器tms320vc5402
    数字语音信号的压缩需要大量的数字信号处理,一般单片机是无法完成的,所以本系统选用ti公司的dsp芯片tms320vc5402(以下简称c5402)对语音信号进行压缩处理。

     c5402通过它的mcbsp与语音采样转换器uda1341ts通信。mcbsp提供了全双工的通信机制,以及双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输,数据宽度在8、12、16、20、24、32位之间可选; mcbsp与adc的通信通过bdr0引脚实现,通信过程的控制则由bclkr0、bclkr1、bfsr0等三条引脚实现。

740)this.width=740" border=undefined
图2  uda1341ts与dsp的硬件连接图

cpld低速控制
    dsp作为高速的运算处理器不适合低速的控制应用。对uda1341ts检测、初始化,对lcd的控制以及对flash的存储控制都是低速的控制。本系统选用cpld来完成这些工作, cpld为altera公司的epm7128s,开发仿真环境为altera公司的max-plusii。因为dsp的地址线a0、a1、a2要被某些芯片使用,所以选取a3-a7、a15共6根地址线和i/o空间选择信号共同产生系统中各芯片的选通信号。cpld中的控制电路
负责产生各种读写信号,如flash的读信号mem_rd和写信号mem_wr等。

    在该系统中,c5402要产生许多控制信号(如flash程序页的选择信号ppg2-ppgo等),同时也要监视和读取外部的状态。因为c5402只有两个通用i/o引脚,所以用cpld来对其进行i/o端口扩展。cpld内部通过一个8位dff触发器实现对数据的输出。另外,通过8个三态门,将8位输入状态放到c5402数据总线的低8位上。c5402有4个中断输入。cpld的中断选择模块可以从最多8个外部中断信号中选择4个作为c5402的中断输入,提高了系统的灵活性。

740)this.width=740" border=undefined
图3 系统主程序

软件设计
    软件设计主要包括adc的程序设计,语音数据的压缩编码等。

adc的程序设计
    adc以16khz的采样频率、16位量化精度进行采样,采样的位同步信号、帧同步信号、数据位时钟信号均由dsp提供,所以对mcbsp相关寄存器的编程,如引脚控制寄存器(pcr)的编程,串口控制器(spcr1,spcr2)的编程,接收控制寄存器(rcr1x,rcr2x)以及发送控制寄存器(xcr1,xcr2)的编程会影响语音信号的最终效果,所以用户在开发之前必须详细参阅相关资料。

740)this.width=740" border=undefined
图4 帧内编码流程


语音数据编码
    本文采用通用的mpeg-2语音压缩编码算法,该算法是帧数据结构编码,一帧的样点值是576,以uda1341ts 的16khz采样频率计算,一帧数据的编码要求在72ms内完成。c5402的指令周期是10ns,在满足算法要求的情况下,进行双通道实时编码约需要10ms,所以c5402可以完成该算法的实时编码。主要包括以下几方面:滤波器组的运算;心理声学模型的运算; 量化编码;帧数据格式化。

    滤波器组的作用是完成信号从时域到频域的映射。心理声学模型的计算是利用1024点的fft,对输入的语音信号进行频谱分析,再结合时频映射的结果,计算出各子带人耳的掩蔽特性。量化编码是通过各子带人耳的掩蔽特性和输出比特率的要求,计算出各子带编码所需的比特分配信息,并且对各子带数据进行线性量化编码的过程。程序的后续工作是按照mpeg-2标准对数据进行格式化,其目的是使数据编码后能被正确地解码,系统主程序如图3所示。

    帧内编码是dsp按照mpeg-2标准对adc传来的数字语音信号进行压缩编码,其流程如图4所示。

结语
    系统上电运行后,经多次实验测试,运行情况稳定。目前该设备已经进行现场调试运用,开始部分装车运行,满足了列车语音记录的实际要求。

参考文献:
1 philips semiconductors. uda1341ts  product specification [z].netherlands:philips semicon ductors,2002

  


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客