基于DSP的家居空调语音识别控制系统的设计实现

时间:2022-10-28 11:07:45

基于DSP的家居空调语音识别控制系统的设计实现

【摘要】语音识别技术使家用电器的控制更加人性化,本文设计并实现了一种基于DSP的家居空调语音识别控制系统。硬件核心处理器是TMS320VC5402,软件模块包括端点检测、MFCC求取、模板训练和改进的DTW算法。实验结果表明,该系统对空调控制命令的识别率达94%以上,具有功耗小、性能稳定、运算精度高等优点,具有较大的市场应用价值。

【关键词】语音识别;TMS320VC5402DSP;Mel频率倒谱参数MFCC:DTW算法

1.引言

近年来,家居空调的语音智能控制已经成为一个非常活跃的研究领域,语音识别技术作为一种重要的人机交互手段,辅助甚至取代传统的遥控器,在智能控制领域有着广阔的发展前景。

语音识别是机器通过识别和理解过程把语音信号转变为相应的文件或命令的技术。随着DSP技术的快速发展及性能不断完善,基于DSP的语音识别算法得到了实现,并且在费用、功耗、速度、精确度和体积等方面有着PC机所不具备的优势,具有广阔的应用前景。

2.语音识别的基本原理

语音识别的过程是一个模式匹配的过程。首先根据语音特点建立语音模型,模型通常由声学模型和语言模型两部分组成,分别对应于语音到半音节概率的计算和半音节到字概率的计算。对输入的语音信号进行预处理后提取所需的语音特征,在此基础上建立语音识别所需的模板。在识别过程中,根据语音识别的整体模型,将输入的语音特征与已有的语音模板进行比较,找出最佳匹配对象作为识别结果。一般的语音处理流程如图1所示。

图1 语音识别系统的处理流程图

3.系统的硬件设计

通过对系统功能分析,最终确定系统由语音采集与输出模块、语音处理模块、程序数据存储器FLASH模块、数据存储器SRAM模块、系统时序逻辑控制CPLD模块、JTAG接口模块等组成,设计的框图如图2所示。

图2 语音识别系统的硬件结构框图

(1)语音采集与输出模块。该模块由高性能的立体声音频Codec芯片TLV320AIC23B来完成。模数、数模转换集成在一块芯片内,内置耳机输出放大器,支持MIC和LINE IN两种输入方式,输入和输出增益可编程设置。编程设置内部的11个16位寄存器可得所需的采样频率、输入输出增益和传输数据格式等。

(2)语音处理模块。采用TMS320VC5402 16位微处理器,处理速度快,最快运行速度可达100MIPS,功耗低,是一款理想的DSP处理器。作为系统的整个核心,其主要功能是接收来自A/D的数据,完成语音训练和语音识别。具有丰富的片内外设,主要包括通用I/O引脚、硬件定时器、软件可编程等待状态产生器、可编程块开关模块、增强型并行主机接口、两个多通道缓冲串口、时钟发生器、DMA控制器、JTAG接口,具有管理中断、循环运算和功能调用的控制结构。

(3)FLASH模块。由于TMS320VC5402片上没有FLASH且片内RAM只有16K,因此需要外扩外部存储器使其成为独立系统,这里选用了存储容量为256K的低功耗FLASH芯片SST39VF400B,RAM选用了64K SRAM CY7C1021。

(4)CPLD模块。用来对存储器的扩展实现逻辑译码,CPLD的供电电压和DSP相同为3.3V,并且可在线编程,方便修改译码逻辑。DSP的一些控制信号经过CPLD后输出了RAM和FLASH的片选及读写信号,从而实现DSP对FLASH与SRAM的读写操作。

(5)电源模块。电源设计的好坏直接影响到系统的稳定。这里选用了TI公司的TPS767D318电源方案,该芯片输入电压为+5V,输出3.3V和1.8V两路电压,能够很好的满足DSP系统的要求。

(6)空调控制器模块。该模块同传统的空调控制器,接收TMS320VC5402模块发来的功能控制命令,实现空调功能调整。

(7)电路模块。复位电路、时钟电路、串口电路和音频电路等。

4.系统的软件设计

信号采集为避免信号失真选用优质电容MIC作为输入音源。声音通过麦克风输入到语音信号处理板,通过TLV320AIC23B的A/D转换变成数字信号,经过DSP处理后通过D/A转换输出声音,然后对声音进行监测,并对采集的波形进行反复对比分析,以提取最佳的波形样本。程序设计流程图如图3所示。

图3 系统软件流程图

4.1 端点检测

语音的前端处理主要包括对语音采样、A/D变换、预加重、分帧、加窗和端点检测。端点检测是指从噪声中检测出说话人的语音命令,获得语音开始和结束的时间点。本系统采用短时平均幅度和短时过零率相结合的办法。在判断语音的起始点时,只要短时过零率或短时平均幅度有一个超出判决门限时,便开始保存信号,然后确定随后的几帧数据是否仍满足判决门限,这时才可以确定刚采集进来的数据是有效的,否则认为是噪声引起的,将重新进行起点的判定。语音信号的结束点采取过零率和幅度相结合的办法,如果语音信号的连续几帧的平均能量低于能量门限,那么就认为语音信号结束。

用于空调的常用命令控制词汇有:“开启”、“制冷”、“温度”、“睡眠”、数字“0~9”等,待识别的词汇范围相对较窄,较易识别,采用上述方法对空调命令的起止点判定达到了很好的效果,经多次反复试验,其准确率达98%。

4.2 特征参数提取

语音信号中含有非常丰富的信息,特征提取则可以去除冗余信息,以便用于后端模型的建立和匹配。语音识别中对特征参数的要求是:

(1)具有很好的区分性,能够有效地代表语音特征;

(2)各阶参数之间有良好的独立性;

(3)特征参数要计算方便,保证识别的实时实现。

现在较常用的特征参数有线性预测参数(LPCC)、Mel频率倒谱参数(MFCC)、线谱对(LSP)参数等。本文选择MFCC作为特征参数。它的核心思想是利用人耳的感知特性,在语音的频谱范围内设置若干个带通滤波器,每个滤波器具备三角或正弦滤波特性,计算相应滤波器组的信号能量,再通过DCT计算对应的倒谱系数,符合语音识别中对特征参数的要求。

MFCC求取主要步骤是:

(1)给每一帧语音加窗做FFT,取出幅度;

(2)将幅度和滤波器组中每一个三角滤波器进行Binning运算;

(3)求log,换算成对数率;

(4)从对数率的滤波器组幅度,使用DCT变换求出MFCC系数。

4.3 模板训练和语音识别

在识别系统后端,从已知模式中获取用以表征该模式本质特征的模型参数即形成模式库,再将输入的语音提取特征矢量参数后与已建立的声学模型进行相似度比较,同时根据一定的语法规则和判别规则决策出最终的识别结果。

目前语音识别中使用模板匹配技术比较常见的有隐马尔可夫模型(HMM)、人工神经元网络(ANN)和动态时间规整算法(DTW)。综合考虑到算法的复杂性和计算量的大小、算法在DSP系统实现的难易程度以及所需要的DSP资源,系统采用算法相对简单和计算量相对较小的DTW算法,并针对其存在的运算量大、识别性能严重依赖端点检测的精度、语音信号的时序动态信息没有被充分利用等问题加以改进。

DTW算法是把时间规整和距离测度计算结合起来的一种非线性规整技术,该算法基于动态规划的思想,解决了发音长短不一的模板匹配问题。算法原理是假设待测语音共有N帧矢量,参考模板共有M帧矢量,且N≠M,则动态时间规整就是寻找一个时间规整函数j=w(i),它将测试矢量的时间轴i非线性地映射到模板的时间轴j上,并使该函数w满足第N帧测试矢量和第M帧模板矢量之间的距离测度最小。通常规整函数w(i)被限制在一个平行四边形内,它的一条边的斜率为2,另一条边的斜率为1/2,规整函数的起始点为(1,1),终止点为(N,M)。

为了提高识别效率,本文对DTW算法的搜索宽度限制条件进行了改进。以局部约束路径为例,待测模板每前进一帧,对于点(I,j)只需用到其前一列(i-1,j),(i-1,j-1),(i-1,j-2)三点的累积距离,也就是j-1和j-2两行的累积距离。以此类推,整个过程中每一行的格点可以利用前两行格点的累积距离计算出该点的累积距离。在本系统应用中,DTW算法加入了一些搜索限制条件,实际的搜索范围基本上局限于对角线附近的带状区域。在识别的过程中,系统分配的存储空间是搜索宽度的3倍。

5.系统测试结果及误差分析

空调的语音识别系统在不同的环境中使用具有差异性,为了测试系统在复杂环境下的稳定性及识别率,进行两种测试:一是安静环境下的测试;二是复杂环境下的测试。

在实验室安静的环境下对男女声识别进行了测试。发音内容为常用的空调控制命令,录音时间大约长为1~1.5s,词语发音的时间大约为500~800ms,采样率为24KHz,帧长20ms,帧移10ms,其端点检测基本上能排除前面录音的无声段的噪音,识别率达到了96%以上,原DTW算法的识别时间是6~7s,而采用本文改进算法的识别时间减少到2~5s。因此,本文方法可以实现快速准确的简单语音识别。

当周围环境噪声较大,信噪比SNR<5dB时,识别率会有所下降。但是随着信噪比的不断增加,词汇错误率逐渐降低,并趋于稳定状态,系统的识别率保持在94%以上。实验证明,采用本系统,语音识别率高,且抗噪性能好,对复杂环境的适应性强。

录音过程中,本身含有较大的噪声,DSP程序中没有对语音信号作降噪处理,这是影响识别率的原因;另外,不同的人发同一个音的长度和强弱方面均有差异,这也是影响识别率的原因。

6.结论

该空调语音识别系统以TMS320VC5402DSP为核心处理器,采用Mel频率倒谱参数为语音特征,基于改进的DTW算法进行模式匹配,算法本身计算量小、速度快、识别率高,能够进行实时语音识别。此系统平台具有良好的实用性和稳定性,经实验测试表明,系统的特征数据传送稳定,压缩编码无明显失真,识别率达到94%以上,对特定人其识别率可达97%,达到了识别的要求。为取得更好的识别效果,今后应进一步优化系统算法。由于比传统键盘输入操作具有更多的优势,语音识别技术在未来的家居生活和商业应用会有更广阔的应用前景。

参考文献

[1]于志华.基于FPGA的实时固定语音识别系统研究与实现[D].信息工程大学,2013.

[2]斯芸芸.嵌入式语音识别系统的设计与实现[D].重庆大学,2012.

[3]陈涛.基于DSP的语音信号识别系统的研究与实现[D].成都理工大学,2010.

[4]刘幺和,宋庭新.语音识别与控制应用技术[M].北京:科学出版社,2010.

上一篇:料库自动送料的电气控制系统优化设计 下一篇:气象信息无线传输系统的设计与制作