基于K-SVD训练稀疏字典的光伏阵列故障诊断方法与流程

文档序号:16244576发布日期:2018-12-11 23:27阅读:267来源:国知局
基于K-SVD训练稀疏字典的光伏阵列故障诊断方法与流程

本发明涉及光伏发电阵列故障诊断技术,特别是基于k-svd训练稀疏字典的光伏阵列故障诊断方法。

背景技术

太阳能因其清洁、无污染和永不枯竭等特点已经成为解决全球能源紧缺,环境污染等战略手段。光伏发电是利用太阳能的主要方式,在国家政策的支持下,光伏发电产业迅速崛起,带来了巨大的经济和环境效益。在光伏发电系统中,光伏发电阵列作为采集太阳能的核心部件通常工作在复杂多变的户外环境中,易受风霜雨雪等恶劣因素的影响而产生诸如短路,开路,阴影等故障。故障的产生会降低光伏发电效率,造成意外的能源浪费和经济损失,更有甚者会留下安全隐患,引起火灾,危害人身安全。所以对光伏系统的工作状态进行监控,对出现的故障及时地检测和分类并发出警告,就能够有效地进行维护,降低因光伏阵列故障带来的能量损失,防止出现安全事故,具有良好的经济和社会效益。

国内外学者们已经先后提出了一系列的故障诊断方法,实现对不同的故障类型的检测和定位。典型的故障检测方法有对地电容检测法,时域反射分析法,红外热成像和性能对比分析等。此外,随着人工智能的快速发展,学者们提出了运用支持向量机,神经网络,决策树等基于机器学习算法的故障诊断方案。对地电容测量法是根据对光伏组串的对地电容的测量来判断其是否发生断路并定位故障。时域反射分析法是向光伏组串注入一个脉冲,对返回信号的形状和延迟时间进行分析以此判断光伏组串中是否存在故障。对地电容测量法和时域反射分析法都需要进行离线检测,缺乏实时性,这样会耗费大量的人力和财力。而工作于正常状态和故障状态下的太阳电池会有存在明显的温差,故还可以采用红外热成像分析法进行故障诊断。红外热成像分析法虽然可以高效的进行故障诊断,但必须配备大量的红外摄像仪,经济效益差,难以得到推广。目前应用最多的是基于机器学习算法的故障诊断和分类方法。该方法具有较强的自学习能力,鲁棒性强,准确率高,已经成为研究的热点。大多数的机器学习算法是基于训练模型进行故障诊断和分类,而精确的模型一般要求多维的数据,模型训练时间长,环境的不断变换也给模型的准确性带来了挑战。

基于此,本发明提出基于k-svd训练稀疏字典的光伏故障诊断和分类方法。该方法只需采集不同光照度下的电流信号作为训练和检测样本。旨在通过故障发生时电流信号的突变特征进行故障诊断,该方案环境适应性强,且k-svd训练稀疏字典速度快,诊断和分类的准确度高。

目前,公开发表的文献及专利中尚未见有将k-svd训练稀疏字典应用于光伏发电阵列的故障诊断和分类的研究。



技术实现要素:

本发明的目的在于提供一种基于k-svd训练稀疏字典的光伏阵列故障诊断方法,以不同工作状态下的光伏阵列电流信号为样本矩阵,用k-svd算法训练稀疏分类字典,根据稀疏字典重构信号和检测信号的相关度来进行光伏发电阵列的故障诊断和分类。

为实现上述目的,本发明的技术方案是:基于k-svd训练稀疏字典的光伏阵列故障诊断方法,包括如下步骤:

步骤s1、采集多组光伏发电阵列正常、短路和开路的电流样本信号,构造训练样本矩阵,包括正常样本矩阵、短路样本矩阵和开路样本矩阵;

步骤s2、对每个样本信号进行归一化处理;

步骤s3、调用k-svd算法,确定训练样本矩阵的行数n以及列数m,其中n、m亦为样本维度、样本个数,稀疏字典的词汇量k,稀疏度l,以及迭代次数n;

步骤s4、利用正常样本矩阵、短路样本矩阵和开路样本矩阵分别训练出正常稀疏字典、短路稀疏字典及开路稀疏字典;

步骤s5、调用omp算法,分别利用三种稀疏字典重构检测样本信号,并计算出三种重构信号和检测样本信号的相关系数;

步骤s6、根据检测样本信号和稀疏字典重构信号相关系数的大小实现光伏发电阵列故障的诊断与分类。

在本发明一实施例中,所述步骤s1中的训练样本矩阵记为x=[x1,x2,...xi]∈rn×m,其中xi是样本信号,n是样本维度,即样本信号的长度;每个样本信号的时间t=10固定,因此样本维度取决于数据采集频率;m代表样本个数;短路和开路样本信号包含了阵列电流由正常到故障再到故障稳定的过程,即捕获故障发生时阵列电流的变化特性。

在本发明一实施例中,所述步骤s2中对样本信号进行归一化的具体方法为:阵列电流除以短路电流,经过归一化处理可以克服不同光照度和不同温度的影响;归一化的公式如下

ipv(t)=ipv(t)/isc(t)

其中ipv(t)表示采集的阵列电流样本信号,isc(t)表示阵列短路电流信号,ipv(t)表示归一化后的电流样本信号;经过归一化处理之后的样本电流信号只反映了不同工作状态下阵列电流的变化趋势,突出变化特性。

在本发明一实施例中,所述步骤s3中k-svd算法参数设置具体如下:训练样本维度n=30,样本个数m=90,三类稀疏字典的词汇量k都取60,正常稀疏字典的稀疏度l=3,短路字典的稀疏度l=5,开路稀疏字典的稀疏度l=3,训练的迭代次数n=100。

在本发明一实施例中,所述步骤s4的具体求解过程如下:

样本信号xi在字典d下的稀疏表示可以转化为下式的优化问题,这也是字典学习最基本的的形式;

其中d∈rn×k为字典矩阵,k为字典的词汇量,λ为正则化参数;ai∈rk为样本信号xi的稀疏表示稀疏;式子的前半部分表示重构样本,式子的后半部分则为稀疏分解;采用变量交替优化的方法对上式进行求解;首先初始化并固定字典d,求解ai,为每个样本信号xi找到合适的ai,这就稀疏分解的过程;这里稀疏分解采用的是正交匹配追踪算法,该方法是在每次的迭代过程中,从固定的字典d中选择最相关的基向量来稀疏逼近样本信号,并求出样本信号表示误差,然后继续从字典d中选择最相关的基向量来逼近样本信号误差,经过多次迭代,样本信号就可以由基向量线性表示;

然后以ai为初始值更新字典d,这就是说字典学习的过程;这里采用的字典学习的是基于逐列更新策略的k-svd算法;

式子(1)可以写成式子(2)的形式:

式中,x=[x1,x2,...,xm]∈rn×m,d=[d1,d2,...,dk]∈rn×k,a=[a1,a2,...,am]∈rk×m,||.||是矩阵的frobenius范数;di表示字典的第i个原子,即矩阵d的第i列,ai表示样本信号xi的稀疏表示系数,即a的第i行,式子(2)可以写成如下形式:

在更新字典第i列时,其他k-1列是固定的,也是固定的,表示除去第i个字典后的所有样本的误差;对于最小化式子(3),可以对ei进行奇异值分解以获取最大奇异值所对应的正交向量。这种方法虽然能够最小化式(3)误差,但是这种求解过程会同时修改bi和ai,这会使得ai被填满,破坏系数矩阵a的稀疏性;为了防止出现上述情况,k-svd对ei和ai分别进行专门处理:ai仅保留非零元素,ei则仅保留bi与ai的非零元素的乘积项,然后再进行奇异值分解,这样就保持了原来得到的稀疏性;

初始化字典矩阵d之后反复迭代上诉的两个步骤,最终可求解字典d和样本的xi的稀疏表示ai;在用k-svd进行字典学习过程当中,可以设置词汇量k的大小来控制字典的规模以此来控制稀疏程度;通过以上方式,训练出三类稀疏字典。

在本发明一实施例中,所述步骤s6中,根据检测样本信号和稀疏字典重构信号相关系数的大小实现光伏发电阵列故障的诊断与分类,即哪一类稀疏字典重构的检测样本信号和源检测样本信号的相关系数最大就说明光伏阵列处于该稀疏字典对应的工作状态。

在本发明一实施例中,所述工作状态包括:正常工作、短路和开路。

相较于现有技术,本发明具有以下有益效果:本发明的优点在于基于电流信号光伏阵列的变化特性就能进行故障诊断,不需要其他的数据特征,且能在不影响光伏发电系统工作的情况下进行故障检测与分类,该方案训练稀疏分类字典速度快,环境适用性强实现光伏发电的准确地故障检测和分类。发明的分类准确率可达99%以上。

附图说明

图1为正常检测样本信号与三类稀疏字典重构正常检测样本信号的相关系数。

图2为短路1检测样本信号与三类稀疏字典重构短路1检测样本信号的相关系数。

图3为开路1检测样本信号与三类稀疏字典重构开路1检测样本信号的相关系数。

图4为本发明方法流程图。

图5为本发明一实施例的光伏发电系统拓扑图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本发明提供了基于k-svd训练稀疏字典的光伏阵列故障诊断方法,包括如下步骤:

步骤s1、采集多组光伏发电阵列正常、短路和开路的电流样本信号,构造训练样本矩阵,包括正常样本矩阵、短路样本矩阵和开路样本矩阵;

步骤s2、对每个样本信号进行归一化处理;

步骤s3、调用k-svd算法,确定训练样本矩阵的行数n以及列数m,其中n、m亦为样本维度、样本个数,稀疏字典的词汇量k,稀疏度l,以及迭代次数n;

步骤s4、利用正常样本矩阵、短路样本矩阵和开路样本矩阵分别训练出正常稀疏字典、短路稀疏字典及开路稀疏字典;

步骤s5、调用omp算法,分别利用三种稀疏字典重构检测样本信号,并计算出三种重构信号和检测样本信号的相关系数;

步骤s6、根据检测样本信号和稀疏字典重构信号相关系数的大小实现光伏发电阵列故障的诊断与分类。

所述步骤s1中的训练样本矩阵记为x=[x1,x2,...xi]∈rn×m,其中xi是样本信号,n是样本维度,即样本信号的长度;每个样本信号的时间t=10固定,因此样本维度取决于数据采集频率;m代表样本个数;短路和开路样本信号包含了阵列电流由正常到故障再到故障稳定的过程,即捕获故障发生时阵列电流的变化特性。

所述步骤s2中对样本信号进行归一化的具体方法为:阵列电流除以短路电流,经过归一化处理可以克服不同光照度和不同温度的影响;归一化的公式如下

ipv(t)=ipv(t)/isc(t)

其中ipv(t)表示采集的阵列电流样本信号,isc(t)表示阵列短路电流信号,ipv(t)表示归一化后的电流样本信号;经过归一化处理之后的样本电流信号只反映了不同工作状态下阵列电流的变化趋势,突出变化特性。

所述步骤s3中k-svd算法参数设置具体如下:训练样本维度n=30,样本个数m=90,三类稀疏字典的词汇量k都取60,正常稀疏字典的稀疏度l=3,短路字典的稀疏度l=5,开路稀疏字典的稀疏度l=3,训练的迭代次数n=100。

所述步骤s4的具体求解过程如下:

样本信号xi在字典d下的稀疏表示可以转化为下式的优化问题,这也是字典学习最基本的的形式;

其中d∈rn×k为字典矩阵,k为字典的词汇量,λ为正则化参数;ai∈rk为样本信号xi的稀疏表示稀疏;式子的前半部分表示重构样本,式子的后半部分则为稀疏分解;采用变量交替优化的方法对上式进行求解;首先初始化并固定字典d,求解ai,为每个样本信号xi找到合适的ai,这就稀疏分解的过程;这里稀疏分解采用的是正交匹配追踪算法,该方法是在每次的迭代过程中,从固定的字典d中选择最相关的基向量来稀疏逼近样本信号,并求出样本信号表示误差,然后继续从字典d中选择最相关的基向量来逼近样本信号误差,经过多次迭代,样本信号就可以由基向量线性表示;

然后以ai为初始值更新字典d,这就是说字典学习的过程;这里采用的字典学习的是基于逐列更新策略的k-svd算法;

式子(1)可以写成式子(2)的形式:

式中,x=[x1,x2,...,xm]∈rn×m,d=[d1,d2,...,dk]∈rn×k,a=[a1,a2,...,am]∈rk×m,||.||是矩阵的frobenius范数;di表示字典的第i个原子,即矩阵d的第i列,ai表示样本信号xi的稀疏表示系数,即a的第i行,式子(2)可以写成如下形式:

在更新字典第i列时,其他k-1列是固定的,也是固定的,表示除去第i个字典后的所有样本的误差;对于最小化式子(3),可以对ei进行奇异值分解以获取最大奇异值所对应的正交向量。这种方法虽然能够最小化式(3)误差,但是这种求解过程会同时修改bi和ai,这会使得ai被填满,破坏系数矩阵a的稀疏性;为了防止出现上述情况,k-svd对ei和ai分别进行专门处理:ai仅保留非零元素,ei则仅保留bi与ai的非零元素的乘积项,然后再进行奇异值分解,这样就保持了原来得到的稀疏性;

初始化字典矩阵d之后反复迭代上诉的两个步骤,最终可求解字典d和样本的xi的稀疏表示ai;在用k-svd进行字典学习过程当中,可以设置词汇量k的大小来控制字典的规模以此来控制稀疏程度;通过以上方式,训练出三类稀疏字典。

所述步骤s6中,根据检测样本信号和稀疏字典重构信号相关系数的大小实现光伏发电阵列故障的诊断与分类,即哪一类稀疏字典重构的检测样本信号和源检测样本信号的相关系数最大就说明光伏阵列处于该稀疏字典对应的工作状态。所述工作状态包括:正常工作、短路和开路。

以下为本发明的具体实施过程。

本实施例提供一种基于不同工作状态下电流信号特征变化的光伏发电故障诊断和分类方法,流程框图如图4所示。图5为本实施例的光伏发电系统拓扑图,系统由s×p个太阳能组件组成,通过逆变器与电网进行连接实现并网发电,通过模拟光伏发电阵列出现的故障状况,包括开路1和短路1工作状态,在不同温照下,针对每种故障情况进行实时故障诊断,具体包括以下步骤:

步骤s1:采集多个光伏发电阵列在正常,短路1,开路1时的电流样本信号,构造训练样本矩阵;

步骤s2:对每个样本信号进行归一化处理;

步骤s3:调用k-svd算法,通过实验探索合理的参数设置,即确定训练样本矩阵的行数n(样本维度),列数m(样本数目),稀疏字典的词汇量k,稀疏度l,以及迭代次数n;

步骤s4:利用设置好参数的k-svd算法和正常样本矩阵,短路1样本矩阵和开路1样本矩阵分别训练出对应的稀疏字典;

步骤s5:调用omp算法,分别利用三种稀疏字典重构检测样本信号,并计算出三种重构信号和检测样本信号的相关系数;

步骤s6:根据检测样本信号和重构信号相关系数的大小实现光伏发电阵列故障的诊断与分类,即通过判断哪种重构信号和检测信号的相关系数最大来确定光伏阵列工作状态。

较佳的,本实施例中采集数据所采用的光伏系统由18块太阳能面板组成,组成6串3并的方式,通过逆变器进行并网发电;

在本实施例中,步骤s1中所述的电流信号训练样本矩阵包括正常样本矩阵,短路1样本矩阵和开路1样本矩阵,其中,故障样本信号包含阵列电流由正常到故障再到mppt算法找到新的工作点的过程。训练样本矩阵为x=[x1,x2,…,xm]∈rn×m,xi代表一个样本信号,其中n是样本信号的维度,即样本信号的长度。每个样本信号的时间t=10固定,所以样本信号的维度取决于数据采集频率。m代表样本信号的个数。

在本实施例中,所述的工作状态包括:正常工作、短路1和开路1这两种故障状态。在本实施例中,所述方法能够对不同照度下的短路1和开路1故障进行检测,同时,不同光伏阵列在同种故障下有相同的电流变化特征,所提出的方法在组串式光伏发电系统有强的适用性。特别地,本实施例在模拟光伏发电系统的三种工作状态进行采集数据:正常工作、短路1和开路1。在2018年5月份分多个时间段,在不同的温照度下进行样本信号随机采集,每种工作状态采集290个样本信号,其中90组样本构造样本矩阵,训练稀疏分类字典。200组样本信号作为检测信号。

在本实施例中,所述步骤s2中对样本进行归一化的具体方法为:阵列电流除以短路电流,经过归一化处理可以克服不同光照度和不同温度的影响。归一化的公式如下:

i(t)=ipv(t)/isc(t)

其中ipv(t)表示采集的光伏阵列电流样本信号,isc(t)表示光伏阵列短路电流信号,ipv(t)表示归一化后的光伏阵列电流样本信号。经过归一化处理之后的样本电流信号只反映了不同工作状态下阵列电流的变化趋势,突出变化特性。

在本实施例中,所述步骤s3中所述k-svd算法参数设置具体如下:样本维度n=30,样本个数m=90,稀疏字典的词汇量k=60,稀疏度l=6,以及迭代次数n=100。

在本实施例中,所述步骤s4中利用设置好参数的k-svd算法和构造好的正常样本矩阵,短路1样本矩阵和开路1样本矩阵分别训练出对应的稀疏字典。具体的过程是先固定字典d,用omp算法求解稀疏系数,然后以求解的稀疏系数为初始值基于逐列更新策略的k-svd算法更新字典d,采用变量交替优化方法不断迭代这两个过程,最终求出稀疏字典。

在本实施例中,所述步骤s5中调用omp算法,基于三种稀疏字典,分别重构三类检测信号,每类检测信号有200个。根据检测样本信号和哪类稀疏字典重构检测样本信号的相关系数最大来判断光伏发电阵列的工作状态。验证结果如图1-3所示。

200个正常检测样本信号与三类稀疏字典重构正常检测样本信号的相关系数如图1所示,由图分析可知,正常稀疏字典可以很好的重构正常检测样本信号,200个正常检测样本与正常稀疏字典重构正常检测样本信号的平均相关系数为0.8958,而短路1稀疏字典和开路1很难重构正常样本信号,平均相关系数分别为0.1525和0.0141。对于单个正常检测样本信号而言,基本上正常检测样本信号与正常稀疏字典重构正常检测样本信号的相关系数都大于与故障稀疏字典重构信号的相关系数,其中第35个和136个正常检测样本与正常稀疏字典重构信号的相关系数并不是最大的,故光伏发电阵列正常工作状态诊断的准确率为99%。

200个短路1检测样本信号与三类稀疏字典下重构短路1检测样本信号的相关系数如图2所示,由图分析可知,短路1稀疏字典可以最好的重构短路1检测样本信号,200个短路1检测样本信号与短路1稀疏字典重构信号的平均相关系数达0.9707,而与正常稀疏字典和开路1稀疏字典重构信号的平均相关系数分别为0.6144和0.8383。对于单个短路1检测样本信号而言,每个短路1检测样本信号与短路1稀疏字典重构信号的相关系数都大于与正常和开路1稀疏字典重构信号的相关系数,光伏发电阵列短路1故障的诊断准确率为100%。

200个开路1检测样本信号与三类稀疏字典重构开路1检测样本信号的相关系数如图3所示,由图分析可知,开路1稀疏字典可以最好的重构开路1样本信号,200个开路1检测样本与开路1稀疏字典重构信号的平均相关系数为0.9941,与正常稀疏字典和短路1稀疏字典重构信号的平均相关系数为0.8060和0.8788。对于单个开路1检测样本信号而言,每个开路1检测样本信号与开路1稀疏字典重构信号的相关系数都大于与另外两个稀疏字典重构信号的相关系数,光伏发电阵列开路1的故障检测的准确率达100%。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1