新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于TMS320c55x电子耳蜗语音增强的实现

基于TMS320c55x电子耳蜗语音增强的实现

作者: 时间:2001-11-09 来源: 收藏

耳蜗通过植入电子耳蜗(Electronic Cochlear)为几乎丧失了所有听力的人恢复部分听力,它模仿人的内耳人为地产生电信号刺激听觉神经。电子耳蜗发展是令人鼓舞的,有些失聪的人已经可以通过电话进行交谈。电子耳蜗的设计者面临的一个挑战就是发展能够完整模仿人内耳功能的语音信号处理技术,这其中的研究方向之一就是发展语音增强技术来帮助接受耳蜗移植的人在噪声环境中更好地沟通。目前的电子耳蜗还没有很好地实现人的内耳所具有的语音增强功能。因此,我们首先从选择合适的语音增强算法入手,再用TIDSP(数字信号处理器)实现增强算法。由于篇幅所限只介绍基于子空间方法的增强算法。

本文引用地址:https://www.eepw.com.cn/article/2913.htm

为了选择合适的语音增强算法,最终经过反复对比验证,我们决定使用基于子空间方法的增强算法对纯净语音信号进行估计,再使用基于人耳听觉特性的语音增强算法对语音信号进行增强。基于子空间方法的增强算法主要是利用数据协方差矩阵的特征值分解,利用特征值的大小,将协方差矩阵的特征子空间分为信号子空间和噪声子空间两部分。数字信号处理中的一个关键问题是特征提取,它指的是数据空间变换到特征空间的过程。一般而言,理论上这是一种等维数的变换过程。而实际上,我们更乐于使数据矢量能够用更低维数的有效特征表示,但仍然保留了数据矢量的内在信息。其流程见图1

为了便于语音增强算法向DSP上移植,又考虑到目前多数DSP开发环境均提供对ANSI C的支持,因而首先将算法由仿真用的Matlab程序改写为C语言。其中主要包括以下两方面的问题:

1)语音信号的实时分帧处理。由于算法理论上是对语音信号以语音帧为单位进行处理的,但实际Matlab仿真程序中在处理每一帧时都使用了其他所有帧的信息,因而要将算法改写为适合于分帧处理。

2)算法的运行速度和存储空间占用问题。基于子空间方法的语音增强算法中大量用到矩阵运算,将使算法的速度受到很大影响。

针对以上两个问题,我们对算法进行了部分的改进,使其适应实时分帧处理,程序调试过程中进行了优化,提高运行速度、减小存储空间。其中具体改进措施如下:

对噪声功率的估计方法。仿真程序中估计噪声的方法为寻找语音信号中能量最小的几帧,将其平均能量作为噪声平均功率。显然这种方法不适合与实时分帧处理。因而改为寻找当前帧以前的所有帧(包括当前帧)中能量最小者的能量作为对噪声功率的估计。实践证明这种方法简便易行,效果与仿真结果相差无几。

程序中分帧方法的改进。具体为在基于子空间的增强算法中使用的帧长为32。因为基于子空间的增强算法其时间复杂度与帧长平方成正比,所以使用的帧长较短!

CIS(连续分段采样)方案是对人耳听觉系统的一种模仿。CIS方案按照在人的内耳的耳蜗,不同频率的声音信号在不同的位置被带通滤波,传送到那里的听觉神经上,将频率分量转换成生物电流,传输至大脑,最后形成听觉这个原理,选择了以有限的频率点为中心频率的一组带通滤波器,将声音信号分成几个通道,经过一定的调制和处理,将输出信号传送到相应位置的电极上,刺激耳蜗内相应位置的听觉神经,从而产生听觉。经过测试选取16通道的CIS方案。每个通道内,带通滤波器的输出再经过波形校正(Rectifier),即用语音增强算法语音处理后,然后经过低通滤波再调制相应的正弦波形,得到相应电极上的电刺激信号,所有的这些电极信号合并在一起就是系统的输出信号。目前大多数基于CIS方案的电子耳蜗在安静环境下可以使聋人获得一定语音信息,但是在噪声环境下,这种信息传递就会大打折扣。这不是一个简单的干扰问题。正常人在噪声环境下仍然能获得相当准确的语音信息,但是电子耳蜗在噪声环境下传递给聋人很可能就是不可懂的语音。所以抑制噪声对CIS系统的干扰是重要的课题。

TMS320C54系列DSPTMS320家族的定点DSPC54x适用于很多方面,满足了实时嵌入应用的需要,如电信,无线应用、语音处理等等。C54xCPU通过使用改进的哈佛结构,实现了最小化的核心电源消耗和高度的并行运算能力。同时,多种寻址模式和完善的指令集提高了整个系统的性能。

C54x主要有如下特点:

1、增强的哈佛结构,一条程序总线和三条数据总线;

2、高度并行的先进CPU设计,性能更好的面向应用的硬件逻辑;

3、为快速算法和高级语言优化设计的专用指令集;

4、标准化的模块结构,适于快速开发;

5、先进的IC处理技术,提高了性能,降低了电源消耗。

TMS320C55x DSP代表了TI公司最新的一代C5000系列 DSPC55x是在C54x基础上发展起来的,代码向下兼容于C54xC55x在电源效率,低系统消耗和并行度方面做了很好的优化。

集成开发环境采用的是TI TMS320VC5410 Evaluation Module System Kit的一整套硬件,以及TI公司的集成开发环境(IDE)Code Composer Studio IDE for C5000软件。

集成开发环境提供从代码开发、代码优化、可执行代码生成,软件仿真,硬件仿真等等丰富的功能,我们的一切工作都是这上面开展的,这也是现代DSP开发的发展方向,TI公司大力推广的Express DSP开发技术的就是以集成开发环境为中心,配以其他的软件和硬件实现快速的DSP代码开发。

1、信号先经过一个预加重滤波器处理,滤波器截止频率是2000Hz;

2、上一步的输出信号被带通滤波分为n个频带(n=16),这里使用的带通滤波器是二阶butterworth滤波器;

3、对上一步的输出信号进行全波整流。

4、通过低通滤波取出第三步信号的包络,所用的滤波器为二阶butterworth滤波器,截止频率为400Hz;

5、产生幅度为包络算术平均值,频率为带通滤波器中心频率的正弦信号。每个频带的正弦信号最后被叠加起来得到合成语音信号,合成语音信号段的电平被调节到和原始语音信号具有相同的算术平均值。

 

1、信度限制:为了防止处理过程中的溢出,我们必须限制语音信号幅度,否则会有难以预料的错误。

2、精确保证:必须使用一些通用目的函数,例如FFT运算和正弦运算,因为有TI的DSP定点库函数,我们直接在程序中调用这些库函数,取得了较好的效果。

3、数据输出的模拟实现:借助集成开发环境的DATA I/O功能实现了从文件输入处理数据,处理后的数据也放到一个文件中。模拟实现数据的实时I/O。

运行结果:我们的试听结果证明基于CIS的语音增强算法能提高电子耳蜗在噪声环境下的性能,实验用16个电极的结果完全是可以为人接受的。

由于篇幅的限制,具体的代码就不附在这里。■



关键词:

评论


相关推荐

技术专区

关闭