您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术基于TMS320C64x DSP的语音采集与盲信号分离系统设计 正文
基于TMS320C64x DSP的语音采集与盲信号分离系统设计

基于TMS320C64x DSP的语音采集与盲信号分离系统设计

点击数:7725 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   DSP/FPGA技术

       盲信号 分离 是指在对彼此独立的源信号混合过程中及各源信号本身均未知的情况下,从混合信号中分离出这些源信号的方法。BSS可以用来从多个麦克风混合 语音 信号中提炼出单个语音信号。然而,现有的BSS算法比较复杂、运算量大、实时性差,不能满足语音处理对实时性的要求,从而限制了它的硬件实现和应用。

       本文利用TMS320C6416  DSP 设计出了混合语音盲信号分离系统。该系统通过 采集 的两路混合语音信号进行盲信号分离,实时输出分离的语音信号。

       TMS320C6416的特点

       本系统用TMS320C6416(以下简称C6416)的2个McBSP和EDMA来实现语音信号的采集、数据的传递和分离语音的输出。

       McBSP的特点 :除了具有标准串口的功能以外,McBSP还有以下特点:支持多种传输接口,如MVIP兼容的交换方式以及ST-BUS兼容设备和T1/E1帧协议等;可以与多达128个通道进行收发;支持不同字长的数据传输,并且当8bit数据传输时,还可以选择先传LSB或MSB;可设置帧同步信号和数据时钟信号的极性;内部传输时钟和帧同步信号可编程程度高。

       EDMA的特点:EDMA控制器负责片内L2存储器与其他外设之间的数据传输。EDMA和DMA控制器在结构上有很大的不同,DMA控制器是基于寄存器结构的,而EDMA控制器是基于RAM结构的。其增强之处包括:提供了64个通道;通道之间的优先级可以设置;支持不同结构数据传输的链接。EDMA控制器由事件和中断处理寄存器、事件编码器、参数RAM和硬件地址产生器组成。首先,事件寄存器对EDMA事件进行捕获,事件编码器再对同时发生的多个事件进行分辨,最后,硬件地址产生器根据参数RAM中存放的相关传输参数产生读写操作所需要的地址。EDMA数据的传输格式和控制都是通过设置EDMA控制寄存器和参数RAM来实现的,每个通道有一组6个字节(192 bit)参数RAM,可以通过32 bit的外设总线对其进行访问。

       接口设计

       由于本系统采样的数据量比较大,并且C6416的McBSP通道含有m律和A律压扩硬件,支持对输入数据的m律或A律扩展以及对输出数据的m律或A律压缩,因此,本文选用A律编/解码芯片TP3057作为ADC和DAC。系统选用两片TP3057,它们将麦克风采集到的语音信号数字化(8KHz的采样频率),输出8位A律PCM码。

       本方案将C6416的McBSP0和McBSP2分别与两片TP3057相连,采集两路混合语音信号。TP3057(1)还会输出分离语音信号。TP3057将模拟混合语音信号转换为8位A律PCM,然后在FSX为低期间,C6416通过McBSP接收PCM码,经过McBSP A律解压缩后放入DRR中,再由EDMA控制器将数据从DRR中读到L2中的SDRAM指定单元,最后进行BSS处理。分离语音信号由EDMA送到McBSP0中的发送寄存器(DXR),经过A律压缩后送入发送移位寄存器,然后在FSR为低期间,经接口送到TP3057(1)。TP3057(1)把数据A律解压缩后用扬声器输出。

       本系统的程序主要有以下几部分构成:C6416的初始化、McBSP0和McBSP2两通道的初始化、EDMA通道的设置以及BSS子程序。

       C6416的初始化主要是对DSP时钟、工作模式、片内L2存储器的分配和DSP堆栈的设置。McBSP0和McBSP2两通道的初始化则是通过14个控制寄存器来设置时钟和帧同步信号、帧同步的相位、帧的长度、数据单元的字长、数据延迟和压扩方式等。在本系统中,由于接口处是8位PCM码,所以数据单元的字长设置为0,以8位传输,延迟为0,并将压扩模式设置为A律。EDMA通道初始化主要是对相关通道(通道12、13、17和18)的控制寄存器和传输参数RAM进行设置。而BSS子程序是整个系统的核心部分,对采集到的两路混合语音信号运用盲信号分离方法进行处理,分离出语音信号。   


本文关键字:语音  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术