语音采集和传输的无线传感器网络准入控制方法及其系统转让专利

申请号 : CN200910076768.6

文献号 : CN101478774B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙利民李立群皇甫伟刘燕

申请人 : 中国科学院软件研究所

摘要 :

本发明公开了一种语音采集和传输的无线传感器网络准入控制方法及其系统,属于无线传感器网络领域。本发明的方法为:节点获取从自身到汇聚节点的端到端路径丢包率,并根据根据丢包率计算所采用的压缩比和冗余率;然后请求节点i根据压缩比和冗余率计算注入速率,同时向汇聚节点发出包括注入速率的请求加入消息;汇聚节点根据请求加入消息判断当前流量是否满足本节点的带宽约束;如果满足且没有接收到其他节点发出的拒绝节点i加入消息,则允许节点i加入;否则拒绝节点i加入;本发明的系统包括:微控制器、无线收发模块和语音采集器。与现有技术相比,本发明能够保障端到端语音质量、提高网络利用率,同时提供传感器网络传输语音在线实时评估。

权利要求 :

1.一种语音采集和传输的无线传感器网络准入控制方法,其步骤为:

1)节点探听邻居节点流信息,同时获取从自身到汇聚节点的端到端路径丢包率e;

2)节点根据自身到汇聚节点的端到端丢包率e计算所采用的压缩比c和冗余率γ;

3)请求节点i根据压缩比c和冗余率γ计算语音注入速率,同时向汇聚节点发出请求加入消息,所述请求加入消息中包括语音注入速率且语音注入速率大于设定的阈值速率;

4)汇聚节点根据接收到的请求加入消息和探听的邻居节点流信息判断当前流量是否满足本节点的带宽约束;

5)如果满足带宽约束,且在设定时间内汇聚节点没有接收到其他节点发出的拒绝请求节点i加入消息,则允许请求节点i加入;如果不满足带宽约束,或在汇聚节点设定时间内接收到其他节点发出的拒绝请求节点i加入消息,则拒绝请求节点i加入;

6)请求节点i接收到汇聚节点发出的允许加入消息后,使用请求节点i所计算的压缩比c和冗余率γ发送语音数据。

2.如权利要求1所述的方法,其特征在于如果所述请求节点i经一个或多个路径节点到达所述汇聚节点,则路径节点记录接收的请求加入消息数量并将其沿路由传递到下一跳节点,同时根据在设定时间内接收到的请求加入消息和探听的邻居节点流信息,判断当前流量是否满足本节点的带宽约束;如果不满足,则向所述汇聚节点发出所述拒绝请求节点i加入消息。

3.如权利要求1或2所述的方法,其特征在于所述带宽约束的计算方法为:根据关系式计算所述带宽约束Bi,其中C(i)为所述请求加入节点i的冲突域,λtot(j)为节点j上的总流量。

4.如权利要求1所述的方法,其特征在于节点的流信息包括:节点id和节点上的流量大小;节点探听邻居节点的流信息时,将所得流信息记录在流量队列中,如果节点在一个生命期内未收到任何关于某节点i的流信息,则认为节点i已退出,节点清空流量队列中节点i的表项;所述流量队列包括节点id和该节点上的当前流量大小。

5.如权利要求1所述的方法,其特征在于采用公式λinject(i)=A·c·(1+γ)计算语音注入速率,其中A为原始数据量;所述阈值速率根据端到端丢包率和质量损失阈值进行计算,其中质量损失阈值设置为43.2。

6.如权利要求1所述的方法,其特征在于采用VoIP中语音质量评估模型,对传输语音质量进行实时在线评估。

7.一种语音采集和传输的无线传感器网络准入控制系统,包括微控制器、无线收发模块和语音采集器、一带通滤波器和一功率放大器;所述微控制器与所述无线收发模块通过SPI接口连接;所述语音采集器通过数据线与所述微控制器的ADC端口连接;所述带通滤波器通过数据线与所述微控制器的ADC端口连接;所述功率放大器通过数据线与所述带通滤波器连接;所述语音采集器通过数据线与所述功率放大器连接;所述微控制器包括一语音流处理层,所述语音流处理层包括:语音质量评估模块,用于根据节点到汇聚节点的端到端丢包率e计算所采用的压缩比c和冗余率γ,并计算语音注入速率;压缩比/冗余率动态调整模块,用于对原始数据按照所述语音质量评估模块给出的压缩比和冗余率压缩数据和发送数据;准入控制模块,用于计算剩余带宽是否容纳加入的新流,并将结果反馈给汇聚节点。

8.如权利要求7所述的系统,其特征在于所述微控制器为32-bit微控制器;所述语音采集器为驻极体电容麦克风,其语音采样频率设置为8KHz;所述带通滤波器为340Hz~3400Hz的带通滤波器。

9.如权利要求7或8所述的系统,其特征在于所述微控制器内的软件系统还包括操作系统层、网络协议层;

所述操作系统层包括:任务管理模块,用于实现任务管理;中断处理模块,用于管理硬件产生的中断;软件时钟模块,用于提供软件定时器功能;硬件驱动模块,用于实现所述无线模块收发无线分组;

所述网络协议层包括:链路层,用于实现基于CSMA信道访问控制的协议;网络层,用于实现了基于ETX链路质量评估的树状路由协议以及提供网络中任意节点到汇聚节点的端到端丢包率测量值。

10.如权利要求9所述的系统,其特征在于所述准入控制模块包含两个子模块:速率分配模块,用于监听信道以及统计邻居节点已经占用的带宽;带宽估计模块,用于分布式估算当前可用带宽。

说明书 :

技术领域

本发明涉及一种用于语音采集和传输的准入控制方法及其系统,尤其涉及一种用于语音采集和传输的无线传感器网络准入控制方法及其系统,属于无线传感器网络领域。

背景技术

近年来,随着嵌入式硬件技术和感知技术的发展,将低成本的麦克风部署在嵌入式节点上,可使节点采集低帧率视频或声音信号,利用有限的计算设备处理原始数据后在极其有限的带宽上传输。在多种应用场合,例如语音环境监控,入侵检测等有广泛的应用。
无线网络具有的高丢包率、高延迟和延迟抖动,严重影响语音质量。此外,语音具有高数据量的特点,容易造成数据拥塞。在无线传感器网络中解决拥塞问题通常有两种方法,一种方法是拥塞控制,另一种方法是准入控制。
拥塞控制技术通常分为:拥塞检测、拥塞通告和拥塞消除三个阶段。拥塞控制在网络发生拥塞后通告相关源节点调整速率,从而消除拥塞。具有代表性的拥塞控制方法有CODA(C.Wan,S.Eisenman,and A.Campbell.CODA:Congestion Detection and Avoidancein Sensor Networks.In ACM SenSys,2003.),Fusion(B.Hull,K.Jamieson,and H.Balakrishnan.Mitigating congestion in wireless sensor networks.In ACM SenSys2004,Baltimore,MD,November 2004.)和WCPCap(S.Rangwala,A.Jindal,K.-Y.Jang,K.Psounis,and R.Govindan.Understanding congestion control in multihop wirelessmesh networks.In MobiCom,2008.)。拥塞控制不适合解决传感器网络语音传输问题,有下列原因:(1)没有考虑语音质量的要求;(2)AIMD源节点速率调整方法造成长时间传输速率波动;(3)拥塞处理过程导致语音质量暂时下降。
准入控制技术估算网络剩余带宽大小,通过拒绝新流加入来达到避免拥塞的目的。传统的准入控制方法有CACP(Yaling Yang and Kravets,R.Contention-aware admissioncontrol for ad hoc networks.Mobile Computing,IEEE Transactions on,2005,July-Aug.volume4,number4,363-377)和PAC(Chakeres,I.D.and Belding-Royer,E.M.PAC:perceptive admission control for mobile wireless networks,QSHINE2004.Oct.18-26),它们都没有考虑语音质量的要求。
语音质量评估分主观评估和客观评估,主观评估利用听众打分得到语音质量等级,经典方法MOS(Mean Opinion Score)将语音质量划分为1-5。MOS值2.6以下被认为是不能被听者接受的。主观评估方式存在显然的缺陷,即需要耗费大量的时间和人力,并且不能实时在线评估。此外,由于评估具有主观性,无法将该方法用于网络设计。1998年ITU提出了名为E-Model的客观语音质量评估模型,该模型以网络各项参数(编码算法、端到端延迟、延迟抖动、丢包率等)为输入。但是,由于E-Model针对VoIP应用,没有考虑无线传感器网络高丢率的特点。此外,VoIP中压缩编码采用G.729或G.726等编码,这些编码计算复杂度高,不适合低成本、低计算能力的传感器节点。

发明内容

针对以上问题,本发明提供了一种用于语音采集和传输的无线传感器网络准入控制技术,该设备首先引入VoIP中语音质量评估模型,对传输语音质量实时在线评估。根据E-Model(J.A.Bergstra and C.A.Middelburg.Itu-t recommendation g.107:Thee-model,a computational model for use in transmission planning.Technical report,2003.),传感器语音端到端传输过程中的丢包对语音质量影响很大,而延迟造成的影响较小,并且语音单向传输对延迟要求小,故将语音损失模型简化,只考虑丢包对质量的影响,由下式表示:
Ie=γ1+γ2ln(1+γ3e)
其中Ie表示由于端到端丢包造成的语音损失,e表示端到端丢包率。γ1,γ2,γ3为三与语音压缩算法相关的常数。本发明通过大量试验方法测量得到的γ1,γ2,γ3三个参数数值,见如表1:
表1、不同压缩编码(压缩比)对应的γ1,γ2,γ3取值
  压缩编码(压缩比)   γ1   γ2   γ3   5-bit ADPCM   6.96   8.78   8.21   4-bit ADPCM   13.30   8.28   5.21   3-bit ADPCM   25.38   6.08   4.15   2-bit ADPCM   40.37   2.75   6.58
测量得到的G.726压缩编码下不同压缩比与丢包率的关系如图1所示。图中显示不同压缩比下丢包率对语音质量影响不同。
针对传感器网络无线通信质量差,丢包率高的特点,本发明采用冗余机制,在发送数据分组后以一定概率将该分组重复发出一遍。在此之前,各个节点统计从自身到汇聚节点的端到端丢包率e。例如:源节点发送数据分组M后,按照概率(冗余率)γ将M再发送一次,而概率γ的计算过程描述为:
λinject(i)=A·c·(1+γ)0≤γ≤1
其中λinject(i)表示节点i向网络中注入数据量的速率,A表示原始数据量大小,c为压缩比。在有冗余情况下的实际数据丢失率e′为:
e′=(1-γ)·e+γ·e2
结合前面提到的语音质量计算模型,可知语音质量受到压缩比和丢包率的影响,即损失质量Ie满足关系Ie=f(c,e′)。而根据E-mode,语音损失必须小于一个阈值才能保障端到端质量可以接受,所以:
Ie≤Ithres  Ithres=93.2-50=43.2
上式中,经过采样得到的语音最高质量为93.2,而MOS给出最低能接受的语音质量为50(对应MOS值2.6)因此,质量损失阈值设置为43.2。
综合上述各式,当测得端到端丢包率e时,可求节点满足质量要求前提下,计算方法为:由于不同压缩比下丢包率对语音质量影响不同,对于4种情况分别进行计算。例如,先取压缩到3-bit编码码率,则Ie=25.38+6.08·ln(1+4.15e′),欲使Ie≤43.2则满足e′≤4.28。若已知端到端丢包率为e=10%,可得γ≥0.63于是根据公式求得
λinject(i)≥128·(3/16)·(1+0.63)=39.12Kbps
按照上述方法,分别对2-bit,3-bit,4-bit,5-bit计算,可求得4个对应的注入速率值,取其最小值作为速率阈值λthres。也就是必须满足λinject(i)(i)≥λthres才能保证端到端语音质量要求,此约束称为质量约束。
在CSMA链路层协议下,对于发送节点i,发送数据的速率λi受限于冲突域内其它发送节点的工作状态。设节点i的冲突域为C(i),那么ΣjC(i)λ(j)Capacity(i),其中Capacity(i)表示节点i所见的冲突域内的局部容量。本发明采用了一个简化的容量模型(G.Bianchi.Performance analysis of the ieee 802.11 distributed coordination function.IEEEJSAC,18(3):535-547,2000),该模型定义饱和容量为:当所有发送者在一个冲突域内向一个接受者发送时,在接收者处观测到的最大容量。本文采用了这种估计方法来逼近局部容量Capacity(i)。饱和容量的测试采用硬件节点实际测量,测量得到的接收速率与冲突域内节点数量关系如图2所示。
由于每个节点的邻居节点集合均不相同,受限于局部容量,需满足ΣjC(i)λtot(j)Bi,其中λtot(j)表示节点j上的总流量(自身流量加上所有中转流量),此约束称为带宽约束。
在质量约束和带宽约束前提下,下面讨论准入控制方法,分为两个部分,一部分是节点分布式探听,另一部分是源节点申请,下面分别说明:
分布式探听中,节点均探听周围邻居节点上流信息,包括节点id和节点上的流量大小。在此过程中,每个节点,计算所有经过的流的流量大小并记录在发出的数据包包头内,作为数据包包头的一部分附带在数据分组内。节点探听邻居节点发出的数据分组,将所得信息记录在流量队列,该队列结构由图3表示。
队列中λtot(id)分别表示当前流量。节点维护流量队列时,关于每项记录均有一个生命期Γ,若节点在一个生命期内未收到任何关于流fid的信息则认为该流已经退出,因此清空其对应的表项。
申请过程从源节点i开始,节点i申请加入方法为:节点i首先向汇聚节点发出请求加入消息INIT,并同时启动申请定时器Tinit。INIT消息头包含源节点申请加入的注入速率λinject(i),该速率必须满足质量约束。INIT消息沿路由逐跳发送到汇聚节点,此过程中,所有路径上的节点以及那些探听到INIT消息的节点都计算新流加入后带宽约束是否满足。若某节点发现带宽约束无法满足,则向汇聚节点发出通告REJ。汇聚节点设置加入定时器Tad,若定时器超时之前收到节点发出的REJ消息,则汇聚节点不进行操作,否则向源节点i发出接收消息GRANT,源节点接收到该消息后开始传输语音流数据。若源节点在定时器Tinit超时后仍未收到GRANT消息,则表示请求加入失败。
综上所述,本发明的技术方案为:
一种语音采集和传输的无线传感器网络准入控制方法,其步骤为:
1)节点探听邻居节点流信息,同时获取从自身到汇聚节点的端到端路径丢包率e;
2)节点根据自身到汇聚节点的端到端丢包率e计算所采用的压缩比c和冗余率γ;
3)请求节点i根据压缩比c和冗余率γ计算语音注入速率,同时向汇聚节点发出请求加入消息,所述请求加入消息中包括语音注入速率且语音注入速率大于设定的阈值速率;
4)汇聚节点根据接收到的请求加入消息和探听的邻居节点流信息判断当前流量是否满足本节点的带宽约束;
5)如果满足带宽约束,且在设定时间内汇聚节点没有接收到其他节点发出的拒绝请求节点i加入消息,则允许请求节点i加入;如果不满足带宽约束,或在汇聚节点设定时间内接收到其他节点发出的拒绝请求节点i加入消息,则拒绝请求节点i加入;
6)请求节点i接收到汇聚节点发出的允许加入消息后,使用请求节点i所计算的压缩比c和冗余率γ发送语音数据。
进一步的,如果所述请求节点i经一个或多个路径节点到达所述汇聚节点,则路径节点记录接收的请求加入消息数量并将其沿路由传递到下一跳节点,同时根据在设定时间内接收到的请求加入消息和探听的邻居节点流信息,判断当前流量是否满足本节点的带宽约束;如果不满足,则向所述汇聚节点发出所述拒绝请求节点i加入消息。
所述带宽约束的计算方法为:根据关系式计算所述带宽约束Bi,其中C(i)为所述请求加入节点i的冲突域,λtot(j)为节点j上的总流量。
节点的流信息包括:节点id和节点上的流量大小;节点探听邻居节点的流信息时,将所得流信息记录在流量队列中,如果节点在一个生命期内未收到任何关于某节点i的流信息,则认为节点i已退出,节点清空流量队列中节点i的表项;所述流量队列包括节点id和该节点上的当前流量大小。
所述方法中采用公式λinject(i)=A·c·(1+γ)计算语音注入速率,其中A为原始数据量;所述阈值速率根据端到端丢包率和质量损失阈值进行计算,其中质量损失阈值设置为43.2。
所述方法中采用VoIP中语音质量评估模型,对传输语音质量进行实时在线评估。
一种语音采集和传输的无线传感器网络准入控制系统,包括微控制器、无线收发模块和语音采集器、一带通滤波器和一功率放大器;所述微控制器与所述无线收发模块通过SPI接口连接;所述语音采集器通过数据线与所述微控制器的ADC端口连接;所述带通滤波器通过数据线与所述微控制器的ADC端口连接;所述功率放大器通过数据线与所述带通滤波器连接;所述语音采集器通过数据线与所述功率放大器连接;所述微控制器包括一语音流处理层,所述语音流处理层包括:语音质量评估模块,用于根据节点到汇聚节点的端到端丢包率e计算所采用的压缩比c和冗余率γ,并计算语音注入速率;压缩比/冗余率动态调整模块,用于对原始数据按照所述语音质量评估模块给出的压缩比和冗余率压缩数据和发送数据;准入控制模块,用于计算剩余带宽是否容纳加入的新流,并将结果反馈给汇聚节点。
进一步的,所述微控制器为32-bit微控制器;所述语音采集器为驻极体电容麦克风,其语音采样频率设置为8KHz;所述带通滤波器为340Hz~3400Hz的带通滤波器。
所述微控制器内的软件系统还包括操作系统层、网络协议层;
所述操作系统层包括:任务管理模块,用于实现任务管理;中断处理模块,用于管理硬件产生的中断;软件时钟模块,用于提供软件定时器功能;硬件驱动模块,用于实现所述无线模块收发无线分组;
所述网络协议层包括:链路层,用于实现基于CSMA信道访问控制的协议;网络层,用于实现了基于ETX链路质量评估的树状路由协议以及提供网络中任意节点到汇聚节点的端到端丢包率测量值。
所述准入控制模块包含两个子模块:速率分配模块,用于监听信道以及统计邻居节点已经占用的带宽;带宽估计模块,用于分布式估算当前可用带宽。
与现有技术相比,本发明具有的积极效果为:
1,语音质量量化描述:本发明引入VoIP中已有语音质量模型,针对传感器网络特点修改,为传感器网络传输语音提供在线实时评估。
2,语音质量保证:设计传输可靠机制,优化语音压缩比和冗余率选择,保障端到端语音质量。
3,带宽利用率高:准入控制机制精确评估剩余带宽大小,在保证语音质量前提下提高网络使用效率。

附图说明

图1、G.726压缩比与丢包率对语音质量的影响;
图2、发送节点数量与饱和容量的关系;
图3、流量队列结构;
图4、源节点申请加入流程;
图5、中继节点申请加入流程;
图6、汇聚节点申请加入流程;
图7、硬件连接关系;
图8、软件结构。

具体实施方式

以下结合附图通过最佳实施例详细说明本发明,但不构成对本发明的限制。
在本实施例中,本发明的系统硬件平台是一种低成本语音采集节点。节点支持高带宽语音传输,使用32-bit微控制器。无线收发芯片最高数据收发速率为500Kbps。节点上装置了驻极体电容麦克风用于语音数据采集,由于人声频率范围为340Hz到3400Hz,所以语音采样频率设置为8KHz,保障语音无损采集。此外,平台上实现了340Hz到3400Hz的带通滤波器,进一步减弱人声频率以为的其它频段带来的噪音,优化采样效果。为减少传输语音带宽,对原始数据进行数据压缩,节点软件上实现了ADPCM语音压缩算法,该算法将8-bit原始采样数据压缩为5-bit,4-bit,3-bit或2-bit ADPCM码流。硬件连接关系参考图7,其中微控制器与无线收发模块通过SPI接口连接;带通滤波器通过数据线与微控制器的ADC端口连接;功率放大器通过数据线与带通滤波器连接;语音采集器(如麦克风等)通过数据线与功率放大器连接。
软件结构位于微控制器中,其可以分为三个层次:操作系统层,网络协议层和语音流处理层,如图8表示:
操作系统层包含四个主要模块:任务管理模块(TM),中断处理模块(IM),软件时钟模块(ST)和硬件驱动模块(HD)。其中任务管理模块用于实现任务管理,其支持先到先服务的非抢占式任务调度,支持最大任务数为25。中断处理模块管理硬件产生的中断,包括微控制器的时钟中断处理和CC1100相关时钟中断处理。软件时钟模块提供共计20个软件定时器功能,定时器精度为0.1毫秒。硬件驱动模块实现CC1100收发无线分组。
网络协议层包含链路层和网络层。其中链路层实现了基于CSMA信道访问控制的协议,该协议参考B-Mac(J.Polastre,J.Hill,and D.Culler.Versatile low power mediaaccess for wireless sensor networks.In SenSys,2004.)实现。网络层实现了基于ETX链路质量评估的树状路由协议(A.Woo,T.Tong,and D.Culler.Taming the underlyingchallenges of reliable multihop routing in sensor networks.In SenSys,2003.)。路由层提供网络中任意节点到汇聚节点的端到端丢包率测量值。
语音流处理层分为三个基本模块:语音质量评估模块用于根据节点到汇聚节点的端到端丢包率e计算所采用的压缩比c和冗余率γ,并计算得到最终注入速率λinject(i)=A·c·(1+γ),压缩比/冗余率动态调整模块用于对原始数据按照语音质量评估模块给出的压缩比和冗余率压缩数据和发送数据;和准入控制模块负责计算剩余带宽是否容纳加入的新流,并将结果反馈给汇聚节点;准入控制模块包含两个子模块:速率分配模块监听信道,统计邻居节点已经占用的带宽;带宽估计模块分布式估算当前可用带宽。
下面结合附图,对本发明的方法做进一步的详细说明:
1)为计算最优压缩比和冗余率,所有节点获取从自身到汇聚节点的端到端路径丢包率(从路由模块获取)。每个节点启动后探听周围邻居节点的流信息,把所有邻居节点的id和流量大小记录在流量队列中,用于计算冲突域内已消耗的带宽大小。
2)如图4所示,节点i启动申请加入网络过程,语音质量评估模块根据节点到汇聚节点的端到端丢包率e计算所采用的压缩比c和冗余率γ(计算方法参考前面举例),并计算得到最终注入速率λinject(i)=A·c·(1+γ)。节点i向汇聚节点发出请求加入消息INIT,并在消息头部附带λinject(i)。同时,节点i开启加入定时器Tinit。
3)如图5所示,节点j接收到INIT消息,启动申请定时器Tapp,若j为节点i路径上的节点则跳转到步骤4,若不是则跳转到步骤5。
4)节点j记录已收到的INIT消息个数,将INIT消息沿路由传递到下一跳节点,若节点j为汇聚节点,则开启接受定时器Tad,跳转到步骤6。
5)节点j记录已收到的INIT消息个数,跳转到步骤6。
6)等待申请定时器Tapp超时后,节点计算带宽约束是否满足,计算过程中的本地带宽估计由准入控制模块中的带宽估计模块完成。如果不满足则向汇聚节点发出拒绝加入通过REJ(汇聚节点自身无需通过无线发送)。
7)如图6所示,汇聚节点等待Tad超时,若在此期间收到REJ消息,则表示节点i加入失败;否则,汇聚节点向节点i发出GRANT消息,通告加入成功。
8)节点i等待Tinit超时,若超时前收到汇聚节点的GRANT消息,则使用预先计算好的压缩比c和冗余率γ发送语音数据;否则,节点i认为加入失败。