APP下载

基于Fuzzy-PID算法的北斗指挥中心网络拥塞控制问题研究*

2018-09-29王俊社

通信技术 2018年9期
关键词:控制算法模糊控制队列

杨 赫,王俊社

(河北科技大学 信息科学与工程学院,河北 石家庄 050000)

0 引 言

中国北斗卫星导航系统是中国自行研制的全球卫星导航系统,是继美国全球定位系统(GPS)、俄罗斯格洛纳斯卫星导航系统(GLONASS)后第三个成熟的卫星导航系统。它在气象应用、道路交通管理、航空运输、铁路智能交通、应急救援等方面扮演着十分重要的角色[1]。

北斗应急救援系统主要由北斗指挥中心、移动应急救援指挥分中心和应急救援单兵系统三部分组成。依托通信卫星及其他辅助通信设备,可实现图像、语音、相关数据的上传与下发。依托北斗定位导航通信卫星,可实现准确定位于基于短报文的应急指挥与综合显示等[2]。北斗指挥中心在接收终端用户的短报文救援信

息时,由于在短时间内有可能需要接收庞大的数据流,可能会造成网络拥塞,从而产生信息的丢失[3]。因此,需要结合北斗系统的实际情况,制定一种控制策略来避免拥塞的发生,或者即使发生拥塞也能及时恢复正常,从而降低网络崩溃的可能性。在拥塞控制的同时,还应该保证链路利用的效率。

1 相关研究

文献[4-5]介绍了网络拥塞的定义。事实上,网络拥塞没有严格的定义,人们普遍认为拥塞是用户给网络带来的负载(load)大于网络资源容量和处理能力时,网络提供的服务质量将降低,是指需求超过其固有容量的一种持续过载状态。一般来说,网络拥塞可以通过升级网络硬件的方法来解决。但是,网络的飞速发展使得新资源终将会被占用,因此这种治标不治本的方法有可能使网络环境更加不稳定。所以,对于网络拥塞控制的研究具有重要的理论意义和应用价值。

文献[6-7]介绍了主动队列管理算法(Active Queue Management,AQM)。它是一种拥塞恢复机制,通过在路由器队列中丢弃或标记数据包,将拥塞情况隐式或显式地通知源端,然后源端相应地减小数据发送速率来响应数据包的丢弃或标记,从而避免更严重的拥塞发生。但是,它存在着满队列、死锁以及全局同步等问题。文献[7-8]介绍的随机早起检测(Randomearly Detection,RED)算法是最著名的AQM算法。它是通过监控平均队列长度来检测拥塞,一旦发现拥塞,就随机选择源端来通知拥塞,使它们在队列溢出前降低发送数据速率,缓解网络拥塞。但是,RED算法对参数设置很敏感,如何正确选择参数是一个重要问题,造成了算法灵活性不足的问题,且平均队列长度经常会随着连接数目的增加而不断增大,造成传输时延抖动,引起网络性能不稳定。

文献[9-11]介绍了PID控制算法。在过程控制中,它按偏差的比例(P)、积分(I)和微分(D)进行控制。该算法具有原理简单,易于实现,控制参数相互独立,参数的选定比较简单的特点。但是,该算法适用于可建立精确数学模型的控制系统,对于过于复杂或难以精确描述的系统,显得无能为力。文献[12-13]介绍了模糊控制理论(Fuzzy Control Theory)。模糊控制是一类应用模糊集合理论的控制方法,主要包括模糊化、规则库、模糊推理和解模糊四个部分。模糊控制可以为非线性控制器提供比较容易的设计方法。

综上所述,本文针对北斗指挥中心可能会出现的网络拥塞问题,提出基于模糊理论的PID拥塞控制方案,不仅能够维持网络稳定、高效运行,而且能够保证北斗指挥中心在运行过程中提供高质量的服务。

2 Fuzzy-PID方案设计

传统的PID算法适用于可建立精确数学模型的控制系统,不适用难以精确描述的系统。为了解决这个问题,将模糊理论与传统PID控制算法相结合,得到了新的Fuzzy-PID算法。

2.1 PID控制算法

PID控制器由比例控制、积分控制和微分控制三个部分组成。常规PID控制算法原理如图1所示。

图1 PID控制算法原理

规定输入值r(t)和实际输出值c(t)构成控制偏差e(t)=r(t)-c(t),则PID控制规律可以表示为:

将式(1)写成传递函数的形式,得到:

式中:KP为比例系数;TI为积分时间常数,KI为积分系数;TD为微分时间常数,KD为微分系数。

对于不同的控制对象,只要调整PID的三个参数KP、KI、KD,就可以起到良好的控制效果。比例环节能及时成比例地反映偏差信号。偏差一旦产生,控制器将产生控制作用减少偏差;积分环节主要用于消除静差;微分环节能反映偏差的变化趋势,引入修正信号,加快系统动作速度,减少调节时间。

2.2 模糊控制理论

模糊控制是模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术,是一种非线性智能控制。模糊理论原理如图2所示。

图2 模糊控制理论原理

模糊化前,需要对输入量进行尺度变换,使其变到相应的论域范围。如果输入量r变化范围为[-rn,rn],将其转换到量化论域:

精确值r总可以通过一定的判定条件,量化为论域X上的一个元素。

模糊控制规则一般具有以下控制规则:

其中,e、ec和u分别为误差、误差变化和控制量,而Ai、Bi、Ci为各自相应论域上的语言值。

2.3 Fuzzy-PID控制算法

典型的PID控制只能利用固定的一组参数进行控制,显然不能满足复杂的网络环境。因此,将模糊控制与PID控制结合起来,构成新的Fuzzy-PID控制算法。新的算法既具有模糊控制灵活而适应性强的优点,又具有PID控制精度高的特点。Fuzzy-PID控制算法原理如图3所示。

图3 Fuzzy-PID控制算法原理

用于参数网络拥塞的模糊控制器采用二输入三输出的形式。由于队列长度是可以实时获取的,因此采用队列长度误差E和误差变化率EC作为输入,而PID控制器的三个参数P、I、D的修正ΔKP、ΔKI、ΔKD作为输出。PID最终的参数KP、KI、KD由式(5)得到:

式中的KP0、KI0、KD0是PID的初始参数。

取输入误差E、误差变化率EC及输出ΔKP、ΔKI、ΔKD模糊子集为:

子集中元素分别代表负大、负中、负小、零、正小、正中、正大。将误差E和误差变化率EC量化到(-3,3)的区域,输出量化到(0,1)的区域内,二者的隶属函数曲线如图4所示。

图4 E和EC的隶属函数曲线

数ΔKP、ΔKI、ΔKD的整定要求不同。根据上文各参数对系统的影响,对PID各个参数的选取应有以下原则[14]:

(1)当E<0、EC>0时,系统输出趋向稳态值的速度越快越好,可增大ΔKP,当接近稳态值时,为减小超调,应增大ΔKD,同时减小ΔKP和ΔKI;

(2)当E<0、EC<0时,系统本身己有减少误差的趋势,应尽快消除误差且不超调,应取较小的控制量。此时,增大ΔKD、ΔKI并减小ΔKP,以降低超调,使输出尽量回到稳态值;

(3)当E>0、EC<0时,偏差开始减小,系统在控制作用下己呈现稳态变化趋势,控制作用不应太强,否则会再次出现超调,应适当减小ΔKP、ΔKI和ΔKD,避免回调;

(4)当E>0、EC>0时,系统出现下调,需适当增大ΔKP,使输出尽快回到稳态值附近;

(5)系统进入稳态时,恢复调整初始时的PID参数。

根据上述PID各参数对网络拥塞控制系统性能的影响以及参数进行整定的原则,结合经验,得出针对ΔKP、ΔKI、ΔKD整定的模糊控制规则表[15],如表1所示。模糊控制器中的规则可由if-then语句表示,本设计中模糊规则库中的规则共49条。

表1 ΔKP、ΔKI、ΔKD模糊控制规则

把模糊量转换为精确量的过程称为清晰化,又称为去模糊化或模糊判决。为了获得准确的控制量,要求模糊方法能够很好地输出隶属函数的计算结果。本文采用加权平均法即重心法进行解模糊处理。

首先进行模糊推理,并由此确定控制量的模糊集合U'。以ΔKP为例,采用最小最大加权平均法(Mamdani)。对于以下的控制:

可以得到U'为:

其中u(x)为各自的隶属函数。然后,通过重心法可以得到ΔKP的精确值,重心法如式(9)所示:

uPI(ΔKP)为ΔKP的隶属度。最后,通过式(5)可以得到PID控制的精确控制参数。

3 实验验证

为了检验Fuzzy-PID对网络拥塞控制的控制效果,利用MATLAB中的SIMULINK工具箱和Fuzzy工具箱,对传统PID控制算法和Fuzzy-PID控制系统进行仿真,并对二者的控制效果进行比较。

3.1 网络受控对象建模

采用控制理论分析,离不开数学模型的建立。文献[11]给出了整个网络受控广义对象模型的传递函数:

其中:

式中,q(t)为预期队列长度;C为链路容量,Tp为时延,N为负载因子。图5为网络拥塞框图,图中的控制器就是AQM算法。在本次研究中,也就是指PID控制算法和Fuzzy-PID控制算法。

图5 网络拥塞控制框

3.2 方案仿真

3.2.1 实验一

设置网络环境:期望队长300 Packets,链路容量为15 Mb/s,源端有连接数为100个,回路往返时延为10 ms。在常规PID控制和Fuzzy-PID控制作用下,队列长度变化情况如图6、图7所示。

图6 PID控制下队列长度变化

图7 Fuzzy-PID控制下队列长度变化

3.2.2 实验二

设置网络环境:源端连接数为200个,回路往返时延为100 ms,其他参数与实验一相同。在Fuzzy-PID控制作用下,队列长度变化情况如图8所示。

图8 网络参数变化后Fuzzy-PID控制下队列长度变化

3.3 数据分析

比较图6、图7后可以发现,Fuzzy-PID的调整更加平稳,会产生更少的网络震荡,能够保证网络的稳定,控制效果较PID控制明显要好。观察图8发现,对于网络参数的变化,Fuzzy-PID有着较好的适应能力,能够克服参数变化,控制队列长队迅速稳定在期望值附近。

4 结 语

良好的拥塞控制是网络正常运行的保证,也是应急系统正常工作的保证。好的拥塞处理能够提升应急系统的工作效率。针对北斗指挥中心网络拥塞问题,本文提出了一种Fuzzy-PID队列管理算法。该算法将传统PID控制与模糊理论相结合,具有精度高、适应性强等特点。实验表明,新的AQM算法在拥塞处理方面表现出良好的性能,为北斗指挥中心的拥塞处理问题提供了一个新的解决办法。

猜你喜欢

控制算法模糊控制队列
基于变论域模糊控制的Taylor逼近型内模PID算法
队列队形体育教案
队列里的小秘密
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
在队列里
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
基于模糊控制的PLC在温度控制中的应用
基于航迹差和航向差的航迹自动控制算法
自动离合器起步控制的模糊控制方法研究