基于DTW算法的语音识别原理与实现(完整资料)_第1页
基于DTW算法的语音识别原理与实现(完整资料)_第2页
基于DTW算法的语音识别原理与实现(完整资料)_第3页
基于DTW算法的语音识别原理与实现(完整资料)_第4页
基于DTW算法的语音识别原理与实现(完整资料)_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DTW算法的语音识别原理与实现(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)

基于DTW算法的语音识别原理与实现基于DTW算法的语音识别原理与实现(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)[摘要]以一个能识别数字0~9的语音识别系统的实现过程为例,阐述了基于DTW算法的特定人孤立词语音识别的基本原理和关键技术。其中包括对语音端点检测方法、特征参数计算方法和DTW算法实现的详细讨论,最后给出了在Matlab下的编程方法和实验结果.[关键字]语音识别;端点检测;MFCC系数;DTW算法[中图分类号]TN912.34[文献标识码]APrincipleandRealizationofSpeechRecognitionBasedonDTWAlgorithmAbstractWithanexampleoftherealizationofa0~9identifiablespeechrecognitionsystem,thepaperdescribedthebasicprinciplesandkeytechnologiesofisolatedwordspeechrecognitionbasedonDTWalgorithm,includingmethodofendpointdetection,calculationofcharacteristicparameters,andimplementationofDTWalgorithm。ProgrammingmethodunderMatlabandexperimentalresultsaregivenattheendofthepaper。Keywordspeechrecognition;endpointdetection;MFCCparameter;DTWalgorithm引言自计算机诞生以来,通过语音与计算机交互一直是人类的梦想,随着计算机软硬件和信息技术的飞速发展,人们对语音识别功能的需求也更加明显和迫切。语音识别技术就是让机器通过识别和理解过程把人类的语音信号转变为相应的文本或命令的技术,属于多维模式识别和智能计算机接口的范畴[1].传统的键盘、鼠标等输入设备的存在大大妨碍了系统的小型化[10],而成熟的语音识别技术可以辅助甚至取代这些设备。在PDA、智能手机、智能家电、工业现场、智能机器人等方面语音识别技术都有着广阔的前景。语音识别技术起源于20世纪50年代,以贝尔实验室的Audry系统为标志[1,8].先后取得了线性预测分析(LP)、动态时间归整(DTW)、矢量量化(VQ)、隐马尔可夫模型(HMM)等一系列关键技术的突破和以IBM的ViaVoice、Microsoft的VoiceExpress[9]为代表的一批显著成果。国内的语音识别起步较晚,1987年开始执行国家863计划后语音识别技术才得到广泛关注。具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室,中科院声学所等[9].其中中科院自动化所研制的非特定人连续语音听写系统和汉语语音人机对话系统,其准确率和系统响应率均可达90%以上[1]。常见的语音识别方法有动态时间归整技术(DTW)、矢量量化技术(VQ)、隐马尔可夫模型(HMM)、基于段长分布的非齐次隐马尔可夫模型(DDBHMM)和人工神经元网络(ANN)[1,9]。DTW是较早的一种模式匹配和模型训练技术,它应用动态规划的思想成功解决了语音信号特征参数序列比较时时长不等的难题,在孤立词语音识别中获得了良好性能.虽然HMM模型和ANN在连续语音大词汇量语音识别系统优于DTW,但由于DTW算法计算量较少、无需前期的长期训练,也很容易将DTW算法移植到单片机、DSP上实现语音识别且能满足实时性[7]要求,故其在孤立词语音识别系统中仍然得到了广泛的应用。本文将通过能识别数字0~9的语音识别系统的实现过程详细阐述基于DTW算法的特定人孤立词识别的相关原理和关键技术.语音识别系统概述语音识别系统的典型原理框图[1,9—10]如图1-1所示。从图中可以看出语音识别系统的本质就是一种模式识别系统,它也包括特征提取、模式匹配、参考模式库等基本单元.由于语音信号是一种典型的非平稳信号,加之呼吸气流、外部噪音、电流干扰等使得语音信号不能直接用于提取特征,而要进行前期的预处理。预处理过程包括预滤波、采样和量化、分帧、加窗、预加重、端点检测等。经过预处理的语音数据就可以进行特征参数提取.在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。后续的处理过程还可能包括更高层次的词法、句法和文法处理等,从而最终将输入的语音信号转变成文本或命令。图1—1语音识别系统原理框图本文所描述的语音识别系统(下称本系统)将对数字0~9共10段参考语音进行训练并建立模板库,之后将对多段测试语音进行识别测试。系统实现了上图中的语音输入、预处理、特征提取、训练建立模板库和识别等模块,最终建立了一个比较完整的语音识别系统。语音信号预处理语音信号的预处理模块一般包括预滤波、采样和量化、分帧、加窗、预加重、端点检测等.在不同的系统中对各子模块会有不同的要求,如在嵌入式语音识别系统中一般要求有防混叠滤波电路[5]、A/D转换电路和采样滤波电路等,而在计算机上实验时则可由音频采集卡完成,无需实验者亲自动手。语音信号采集在Matlab环境中语音信号的采集可使用wavrecord(n,fs,ch,dtype)函数录制,也可使用Windows的“录音机"程序录制成。wav文件然后使用wavread(file)函数读入。为了进行批量的的训练和识别处理,本系统的训练语音和识别语音全部使用“录音机”程序预先录制。如图2-1所示为数字0的训练语音00.wav的信号波形图,第(I)幅图为完整的语音波形,第(II)、(III)幅图分别为语音的起始部分和结束部分的放大波形图.图2-1语音00.wav的信号波形图分帧语音信号是一种典型的非平稳信号,它的均值函数u(x)和自相关函数R(xl,x2)都随时间而发生较大的变化[5,9]。但研究发现,语音信号在短时间内频谱特性保持平稳,即具有短时平稳特性。因此,在实际处理时可以将语音信号分成很小的时间段(约10~30ms[5,7]),称之为“帧”,作为语音信号处理的最小单位,帧与帧的非重叠部分称为帧移,而将语音信号分成若干帧的过程称为分帧。分帧小能清楚地描绘语音信号的时变特征但计算量大;分帧大能减少计算量但相邻帧间变化不大,容易丢失信号特征。一般取帧长20ms,帧移为帧长的1/3~1/2.在Matlab环境中的分帧最常用的方法是使用函数enframe(x,len,inc),其中x为语音信号,len为帧长,inc为帧移。在本系统中帧长取240,帧移取80。预加重对于语音信号的频谱,通常是频率越高幅值越小,在语音信号的频率增加两倍时,其功率谱的幅度下降6dB。因此必须对高频进行加重处理,一般是将语音信号通过一个一阶高通滤波器1-0.9375z-1,即为预加重滤波器。其目的是滤除低频干扰,特别是50Hz到60Hz的工频干扰,将对语音识别更为有用的高频部分进行频谱提升。在计算短时能量之前将语音信号通过预加重滤波器还可起到消除直流漂移、抑制随机噪声和提升清音部分能量的效果。预加重滤波器在Matlab中可由语句x=filter([1-0.9375],1,x)实现。加窗为了保持语音信号的短时平稳性,利用窗函数来减少由截断处理导致的Gibbs效应。用的最多的三种为矩形窗、汉明窗(Hamming)和汉宁窗(Hanning).其窗函数如下,式中的N为窗长,一般等于帧长。矩形窗:矩形窗:汉明窗(Hamming):汉宁窗(Hanning):WR=1(0≤n<N-1)0(Other)WHM=0.5-0.46cos(2πn/(N-1))(0≤n<N-1)0(Other)WHN=0.5-0.5cos(2πn/(N-1))(0≤n<N-1){{{0(Other)(2-1)(2-2)(2-3)窗口的选择非常重要,不同的窗口将使能量的平均结果不同。矩形窗的谱平滑,但波形细节丢失;而汉明窗则刚好相反,可以有效克服泄漏现象,具有平滑的低通特性[4—6]。因此,在语音的时域处理方法中,一般选择矩形窗,而在语音的频域处理方法中,一般选择汉明窗或汉宁窗[5-6]。在Matlab中要实现加窗即将分帧后的语音信号乘上窗函数,如加汉明窗即为x=x.*hamming(N)。本系统中的端点检测采用时域方法故加矩形窗,计算MFCC系数时加汉明窗。端点检测在基于DTW算法的语音识别系统中,无论是训练和建立模板阶段还是在识别阶段,都先采用端点检测算法确定语音的起点和终点。语音端点检测是指用计算机数字处理技术从包含语音的一段信号中找出字、词的起始点及结束点,从而只存储和处理有效语音信号。对汉语来说,还可进一步找出其中的声母段和韵母段所处的位置。语音端点检测是语音分析、合成和识别中的一个重要环节,其算法的优劣在某种程度上也直接决定了整个语音识别系统的优劣。进行端点检测的基本参数主要有短时能量、幅度、过零率和相关函数等。端点检测最常见的方法是短时能量短时过零率双门限端点检测,近年来在此基础上发展出的动态窗长短时双门限端点检测方法[4]也被广泛使用。短时能量语音和噪声的主要区别在它们的能量上,如图3-1(III)和图3-2(III)所示。语音段的能量比噪声段的大,语音段的能量是噪声段能量叠加语音声波能量的和。对第n帧语音信号的短时能量En的定义为:(3-1)xn为原样本序列在窗函数所切取出的第n段短时语音,N为帧长。因为在计算时使用的是信号的平方,故将En作为一个度量语音幅度值变化的函数有一个缺陷,即对高电平非常敏感.因此在许多场合会将En用下式来代替:(3-2)这样就不会因为取平方而造成信号的小取样值的大取样值出现较大差异。本系统中窗函数为WR(见式2—1),N为240。图3-1(I)和图3-2(I)分别为数字0的训练语音00.wav和数字4的训练语音40.wav的波形,图3-1(III)和图3-2(III)分别为它们的短时能量。图3—1语音00。wav的时域分析参数图3-2语音40。wav的时域分析参数短时过零率短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。对于连续语音信号,过零意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号则称为过零。过零率就是样本改变符号次数,定义语音信号寿(m)的短时过零率Zn为:(3—3)1(x≥1(x≥0)-1(x≤0)sgn[x]={清音的能量多集中在较高的频率上,它的平均过零率要高于浊音,故短时过零率可以用来区分清音、浊音以及无声。图3—1(II)和图3-2(II)分别为数字0的训练语音00.wav和数字4的训练语音40。wav的短时过零率。从图中可以看到清音‘s’的过零率明显高于其后的‘i’音,有声段过零率明显高于无声段,但在鼻音阶段过零率迅速滑落到无声水平而能量值则是缓慢下滑。在实际应用时并不能通过式3-3直接计算过零率,因为在无声段噪声使语音波形在0值附近来回摆动,导致计算出的过零率和有声段的区别并不十分明显.比较简单的解决方法是设定一个差的阈值δ,使不仅xn(m)*xn(m-1)〈0,还要|xn(m)-xn(m-1)|>δ。在本系统中经多次试验取定δ=0.01。双门限端点检测双门限端点检测顾名思义需要两级检测,即短时能量检测和短时过零率检测。在开始检测之前需要设定4个门限,即分别为短时能量和短时过零率各设置一个高门限和一个低门限:EHigh、ELow和ZHigh、ZLow。整个语音端点检测分为四部分:静音段、过度段、语音段、结束段。在静音段中如果能量或过零率有一个超过了其低门限,则认为进入了过度段。在过度段中,由于参数数值较小,还不能确定是否真的进入语音段,只有两个参数的其中一个超越了高门限才被认为是进入语音段。当参数降至低门限则认为进入结束。此外,还有两种可能会引起端点检测的误判:一是短时噪音引起的误判,此时则需要引入最小语音长度门限进行噪声判定,即语音段时间小于一定数值则认定为是噪声,重新回到静音段,本系统设为20ms;二是语音中字与字的时间空隙引起的误判,此时需要设定最大静音长度门限来降低识别的错误率,本系统所训练和识别的都为单字,故无需设置此门限。在双门限端点检测中4个门限的设定至关重要,门限设定的好坏将直接影响端点检测的结果。门限值的设置还没有一个通用可靠的方法,需要根据经验和特定环境进行调整.常见的方法有最大值乘上某个比率、中位值乘上某个比率、最小值乘上某个常数、前三帧平均值乘上某个常数等。本系统中EHigh,ELow,ZHigh,ZLow的取值分别为:EHigh=max([min(amp)*10,mean(amp)*0.2,max(amp)*0.1]);ZHigh=max([round(max(zcr)*0.1),5]);ELow=min([min(amp)*10,mean(amp)*0.2,max(amp)*0.1]);ZLow=max([round(mean(zcr)*0.1),3]);图3-3和图3—4分别是数字0的训练语音00。wav和数字4的训练语音40。wav的端点检测结果,红线之间的部分为检测出的语音有声段。图3-3语音00。wav的端点检测结果图3-4语音40。wav的端点检测结果语音识别参数提取经过预处理的语音数据就可以进行特征参数提取,特征参数的好坏将直接影响系统的性能和效率,对特征参数的要求包括[9-10]:提取的特征参数能有效地代表语音特征,具有很好的区分性;各阶参数之间有良好的独立性;特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实现。LPC与LPCC系数LPC(LinearPredictionCoefficient,线性预测系数)模拟人发音器官的声管模型,是一种基于语音合成的参数模型。在语音识别系统中很少直接使用LPC系统,而是由LPC系数推出的另一种参数LPCC。LPCC(LinearPredictionCepstrumCoefficient,线性预测倒谱系数)是LPC在倒谱域中的表示。该特征是基于语音信号为自回归信号的假设,利用线性预测分析获得倒谱系数。LPCC的优点是计算量小,易于实现,对元音有较好的描述能力,缺点是对辅音描述能力较差.MFCC系数LPC模型是基于发音模型建立的,LPCC系数也是一种基于合成的系数,这种参数没有充分利用人耳的听觉特性.实际上,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数的关系[9—10].近年来,一种能够比较充分利用人耳的这种特殊感知特性的系数得到了广泛应用,这就是Mel尺度倒谱系数(Mel—scaledCepstrumCoefficients,简称MFCC)。大量研究表明,MFCC系数能够比LPCC参数更好地提高系统的识别性能[10]。MFCC系数的计算是以“bark”为其频率基准的,它和线性频率的转换关系是:(4-1)MFCC系数也是按帧计算的,首先要通过FFT得到该帧信号的功率谱S(n),转换为Mel频率下的功率谱。这需要在计算之前先在语音的频谱范围内设置若干个带通滤波器:Hm(n)m=0,1,…,M-1;n=0,1,…,N/2-1(4—2)M为滤波器的个数,通常取24,与临界带的个数一样;N为一帧语音信号的点数,为了计算FFT的方便,通常取256.滤波器在频域上为简单的三角形,其中心频率fm在Mel频率轴上是均匀分布的。如图4-1所示为Mel尺度滤波器组,包含24个滤波器,语音信号帧长取为256个点,语音信号的采样频率为8KHz,。图4-1Mel尺度滤波器组带通滤波器的系数事先计算好,在计算MFCC系数是直接使用。MFCC系数的计算过程如下:预处理:确定每一帧语音采样序列的长度(如N=256),并对每帧序列s(n)进行预加重、分帧和加窗处理;计算离散功率谱:对预处理的每帧进行离散FFT变换得到其频谱,再取模的平方作为离散功率谱S(n);将功率谱通过滤波器组:计算S(n)通过M个Hm(n)后所得的功率值,即计算S(n)和Hm(n)在各离散频率点上的乘积之和,得到M个参数Pm,m=0,1,……M-1;取对数:计算Pm的自然对数,得到Lm,m=0,1,……M—1;离散余弦变换:对Lm计算其离散余弦变换,得到Dm,m=0,1,……M-1,舍去代表直流成份的D0,取D1,D2,……,Dk作为MFCC参数。具体流程可以用框图4—2表示为:图4—2MFCC系数计算流程图在Matlab环境中计算M个滤波器的系数可以调用语音工具箱voicebox中的函数melbankm(m,n,fs)来实现,其中m为滤波器的个数,n为语音帧长,fs为采样频率。计算mfcc系数的函数为melcepst(s,fs),s为语音信号。DTW算法实现DTW(DynamicTimeWarping,动态时间规整)是语音识别中较为经典的一种算法.在实现小词汇表孤立词识别系统时,其识别率及其它指标与HMM算法实现几乎等同[9]。又由于HMM算法复杂,在训练阶段需要提供大量的语音数据通过反复计算才能得到模型参数,而DTW算法本身既简单又有效,因此在特定的场合下获得了广泛的应用。匹配模式模板匹配方法的语音识别算法需要解决的一个关键问题是说话人对同一个词的两次发音不可能完全相同,这些差异不仅包括音强的大小、频谱的偏移,更重要的是发音时音节的长短不可能完全相同,而且两次发音的音节往往不存在线性对应关系。设参考模板有M帧矢量{R(1),R(2),…R(m),…,R(M)},R(m)为第m帧的语音特征矢量,测试模板有N帧矢量{T(1),T(2),…T(n),…,T(N)},T(n)是第n帧的语音特征矢量.d(T(in),R(im))表示T中第in帧特征与R中im帧特征之间的距离,通常用欧几里德距离[9-10]表示。直接匹配是假设测试模板和参考模板长度相等,即in=im;线性时间规整技术假设说话速度是按不同说话单元的发音长度等比例分布的,即。显然,这两种假设都不符合实际语音的发音情况,我们需要一种更加符合实际情况的非线性时间规整技术。如图5-1所示为三种匹配模式对同一词两次发音的匹配距离(两条曲线间的阴影面积),显然D3〈D2<D1.待测模式待测模式T参考模式Rttttt直接匹配D1(T,R)线性匹配D2(T,R)非线性匹配D3(T,R)图5-1三种匹配模式对比DTW算法原理DTW是把时间规整和距离测度计算结合起来的一种非线性规整技术,它寻找一个规整函数im=Ф(in),将测试矢量的时间轴n非线性地映射到参考模板的时间轴m上,并使该函数满足:(5-1)D就是处于最优时间规整情况下两矢量的距离.由于DTW不断地计算两矢量的距离以寻找最优的匹配路径,所以得到的是两矢量匹配时累积距离最小所对应的规整函数,这就保证了它们之间存在的最大声学相似性。DTW算法的实质就是运用动态规划的思想,利用局部最佳化的处理来自动寻找一条路径,沿着这条路径,两个特征矢量之间的累积失真量最小,从而避免由于时长不同而可能引入的误差DTW算法要求参考模板与测试模板采用相同类型的特征矢量、相同的帧长、相同的窗函数和相同的帧移。为了使动态路径搜索问题变得有实际意义,在规整函数上必须要加一些限制,不加限制使用式(5-1)找出的最优路径很可能使两个根本不同的模式之间的相似性很大,从而使模式比较变得毫无意义。通常规整函数必须满足如下的约束条件:边界限制:当待比较的语音已经进行精确的端点检测,在这种情况下,规整发生在起点帧和端点帧之间,反映在规整函数上就是:(5—2)单调性限制由于语音在时间上的顺序性,规整函数必须保证匹配路径不违背语音信号各部分的时间顺序。即规整函数必须满足单调性限制:(5—3)连续性限制有些特殊的音素有时会对正确的识别起到很大的帮助,某个音素的差异很可能就是区分不同的发声单元的依据,为了保证信息损失最小,规整函数一般规定不允许跳过任何一点。即:(5-4)DTW算法的原理图如图5-2,把测试模板的各个帧号n=1~N在一个二维直角坐标系中的横轴上标出,把参考模板的各帧m=1~M在纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网格,网格中的每一个交叉点(ti,rj)表示测试模式中某一帧与训练TTФ(1)=1时间规整函数123inNR12imMФ(N)=M图5-2DTW算法原理图(in,im)(in-1,im)(in-1,im-1)(in-1,im-2)图5-3局部约束路径模式中某一帧的交汇。DTW算法分两步进行,一是计算两个模式各帧之间的距离,即求出帧匹配距离矩阵,二是在帧匹配距离矩阵中找出一条最佳路径。搜索这条路径的过程可以描述如下:搜索从(1,1)点出发,对于局部路径约束如图5-3,点(in,im)可达到的前一个格点只可能是(in—1,im)、(in—1,im-l)和(in-1,im-2)。那么(in,im)一定选择这三个距离中的最小者所对应的点作为其前续格点,这时此路径的累积距离为:D(in,im)=d(T(in),R(im))+min{D(in—1,im),D(in-1,im—1),D(in-1,im-2)}(5—5)这样从(l,1)点出发(令D(1,1)=0)搜索,反复递推,直到(N,M)就可以得到最优路径,而且D(N,M)就是最佳匹配路径所对应的匹配距离.在进行语音识别时,将测试模板与所有参考模板进行匹配,得到的最小匹配距离Dmin(N,M)所对应语音即为识别结果.DTW算法改进DTW算法虽然简单有效,但是动态规划方法需要存储较大的矩阵,直接计算将会占据较大的空间,计算量也比较大。由图5-3的局部路径约束可知DTW算法所动态搜索的空间其实并不是整个矩形网格,而是局限于对角线附近的带状区域[9],如图5-4所示,许多点实际上是达不到的。因此,在实际应用中会将DTW算法进行一些改进以减少存储空间和降低计算量。常见的改进方法有搜索宽度限制、放宽端点限制等。搜索宽度限制以图5-3中的局部约束路径为例,待测模板轴上每前进一帧,对于点(in,im)只需要用到前一列(in-1,im)、(in-l,im—l)和(in-1,im-2)三点的累积距离,也就是im—1和im—2两行的累积距离。整个DTW算法的计算过程递推循环进行,也就是每一行中的格点利用前两行格点的累积距离计算该点的累积距离的过程。基于这种循环递推计算,只需分配3×N的存储空间重复使用,而不需要保存帧匹配距离矩阵和所有的累积距离矩阵.又由于DTW算法的动态搜索宽度局限于对角线附近的带状区域,假设其宽度为width,如图5—4和图5—6,则实际只需分配3×width的存储空间即可。图5-4带状搜索区域图5—5搜索宽度限制存储空间放宽端点限制普通DTW对端点检测比较敏感,端点信息是作为一组独立的参数提供给识别算法的。它要求两个比较模式起点对起点,终点对终点,对端点检测的精度要求比较高.当环境噪声比较大或语音由摩擦音构成时,端点检测不易进行,这就要求在动态时间规整过程中给以考虑。放松端点限制方法不严格要求端点对齐,克服由于端点算法不精确造成的测试模式和参考模式起点终点不能对齐的问题.一般情况下,起点和终点在纵横两个方向只要放宽2-3帧就可以,也就是起点可以在(1,1),(l,2),(1,3),(2,1),(3,l),终点类似。如图5—6.图5-6改进的DTW算法原理图C图5-6改进的DTW算法原理图Ck=(ik,jk)C1=(1,1)CK=(I,J)j=i-rj=i+r时间规整函数widthijt1t2t3titITRr1r2rjrJ在放宽端点限制的DTW算法中,累积距离矩阵中的元素(1,l),(l,2),(l,3),(2,l),(3,1)不是根据局部判决函数计算得到的,而是直接将帧匹配距离矩阵的元素填入,自动从其中选择最小的一个作为起点,对于终点也是从松弛终点的允许范围内选择一个最小值作为参考模式和未知模式的匹配距离。Matlab编程结果在音频信号处理方面,Matlab提供了wav文件读写函数和声卡的录音和放音函数,利用这些函数可以实现某些语音信号处理工作。语音工具箱voicebox为实现语音识别提供了许多实用函数。为了进行批量的的训练和识别处理,本系统的训练语音和识别语音全部使用“录音机"程序录制。本语音识别系统的文件结构如图6—1所示,其中train文件夹中包含图6-1语音识别系统的文件结构数字0~9的训练语音,test中包含若干测试语音,都分别以相应数字作为文件名的首数字.文件vad。m为端点检测程序,mfcc.m计算MFCC系数,train.m为语音训练程序,它将计算得到的特征参数存入mfcc.mat作为模板库.dtw.m为DTW算法的实现程序,dtwtest.m为测试程序。图6-2为4组语音的识别测试结果图,从中得出本语音识别系统的正确识别率为0.825,详细数据如下表:数字01234567890~9正确数424434334233错误数02001011027正确率1。000。501.001。000.751。000.750。751。000.500。825图6-2语音识别测试结果参考文献詹新明,黄南山,杨灿.语音识别技术研究进展[J]。现代计算机(专业版),2008,(09)相征,朗朗,王静.基于基音频能值的端点检测算法[J]。安徽工程科技学院学报,2008,(09)沈宏余,李英。语音端点检测方法的研究[J]。科学技术与工程,2008,(08)李景川,董慧颖。一种改进的基于短时能量的端点检测算法[J].沈阳理工大学学报,2008,(06)蔡妍.语音信号端点检测方法的研究[硕士学位论文][D]。江南大学,2008吴亚栋.语音识别基础[R]。上海交通大学计算机系,2007-01吴晓平,崔光照,路康.基于DTW算法的语音识别系统实现[J].电子工程师,2004,(07)谭保华,熊健民,刘幺和.语音识别技术概述[J].郧阳师范高等专科学校学报,2004,(06)朱淑琴。语音识别系统关键技术研究[硕士学位论文][D]。西安电子科技大学,2004何强,何英。MATLAB扩展编程[M].清华大学出版社,2002—06项目题目:基于Matlab的语音识别一、引言语音识别技术是让计算机识别一些语音信号,并把语音信号转换成相应的文本或者命令的一种高科技技术。语音识别技术所涉及的领域非常广泛,包括信号处理、模式识别、人工智能等技术。近年来已经从实验室开始走向市场,渗透到家电、通信、医疗、消费电子产品等各个领域,让人们的生活更加方便。语音识别系统的分类有三种依据:词汇量大小,对说话人说话方式的要求和对说话人的依赖程度。(1)根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量及无限词汇量识别系统.(2)根据对说话人说话方式的要求,可以分为孤立字(词)语音识别系统、连接字语音识别系统及连续语音识别系统。(3)根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统。二、语音识别系统框架设计2。1语音识别系统的基本结构语音识别系统本质上是一种模式识别系统,其基本结构原理框图如图l所示,主要包括语音信号预处理、特征提取、特征建模(建立参考模式库)、相似性度量(模式匹配)和后处理等几个功能模块,其中后处理模块为可选部分.三、语音识别设计步骤3.1语音信号的特征及其端点检测图2数字‘7’开始部分波形图2是数字”7”的波形进行局部放大后的情况,可以看到,在6800之前的部分信号幅度很低,明显属于静音。而在6800以后,信号幅度开始增强,并呈现明显的周期性。在波形的上半部分可以观察到有规律的尖峰,两个尖峰之间的距离就是所谓的基音周期,实际上也就是说话人的声带振动的周期。这样可以很直观的用信号的幅度作为特征,区分静音和语音。只要设定一个门限,当信号的幅度超过该门限的时候,就认为语音开始,当幅度降低到门限以下就认为语音结束。3。2语音识别系统3。2。1语音识别系统的分类语音识别按说话人的讲话方式可分为3类:(1)即孤立词识别(isolatedwordrecognition),孤立词识别的任务是识别事先已知的孤立的词,如“开机"、“关机"等。(3)连续语音识别,连续语音识别的任务则是识别任意的连续语音,如一个句子或一段话。从识别对象的类型来看,语音识别可以分为特定人语音识别和非特定人语音识别,特定人是指针对一个用户的语音识别,非特定人则可用于不同的用户。显然,非特定人语音识别系统更符合实际需要,但它要比针对特定人的识别困难得多。3.2.2语音识别系统的基本构成语音识别系统的实现方案如图3所示.输入的模拟语音信号首先要进行处理,包括预滤波,采样和量化,加窗,端点检测,预加重等。语音信号经处理后,接下来很重要的一环就是特征参数提取.图3语音识别系统在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模版,与参考模板进行匹配,将匹配分数最高的参考模型作为识别结果。3。2.3语音识别系统的特征参数提取特征提取是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,获得影响语音识别的重要信息。语音信号是一种典型的时变信号,然而如果把观察时间缩短到十毫秒至几十毫秒,则可以得到一系列近似稳定的信号.人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。全极点线性预测参数(LPC:LinerPredictionCoeffieient)可以对声管模型进行很好的描述,LPC参数是模拟人的发声器官的,是一种基于语音合成的参数模型.在语音识别中,很少用LPC系数,而是用LPC倒谱参数(LPCC:LinerPredictionCepstralCoefficient)。LPCC参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。然而,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数关系。近年来,一种能够比较充分利用人耳这种特殊的感知特性的参数得到了广泛的应用,这就是Mel倒谱参数(MFCC:Mel一FrequencyCePstralCoeffieient)。MFCC参数能够比LPCC参数更好地提高系统的识别性能.。3。2.4特定人语音识别算法-DTW算法在孤立词语音识别中,最为简单有效的方法是采用DTW(DynamicTimeWarping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法,用于孤立词识别.HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算.所以在孤立词语音识别中,DTW算法仍然得到广泛的应用.无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R(1),R(2),……,R(m),……,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模板所包含的语音帧总数,R(m)为第m帧的语音特征矢量.所要识别的一个输入词条语音称为测试模板,可表示为T={T(1),T(2),……,T(n),……,T(N)},n为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。参考模板与测试模板一般采用相同类型的特征矢量(如MFCC,LPC系数)、相同的帧长、相同的窗函数和相同的帧移。四、基于Matlab的语音识别系统仿真4.1语音模板的获取运用系统的采集模块录制一个普通男声声音,录制0~9十个语音为实验对象分别命名为0a。wav,1a.wav,2a.wav,3a.wav,4a.wav,5a.wav,6a。wav,7a.wav,8a.wav,9a。wav分析处理后提取特征参数,经过模板训练,为十个语音分别选取最合适的语音作为模板,存入数据库建立参考模型库.4。2语音训练类似,录制一组普通男声的声音,同样为0~9十个语音,作为十个待测语音信号。图4数字‘0'的训练波形及系数4.3语音识别训练结束后,用录音设备录入0~9中的数字,经过波形及系数匹配识别出录入数字,并正确显示识别结果。图4数字‘0’的识别结果五总结通过这次二级项目,更深入的了解的Matlab软件强大的功能,了解了利用Matlab软件进行界面设计等。学习到语音识别技术仿真中各函数的运用。在不断地改进和完善中,这次二级项目终于顺利完成。参考文献1.何强、何英.MATLAB扩展编程。北京:清华大学出版社,2002.62.江官星王建英.一种改进的检测语音端点的方法.微计算机信息20063.陈勇屈志毅刘莹等.语音特征参数MFCC的提取及其应用.湖南农业大学学报自然科学版20094.王炳锡等,实用语音识别基础,北京,国防工业出版社,2005年5.韩纪庆张磊郑铁然。语音信号处理.北京:清华大学出版社2004基于RSSI的室内定位算法研究摘要:近年来,随着无线网络的迅速发展,室内定位技术在诸多领域中得到了广泛应用,成为重要的研究对象之一。室内定位技术的核心要素是定位算法。优秀的定位算法,可以有效地降低无线信道的影响,并利用较少的网络资源获取较高的定位精度。论文在研究了基于RSSI测距的无线定位算法后,重点研究了基于泰勒级数展开的RSSI测距定位算法,针对传统算法的缺点提出了改进方案。关键词:室内定位RSSI泰勒级数1.引言现代社会,基于信息技术的发展,导航、定位等信息在人们纷繁庞杂的信息要求中,占据了越来越大的比重。比如航海、军事、智能公交、煤矿等领域均要求室外或者室内导航定位技术。进入二十一世纪以来,由于传统局域网己经不能满足人们的需求,加上无线网络的组网成本大幅下降,无线网络呈现出蓬勃发展的趋势,而人们在使用的同时也越来越不满足于现状,开始对其有了更多更深层次的要求。目前,世界上正在运行的卫星导航定位系统主要是美国的全球定位系统(GlobalPositioningSystemGPS),但GPS这种定位方法是在室外使用得较多的定位方法,它不适用于室内。针对GPS的室内定位精确度偏低、成本较高等缺点,具备低成本、较高定位精度的诸多室内定位技术便应运而生,并在诸多领域正越来越发挥着重要的作用。例如:煤矿企业要实现对井下作业人员的实时跟踪与定位、方便企业对员工的管理与调度,要用到室内定位技术,营救被困人员,室内定位技术可以提供被困人员位置信息,为营救节省大量的时间;在超市等购物中心,室内定位技术可以实现对商品定位、消费者定位、广告发布、地图导航等功能。所以若能实现低成本且高精度的室内定位系统,具有非常重要的现实意义.未来的发展趋势是室内定位技术与卫星导航技术和通信技术有机结合,发挥各项技术自身的优点,不仅可以提供较高的定位精度和响应速度,还可以覆盖较广的范围,真正实现无缝的、精确的定位.2室内定位方法简介所谓室内定位技术是指在室内环境下确定某一时刻接收终端在某种参考系中的位置。在室内环境下,大多采用无线局域网来估计接收终端的位置。一般典型的无线局域网架构中接入点(AP,AcessPoint)类似于无线通信网络中的基站,大部分无线局域网都使用RF(RadioFrequency)射频信号来进行通信,因为无线电波可穿越大部分的室内墙壁或其它障碍物,已提供更大的覆盖范围。常见的室内定位方法有:(1)ZigBee定位技术ZigBee是一种新兴的短距离、低速率、低功耗、低成本及网络扩展性强的无线网络技术,它的信号传播距离介于射频识别和蓝牙之间,工作频段有三个——2。4GHz(ISM国际免费频段)和858/91SMHz,除了可以应用于室内定位,还可以应用于智能家居、环境监测等诸多领域。它有自己的无线电标准IEEE802.15.4,定位主要是通过在数千个节点之间进行相互协调通信实现的。这些节点以接力的方式通过无线电信号将数据从一个节点传到另一个节点,通信效率非常高,同时,这些节点只需要很小的功率。低功耗与低成本是ZigBee定位技术最显著的优点.(2)室内GPS定位技术当GPS接收机在室内工作时,卫星发送的GPS信号由于受到建筑物的遮蔽会大大衰减,而且不可能像室外一样直接从卫星广播中提取时间信息与导航数据,因此,定位精度会很低。但是,延长在每个码延迟上的停留时间可以有效提高室内信号灵敏度,利用这个特性的室内GPS定位技术则可以解决上述GPS定位的缺陷。室内GPS定位技术利用数十个相关器并行地搜索可能的延迟码提高卫星信号质量以提高定位精度,同时也可以提高定位速度。GPS定位导航信号免费、有效覆盖范围大是室内GPS定位技术的优势,但卫星信号在长距离的传播过程中受到的噪声干扰相对较大,导致信号到达地面时较弱,从而不能穿透障碍物,还有较高定位器终端成本等则构成了它的劣势。(3)红外线室内定位技术通过安装在室内的光学传感器接收经过红外线标识调制和发射的红外线进行定位是红外线室内定位技术的基本思想。虽然红外线室内定位技术在理论上具有相对较高的定位精度,但是红外线仅能视距传播、易被灯光或者荧光灯干扰且传输距离较短则是这项技术最为明显的缺点。受这些缺点的制约,它的实际应用前景并不乐观,而且这项技术的应用需要在每个走廊、房间安装接收天线,造价也较高。因此,红外线室内定位技术在具体应用上有非常大的局限性.(4)超声波定位技术超声波定位采用基于时间到达(TimeOfArrival,TOA)进行测距,然后选择合适的定位算法利用测得的一组距离值来确定物体的位置。超声波定位系统由若干个参考节点和定位节点组成,定位节点向位置固定的参考节点发射频率相同的超声波信号,参考节点在接收到超声波信号后向定位节点做出回应,由此得到定位节点与各个参考节点之间的距离。当得到三个或者三个以上不同参考节点与定位节点之间的距离测量值时,就可以利用这组距离测量值根据相关定位算法确定出定位节点的位置。虽然超声波定位系统整体结构也比较简单,定位精度比较高,但是,它需要大量的底层硬体设施投资,成本要求非常大,而且超声波受多径效应和非视距传播影响也很大,对定位精度的进一步提高形成了一定的技术瓶颈。(5)蓝牙室内定位技术蓝牙是一种短距离、低功耗的无线传输技术,基于它的室内定位技术是基于接收信号强度指示测距的。通过在室内安装适当数量的蓝牙局域网接入点,再把基础网络的链接模式配置成基于多用户、主设备为蓝牙局域网接入点,就可以计算出定位节点的位置坐标。目前,蓝牙定位技术受到蓝牙信号传播距离短的制约主要应用于小范围定位。由于蓝牙室内定位系统具有设备体积小、易于集成在其它系统中等优点,因此比较容易推广普及.而且,当采用该技术进行室内小范围定位时,蓝牙信号传输不受视距的影响,并且设备很容易就能够被系统发现.其缺点为蓝牙设备的成本比较大,在复杂的空间环境中,蓝牙定位系统受噪声信号干扰大,且稳定性较差。(6)射频识别技术射频识别技术进行定位是利用射频方式进行非接触式双向通信交换数据达到的.此技术成本低,作用距离一般为几十米,可以在非常短的时间内得到厘米级的定位精度信息。目前,理论传播模型的建立、用户的安全隐私和国际标准化等问题是射频识别研究的热点和难点。虽然射频标识技术有自身的优点,但相比于蓝牙定位技术,它不容易被整合到其它系统中。(6)Wi—Fi定位技术基于网络节点能够实现自身定位的前提,无线局域网(WLAN)是一种全新的定位技术,它可以在诸多的应用领域内实现复杂的大范围监测、定位和跟踪任务.现在比较流行的Wi—Fi定位是基于IEEE802.11标准、采用经验测试和信号传播模型相结合的一种定位解决方案.该定位系统需要的基站数量比较少,比较容易安装,具有相同的底层无线网路结构,系统定位精度较高。但是,如果定位的测算不是依赖于合成的信号强度图,而是仅仅依赖于哪个Wi—Fi的接入点最近,那么在楼层定位上很容易出错。目前,受到Wi-Fi收发器的覆盖范围一般只能达到半径90m以内的区域这一缺点的制约,该系统主要应用于小范围的室内定位。并且,无论是应用于室内定位还是室外定位,太系统对干扰信号的反应都很灵敏,从而影响其定位精度,定位节点的能耗也较高。除了以上提及的定位技术,还有基于光跟踪定位、基于图像分析、电脑视觉、信标定位等室内定位技术。3.无线定位基本方法要实现定位,首先要把移动终端到基站间的距离计算出来。在基于测距的定位方法中,常用的测量两个无线设备间距离的技术大致有以下四种:3.1基于电波传播时间(TOA)若电波从移动终端到基站的传播时间为t,电波传输速度为c,则移动终端位于以基站位置为圆心,以为半径的圆上.如果同时有三个以上的基站收到移动终端的无线信号,则移动终端的二维位置的坐标可由以基站为圆心的三个圆的交点确定。基于TOA的无线定位,时间上1的误差将导致定位结果在空间上产生300m左右的误差,因此要求基站拥有非常精确的时钟,收发信号的双方能够精确同步。3。2基于电波传播时间差(TDOA)通过测量无线信号到达基站的时间而不是无线信号到达基站的绝对时间来对移动终端进行定位,从而降低对时间同步的要求.根据信号到达两个基站的时间差,则可以确定移动终端位于以这两个基站为焦点的双曲线上。如果有三个以上的基站,则可以建立起多个双曲线方程,这些双曲线方程的交点就是移动终端的二维坐标位置.3.3基于电波入射角(AOA)在这种方法中基站通过接收机天线阵列测出移动终端发送电波的入射角,并确定一条从基站到移动终端的焦径线。通过多个基站对移动终端无线信号的测量,能够得到多条焦径线,这些直线的交点就是移动终端的位置。由于无线信号具有多径衰落等特性,采用此种方法在障碍物较少的地区可以得到较高的精确度,并且设备复杂价格昂贵。3。4基于信号强度(RSSI)无线信号的信号强度随着传播距离的增加而衰减,接收方与发送方离得越近,则接收方的信号强度就越强;接收方离发送方越远,则接收到的信号强度就越弱。根据移动终端测量接收到的信号强度和已知的无线信号衰落模型,可以估算出收发方之间的距离,根据多个估算的距离值,可以计算出移动终端的位置.这一种方法相对简单,不需要对网络添加额外的硬件设备,但是由于影响无线信号强度因素较多,定位精度不是很理想。由于室内定位范围一般相对较小,且现在室内定位一般是利用的高频率的无线电,传播速度为光速,时间上只要稍微出现一点误差,基于时间的测距方法便会产生非常大的误差,而基于RSSI的测距方法则没有这个缺点,且其信号模型在小范围内比较接近理论值,所以室内定位技术一般均是采用基于RSSI的定位方法。本文档主要探讨的就是基于基于信号强度进行的无线定位。4.经典的定位算法基于传播模型的定位算法很多,其中最基本的定位算法有三边测量法、双曲线测量法、最小二乘法。4.1三边测量法假设图4.1中三个圆的圆心A、B、C是对应的三个AP的位置。其对应的坐标分别为。三个圆的交点D即为待定位的移动终端位置,坐标为(x,y).对应测量点与各个无线接入点的距离为,,。根据几何关系可知:(4.1)将式(4.1)最后式减去前两式,可得:(4。2)由式(4。2)得到终端的位置坐标:(4.3)图4.1三边测量法4。2双曲线测量法两组双曲线可以确定一个点。如图4.2所示,,,分别为三个已知位置的基站,他们的坐标为,M点为待定位终端,他的坐标为(x,y)。经过测量,M点到各AP的距离分别为,,。根据双曲线的几何关系得到以下关系式:(4。4)而M到和到各其他AP的距离差为:(4。5)求解上述二元方程组就可以得到两个解,即双曲线的两个交点,其中一个为M点的坐标,而另一个则需要通过一定的先验知识来进行排除。图4.2双曲线测量法4.3最小二乘法当整个网络中包含3个或3个以上的已知位置的AP时,就可以得到多组方程组。设各已知位置AP节点的坐标为.。。,而未知待定位终端M坐标为(x,y),M到各已知位置AP的距离分别为,,.。。,则可建立以下方程组:(4.6)从第一个方程开始,分别减去最后一个方程得:(4.7)改写为线性方程组为:(4.8)其中:由于测量过程中存在误差N,利用最小二乘法原理可得:(4.9)式(4。9)对求导得:(4。10)如果非奇异,则(4。11)则可求出用户坐标(x,y)。5.基于泰勒级数展开的RSSI测距定位算法5.1RSSI测距模型在实际环境中,由于多径、障碍物、绕射等随机因素存在,无线信号传输中普遍采用的模型为:(5.1)式中,为经过距离后的路径损耗;为经过单位距离后的路径损耗;为单位距离,通常为1;为均值为0的随机数并服从高斯分布,其标准差范围是4~10;是信号衰减因子,范围为2~4。接收端收到的信号强度为:(5.2)式中,是接收信号强度指示即RSSI;为发射信号的功率;为发射天线增益。基于该原理,IEEE802.15。4标准给出了简化后的信号衰减模型:(5.3)但考虑到环境、成本、定位精度要求等因素,所以实际测量中测距模型可以进一步简化为:(5。4)式中,为信号衰减因子,范围一般为2~4;为定位节点与参考节点之间的距离;为定位节点与参考节点之间的距离为1m时测得RSSI值,式(5.4)就是RSSI测距的经典模型,得到了RSSI和的函数关系,故已知接收机接收到的RSSI值就可以算出与发射机之间的距离,和都是经验值和具体使用的硬件节点以及无线传播的环境有关,因此在不同的实际环境中和参数不同其测距模型也不同。5。2RSSI滤波信号强度的定位算法中信号强度值随环境的改变有很高的灵敏度,测量的准确度就会下降。事实上信号强度和距离之间的关系并不是让人十分满意,在环境中存在很大的波动性,在室内环境下测得到RSSI与节点距离的关系曲线图如图5.1所示:图5。1RSSI与距离关系曲线由图5。1关系曲线可以看出,接收信号强度值随距离的增加整体呈现出衰减的趋势,可又不是严格的衰减,这就表示RSSI值与距离间的关系并不是一一映射的,且存在一定程度上的抖动。并且传输距离较近时,RSSI值衰减较快;。当传输距离越远,RSSI值衰减越慢,信号强度对传输距离变化的表现并不明显。因此,利用RSSI测距时,要尽量避免RSSI的不稳定性,确保RSSI值精确的体现出无线信号的传输距离,可以通过设计各种滤波器使RSSI的值平滑。现有的RSSI信号处理方法有均值模型法和高斯模型法。均值模型法通过对采集到的信号取均值作为信号强度的估计值,该方法引入了小概率信号误差,导致信号估计值不准确;高斯模型法是利用高斯模型选出大概率信号,再对大概率信号取均值,但是通过对室内信号进行统计特性的分析发现信号具有严重的左偏现象,所以用高斯模型来描述信号分布是不准确的,而对其去对数后左偏度变小,可以近似看成对数分布,故室内信号可近似为对数正态分布,这样本文建立对数模型法对RSSI进行修正。引入对数模型法处理静态RSSI的原理:利用室内信号近似于对数一正态分布,通过对数正态分布的概率密度函数,选取高概率数据,从而去除小概率的数据,减少随机千扰给数据测量带来的误差。大量实验结果证明,对数正态分布模型可对电磁波室内传播情况进行如下近似:(5。5)(5.6)这里为真实距离,是遮蔽因子,是距离为时信号损耗,是路径损耗系数,是接收到的信号功率,是发射机发送的功率,是参考距离,是距离为时的信号损耗,通常情况下取=l,用自由空间传播模型来得到值。实际测量表明,服从均值为0,方差为的正态分布,即,但是在确定环境中的某一条确定的传播路径则是与确定的相对应,虽然由于传播空间的复杂性以及信号的时变性给测量带来一定的难度,但是可以对接收信号进行大量测量,通过估计来得到相应的。这样就必须研究(5。5)中遮蔽因子的估计方法.假设有个参考接收机,其位置分别为,待测用户与第个参考接收机的距离为,其位置为。由(5。6)可得(5。7)距离位置—关系如下:(5.8)这里,,,上式可以改写为:(5.9)再令(5.10)误差分析,可得到的ML估计,(5.11)的协方差矩阵为:(5。12),这里,假设误差相互独立则由于中元素独立,再令新的误差向量这里此处表示的第个元素,其中,所以(5.13)由此得到的ML估计:(5.14)得到(5.15)可以看出式(5.14)中虽然含有需要确定的未知量,但是它可以用己经估计得到的的值来近似。在实际应用过程中,由于未知,因此先以代入式(5.7)中得到的初值,代入上述方法中得到位置估计,然后由式(5。16)再得到的估计初值:(5。16)再用迭代式:(5.17)得到更新后的代入式(5.7)中得到的新值,并再次估计,得到新的未知估计值,这样重复迭代直到不再有明显的差异则完成估计。对数正态分布概率密度函数:(5.18)(5.19)(5.20)公式(5。18)为对数正态分布的概率分布函数,公式(5。19),(5.20)为该函数的均值与方差,为了选择到概率大的信号强度值,选取公式(5。19)中值对应的PDF为下边界点,值对应的PDF的0.6倍为上边界点(此值是根据实验得来),那么PDF值满足公式(5.21)时,此RSSI为高概率值,留下;反之则为小概率值,去除。(5.21)(5.22)(5。23)利用公式(5。21)筛选出高概率的RSSI,即,通过公式(5.22),(5.23)得出发生概率高的信号值,即为信号强度的估计值。将对数模型处理后的RSSI值带入公式(5。4)中可求出距离。图5。2所示,滤波前RSSI波动较大,而采用对数模型对RSSI进行处理以及对遮蔽因子修正之后则比较平滑:图5.2RSSI滤波效果图5.4定位点区域判定对于已经处理过的RSSI信号,接下来一步要进行的就是计算移动设备所在的区域,很多定位系统都利用分区方法来进行定位,并且不同的系统所利用的分区方法也都不尽相同。本文章提及的定位系统区域主要是根据所测量的信号强度的范围来判断出移动设备所在的平面内的位置区域。流程图如下5.3所示:图5.3区域判定流程图区域判定首先利用经过处理后的数据与各区信号强度范围结合,判定移动设备所在的区域.当判定的区域是唯一的时,该区域就是移动设备的估计区。预先设定好每个区域所对应的各个AP信号强度的最大值与最小值(即RSSI范围)然后将数据存储于数据库中。并记第i区第K个AP的最大值与最小值分别为、,在定位的过程中,由移动设备接收每个AP的信号强度,将第K个AP的信号强度记为,若,对该AP信号强度所对应的区域进行投票,并且每个AP对所有的这些区域都执行该过程。最后,拥有最大投票结果的区域就为移动设备最可能存在的区域。由于信号可能被障碍物、人等一些因素所影响,最后就可能出现存在两个甚至多个区域的值最大且相等的情况,这时就需要对这些可能的区域继续进行判定,继而找出移动设备可能在的区域,本论文将使用信号强度最接近法来判定移动设备所处的位置。若当最后投票的最大值为所对应的AP数时,计算出各AP实测信号强度和可能区域所对应的AP信号范围的最小绝对值,并分别统计出各个可能区域所有AP的最小绝对值之和,所得最大值所对应的区域即为移动设备估计区。若当最后投票的最大值不为所对应的AP数时,则分别计算出各可能区域不再信号强度范围内的AP信号强度到相应信号强度范围的绝对值,对所有可能区域的绝对值大小进行比较,判定最小绝对值所对应的区域,即为最终移动设备估计区。假如采用4个AP,定区结果为有两个区域的票数最大,都为3。只有一个AP的信号强度不在区域信号范围内。此时就应该找到两个在信号强度区域范围内的两个AP信号,并根据实测信号强度来判断哪个AP信号更为接近相应区域的信号,则它所在的区域便为移动终端可能处于的区域。利用上述判定区域的方法,可增强定位算法的鲁棒性、减小计算量、缩短定位时间.5.5泰勒级数展开定位法假设无线定位网络中有N个已知位置的参考节点,坐标为,RSSI测量值为通过利用无线信号传播衰减模型计算得到待定节点到参考节点的距离,则可得到以下方程:(5。24)在求解过程中利用泰勒级数展开迭代算法进行计算,其基本原理为:设定位节点的真实坐标为,对方程组(5.24)进行如下处理:(5。25)假设定位节点的近似位置为;用标记真实位置与近似位置的位置偏移量,将公式(5.25)按泰勒级数在近似位置处展开:(5。26)真实位置为近视位置和位置偏移量之和:因此:(5。27)上式在近似位置处利用泰勒级数展开,并去除一阶偏导各项:(5.28)各偏导数经计算为:将上述三式代入公式(5。25)得:整理得:(5.29)令:则公式(5。29)可简化为:可得:定义:,,得到:(5。30)用LS求解(5.30)式得:一旦算出了未知量,便可以利用,得出用户坐标真实值。只要是在线性化点的附近,这种线性化方法便是可行的。可以接收的位移取决于精度要求.如果位移的确超过了可接受的值,便可重新迭代上述过程,即以算出的估计坐标作为新的估计值代入再次进行运算.5。6实验仿真本实验在实验室走廊进行,使用三边测量法进行位置计算,均值滤波对RSSI进行处理,通过实验与本文提出基于泰勒级数的RSSI测距定位方法进行比较.在不存在多径效应、各路径均取信号衰减因子随机分布在2~4之间与信道中随机噪声的均方差随机分布在4~10之间的条件下在实验室环境中布置4个参考节点,位置分别定义为,测得100组数据代入公式中得出=42,=2.7.在实验环境中任取30个点,分别测得该点的实际位置,使用三边测量法的得到位置坐标,再使用本文提出的算法得到位置。比较两个位置的误差和,如图5.4所示:其中:图5.4定位误差比较由图5。4可以看到,在实验环境下使用传统的三边测量法平均定位误差为3m左右,最大误差达7m;使用改进算法后平均定位误差在lm以内,最大误差为1.6m.改进后的算法定位精确度的健壮性得到了改善,与传统的三边测量法相比较平均误差明显下降,这与本文希望改善定位定位效果、基本能够满足室内定位对误差的要求的改进期望相吻合,实现了提高定位精度的目的。由泰勒级数展开定位算法的理论说明知道,它是一种迭代循环定位算法,当得出的定位节点的位置坐标误差超过了可接受的范围时,就把计算所得值重新带入公式进行再次计算,直到得到满意的值为止.相比于线性化的定位算法的一次完成得出结果,它有多次修正机会。6。课题总结随着网络技术的不断发展,无线网络技术的优势逐渐显现。由于其可以免去大量的线路连接,节省系统的构建费用和维护成本,具有高度移动性,且组网和维护便利,故其能被广泛应用到各个不同的领域。其中,将无线网络用于室内定位是当下位置感知领域的研究热点。本文尝试性地对基于WiFi无线局域网的定位算法进行了研究。本文引出了当今社会环境下室内定位技术的重要性,对定位算法的相关知识进行简要的介绍和梳理。分析了基于节点间距离测试的定位方法以及几种经典的定位算法。然后重点研究了基于泰勒级数展开的RSSI测距定位算法。首先对基于RSSI的室内定位算法及RSSI测距模型进行了全面的分析,利用对RSSI建立对数模型之后对遮蔽因子进行修正,再结合定位点区域判定方法减小定位时间,最后结合泰勒级数展开法进行位置计算.通过实验分析可知,改进后的定位方法其定位精确度相对提高,减少了测量误差。该定位技术成本低、设备少、易获取,适用于低功耗、低成本的无线定位系统。参考文献[1]吴珍鸣。介绍介绍几种室内定位技术[DB/OL].测绘咨询吧,2009[2]郝建军,刘丹谱,乐光新。无线局域网技术WiFi[J]世界宽带网络.2008,6:1-3。[3]张利.基于WiFi技术的定位系统的实现[D]。北京:北京邮电大学,2009.[4]方震,赵湛,郭鹏等.基于RSSI测距分析[J].传感器技术学报,2011,20(11):2526—2530.[5]Erin-Ee—LinLau,WanYoungChung.室内外环境基于RSSI的用户实时定位跟踪增强系统,信息技术融合国际会议,2008。1.[6]RajaeeS。在专门的无线传感器网络中使用概率类神经网络和独立分量分析的节能定位[C],电信国际研讨会,2008.[7]K.Benkic,M。Malajner,P。Planinsic,Z.Cucej.基于RSSI参数使用无线传感器网络距离在线测量和可视化系统,2009信号和图像处理,2009。10.专业综合设计报告课程名称:电子专业综合设计设计名称:基于模拟退火算法的TSP算法姓名:学号:班级:电子0903指导教师:朱正为起止日期:2012。11.1—2012.12.30专业综合设计任务书学生班级:电子0903学生姓名:学号:20095830设计名称:基于模拟退火算法的TSP算法起止日期:2012.11.1—2012。12.30指导教师设计要求:旅行商问题,即TSP问题(TravellingSalesmanProblem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。此设计是用模拟退火算法来实现TSP问题的寻求最优解。专业综合设计学生日志时间设计内容2012.11。9初步了解模拟退火算法的TSP算法2012.11。12设计算法流程、确定解题思路2012。11.20讨论算法流程及解题思路的可行性,为仿真做准备2012.12。2运用MATLAB软件进行实验仿真,分析仿真结果2012.12。8整理实验报告2012.12.17答辩专业综合设计考勤表周星期一星期二星期三星期四星期五专业综合设计评语表指导教师评语:成绩:指导教师:年月日一TOC\o"1—3"\h\z\uHYPERLINK\l”_Toc342133561"设计目的和意义PAGEREF_Toc342133561\h5二设计原理PAGEREF_Toc342133562\h52。1模拟退火算法的基本原理.。。。。。..。。.。。.。。.。........。.。...。..。...。...。。.。。....。.。。.。。.....。.。.。.。....。.....。。..。。..。。..。...。.。。...。...。。.52。2TSP问题介绍.。。。。.....。。。.。。。..。.。。..。.....。。...。。..。。.。。....。..。...。.。......。....。.。.。。.。.。.。.....。...。..。。.......。..。.。。。....。。.。。..。。。6三详细设计步骤....。。.。。.。。.......。。。...。。....。.。......。.。.。.....。....。..........。。.。.。.....。..。。。.。。。。..。.。.....。。。。.....。。.。.。.....。.。。。.。.......。.PAGEREF_Toc342133563\h73.1.算法流程83.2模拟退火算法实现步骤PAGEREF_Toc342133565\h8四设计结果及分析9HYPERLINK\l”_Toc342133573"4.1MATLAB程序实现及主函数....。.。。。..。..。.。.。.。..。...。...。。。......。。..。。....。。.....。...。.。。.。..。....。....。。.。.。.。..。.......。。。..。.。....94.1。1计算距离矩阵。..。..。..。。.。。。..。.。。。。。...。...。.。。.。..。。.。。.。。..。..。...。。。。。。.。.。。。.。。....。.。..。。...。.。.。....。..。....。......。.。94.1。2初始解..。。。。...。.。....。..。..。.。.。...。..。.。。。.。..。。。.。。..。...。.。。。..。.....。.。.。。.。...。..。..。...。。..。..。..。。。.。......。。.。。..10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论