主要内容gydF4y2Ba

异常检测使用Autoencoder和小波gydF4y2Ba

这个例子展示了如何使用小波的特性在直流电弧故障检测系统。直流配电系统的安全运行,重要的是要确定电弧故障和prefault信号可以由电线绝缘恶化由于老化,磨损或啮齿动物咬伤。这些弧故障可能导致电击、火灾、和系统故障的微型智能电网"。与交流配电系统的故障信号,这些prefault电弧闪光信号很难确定,因为他们不产生相当大的权力,以触发断路器。因此,这些信号可以在系统中存在几个小时而不被发现。gydF4y2Ba

电弧故障检测中使用小波变换进行了研究gydF4y2Ba[1]gydF4y2Ba。这个例子是特征提取过程详细的工作由过滤使用Daubechies负载信号gydF4y2Badb4gydF4y2Ba小波正常化紧随其后。进一步,autoencoder训练信号特性在正常情况下是用来检测故障电弧负载信号。直流电弧模型用于生成故障信号和pretrained网络用于检测电弧故障提供了示例文件夹。作为电弧大信号检测培训网络可以大大仿真时间长,在这个例子中我们只报告检测结果。gydF4y2Ba

训练和测试设置gydF4y2Ba

autoencoder训练使用生成的负载信号仿真软件®模型金宝appgydF4y2BaDCNoArcgydF4y2Ba在正常情况下,即,没有故障电弧。该模型gydF4y2BaDCNoArcgydF4y2Ba建成使用组件Simscape™电气™专业电力系统库。gydF4y2Ba

图1:gydF4y2BaDCNoArcgydF4y2Ba在正常情况下模型生成负载信号。gydF4y2Ba

使用以下参数:电压源建模gydF4y2Ba

  • 交流谐波源1:gydF4y2Ba10 V交流电压和频率120赫兹gydF4y2Ba

  • 交流谐波源2:gydF4y2Ba20 V交流电压和2000赫兹的频率gydF4y2Ba

  • 直流电压源:gydF4y2Ba1000 VgydF4y2Ba

在模型中gydF4y2BaDCArcModelFinalgydF4y2Ba我们增加电弧故障代在每个负载分支。卡西电弧模型的模型使用合成电弧故障的一代。电弧模型的工作原理就像一个理想的电导,直到弧点燃在接触分离的时间。gydF4y2Ba

图2:gydF4y2BaDCArcModelFinalgydF4y2Ba模型生成负载与电弧故障信号。gydF4y2Ba

卡西电弧模型是研究最多的黑盒模型生成合成弧。以下描述的模型是微分方程:gydF4y2Ba

dgydF4y2Ba ggydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba ggydF4y2Ba τgydF4y2Ba (gydF4y2Ba ugydF4y2Ba 2gydF4y2Ba UgydF4y2Ba cgydF4y2Ba 2gydF4y2Ba - - - - - -gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba

在哪里gydF4y2Ba

  • ggydF4y2Ba西门子的电导是弧gydF4y2Ba

  • τgydF4y2Ba 在几秒钟内弧时间常数吗gydF4y2Ba

  • ugydF4y2Ba电弧的电压伏吗gydF4y2Ba

  • UgydF4y2Ba cgydF4y2Ba 不断弧电压伏吗gydF4y2Ba

卡西电弧模型在仿真软件中实现®使用以下参数值:金宝appgydF4y2Ba

  • 初始电导g(0)是1 e4西门子gydF4y2Ba

  • 常数弧电压gydF4y2Ba UgydF4y2Ba cgydF4y2Ba = 100 VgydF4y2Ba

  • 弧时间常数是e-6 1.2秒gydF4y2Ba

接触分离时间的电弧模型是随机选取的。所有的参数都在加载gydF4y2BaPreLoadFcngydF4y2Ba回调的gydF4y2Ba模型属性gydF4y2Ba的gydF4y2Ba模型设置gydF4y2Ba选项卡。gydF4y2Ba

接触分离,通过数学Cassie电弧模型的电压下降一定程度和呆在其余模拟期间的价值。然而,在实际电力系统分支弧是维持一个小的时间间隔。确保电压Cassie电弧模型模拟现实生活中故障电弧的行为,我们使用一个开关在每个模型限制电弧的时间。我们使用gydF4y2BaDCArcModelFinalgydF4y2Ba模型来生成一个错误autoencoder信号测试的负载。gydF4y2Ba

检测故障电弧在所有分支同时的负载传感系统测量负载电压在每个分支。传感系统结合了负载电压和将产生的信号发送到功能生成块。然后使用生成的特性检测电弧故障的所有分支使用网络。gydF4y2Ba

异常检测与AutoencodergydF4y2Ba

Autoencoders用于检测异常信号。autoencoder训练数据无异常。结果,学习网络权值最小化重建误差没有故障电弧负载信号。训练数据的重建误差的统计数据,可以用来选择阈值决定了检测的异常检测块autoencoder的性能。检测块声明异常的存在,当它遇到重建误差阈值之上。在这个例子中,我们使用均方根误差(RMSE)作为重建误差指标。gydF4y2Ba

对于这个示例,我们训练两个autoencoders使用负载信号在正常情况下没有电弧故障。autoencoder之一是使用原始负荷信号作为训练数据训练。这个编码器使用原始故障负载检测电弧故障的信号。第二个autoencoder训练使用小波的特性。电弧故障检测是随后进行小波的特性,而不是原始数据。培训和测试网络,我们假设负载由10个分支并联电阻随机选择阻力值。电弧故障信号的一代,我们添加一个卡西电弧模型在每个负载分支。接触模型,它们的分离时间触发随机整个模拟时期。就像在实时直流系统中,负载信号正常和故障条件增加了白噪声。gydF4y2Ba

特征提取gydF4y2Ba

小波autoencoder是训练和测试信号过滤使用离散小波变换(DWT)。后gydF4y2Ba[1]gydF4y2Ba,DaubechiesgydF4y2Badb4gydF4y2Ba使用小波。gydF4y2Ba

下图显示了wavelet-filtered负载信号在正常和故障条件。wavelet-filtered错误的信号捕获变化由于电弧故障。培训和测试目的,wavelet-filtered信号划分为100 -样本帧。gydF4y2Ba

图3:gydF4y2Ba生负载信号和wavelet-filtered信号在正常情况下。gydF4y2Ba

图4:gydF4y2Ba生负载信号和wavelet-filtered信号在错误的条件下。gydF4y2Ba

模型训练gydF4y2Ba

autoencoder是训练使用wavelet-filtered特性从负载信号在正常情况下。训练阶段你有两个选择:gydF4y2Ba

  1. 训练你自己的autoencoder和加载网络的预测块gydF4y2BaDCArcModelFinalgydF4y2Ba模型。gydF4y2Ba

  2. 使用gydF4y2BaDCArcModelFinalgydF4y2Ba模型已经预装pretrained模型中可用gydF4y2BanetData.matgydF4y2Ba文件的示例文件夹。gydF4y2Ba

训练你自己的autoencoder可以使用以下步骤。gydF4y2Ba

  • 首先,生成负载信号在正常操作条件下使用gydF4y2BaDCNoArcgydF4y2Ba模型。负载,开放,并使用以下命令运行模型。提取信号的负载模拟输出。gydF4y2Ba

load_system (gydF4y2Ba“DCNoArc.slx”gydF4y2Ba);open_system (gydF4y2Ba“DCNoArc.slx”gydF4y2Ba);= sim卡(gydF4y2Ba“DCNoArc.slx”gydF4y2Ba);gydF4y2Ba%提取正常加载信号从模拟输出gydF4y2Baxn = out.xn;gydF4y2Ba
  • 接下来,从负载信号提取wavelet-filtered特性。您使用autoencoder特征作为输入。gydF4y2Ba

%训练数据:负载电压在正常情况下gydF4y2BafeatureDimension = 100;xn = sigresize (xn featureDimension);gydF4y2Ba%获得培训功能gydF4y2Batrnd4 = getDet (xn);trainData = getFeature (trnd4 featureDimension);gydF4y2Ba

使用以下网络层的pretrained autoencoder训练和培训方案。gydF4y2Ba

%创建网络层gydF4y2Ba层= [sequenceInputLayer (1,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“在”gydF4y2Ba)bilstmLayer (32,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“bilstm1”gydF4y2Ba)reluLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“relu1”gydF4y2Ba)bilstmLayer (16gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“bilstm2”gydF4y2Ba)reluLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“relu2”gydF4y2Ba)bilstmLayer (32,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“bilstm3”gydF4y2Ba)reluLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“relu3”gydF4y2Ba)fullyConnectedLayer (1,gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“俱乐部”gydF4y2Ba)regressionLayer (gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“出”gydF4y2Ba));gydF4y2Ba%设置选项gydF4y2Ba选择= trainingOptions (gydF4y2Ba“亚当”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“MaxEpochs”gydF4y2Ba,20岁,gydF4y2Ba…gydF4y2Ba“MiniBatchSize”gydF4y2Ba,16岁,gydF4y2Ba…gydF4y2Ba“阴谋”gydF4y2Ba,gydF4y2Ba“训练进步”gydF4y2Ba);gydF4y2Ba

培训步骤需要几分钟。如果你想训练网络,选择trainingFlag =“列车网络”。然后,您可以加载到训练网络gydF4y2Ba预测gydF4y2Ba块中使用深度学习工具箱™gydF4y2BaDCArcModelFinalgydF4y2Ba模型。gydF4y2Ba

trainingFlag =gydF4y2Ba“使用pretrained网络”gydF4y2Ba如果gydF4y2BatrainingFlag = =gydF4y2Ba“列车网络”gydF4y2Ba%培训网络gydF4y2Ba网= trainNetwork (trainData、trainData层,选择);保存(gydF4y2Ba“network.mat”gydF4y2Ba,gydF4y2Ba“净”gydF4y2Ba);gydF4y2Ba结束gydF4y2Ba

如果你想跳过的训练步骤,您可以运行gydF4y2BaDCArcModelFinalgydF4y2Ba模型装有pretrained网络gydF4y2BanetDatagydF4y2Ba.mat负荷检测电弧故障的信号。gydF4y2Ba

图5:gydF4y2Baautoencoder培训进展。gydF4y2Ba

图显示了直方图的重建误差产生的autoencoder当输入训练数据。您可以使用统计数据重建误差选择检测阈值。例如,选择检测阈值的三倍标准差的重建误差。gydF4y2Ba

图6:gydF4y2Ba直方图的重建误差产生的autoencoder当输入训练数据。gydF4y2Ba

使用Autoencoder异常检测模型gydF4y2Ba

的gydF4y2BaDCArcModelFinalgydF4y2Ba模型用于实时检测直流负载电弧故障的信号。在运行模型之前,您必须指定仿真停止时间以秒为单位的工作空间变量gydF4y2BatgydF4y2Ba。gydF4y2Ba

图7:gydF4y2BaDCArcModelFinalgydF4y2Ba电弧故障检测。gydF4y2Ba

第一个块生成一个嘈杂的直流负载与电弧故障在连续时间信号。然后负载电压转换为离散时间信号在20 kHz的采样gydF4y2Ba率转换gydF4y2Ba块DSP系统工具箱™。离散时间信号然后缓冲gydF4y2BaLWTFeatureGengydF4y2Ba块,获得所需的四级细节预处理后投影。100年的细节然后投影分割样本帧的测试功能gydF4y2Ba预测gydF4y2Ba块。的gydF4y2Ba预测gydF4y2Ba块已经预装网络pretrained负载信号在正常情况下使用。异常检测块然后计算每一帧的均方根误差(RMSE),声明弧形断层的存在如果错误高于一些预定义的阈值。我们可以观察到的预测块添加到模型范围。情节上的红线表示,由于检测到异常的过渡。autoencoder确定大部分的故障电弧。gydF4y2Ba

图8:gydF4y2Ba实时gydF4y2Ba电弧故障检测从范围。gydF4y2Ba

这图显示了区域预测的网络使用wavelet-filtered特性时。autoencoder能够正确地检测所有10个电弧故障区域。换句话说,我们获得了100%的概率检测在这种情况下。gydF4y2Ba

图9:gydF4y2Baautoencoder使用wavelet-filtered特性的检测性能。gydF4y2Ba

这图显示了原始数据的异常检测性能训练autoencoder (pretrained网络中gydF4y2BanetDataRawgydF4y2Ba.mat)。当我们使用原始数据异常检测,编码器是正确的七个地区能够识别。gydF4y2Ba

图10:gydF4y2Baautoencoder使用原始负载信号检测性能。gydF4y2Ba

最后,我们生成了一个长达50秒的异常信号与40个电弧故障区域(不包括这些数据)。当测试autoencoder训练与原始信号,弧地区发现了检测概率为57.85%。相比之下,与wavelet-filtered autoencoder训练信号能够检测到故障电弧区域检测的概率为97.52%。gydF4y2Ba

总结gydF4y2Ba

在这个例子中,我们演示了如何autoencoders可以用来识别在直流系统故障电弧。生和小波过滤负荷信号在正常情况下可以用作训练autoencoders特性。这些异常检测机制可以用来检测电弧故障及时,从而防止直流系统故障所造成的损害。gydF4y2Ba

引用gydF4y2Ba

[1]gydF4y2Ba王,詹和Robert s . Balog。“弧的错和Flash直流配电系统使用小波变换的信号分析。”gydF4y2BaIEEE智能电网gydF4y2Ba6,不。4(2015年7月):1955 - 63。gydF4y2Bahttps://doi.org/10.1109/TSG.2015.2407868gydF4y2Ba

辅助函数gydF4y2Ba

getDetgydF4y2Ba——这个函数获得wavelet-filtered正常负载信号和规范。gydF4y2Ba

函数gydF4y2Bad4 = getDet (x)gydF4y2Ba%这个函数仅仅是为了支持小波的例子金宝appgydF4y2Ba%的工具箱。在将来发布的版本中可能会改变或删除。gydF4y2BaLS = liftingScheme (gydF4y2Ba“小波”gydF4y2Ba,gydF4y2Ba“db4”gydF4y2Ba);[ca4, cd4] =轻型(x,gydF4y2Ba“水平”gydF4y2Ba4gydF4y2Ba“LiftingScheme”gydF4y2Ba、LS);D4 = lwtcoef (ca4 cd4,gydF4y2Ba“LiftingScheme”gydF4y2BaLS,gydF4y2Ba“OutputType”gydF4y2Ba,gydF4y2Ba“投影”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“类型”gydF4y2Ba,gydF4y2Ba“细节”gydF4y2Ba);d4 =正常化(d4);gydF4y2Ba结束gydF4y2Ba

getFeaturegydF4y2Ba——这个函数段wavelet-filtered featureDimension大小的功能。gydF4y2Ba

函数gydF4y2Ba特点= getFeature (x,深圳)gydF4y2Ba%这个函数仅仅是为了支持小波的例子金宝appgydF4y2Ba%的工具箱。在将来发布的版本中可能会改变或删除。gydF4y2Ban =地板(长度(x) /深圳);特点=细胞(n, 1);gydF4y2Ba为gydF4y2Ba2 = 1:n c1 = 1 + ((ii-1) * sz);c2 =深圳+ ((ii-1) * sz);印第安纳州= c1, c2;功能{2}= ' (x(印第安纳州,:));gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

sigresizegydF4y2Ba- - - - - -gydF4y2Ba该函数删除瞬态载荷信号的一部分。gydF4y2Ba

函数gydF4y2Baxn = sigresize (x,深圳)gydF4y2Ba%这个函数仅仅是为了支持小波的例子金宝appgydF4y2Ba%的工具箱。在将来发布的版本中可能会改变或删除。gydF4y2Ban =地板(长度(x) /深圳);如果= n *深圳;xn = 0(低频,1);xn(1:低频)= x(1:低频);gydF4y2Ba结束gydF4y2Ba

另请参阅gydF4y2Ba

功能gydF4y2Ba

对象gydF4y2Ba

相关的话题gydF4y2Ba