用SPCE061A设计的嵌入式语音通信平台
发布时间:2008/6/3 0:00:00 访问次数:792
    
     引言
    随着数字信号处理技术的发展,语音交互的嵌入式和网络化发展已日趋成熟。但由于嵌入式系统具有存储空间小、显示能力不足的特点,要进行广泛而深入的嵌入式语音压缩、语音通信方面的研究和分析,有一个与pc机相连的台理而完善的语音通信平台。本文基于台湾凌阳公司的spce061a型号微控制器和adpcm(自适应差分脉冲编码调制)的原理,阐述实现嵌入式语音通信平台的方法,并提出有针对性的设计策略。
    1平台构架
    图1为平台功能模块,本文实现的语音网络为星型网络拓扑结构,pc机服务器与多个语音终端通过max232串口相连,承担着通信中介和实验数据分析的任务。
    在终端功能模块中,中心控制和处理选用凌阳公司的spce061a。它的cpu内核是凌阳最新推出的μ′sp 16位微处理器芯片,因而具有多功能微控制器和高速率微处理器的双重特色。在音频处理方面,它具有单通道声音模/数转换器,并内置有具备自动增益控制(agc)的麦克风放大器,从而简化了语音处理系统的硬件组成。器件详细资料见参考文献。音频输入输出模块包括话筒输入和耳机输出两个部分。话筒输入到a/d采样口之间月lm324n运算放大器构建一个两级防混叠低通滤波器。在d/a口到耳机输出之间使用spy0030功率放大器,可提供最大500mw的输出功率。电源管理模块采用了spy0029,可以提供3.14v的低功耗电压标准。rs232通信接口主要负责与pc机的通信。这里采用max232芯片,可同时提供两个通道的rs2.32通信连接。
    在pc机上软件的功能模块图中,全部模块由visual c++实现,具有友好的人机交互界面。其中通信模块实现所有的通信任务,语音算法模块集成有各类语音压缩、数字滤波、静音检测以及短时分析等算法;分析模块可以提供图形界面,显示语音的波形图和频谱特征;语音算法模块和分析模块仅为研究数字语音算法提供方便。
    2 adpcm编解码原理
    adpcm是语音压缩编码中复杂度较低的一种方法。它利用语音信号的非平稳特点,使用自适应预测和自适应量化,能在32kb/s数码率上达到64kb/s数码率的语音质量(mos分为4.1),从而符合进入公用网的要求。由于adpcm具有这样的优越性能,目前它在电信长途传输系统中和各类音频传输或处理系统中已得到了广泛的应adpcm编码原理如图2所示。
    adpcm的核心思想是:①利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值;②使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。
    这里采用了后向自适应量化和预测。其主要原理是,根据前一时刻量化器的输出数字码来确定量化器的量化间隔,并根据前一时刻的逆量化值来确定这一时刻预测器的输出。
    量化算法符合jayant算法,即△(k+1)=△(k)m(|i(k)|)其中,△(k+1)和△(k)分别为这一时刻和前一时刻的量化间隔,i(k)为前一时刻输出的码字,而m指以码字为自变量的关系函数,取值如下:
    |i(k)|值为1,2,3,4,5,6,7,8;
    m(|i(k)|)值为0.9,0.9,0.9,0.9,1.2,1.6,2.0,2,4。
    预测算法采用参数修正算法, 即pred(k+1)=pred(k)+d(k)+α△(k)其中,△(k)为前一时刻量化间隔,pred(k)和pred(k+1)分别为前一时刻和这一时刻的预测值,d(k)为前一时刻的差值,α是修正参数。
    adpcm的具体数学推导可见参考文献[2]和[3]。
    3 嵌入式语音通信平台的实现
    3.1 语音编解码实现策略
    这里的编解码都在嵌入式系统上实现。为了提高语音编码的速度,所有的编解码运算全部用汇编语言实现:伹由对adpcm的原理介绍可知,在编码过程中,计算量化间隔涉及到小数乘法。这在定点微处理器中实现起来是比较复杂的:需要判断差值的大小,再进行相应的小数变整数、乘除、整数变小数等一系列变换才能得到当前量化间隔的值,算法复杂度比较高。针对这一情况,本文采用二级检索的方法求量化间隔。具体算法如下:
    ①根据jayant算法建立量化间隔表stepsizetable[45]和量化间隔索引变化表indexvariaty[8];
    ②设索引初值index=0;
    ③利用当前差值的量化绝对值differ,查indexvaria-tytable[],得到索引的当前变化量indexvariaty;
   &
    
     引言
    随着数字信号处理技术的发展,语音交互的嵌入式和网络化发展已日趋成熟。但由于嵌入式系统具有存储空间小、显示能力不足的特点,要进行广泛而深入的嵌入式语音压缩、语音通信方面的研究和分析,有一个与pc机相连的台理而完善的语音通信平台。本文基于台湾凌阳公司的spce061a型号微控制器和adpcm(自适应差分脉冲编码调制)的原理,阐述实现嵌入式语音通信平台的方法,并提出有针对性的设计策略。
    1平台构架
    图1为平台功能模块,本文实现的语音网络为星型网络拓扑结构,pc机服务器与多个语音终端通过max232串口相连,承担着通信中介和实验数据分析的任务。
    在终端功能模块中,中心控制和处理选用凌阳公司的spce061a。它的cpu内核是凌阳最新推出的μ′sp 16位微处理器芯片,因而具有多功能微控制器和高速率微处理器的双重特色。在音频处理方面,它具有单通道声音模/数转换器,并内置有具备自动增益控制(agc)的麦克风放大器,从而简化了语音处理系统的硬件组成。器件详细资料见参考文献。音频输入输出模块包括话筒输入和耳机输出两个部分。话筒输入到a/d采样口之间月lm324n运算放大器构建一个两级防混叠低通滤波器。在d/a口到耳机输出之间使用spy0030功率放大器,可提供最大500mw的输出功率。电源管理模块采用了spy0029,可以提供3.14v的低功耗电压标准。rs232通信接口主要负责与pc机的通信。这里采用max232芯片,可同时提供两个通道的rs2.32通信连接。
    在pc机上软件的功能模块图中,全部模块由visual c++实现,具有友好的人机交互界面。其中通信模块实现所有的通信任务,语音算法模块集成有各类语音压缩、数字滤波、静音检测以及短时分析等算法;分析模块可以提供图形界面,显示语音的波形图和频谱特征;语音算法模块和分析模块仅为研究数字语音算法提供方便。
    2 adpcm编解码原理
    adpcm是语音压缩编码中复杂度较低的一种方法。它利用语音信号的非平稳特点,使用自适应预测和自适应量化,能在32kb/s数码率上达到64kb/s数码率的语音质量(mos分为4.1),从而符合进入公用网的要求。由于adpcm具有这样的优越性能,目前它在电信长途传输系统中和各类音频传输或处理系统中已得到了广泛的应adpcm编码原理如图2所示。
    adpcm的核心思想是:①利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值;②使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。
    这里采用了后向自适应量化和预测。其主要原理是,根据前一时刻量化器的输出数字码来确定量化器的量化间隔,并根据前一时刻的逆量化值来确定这一时刻预测器的输出。
    量化算法符合jayant算法,即△(k+1)=△(k)m(|i(k)|)其中,△(k+1)和△(k)分别为这一时刻和前一时刻的量化间隔,i(k)为前一时刻输出的码字,而m指以码字为自变量的关系函数,取值如下:
    |i(k)|值为1,2,3,4,5,6,7,8;
    m(|i(k)|)值为0.9,0.9,0.9,0.9,1.2,1.6,2.0,2,4。
    预测算法采用参数修正算法, 即pred(k+1)=pred(k)+d(k)+α△(k)其中,△(k)为前一时刻量化间隔,pred(k)和pred(k+1)分别为前一时刻和这一时刻的预测值,d(k)为前一时刻的差值,α是修正参数。
    adpcm的具体数学推导可见参考文献[2]和[3]。
    3 嵌入式语音通信平台的实现
    3.1 语音编解码实现策略
    这里的编解码都在嵌入式系统上实现。为了提高语音编码的速度,所有的编解码运算全部用汇编语言实现:伹由对adpcm的原理介绍可知,在编码过程中,计算量化间隔涉及到小数乘法。这在定点微处理器中实现起来是比较复杂的:需要判断差值的大小,再进行相应的小数变整数、乘除、整数变小数等一系列变换才能得到当前量化间隔的值,算法复杂度比较高。针对这一情况,本文采用二级检索的方法求量化间隔。具体算法如下:
    ①根据jayant算法建立量化间隔表stepsizetable[45]和量化间隔索引变化表indexvariaty[8];
    ②设索引初值index=0;
    ③利用当前差值的量化绝对值differ,查indexvaria-tytable[],得到索引的当前变化量indexvariaty;
   &