多故障定位(精选7篇)
多故障定位 篇1
摘要:为了提高软件故障的定位效率,提出一种基于关联规则的软件多故障定位技术。通过使用聚类方法把失败的测试用例分成针对特定错误的聚类,使用基于交叉表的软件故障定位方法发现软件中的故障,在定位过程中使用关联规则挖掘高可疑代码与软件故障的关系,提高故障定位的效率,最后对Siemens用例集和Tarantula方法进行对比。实验表明基于关联规则的软件多故障定位技术在软件多故障定位方面效率优于Tarantula方法。
关键词:关联规则,多故障定位,提高定位效率,聚类方法
0 引言
随着软件产品的发展,软件规模以及软件复杂度的不断增大使得软件调试过程越发困难。软件故障定位是调试过程中成本最高同时耗时最长的一项[1]。在软件自动化调试领域,出现了许多相应的方法,Jones和Har rold提出了Tarantula[2]方法,该方法通过对比程序实体在失败测试用例和成功测试用例之间的差别,计算程序实体的怀疑度实现故障定位。C.Liu提出了SOBER[3]方法,该方法使用谓词在测试用例中取值为真对程序故障出现的影响实现故障定位。其他还有一些定位方法[4-6比如CBI、NNQ、SBI等。这些方法大多使用程序实体的覆盖信息来计算每一个程序实体的可疑度,然后通过可疑度排名列表去发现软件故障。这些方法虽然在单故障的情况下取得了很好的效果,但是在多故障的情况下,效果都不是很理想。他们大多都采用one-bug-at-a time的方式实现多故障的定位,但是这种方式弊端明显:时间效率低,同时需要重复测试。
Jones和Harrold提出了一种并行调试技术[7],通过对可能导致同一个故障的测试用例进行分类,然后结合成功执行的测试用例构造用以测试每个故障的测试用例子集,来同时定位不同的软件故障。但现有的基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法只是统计代码语句或代码基本块的覆盖率,并没有考虑程序执行的数据依赖和控制依赖,因此会出现定位不准确的情况。结合以上两点,本文将在并行的基础上使用关联规则挖掘软件故障。
1 相关工作
许多该领域的学者提出了不同的软件故障定位技术。这些技术大多通过收集语句或者谓词等程序实体的覆盖信息,然后对收集到的信息利用相应的怀疑度公式计算每条语句的怀疑度,据此找出软件中的故障。本文也使用这种方式,同时,结合关联规则的思想来提高软件的多故障定位效率。
1.1 基于交叉表的故障定位技术
W.Eric提出了一种基于交叉表的技术进行软件故障定位的方法[4,8]。该方法的主要思路是:针对每个测试用例的每一条语句构造一个交叉表,通过该交叉表收集语句的覆盖信息和执行结果。然后,利用每条语句的统计信息计算该语句的怀疑度(Suspiciousness)。通过这种方式,所有的语句都可以根据计算出的怀疑度来降序排名。语句的怀疑度越高,该语句越会被优先检查,可以通过排名依次检查语句,直至发现软件的故障。
该技术通过引用一个名为Chi-square test的假设测试来检查测试用例执行结果和语句覆盖信息之间的依赖关系。Chi-square的数据通过交叉表中的数据计算而来,同时与Chi-square中的关键值进行对比,决定这个假设(即执行结果独立于与语句的覆盖信息)被接受还是被抛弃,然后,通过计算语句的怀疑度数值ζ进行故障定位。ζ的数值越大表示语句的怀疑度越高,怀疑度越高则会被优先检查。基于交叉表的软件故障定位技术通过计算语句的怀疑度来预测语句包含故障的可能性。其实验结果表明基于交叉表的软件故障定位技术相比于绝大多数的软件故障定位技术,如Tarantula、Liblit05、SOBER等方法,效果更好。
1.2 并行调试
通常状况下,一个软件出现失效状况下,软件中会包含多个故障,同时软件调试的人员也会不止一个,因此可以通过并行的方式实现软件故障的定位工作,相比于one-bug-at-a-time的方式,并行故障定位会更加高效,通过构造并行工作流,不同的工作人员可以专注于不同的软件故障。要实现并行的软件故障定位,最重要的问题是如何对任务进行划分和分派,这就需要一种可以把错误的测试用例集从新分配成多个小的与特定故障相关的错误测试用例子集的技术。Jones和Harrold提出了一种并行调试的技术[7]用以实现解决这个问题。这种技术会自动把失败的测试用例集分割为针对不同软件故障的测试用例子集。通过使用测试用例动态运行获取执行结果的行为模型和信息,该技术可以生成一个针对不同错误的失败测试用例子集。通过把失败测试用例子集和成功的测试用例结合,就得到了一个专注于特定单错误的测试用例集。这些单错误测试用例集的个数就是对程序中故障个数的预测。
2 关联规则在软件故障定位中的应用
在基于覆盖的软件故障定位技术中,现有技术通过收集测试用例执行的覆盖信息计算语句可疑度,进而定位软件故障。在现有的技术中,往往没有考虑语句间的数据依赖和控制依赖关系,不同语句的覆盖统计是相互独立的,这导致定位的不准确,CBFL方法经常能定位到程序失效时的执行代码,而这些失效时的执行代码多数情况下并不是错误代码[9],文献[9]表明,基于覆盖的软件故障定位计算可疑度得出的高可疑度语句主要分一下几种情况:
(1)该语句基本块本身就是故障语句,并且该基本块出现在错误测试用例的概率高于出现在成功测试用例的概率。
(2)该语句基本块本身不是故障语句,但是该基本块的执行会导致故障语句的执行,进而发生故障。这表明高可疑语句块或者是故障或者会导致故障,因此考虑通过关联规则挖掘高可疑代码与软件故障的关系,提高故障定位的效率。
测试用例的执行路径能够反映出故障代码与高可疑代码之间的关联,即高可疑代码的执行导致故障语句的执行,进而出现故障。故障语句与高可疑语句表现出了在执行路径上覆盖信息的一致性,然而执行轨迹的路径表示十分复杂和耗时[10],因此采用相对轻量级的覆盖向量来近似表示路径的覆盖信息。
2.1 路径覆盖向量的表示
定义1:中间不存在控制跳转的连续代码语句构成一个代码基本块,简称为基本块。
定义2:覆盖向量值指代码基本快在每次执行中的覆盖信息构成的向量pathi=(b1,b2,⋯,bn)。其中:path表示覆盖向量;bi表示程序中代码基本块,bi=0表示该代码基本块没有被覆盖,bi=1表示该代码基本块被覆盖。
定义3:一个函数在测试用例集下的执行轨迹符号化表示为EXEM(fi)={B,T,PATH}。其中:B表示函数的基本块集合;T表示测试用例集的所有测试用例集合,PATH={path0,path1,⋯,pathm}表示针对每个测试用例的覆盖向量集合。根据程序执行的结果可以将执行轨迹分为成功执行和失败执行,即EXEMp和EXEMf。
2.2 求解频繁集
根据故障语句与高可疑代码之间表现出的覆盖一致性,可以求解故障语句的“频繁集”来表现这种关联[11,12],软件故障或者存在于高可疑代码中,或者存在于高可疑代码的频繁集中,因此通过频繁集来提高软件故障定位的效率。只需求出与高可疑代码保持覆盖一致的分量对应的基本块,即可通过频繁集提高故障定位的效率。
求解频繁集的算法如下:
算法中:bk代表目标代码;fg(bk)表示与bk保持频繁一致性的分量集,即求解出的以bk为目标的频繁集。算法过程为:遍历bk不等于0的分量进行与操作,即得到所有的bk的频繁集。通过计算每一条语句块的可疑度,按照可疑度降序检查发现错误,若语句块中不存在错误则检查语句块的频繁集(依据可疑度排序)查找错误,这种方式可提高定位效率。
3 基于交叉表的软件多故障定位技术
下面对基于交叉表的软件多故障定位技术进行具体介绍。
图1为程序实例展示,该程序用于求取输入的是三参数中间值。
图1的程序中包含两个错误,分别是语句行6和语句行9,使用在测试用例集中10组参数组合分别为T1~T10。图中“√”代表了每条测试用例的语句覆盖信息;在最后一行给出了每个测试用例的执行结果:P代表成功,F代表失败。
由图1可知,导致失败的测试用例往往具有相同或者相似的语句覆盖信息。因此可以通过聚类方法将测试用例进行分类,将错误测试用例中语句覆盖路径相同或者相似的路径分为一类,这些被分为不同类的失败测试用例子集就是专注于不同错误的测试用例集。在mid函数中,测试用例7~10失败了。而且,测试用例7,8有相同的覆盖信息,这意味着测试用例7,8可能会导致同样的软件故障。同时,测试用例9,10也具有相同的覆盖信息,同理,它们也可能导致同样的软件故障。通过上述分类原理和观察到的现象,下面把失败的测试用例分为两组针对不同错误的失败测试用例子集。然后通过使用Jones和Harrold的并行调试的方法,将失败的测试用例子集分别与成功测试用例结合,形成两组不同的测试用例子集。两组测试用例子集如图2和图3所示。
针对不同语句构造一个用于计算语句怀疑度的交叉表,语句交叉表模板如图4所示。
图4所示交叉表是一个表示测试用例执行情况和测试用例是否被覆盖的二维表。表中各个变量的含义分别是:w代表程序中的一条语句;NCS(w)代表覆盖w的成功的测试用例数;NUS(w)代表没有覆盖w的成功测试用例数;NS代表成功的测试用例数;NCF(w)代表覆盖了语句w的失败测试用例数;NUF(w)代表没有覆盖语句w的失败测试用例数;NF代表失败的测试用例数;NC(w)代表覆盖了的测试w用例总数;NU(w)代表没有覆盖w的测试用例数;N代表总的测试用例数。
使用图4提供的模板和文献[4]中提供的公式计算每条语句的怀疑度。针对图2和图3两个测试用例集分别计算怀疑度,给出怀疑度列表降序排名如表1所示。
表1中,语句9的怀疑度最高,会最先被检测。在表2中语句6的怀疑度最高,会最先被检测。这表明通过构造针对不同错误的测试用例子集并行的进行故障定位是可以实现的,这将有利于提高软件故障定位的效率。在此计算验证了通过并行的方式进行软件故障定位的有效性。进行并行的故障定位有一个前提就是构造针对不同错误的测试用例。通过使用二分法构造针对不同的测试用例,针对不同的待测函数,可以根据函数的输入集合和函数的功能创造出不同的二分法条件。在上面例子中,mid函数是用作求取输入的3个数的中间值的函数,因此中间的参数最有可能导致软件故障。所以中间的参数作为分类条件,在mid函数中使用“中间的参数是不是在第一个出现”作为分类的条件,如果一个失败测试用例满足这个条件则把它放在一个类别中,不满足则放在另一个类别,同样以图1的测试用例为例,发现T9和T10满足这个条件,所以把他们分为一类,T7和T8分为另一类,这样即可进行并行软件故障定位。
同时,给出一个终止条件,用于判断分类是否完成,即针对不同错误的测试用例是否已经被分配到了各自相应的类别下。聚类的相似性系数可以提供判断不同对象之间相似程度的度量,因此可以使用相似系数来判断每个类别中的对象是否足够相似,不同类别间的对象是否足够相异来判断分类是否完成。相关系数公式如下:
式中:Xi为第i条语句在失败测试用例X中的覆盖情况,Xi为1代表覆盖,0代表未覆盖;Xˉ表示失败测试用例Xi的覆盖比例;相应的Y的含义和X相同。利用图1中的例子可以将失败的测试用例集分类。给定一个相关性系数的值,比如0.8,当两个失败测试用例的关联系数小于0.8时说明它们关联性不大,即它们针对不同的错误。计算r78=1,这表明T7和T8关联性非常大,针对相同的错误,对T9和T10计算结果也是1,说明它们应该分为一组。通过循环计算每两个测试用例之间的相关系数,直到类别内任意两个测试用例的相关系数大于0.8时,就说明分类完成。本文给出的上述方法虽然能够对针对不同错误的测试用例进行分类,但需要对每两个错误测试用例进行计算,所以这个过程相当耗时,开销也是很大。
4 实验及结果分析
下面使用本文给出的基于关联规则的软件多故障定位技术和Tarantula方法进行对比来验证本文方法的定位效果。在此使用Siemens程序集来进行试验的对比工作。程序集中tacas程序包含的故障版本数最多,同时可执行的语句数最少,这意味着tacas程序有可能包含多故障,因此选用该程序验证本文的方法。对文献[4]中的EXAM度量进行扩展,将针对每个故障的EXAM相加,形成EXAMtotal作为度量的标准。
基于关联规则的软件多故障定位方法与Tarantula方法的对比如图5所示。
图5分别给出了在不同的故障版本比例下两种方法的EXAMtotal得分。其中“1”代表20%的故障,“2”代表40%的故障,“3”代表60%的故障,“4”代表80%的故障。可以看到在故障比例较低的环境下,本文的方法效率明显优于Tarantula方法。
5 结语
本文提出了基于关联规则的软件多故障定位方法,并且与Tarantula方法进行了对比,结果表明本文的方法效率较高。不过本文提出的方法也存在一些不足,并没有考虑把测试用例划分为针对不同故障的测试用例的效率,同时也没有考虑失败测试用例分类的效果进行验证。在Siemens测试集上通过实验验证了基于关联规则的软件多故障定位的效率,结果证明本文的方法能有效地发现软件的故障。
参考文献
[1]JONES J A.Semi-automatic fault localization[D].USA:Geor-gia Institute of Technology,2008.
[2]JONES J A.HARROLD M J.Empirical evaluation of the Ta-rantula automatic fault-localization technique[C]//Proceedingsof the 20thIEEE/ACM international Conference on AutomatedSoftware Engineering.Long Beach,CA,USA:IEEE,2005:273-282.
[3]LIU C,FEI L,YAN X,et al.Statistical debugging:A hypothe-sis testing-based approach[J].IEEE Transactions on SoftwareEngineering,2006,32(10):831-848.
[4]RENIERES M,REISS S P.Fault localization with nearestneighbor queries[C]//Proceedings of the 18thIEEE/ACM Inter-national Conference on Automated Software Engineering.Mon-treal,Canada:IEEE,2003:30-39.
[5]LIBLIT B,NAIK M,ZHENG A X.Scalable statistical bug iso-lation[C]//Proceedings of the 2005 ACM SIGPLAN Conferenceon Programming Language Design and Implementation.2005:15-16.
[6]HAO D,ZHANG L,PAN Y,et al.On similarity-awarenessin testing-based fault localization[J].Automated SoftwareEngineering,2008,15(2):207-249.
[7]JONES J A,BOWRING J F,HARROLD M J.Debugging inParallel[D].London,UK:Georgia Institute of Technology,2007.
[8]WONG E,WEI T,QI Y,et al.Crosstab-based statisticalmethod for effective fault localization[C]//Proceedings of the2008 International Conference on Software Testing,Verifica-tion,and Validation.Lillehammer,Norway,2008:42-51.
[9]ZHANG Z,CHAN W K,TSE T H.Capturing propagation ofinfected program states[C]//Proceedings of the 17thInterna-tional Conference on Foundation of Software Engineering.Am-sterdam,Netherl:[s.n.],2009:43-52.
[10]BALL T,LARUS J R.Efficient path profiling[C]//Proceedingsof the International Symposium on Microarchitecture.Paris,France:[s.n.],1996:46-57.
[11]WONG E,QI Y.Effiective program debugging based onexecution slices and inter-block data dependency[J].Jour-nal of Systems and Software,2006,79(2):891-903.
[12]JIANG L,SU Z.Context-aware statistical debugging:Frombug prediceors to faulty control flow paths[C]//Proceedings of the 22th IEEE International Conference on Automated Software Engineering.Atlanta,USA:IEEE,2007:184-193.
多故障定位 篇2
1 网络模型
图1为一个典型的多电源配置配网示意图, 当一侧电源发生故障时, 通过分段开关将故障电源隔离, 也可以通过开关K2实现对故障线路的切除, 安装在线路上的检测设备ABCDET可以对线路电流信息进行采样, 得出针对性的故障数据之后可以对线路故障进行区段定位, 同时安装在各个分之上的电流检测设备, 还可以积累记录该分支上的日常附在峰谷数据, 这样做的优点是明显的, 但是缺陷也是显而易见的, 因为这样的拓扑结构是随着开关K1K2K3的变化而变化的, 在不同的拓扑形状之下, 我们的的数据要针对特定拓扑进行适应。
2 实现方法
我们通过检测设备T对线路进行数据采样, 在重要分支出口安装检测设备, 在各个变形拓扑的重叠主干线路上安装若干检测设备, 检测设备针对线路的电流数据和温度数据进行采样检测, 在发生单相接地故障时, 接地点的瞬态电容电流会比稳态电容电流大得多, 这是因为, 在单相接地时其等效过程相当于一个大电容的突然放电, 这个瞬间不可避免的发生电流的流动, 因此, 无论中性点是否有效接地的系统中, 在接地瞬间其瞬态电容电流都是存在的。
由图2可见, 暂态电容电流的分析就是对图3的RLC串联回路的u (t) 的分析, 此处的电容电流变化在串联回路突然接通也就是相当于发生接地故障时刻, 它的电流变化主要决定于RLC三者参数, 当R<2 (L/C) ^1/2时, 电流有随周期衰减的特性, 而当R>2 (L/C) ^1/2时, 则电流趋于稳定值。
对于架空线路, 由于L较大C较小, 因此, 故障点的电流具有迅速衰减的特征, 根据仿真和测量结果, 其振荡频率分布在200-1500Hz范围, 而对于电缆线路, 由于L较小而C较大, 其震荡频率更加体现为震荡时间短, 且频率较高, 其频域分布一般在1500-3000Hz之间, 我们只要在各个监测点设备对这个高频信号进行采样, 然后经过FFT计算出特征频率的出现概率, 即可实现对单相接地故障的诊断, 同时我们可以根据原始数据结合时间数据进行基于支路的负载峰谷数据显示。这种对关键拓扑节点进行分布式采样的方式, 将采样数据可靠的通过无线网络提交到数据中心的数据库服务器, 达到并实现了这种数据集中形式的配网故障定位解决方案, 进一步实现面向故障处理和容灾容错的配网建设。
3 仿真
如图4所示的线路单元组成整体线路模型, 将线路等效电容添加到线路中, 用以形成分布式电容电流, 这样由此种单元组成的线路模型就和实际线路的等效模型一致了, 该例中, 我们设定线路长度2.5km, 等效电容1uf, 线路自身阻抗设置参阅相关材料后, 采用系统默认值。
图5为信号采集模块 (1) (3) (5) 为输入, 通过电流检测模块引出三相信号输出 (1) 到示波器模块, 示波器模块采样周期为0.000001秒;该模块引出线路输出 (2) (4) (6) 到下一级。
图6为搭建的谐振接地系统图, 我们将模拟接地开关设置在0.3秒到0.5秒之间闭合。
经模拟仿真运行后, 示波器结果如图7所示。
图7依次为从电源侧到设备侧的四个检测点的波形, 我们可以清晰的看到在0.3秒的时候四个监测点均检测到了故障信息, 尤其以电源侧的距离故障点最近的检测器检测到的高次谐波最为丰富。
通过实践积累经验和相关资料, 以及计算机仿真结果, 我们可以发现, 采用一个简单的方法可以实现高精确度的配网故障监测系统, 即只负责采集和传输数据的高精度低功耗的采集硬件和大数据平台的结合, 高精度的采集器将线路的不低于1ksps的采样数据上传到数据库, 然后通过图形对比, 故障判断算法, 跟进一步可以结合实际故障发生类型通过神经算法进行故障判断, 这样就实现了基于线路大数据的故障判断和数据挖掘, 这样做的效果包括但不限于本文提到的各种效果。
通过现实中运行在实际线路的部分信号采集装置, 长时间收集和积累实际运行情况, 并对大量数据进行分析和挖掘, 这套理论的实际效果很好, 由于我们仅仅分析暂态信号所以它可以适应各种接地方式, 其对故障分析确定的准确率和决策支持作用是可靠的。
4 结语
10Kv多电源配网线路信息收集方法和对配网接地故障、实时配网潮流方向分布方式的研究, 在国家大力发展智能电网的背景之下, 对于提高供电可靠性, 准确故障段隔离, 最快故障定位等方向提供了有力可行的解决办法, 是对配网支路级别的数据监测的技术突破和数据完善, 为进一步实施配网大数据打下了数据基础和设备基础。
参考文献
[1]配电系统规划参考手册[美].H.Lee wiliis ISBN978-7-5083-8521-1.
[2]微电网运行控制与保护技术ISBN 978-7-5083-9977-5.
[3]继电保护原理ISBN978-7-5083-5192-6.
[4]PSS-E电力系统分析及仿真ISBN978-70121014400-4.
[5]电网实时动态检测技术及应用ISBN 978-7-5084-7203-4.
多故障定位 篇3
随着人工智能技术在交通管理中的应用,智慧交通的建设受到了极大的关注。对车牌的正确识别是建设智慧交通的基石,因此车牌识别成为当前研究的热门领域。目前车牌识别技术已经被运用到违章检测(电子警察)、停车场不停车收费、车辆检测等领域。
车牌定位是车牌识别的关键和重要前提。从复杂的背景中正确定位车牌位置,是成功识别车牌的重要成功率,直接影响最终车牌识别的效果。在车牌定位方面,国内外学者都做了大量的研究,并提出了一些多车牌定位的算法。比较常用的算法有以下几种:
1)基于纹理的分割方法,主要利用车牌区域水平方向的纹理特征进行分割,包括小波纹理、水平梯度差分纹理等[1]。该方法定位成功率不高,因为车牌图像中很可能不止一个区域具有车牌区域的纹理特征,难以准确找到车牌位置;而且对车牌倾斜度有要求,当倾斜度过大时,车牌定位效果明显下降。
2)基于边缘检测的分割方法通过检测车牌字符的边缘特征定位车牌[2]。由于许多汽车前脸栅栏有很多垂直或水平边缘,因此会影响定位成功率。
3)基于神经网络的方法,选取训练样本,将图像的灰度序列采用BP算法进行训练,获得有效的网络权值[3]。该方法用BP网络对灰度图像进行感知,能够获得较好定位效果。
4)基于数学形态算法的方法,利用开运算和闭运算对图像进行处理,得到多个区域,再对这些区域进行判断,找到车牌正确位置[4]。
以上算法在背景不太复杂的情况下,对于单车牌都有比较好的定位成功率。但对于复杂背景下的多车牌定位,则需要综合多种定位方法,排除更多的干扰因素来确定车牌的定位。
基于以上分析,本文采用基于颜色检测、边缘检测与支持向量机相结合的定位方法现多车牌定位。首先针对基于颜色检测车牌候选区域的方法进行改进,并引入了边缘检测的方法来定位,通过颜色与宽高比来选取车牌候选区域,最后基于支持向量机(SVM)完成车牌的精确定位和截取。通过对不同多车牌图片的车牌定位,验证算法的有效性。
2 基于多算法融合的多车牌定位方法
在日常生产生活中,最常见的有小型汽车号牌、大型汽车号牌、警用汽车号牌等。2007年发布的《中华人民共和国公共安全行业标准》(GA36-2007)对我国机动车号牌标准做了详尽规定。小型汽车号牌是蓝底白字白框线的车牌;大型汽车号牌前车牌是黄底黑字黑框线的车牌;警用汽车车牌是白底黑字,红“警”字黑框线车牌。它们的尺寸大小都是440mm×140mm。本文所研究的多车牌定位方法主要是针对小型汽车号牌和大型汽车号牌进行定位。
本文对多车牌定位的流程如下:首先进行车牌候选区的定位;其次进行车牌候选区域的去噪和倾斜校正;最后基于SVM进行车牌精确定位和提取。
2.1 基于颜色和Sobel边缘检测的车牌粗定位方法
RGB颜色模型和HSV颜色模型是数字图像处理中常用的两个颜色模型。RGB彩色模型中,各像素值是由R(红色)、G(绿色)和B(蓝色)三种颜色分量的亮度值叠加来表示。而这三种颜色的亮度值对环境的光照强度比较敏感。当光照强度变化时,这三种亮度值会随之变化。所以,在RGB颜色模型下,很难完成基于颜色的车牌定位。
在HSV颜色模型中,一个像素的颜色特征分别用H(色度)、S(饱和度)和V(亮度)三个分量来表示。亮度分量仅表示亮度信息,不包含颜色信息。如果不考虑亮度分量的信息,使用H和S两个分量就可以实现在各种光照条件下对车牌区域进行初步定位。
2.1.1 RGB模型到HSB模型的转换
普通的车牌图像都是RGB颜色模型,因此需要先将图像从RGB模型转换到HSV模型。
设r,g,b分别是一个像素的红、绿、蓝三个分量的值,它们的值是在0到1之间的实数,max为r,g,b中的最大值,min为这些值中的最小值[5]。则从RGB到HSV的转换公式可用公式表示:
2.1.2 车牌颜色阈值的选择
在我国,常见的车牌底色共有蓝色和黄色两种。在HSV颜色空间中使用H分量能识别出这两种颜色。黄色和蓝色的HSV阈值范围如表1所示。分别用于识别小型汽车和大型汽车的车牌区域。例如,通过蓝色模板的阈值对图片中的像素进行逐个匹配,当图片中的像素能匹配颜色模板的数值时,则置该像素的灰度值设为255,将不匹配的像素灰度值设为0。匹配完成后得到一张包含多个车牌信息的二值图。
2.1.3 基于Sobel边缘检测的车牌候选区方法
在二值图的基础上,通过边缘检测可以得到图片中的所有边缘的信息。本文采用Sobel算子对灰度图进行水平方向的边缘检测。该方法以某一个像素为中心点,对它的周围的八个点的像素值进行加权运算,判断该点是否处于极值状态,若该点处于极值状态,则该点为图像边缘。
车牌存在垂直方向与水平方向的边缘,通过边缘检测,能得到车牌字符的边缘信息。采用Sobel算子对水平方向进行求导,从而得到垂直方向的边缘信息。
2.2 车牌候选区的形态学和矫正操作
形态学运算包括腐蚀、膨胀、开运算和闭运算。腐蚀一种消除边界点,使边界向内部收缩的过程。膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。先腐蚀后膨胀的过程称为开运算,用来消除小物体、在纤细点处分离物体、平滑较大物体的边界,同时并不明显改变其面积。先膨胀后腐蚀的过程称为闭运算,用来填充物体内细小空洞、连接邻近物体、平滑其边界,同时并不明显改变其面积。
为了实现更准确的车牌定位和截取,本文对基于颜色和Sobel边缘检测得到的车牌候选区域做闭运算处理,使原本不连续的车牌区域变成一块连同区域。
闭运算处理具体算法如下:
1)设有图像A,B是一个合适的结构元素,先利用公式(4)实现A被结构元素B膨胀,再利用公式(5)实现A对B进行腐蚀操作,这两步的目的是将目标周围的噪声去除。
2)为了将目标内部的噪声去除继续,利用B对A进行腐蚀操作,最后利用B对A进行膨胀操作[6]。
经过闭运算处理之后,车牌的区域能大致从图片中定位出来,但是定位车牌的角度可能会有较大的倾角,这一步需要对图片的倾斜角度进行矫正,以便获取角度正常的字符进行字符的识别处理。
对车牌候选区域进行倾斜矫正的步骤如下:
(1)首先,通过闭运算处理之后的二值图,逐个求出图中连通区域最大外接矩形,并计算最大外接矩形的倾斜角度。
(2)对倾斜角度在-5度到5度之间的图片,可以直接输出。
(3)对倾斜角度在5度到50度,或者-5度到-50度的车牌,需要先调整图片角度。
()调整角度后,判断车牌区域是否为平行四边形。
()如果不是平行四边形,则可以直接输出。
(6)如果是一个平行四边形的区域,再获取平行四边形三个顶点的坐标,通过仿射变换将平行四边形矫正成一个矩形,调整完成,将结果输出。
在输出结果时,需要将图片进行归一化处理,变成宽150像素,高40像素的图片。
2.4 基于SVM的车牌精确定位方法
由于基于颜色的定位会受到与车牌颜色相近的物体的干扰(如图1(a)所示),基于边缘检测的定位会受到汽车车灯等一些边缘信息与车牌相近的物体干扰(如图1(b)所示),影响最终的定位效果。因此引入支持向量机(SVM)来对上面粗选出的候选车牌区域进行判别。
支持向量机是一种基于统计学习理论的机器学习算法,其采用结构风险最小(Sructural Risk Minimization,简称SRM)原则替代传统的经验风险最小(Empirical Risk Minimization,简称ERM)原则进行分类,从而保证了算法具有较强的泛化能力。
SVM的训练过程等价于求解一个线性约束的二次规划问题,其目标是在训练样本集中寻找一个最优的超平面,将样本数据最大限度地分开,使两类数据之间的边界最大且分类误差最小,且能保证得到的解为全局最优解。
在本文中使用图像的直方图特征作为支持向量机的输入特征,输入的特征维度是190。直方图特征的特征量丰富,适用于支持向量机分类,有利于车牌的准确定位。
1)首先,将输入的图像进行二值化处理。
2)统计图像中一行元素中为1的数目,输入的图像共40行,得到40个数据.
3)再统计图像中一列元素中为1的数目,输入图像有150列,得到150个数据。
4)将第二步与第三步得到的这些数据作为SVM的输入特征,输入特征维度为190。
本文使用1000个车牌图像及500个非车牌图像对支持向量机进行训练。
3 实验结果
为了检测本文方法的有效性,本文分别选取了含有两个车牌和三个车牌的图像进行了多车牌定位测试。
经过颜色检测、边缘检测、形态学操作、车牌矫正与SVM筛选等步骤之后,对两个车牌的图像(图2)截取出车牌图片如图3所示。对三个车牌的图像(图4)截取出车牌图片如图5所示。实验表明,本文算法能对包含多车牌图像中车牌的定位的准确率能达到95%以上。
4 结束语
本文提出基于颜色检测、边缘检测和支持向量机(SVM)的多车牌定位综合方法,能从复杂背景中将待识别的多个车牌较准确的定位和截取。该方法首先使用颜色检测和Sobel边缘检测两种方法粗选车牌候选区域,其次对车牌候选区域进行形态学和倾斜矫正处理,最后提取车牌候选区域特征信息利用SVM精确定位车牌区域。实验结果表明,本文所用综合方法能排除背景干扰,多车牌定位效果和成功率较高。
摘要:为了提高多车牌定位和识别效率,本文提出基于颜色检测、边缘检测和支持向量机(SVM)的多车牌定位方法。首先使用颜色检测和Sobel边缘检测两种方法粗选车牌候选区域,其次对车牌候选区域进行形态学和倾斜矫正处理,最后提取车牌候选区域特征信息,采用SVM精确识别和定位车牌区域。实验结果表明,该方法能排除背景干扰,多车牌定位效果和成功率较高。
关键词:多车牌定位,颜色检测,边缘检测,支持向量机
参考文献
[1]郭捷,施鹏飞.基于颜色和纹理分析的车牌定位方法[J].中国图象图形学报,2002,7(5):472-476.
[2]李文举,梁德群,张旗,等.基于边缘颜色对的车牌定位新方法[J].计算机学报,2004,27(2):204-208.
[3]张燕,任安虎.多特征与BP神经网络车牌识别系统研究[J].科学技术与工程,2012,12(22):5644-5648.
[4]戴青云,余英林.一种基于小波与形态学的车牌图像分割方法[J].中国图象图形学报,2000,5(5):411-415.
[5]谭同德,王三刚.基于Open CV的车牌定位方法[J].计算机工程与设计,2013,8(34):2816-2820.
多故障定位 篇4
一、智能配网故障定位的流程和步骤
对于智能化配电网来说, 当其处于故障状态时, 要按照一定的流程和步骤进行故障定位, 具体流程为:
1. 分析故障类别。
凭借观察、分析负序电流、零序电流来对应得出结论, 该故障属于相间短路故障, 还是相接地故障。
2. 判断故障相。
通常应该通过计算三相电流的小波能量之和来对应明确故障相, 这是因为不同的故障相能量和的数值不同。例如:单相接地故障下, 小波能量和为最大, 相间接地故障则相反。
3. 故障定位。
明确故障类别、以及相以后, 则要进行故障定位, 通常情况下应该逐个级别、逐个层次地开关节点, 对应分析有无故障。
4. 故障的准确定位。对发生故障的大致范围大致估算后, 再进行精准化定位。
二、智能配网故障定位的技术和方法
1. 神经网络法
这是一种全新的配网故障定位方法, 其技术原理为分布式并行对应进行信息处理, 对各相的电气量加以采集, 并深入分析, 对应来确定故障大概的范围, 再逐步精确定位。
首先应该创建一个数据模型, 立足于现实参数, 来进行模拟计算, 对应得出测试与训练的样本, 利用神经网络来记录信息, 同时, 深入学习这一神经网络, 再对应展开具体的测试与监测工作, 当发现电网运转模式出现变化时, 则要再次检测, 相反, 则可以启动配网馈线终端设备对应定位故障。
2. 行波法
现阶段, 智能配网系统最常见的故障定位方法为行波法, 通常能够根据故障的具体列别以及网络架构之间的区分度等来进行故障定位, 行波法又包括A/B/C/D/E/F几大方法, 每一类方法有着自身的工作原理。
例如:A方法主要是依托于波的反射, 通过测量从注入行波到反射波返回这一区段的时间长短来对应定位故障。
B和D则是双端检测法, 简单说就是当故障出现后, 向两端发射行波波头, 凭借行波抵达的时间来对应锁定故障的区位。
C方法则是把某一脉冲信号添加到故障回路内, 再对应记下脉冲反射过程中的时长, 凭借反复的记录最后更加准确地定位故障。
E和F方法则是根据重合闸分闸与合闸的原理进行故障测量, 相比之下精准度较高, 然而其中的投资则较多。要想有效确保故障精准定位, 可以尝试行波法来定位故障区段, 采用交流定位法来精准定位, 具体的过程如下:
行波信号注入线路→注入信号的采集→行波特征分析→明确故障区域→确定故障点位置→区域内信号检测→线路首端交流信号注入。
3. 和声算法故障定位
一般来说, 配网故障主要采用二进制编码, 其中0代表无故障, 1则代表有故障, -1则代表负方向过电流。
此方法的运行原理为:根据分区域处理法来对配网进行划分, 其中包括:无源树枝、有源树枝两大类, 上传故障电流的相关信号, 排除无源树枝, 并明确维数, 这样各个变量值都能以0或1的形式表示出来, 对应呈现出线路的工作状态, 再对数据库进行更新, 判断目标函数。
由于配网通常开环运转, 各个联络开关均能充当独立闭合环, 和各个开关开合状态之间交换, 这其中网络依然处于辐射状态。单联络环配网的基础上, 可以优化配网达到控制解码维度的目的。各个单联络环都要编码处理, 闭合各个开关, 让出度和入度之合小于2的节点连接支路, 合成一个支路组, 能够达到相同的解环效果, 如图1所示。
三、配电网故障快速恢复法
1. 单联络环网连通恢复
配网故障时, 分段开关将自动将故障分隔开来, 据此应该闭合一切单联络环所对应的联络开关, 以此来重新让网络连通起来。因为各个分段开关设置了多个环, 相邻环间也有着公共开关, 对此, 则可以根据单联络环矩阵来做出故障判断。第一步明确联络开关的数目, 用n表示, 故障分段开关则分别用S1, S2, S3……表示, 零矩阵则定义成:Bnxc, 找到Si单联络环关联矩阵中所对的xi, 同时, 把相关信号数据等拷贝至矩阵B的第i行, 对应的矩阵则用以下关系式:B (i, :) =A (xi, :) 来代表, 再对应分析B内相同行, 试着去掉其中一行, 同时, 分析B矩阵内有无非零元素, 当发现非零元素后, 则应该让其充当联络开关号码, 保存至P, 同时让一切非零元素变成0, 并发现和最小元素相对的联络开关, 同时明确转供裕度最大的开关支路。
2. 切负荷故障恢复法
网络重构可能无法彻底消灭线路过电压, 同时, 当电压超出某一限度, 则需要在网络重构系统内发现最优解, 依靠其进行负荷切除, 以此来更为高效、及时地恢复配网, 并实现的安全运转。
其中的原理为:在重构中获得网络拓扑, 逐层分解电源线路, 其中和电源最近的设置为第一层支路, 再顺着辐射网系统来锁定线路末尾, 对应得出剩余层, 可以自最大层入手, 来逐层分析检查各层内支路有无过载现象, 对应明确过载功率, 自过载支路入手, 进行搜寻, 从而明确负荷切除位置, 一般来说要保证所切除的负荷量, 大于过载功率。
3. 配网重构恢复
根据和声算法, 可以重新构架配网结构, 具体的步骤为:
(1) 联络开关的设置。为发出动作的联络开关安装于能够操动的联络开关范围内, 分别用L1, L2, L3, L4……来标号, 同时, 对应明确维数2n。
(2) 初始化HS算法参数。这其中既包括解维数又包括和声记忆库, 用HM来代表, 同时也包括微调概率, 迭代次数等。其中来自于HM的HMS初始解并非有规律, 而是任意产生, 能够回归至HM, 对应计算得出各个目标函数, 同时, 生成新解。可以从中任选机数r1, 当发现r1的值较小, 小于HMCR时, 就能够于HM内部任选一变量, 或者从HM内抽选以随机值。
无论是哪一个变量, 都应该根据以上的规律、规则成熟来对应生成一个新解, 并计算目标函数, 不断更新HM, 并判断出fitness, 检查分析该数是否是最优解, 当发现是优解时, 则应换成HM内的差解, 而且还要判断分析出能否达到特定条件, 达到特定条件终端循环。
结语
配网智能化建设能够提高配网运行水平, 减少故障对配网的威胁, 提高配网供电恢复率, 有效控制配网的运行风险。智能化条件下要积极研究故障快速定位的方法, 采用先进的故障定位方法, 及时精准地找到故障, 同时, 采取措施来恢复配网的正常运转, 从而提高配网的运行水平, 为配网创造一个安全、稳定的运行环境。
摘要:随着现代化智能技术的发展, 配电网系统正在朝着先进化、智能化方向发展。智能配电网最显著的特征在于能够实现故障的自动化定位、自动化隔离, 同时能够及时恢复故障, 从而减少大范围断电问题。本文探讨了智能电网故障快速定位技术以及故障恢复策略。
关键词:智能配电网,故障定位,恢复
参考文献
[1]刘健, 张小庆, 陈星莺, 等.集中智能与分布智能协调配合的配电网故障处理模式[J].电网技术, 2013, 37 (9) :2608-2614.
[2]李泽文, 周卿松, 曾祥君, 等.基于行波模量传输时差的配电网接地故障定位新方法[J].中国电力, 2015, 48 (9) :67-72.
[3]刘东庭.智能电网故障定位及在线检测技术在10k V城市配电网的应用研究[J].大科技, 2014 (35) :116.
一种多算法协同定位模型 篇5
数据融合技术是结合有关先验信息, 综合不同处理方法和技术的优点对不同类型的数据进行融合, 从而获得比单一处理方法和技术更优数据输出的技术[1]。目前, 一些研究者已经在基于JDL数据融合模型上面做了很多的工作[2,3,4,5]。文献[2,3,4,5]包括有综合利用到TOA, TDOA, AOA三种测量值来进行融合技术, 但是由于要进行不同参数的测量, 限制了这些方法的实用化;文献[6]虽然单独利用TDOA进行融合, 实现容易, 但对于移动台某一个确定位置, 其定位结果有较大的误差。
由于基于TDOA的定位方法不需要基站与移动台之间严格的同步, 因此在基于蜂窝网的移动台定位技术中, 大部分无线定位算法都是基于TDOA的, 其中比较经典的算法有Chan算法和泰勒序列展开法。在不同的信道环境中他们各自具有其特有的优点, 同时也存在局限性。为了提高移动台的定位准确度, 将综合这两种算法, 并且结合了简单的残差加权算法, 构造先验信息, 对Kleine-Ostmarm数据融合模型[7,8]进行改进, 提出一种无需先验信息的, 利用Chan算法和泰勒序列展开法定位结果进行融合的算法协同定位模型。由于在数据融合过程中需要利用简单的残差加权算法, 因此下面先对之进行较为详细的介绍。
1 简单的残差加权算法
设参与定位的基站个数为M≥4, 待定位的移动台坐标为 (x, y) , (xi, yi) 为第i个基站发射机的已知位置。根据测量得到的TDOA测量值可以得到下式:
式中:xi, 1=xi-x1;yi, 1=yi-y1;Ki = x
所有的残差平方和为:
对所有的
2 融合方法
各种算法都有其自身的优缺点, Chan算法和泰勒序列展开法都需要先验信息, 在无法知道先验信息的情况下, 都假设TDOA测量值的协方差矩阵为单位矩阵。因此, 先用简单的残差加权法构造TDOA测量值的协方差矩阵[9] (见式 (5) ) , 代入这两种基本算法中, 以减少NLOS误差。此外, 对于泰勒序列展开法, 先通过其他算法进行初始定位, 再将定位结果作为初始值代入其中进行定位计算。本文提出的多算法协同定位的数据融合模型, 如图1所示, 该模型特点如下。
(1) 因为没有任何有关TDOA测量值的先验信息, 所以Chan算法和泰勒序列展开法中的TDOA测量值的协方差矩阵Q是未知的。可以由前面定义的残差函数, 将MS位置初始估计值
将构造后的Q值代入Chan算法和泰勒序列展开法中作为TDOA的协方差矩阵。文献[9]中对此做了详细的分析, 且结果表明, 将与真实位置比较接近的初始值代入残差函数, 构造TDOA的协方差矩阵, 可以有效改善NLOS误差对定位带来的不利影响。
(2) 对于TDOA测量值, 分别采用简单残差加权法、Chan算法、泰勒序列展开法、第一层数据融合和第二层数据融合, 产生五种定位估计, 其中泰勒序列展开法的初值由简单残差加权法产生。
(3) 第一层数据融合
对于同一组TDOA测量值分别采用简单残差加权法、Chan算法和泰勒序列展开法进行定位估计, 每种算法的加权系数Rk, 则:
式中:
式中:K为算法数目。
(4) 第二层数据融合
该层依旧采用加权方式进行数据融合, 在这层进行融合的定位估计有3种, 设每种的加权系数为Rk′, 则定义:
式中:
(5) 第四层数据融合
该层数据融合采用文献[10]方法进行加权处理, 假定Chan算法、泰勒序列展开法、第一层数据融合和第二层数据融合的定位估计值的均值和方差分别为Xcm, Xtm, X1m, X2m和σ2c, σ
3 算法仿真及性能讨论
采用标准7基站/小区蜂窝网络, 小区半径为3 000 m。其中第一个基站为服务基站, 如图2所示。
信道模型采用C0ST259, 环境分别为闹市区、一般市区、郊区和远郊。由于该算法主要是为了减少非视距对定位精度的影响, 因此这里主要对在闹市区的情况进行较为详细的分析。为了验证该模型的性能, 在服务基站的第一扇区内随机选择了12个待定位点, 这12个点随机分布在相邻距离为200 m的同心圆上, 每个点重复仿真200次, 将数据融合各层定位结果定位均方根误差和均值误差与融合结果比较, 以及将数据融合各层误差小于150 m和小于300 m的概率进行比较, 最后比较本融合结果与传统的Chan算法比较。
如图3所示, 得到:经过融合以后, 融合结果相对于参与融合的各层, 其定位均方根误差有明显的减小, 但均值误差并不是最低, 这是因为决策层是用基于最小均方误差的最优线性融合的方法来进行融合的。它只能保证融合后的结果比参与融合各层的均方根误差都小, 而无法保证定位的均值误差也比各层的都小。
如图4所示, 得到, 在定位误差小于150 m概率比较时, 第一层和第二层融合出现了融合结果的概率小于Chan算法。这是因为这两层都是利用线性加权的方法进行融合的, 如果有一个或者若干基站的定位结果较差, 那么就会导致这层融合结果较差。当初始值定位较差时候, 也可能会导致泰勒序列展开法在闹市环境下比Chan算法差。
从图5可以看到, 融合结果无论在定位误差均值还是在均方根误差指标上都比传统的Chan算法优越。在较为严重的非视距环境下, 该算法具有较好的适应性。第一层和第二层都是采用的残差融合方法可以对非视距影响较大的估计分配较小的加权因子, 因而也可以减小非视距的影响, 并且非视距影响越大, 这种效果就越明显。因此本融合模型的定位精度要比Chan算法高, 具有一定的实用性。
4 结 语
在蜂窝网络定位系统中, 由于基于单个测量值的定位方法以及单个算法的定位精度有限, 因此Kleine-Ostmann提出了一种基于JDL的三层定位数据融合模型。为了在没有任何信道环境先验信息的情况下, 融合不同TDOA定位算法的优点, 讨论了一种针对不同TDOA定位算法融合的新型数据融合模型, 利用简单的残差加权算法得到第一步定位估计值, 构造TDOA协方差矩阵和作为泰勒序列展开法的初始值, 并且利用线性加权和贝叶斯推论等融合方法, 得到最好定位结果。仿真结果表明, 在非视距环境下, 该模型有效提高了移动台的定位精度, 且不需要先验信息。
参考文献
[1]Ostmann T Kleine, Bell A.A Data Fusion Architecture forEnhanced Position Estimation in Wireless Networks[J].IEEE Communication Letters, 2001, 5 (8) :343-345.
[2]杜海兵, 王民北.数据融合技术在无线移动定位中的应用[J].计算机工程与应用, 2005 (16) :153-155, 161.
[3]孙国林, 郭伟.基于数据融合的蜂窝无线定位算法研究[J].通信学报, 2003, 24 (1) :137-142.
[4]刘军民, 张展, 刘石.基于数据融合技术的TDOA移动台定位方法[J].大连理工大学学报, 2005, 45 (1) :138-141.
[5]陈朝, 昂志敏.一种基于数据融合的蜂窝无线定位算法模型[J].国外电子测量技术, 2008, 27 (3) :27-30.
[6]邓平, 刘林, 范平志.移动台定位估计数据融合增强模型及其仿真研究[J].通信学报, 2003, 24 (11) :165-17.
[7]范平志, 邓平, 刘林.蜂窝网络无线定位[M].北京:电子工业出版社, 2002.
[8]袁登科.蜂窝网络消除非视距传播误差影响的定位算法研究[D].成都:西南交通大学, 2005.
多故障定位 篇6
关键词:智能配电网,故障定位,故障恢复
一直以来, 电力企业发展重心都是输电网, 但是与发达国家比依然存在一些不足, 随着人们对供电可靠性需求越来越大, 很多供电企业2010年、2008年以及2007年配电网建设投资额超出了输电网。基于上述背景, 发展配电网自愈控制技术与故障恢复技术成为降低故障发生率, 减少出现供电中断的重要手段。智能配电网故障定位与恢复是重要的功能之一, 也是故障自愈基础, 分布式电源接入对配电网影响较大, 研究更高智能配电网故障定位与故障恢复显得尤为重要。
一、和声法在DG配电网故障定位
(一) 故障定位模型
从FTU得到信息是不同开关故障电流越流信号, 可以对故障进行定位, 建立线路故障状态, 实现故障电流信息间的转换, 就是开关函数。目标函数在对故障定位上有重要作用, 具有容错能力定位更加精准。
(二) 开关函数
第一部分为主变电源提供故障电流, 就是指主变电源到故障点通路所包含的所有开关电流, 电流方向为正;第二部分为各DG提供的故障电流, DG到故障点通路包含的所有开关电流, 方向由系数W决定, 与故障电流方向一致[1]。
I表示主变电源到不同故障点通路的所有开关数;k表示分布式电源数量;Nm表示第m个DG到故障点开关数;Nm (n) 集合表示Nm中n个元素相应开关;开关电流方向表示为w, 逆流时W=-2;正流时W=1。
(三) 和声算法在故障定位中的应用
故障状态使用0与1二进制编码法, 1表示有故障, 0表示没有故障, -1表示负方向流过电流, 0表示无过电流, 1为正方向电流。
基于上述故障定位与分区域处理方法, 算法声搜索算法流程如下:
按照分区域处理法将配电网分为无源树枝与有源树枝两种;根据FTU将故障电流信息上传, 剔除无源树枝, 将维数确定下来, 每一个变量值都可以表示为0或者1, 能够表示线路运行状态;更新和声记忆库;对目标函数进行判断, 判断迭代次数是否是最大值。将迭代停止, 最优解输出[2]。
二、基于和声法配电网重构减少不可行解编码方法
配电网处于开环运行状态, 任何一个联络开关都能构成一个闭合环, 并且断开环中任意一个分段开关都连通拓扑结构并将辐射状恢复。对此, 每一个联络开关都可以作为一个单独闭合环与任意一个开关开合状态进行交换, 此时, 网络仍然是辐射状。辐射状配电网中, 任意一个联络开关分段分组环都是单联络环。由此, 单联络环与联络开关数一致。
基于单联络环配电网络。为了将变量减少使解的维度降低, 需要对配电网进行优化处理, 没有任一一个单联络环不进行编码;将配电网中所有开关闭合, 将出度与入度之合比2小的节点连接支路并为一个支路组, 解环效果基本一致[3]。具体见下图一所示。
混合编码形式。使用二进制与十进制混合编码方法, 将第一个变量作为联络开关, 使用二进制方法编码, 将0处断开, 1处闭合;将第二个变量设置为分段的开关, 使用十进制编码法, 如果一位是1, 就表示开关闭合, 将Si表示为分段开关编号;如果前位是0, 则不闭合联络开关, 此时, Si为0, 需要闭合支路数目与断开支路数相等[4]。编码长度为配电网双倍联络开关数, 编码形式为:
三、配电网故障阶段式恢复法
传统的配电网故障恢复方法存在很多不足, 恢复时间短、电负荷过多, 需要拓扑保持辐射状并确保配电网安全可靠运行, 在配电网故障重构上选择多目标约束组合与优化, 解为一组开关动作序列。当前, 故障恢复求解方法有启发式、搜索方法以及智能优化法。
(一) 基于单联络环网络连通恢复
依据隔离故障断开的分段开关, 可以将单联络环对应的联络开关全部闭合, 就能够将网络连通性恢复。鉴于每一个分段开关具有多个环, 并且环与环间存在一个公共开关, 由此, 需要按照单联络环矩阵判断。先将联络开关数量确定下来, 表示为n, 故障断开分段开关表示为 (S1, S2, ...., Sc) , 将零矩阵定义为Bn×c。将S单联络环关联矩阵对应的xi找出, 再将这些信息复制到矩阵B内的第i行, 矩阵表示为B (i, :) =A (xi, :) 。然后对矩阵B中相同行进行判断, 如果存在, 可以删除一行, 再保留一行。对B矩阵中是否具有非零元素进行判断, 如果存在, 将此列作为联络开关编号存入到P, 将所有非零元素规零。将矩阵B中非零元素最小元素对应的联络开关找出, 对转供裕度最大开关支路确定下来, 在方案集P中输入编号, 将该列中的非零元素归零。对矩阵B中是否存在非零元素进行判断, 如果有, 则转到第二步骤, 如果没有, 则转到下一个步骤。运行结束以后, 将方案p输出[5]。
(二) 基于和声算法配电网重构步骤
首先, 第一阶段没有动作的联络开关放置到可操作的联络开关集中, 表示为LL1, L2...Ln) 将维数2n确定下来。然后对HS算法参数初始化。HS算法参数中包含了和声记忆库与解维数、和声记忆库概率、微调概率以及最大迭代次数、终止条件等。初始化和声记忆库 (HM) 。产生的HMS初始解是随机的, 可以放置到HM中, 将每一个目标函数f (X) 计算出来。将新的解生成。随机选择一个机数r1, 如果r1<HMCR, 则可以在HM中随机选择一个变量, 也可以在HM中选择一个随机值。如果选择HM定值, 可以再选择一个随机数r2, 如果此时PAR>r2, 可以扰动此值, 将扰动量设定为bw。对于每一个变量来说, 都需要按照上述规则形成一个新的解;对新解目标函数fitness进行计算。对HM更新, 对fitness判断, 查看其是否是目标函数值最差解, 如果是优解, 可以将其替换HM中的差解。对是否满足条件进行判断, 如果满足条件, 将循环终止, 否则需再次对上述步骤进行重复[6]。
(三) 切负荷实现方法
如果网络重构不能将线路过载电压消除, 或者电压越限时, 需要在网络重构中找到最优解, 利用最优解切负荷, 能够将配电网安全运行及时恢复。步骤方法为:对网络重构得到网络拓扑, 将电源开始的支路分层, 将接近电源的分为第一层支路, 沿着辐射网络搜索线路的末端, 依次得出剩余层。从层数最大的开始遍历, 对某一层中支路过载情况进行搜索, 将过载功率确定下来。从过载支路开始搜索, 呈外辐射状, 从三级负荷切除, 确保切除的负荷量高于过载功率, 确保每组切负荷是最小的;如果三级负荷都满足要求, 表示过载支路完成处理。
结束语:
本文主要对智能配电网故障定位方法进行了分析, 并提出了几种故障恢复方法, 得出的结论为本文所论述的方法基本能实现配电网系统不同位置单故障与复杂故障的恢复, 故障位置、数目以及阶段数不一致, 但都能找到最优解, 具有较强的实用性, 耗时段, 很多故障都能在第一阶段得到恢复, 且动作开关数量少, 能够将搜索效果提高。
参考文献
[1]潘沛峰, 吴召华, 项海波等.马氏距离算法在智能配电网故障定位中的应用[J].中国电业 (技术版) , 2012 (10) :46-49.
[2]唐成虹, 杨志宏, 宋斌等.有源配电网的智能分布式馈线自动化实现方法[J].电力系统自动化, 2015, 39 (9) :101-106.
[3]刘健, 张小庆, 陈星莺等.集中智能与分布智能协调配合的配电网故障处理模式[J].电网技术, 2013 (9) :2608-2614.
[4]李泽文, 周卿松, 曾祥君等.基于行波模量传输时差的配电网接地故障定位新方法[J].中国电力, 2015, 48 (9) :67-72.
[5]刘东庭.智能电网故障定位及在线检测技术在10k V城市配电网的应用研究[J].大科技, 2014 (35) :80-81.
配电网故障定位技术综述 篇7
关键词:配电网,架空线,中性点非有效接地系统,故障区段定位,故障测距
0 引言
供电企业一个基本任务是不断提高供电可靠性。据统计,电力用户遭受的停电事故95%以上是由配电网引起的(扣除发电不足因素),其中大部分是故障原因[1]。因此,准确地测定配电网故障位置,对于及时隔离并修复故障、提高供电可靠性具有十分重要的意义。
根据测量时线路是否带电,配电网故障定位技术可分为在线和离线两种方式。实际的配电线路故障绝大部分是绝缘击穿故障,在线路停电后,绝缘恢复,故障电阻上升至数千欧甚至数兆欧,难以通过直流电阻或注入信号寻迹等简单的方法测定故障点位置,通常需要采用高压设备将故障点击穿后测寻故障点。目前,离线定位法主要用于电缆故障定位。对于架空线路来说,由于供电距离较长,通过施加高压击穿故障比较困难,尤其是线路通常与配电变压器直接相连,外加高电压会对用户用电设备带来危害。因此,离线定位不适用于架空线路。
在具体实现方式上,故障定位方法可分为利用多个线路终端(FTU)/或故障指示器(FPI)的广域故障区段定位法以及直接利用线路出口处测量到的电气量信息计算故障距离的故障测距法。前者用于交通便利、自动化水平较高的城区配电网完成快速故障隔离;后者用于供电距离较长、不易巡检的乡镇配电网或铁路自闭/贯通系统完成故障点查找。
针对不同故障类型,本文将详细介绍实际应用中的短路故障定位技术和小电流接地故障定位技术。并根据目前定位技术中存在的问题,对未来故障定位研究进行初步展望。
1 短路故障定位方法
电力系统短路故障是指引起电流急剧增大,电压大幅度下降,并进一步导致电气设备损坏的相与相或相与地之间的短接[2]。短路分为三相短路,两相短路、两相对地短路和单相对地短路(发生于大电流接地系统,即中性点直接接地或经小电阻接地的系统)。短路故障特征明显,故障定位的实现相对简单。
1.1 故障区段定位法
短路故障电流幅值较大,易于检测,通常采用“过电流法”[3,4]实现架空线路短路故障的区段定位,原理与过流保护相同。
“过电流法”需要借助馈线终端装置(FTU)或故障指示器(FPI)定位故障区段。以图1所示的手拉手环网馈线自动化(FA)系统为例,在线路出现短路故障时,FTU检测到过流现象并上报至FA控制主站。主站分析故障信息,确定故障区段。在变电所保护动作跳开故障线路后,遥控分段开关隔离故障,恢复非故障区段供电。
“过电流法”原理简单,判据明确,同时具有较好的灵敏度。FPI在故障定位实现上与FTU相同,其测量方式分为直接测量和非接触式测量(测量电磁场)两种。采用非接触式测量[5]监测故障信息具备一定的现场应用优势,测量装置的灵敏度和可靠性是该研究能否推广的关键。
1.2 故障测距法
对于郊区及乡镇配电网,供电距离长,采用故障测距的定位方法既可以降低成本,又可以减轻寻线负担。
1.2.1 阻抗法
阻抗法[6,7]是利用故障时测到的电压和电流求取故障回路的阻抗,又因故障回路阻抗与故障距离成正比,从而据此定位故障。阻抗法原理简单,投资少,但配电网结构复杂,分支线、混合线路较多,且负荷影响较大,故阻抗法不能简单的直接用于测距计算,实际应用中常常作为辅助测距方法,结合“S注入法”计算故障距离或配合行波法确定故障距离[8]。
奥地利采用的是将馈线预先分段,利用标准的电力系统分析软件对各段线路进行离线短路计算[3]。当故障发生时,远端继电器测量故障电抗并上报主站,与短路计算得到的故障阻抗对比判断故障区段。这种阻抗定位策略在故障发生时仅需作出对比判断,节省了计算时间,且准确率高,实际运行效果良好。
1.2.2 电流对比法
为克服阻抗法对负荷影响考虑不足的缺点,欧洲一些发达国家采取了一些改进措施[3],在计算中考虑实时采集的负荷电流,通过电流对比定位故障区段。该方法对自动化实现程度要求较高,它是利用SCADA/EMS/DMS/D-SCADA计算各条线路的故障电流并与各点测量上报的故障电流进行对比,判断故障位置。此方法将各监测点的故障信息与SCADA等系统监测的负荷电流等电网运行信息综合运用,故障判断更为准确,在芬兰实际运行效果良好,但由于仅以电流作为判据,定位精度受故障电阻影响较大,需要作进一步的改进。
2 接地故障定位方法
接地故障是指中性点非有效接地系统发生的单相对地短接,又称小电流接地故障。其工频故障电流微弱,故障电弧不稳定,而由线路电容充放电引起的暂态信号幅值较大,信息量丰富。针对小电流接地故障的特点,故障定位研究中采用了多种解决策略。
2.1 故障区段定位法
2.1.1“S”注入法
“S注入法”是利用故障时暂时“闲置”的接地相电压互感器注入一个特殊信号电流,通过对该信号进行寻迹来实现故障选线和定位[9]。在实际工程应用中可以在线路节点和分支点安装信号探测器,通过检测信号的路径来定位故障区段,也可以通过手持探测仪沿线巡检,信号消失的点即为故障点。文献[10]提出了基于注入信号原理的“直流开路、交流寻踪”的离线故障定位方法,该方法致力于解决停电情况下故障点绝缘有可能恢复,必须外加直流高压使接地点保持击穿状态,从而保证注入信号的流通回路,通过信号寻迹确定故障位置,还要注意外加高压对用户的影响。“S注入法”原理先进,不受消弧线圈影响,适用于只安装两相CT的架空线路;但该方法需要附加信号注入设备,且注入信号强度受PT容量限制,对于高阻接地及间歇性故障,检测效果不好。
2.1.2 零序电流法
零序电流法利用线路零序电流的幅值及相位特征进行故障区段定位[11]。对于谐振接地系统,由于消弧线圈的补偿作用,故障线路零序电流的变化特征不明显,幅值和相位判据失效,文献[12]提出对谐振系统故障后的稳态零序电流增量进行分解,根据分解后的电流增量的相位定位故障区段;文献[13]提出在故障发生后通过改变消弧线圈的补偿度,监测线路零序电流的增量变化来判断故障区段,文献[14]详述了零序电流增量法的基本原理及配合FTU的定位策略,这几种措施从一定程度上提高了零序电流法的检测灵敏度,但对于高阻故障,检测仍然比较困难。
另外可以利用暂态零序电流[5]幅值较大,且判据不受中性点运行方式影响的特点,直接比较各点的暂态零序电流幅值实现故障区段定位。利用暂态信号充分提高了检测灵敏度,但缺点是故障暂态信号的获取和判断不太稳定,导致定位可靠性不高,需要进一步改进。
2.1.3 中电阻法
中电阻法是对稳态零序电流法的一种成功改进。由于谐振接地系统的稳态故障电流无法用于故障检测,需要在中性点投入中电阻产生足够大的零序电流,通过比较沿线FTU检测到的零序电流幅值判断故障区段。该方法适用于谐振接地系统,从根本上克服了稳态法灵敏度低的缺点,但需要改动变电所的中性点接地方式,同时也带来了一定的成本问题。
2.1.4 零序功率方向法
功率方向法是通过检测零序功率的有功分量或无功分量进行故障定位。对于中性点不接地系统,检测沿线零序无功功率的方向即可判断故障区段,但不适用于谐振接地系统,文献[15]提出的零序有功分量(或称有功功率)适用于谐振接地系统,但有功分量较小,不易检测,且受CT不平衡电流的影响,可靠性低。
文献[16]提出的暂态零模功率方向法原理与首半波法类似,首先利用暂态零模电压、电流计算出故障方向,然后通过比较各FTU测量的故障方向判断故障区段。该方法不受中性点运行方式影响,不需要在中性点投入中电阻或向系统注入信号,但需要在线路上加装零序电压互感器,成本高、施工不方便,而且大量的电压互感器容易引起铁磁谐振。
2.1.5 相关法
相关法[17]是一种通过判断相邻FTU检测到的暂态零模电流相关性确定故障区段的故障定位方法。该方法仅需要测量暂态零模电流信号,避免了安装电压互感器带来的问题,且检测灵敏度高,不受中性点运行方式影响,不需要加装任何设备,成本低,易于实现,但需要应用于实现馈线自动化的网络或安装FPI,且各FTU/FPI间需架设通信网络。
2.1.6 其它方法
除上述方法外,早期研究中的端口故障诊断法,是对可及端口施加激励,通过检测端口故障电流源是否为零判断故障端口,故障端口包含故障分支,进而通过分支判据判别故障分支[18]。在此基础上,文献[19]借鉴模拟电路故障诊断理论,结合字典法的概念,提出了改进的端口比值分支定位法。该方法属于离线测量法,应用于架空线路难度很大,且需要获取线路两端的信息,应用有所局限。
此外,加信传递函数法通过在故障线路出口处施加高频信号(单位阶跃波、窄脉冲波、方波),在频域内构建配电系统的传递函数,由传递函数的频谱特性构造判据进行故障定位[20]。传递函数法取用地模分量作为故障定位的信息依据,因此具有不受负载参数变化影响的优点,且能够实现多分支辐射网的故障定位问题,但同时存在无法处理只有线模分量的短路故障的定位问题,目前尚未投入实际运行。
2.2 故障测距法
2.2.1“S”注入法
“S注入法”除用于故障区段判断外,也可以用于故障测距。通过检测注入信号的电压电流,计算变电站至故障点的故障阻抗,以故障距离与故障阻抗成正比为判据计算故障点位置[21]。该方法灵敏度受注入信号强度影响,定位效果需要现场实际运行以进一步验证。
2.2.2 微分方程法
微分方程法[6]是通过列写线路的暂态微分方程,利用测量的暂态电压、电流信号求取测量端至故障点间线路电感实现故障测距,又称之为暂态阻抗法。该方法不受中性点运行方式影响,克服了稳态法中故障信号微弱难以用于定位的缺点,灵敏度大为提高。但由于所使用的模型没有考虑线路的分布电容,测距误差大,不能满足实用化的要求。
2.2.3 行波法
根据行波理论,线路上的任何扰动,其电气量均以行波的形式向系统的其它部分传播,因此在理论上可以利用测量到的暂态行波信号实现各种类型故障测距。其基本原理是通过测量故障产生的行波在故障点与母线之间往返一次的时间(单端法)或利用故障行波到达两端的时间差(双端法)来计算故障距离。输电线路输电距离长,利用GPS同步对时可以准确计算故障距离,配电线路结构复杂,分支点多,在配网中应用行波测距关键要解决故障波头的识别及混合线路波阻抗变化的问题,同时需要考虑其经济成本。文献[22]所采用的C型故障测距是根据脉冲发射测距原理提出的,它可以在停电条件下对线路离线测量,但信号发射接收装置成本较高,还需要解决抗干扰问题,实用化难度大。文献[23]针对带分支线配电网提出先定位故障区段,再计算故障距离的行波测距方法,仿真显示测距结果准确,但仍然存在伪故障点的判断问题。文献[24]提出利用适用于各种故障类型的行波线模分量实现故障测距,为解决分支线路定位,需要在主线路及各分支线路末端安装测距装置,应用成本过高。文献[25]开发出低成本的行波信号传感器,沿线安装在容性装置的接地线上,通过双端测距计算故障距离,但装置的安装条件对方法的应用有一定限制。综合上述几种方法,在配电网中应用行波测距必须使用双端测距,单端测距是不可行的,而双端测距又会增加成本,其应用受到局限。
2.2.4 参数辨识法
参数辨识是在系统结构已知的前提下,建立其等效数学模型,通过线路首端检测到的电气量求取模型内各元件参数的办法,在电力系统一般应用时域[26]和频域[27]两种参数识别,求解工具通常为最小二乘法。输电网结构简单,参数均匀,求解过程只需要辨识少量参数,故障测距比较准确[28]。文献[29]对中性点不接地系统建立零序网络等效模型,利用零序电流、电压信号,辨识各出线对地电容,与已建模型电容比较选出故障线路,再辨识故障线路电感计算故障距离,由于小电流接地系统零序分量较小,仅能保证一定程度的选线判断,用于故障测距会大大降低计算精度,实际应用效果有待进一步验证。
3 配电网故障技术展望
(1)用户对供电可靠性要求不断提高。下一步提高供电可靠性的必然途径,就是通过准确的故障定位应对故障停电问题。从国内外的发展状况来看,配电网在提高供电可靠性上显得越来越重要,其故障检测也受到越来越多的重视。
(2)现有的故障定位技术相对成熟。适用范围也涵盖了各种接地方式及故障情况,且具备现场应用的条件。实际应用中,要因地制宜,选择合理的定位策略,并积极地推广应用,摸索经验。
(3)建立故障管理系统。通过故障管理系统可以充分利用获取的各种故障信息,如配合故障投诉系统[30,31]采用信息融合技术做出最优判断。同时可以记录各种定位方法的运行性能及准确率,有助于对比分析,为改进及开发提供可信的数据。
(4)根据分布式电源的并网要求,制定合适的保护方案。随着分布式电源在系统中比重越来越大,使传统配电网的运行和管理更加复杂。在分布式电源规模占系统比例较大的情况下,其接入会影响到系统保护的定值及定位判据,需要建立相应的保护方案及定位策略。各国对分布式电源接入的要求有着不同的规定,包括有条件接入、积极接入及有源网络等。带分布式电源的配电网故障定位也要根据不同的并网要求选择合适的定位策略,国外已开始了相关研究[32]。
4 结束语