美文网首页
用CNN做电能质量扰动分类(2019-03-28)

用CNN做电能质量扰动分类(2019-03-28)

作者: 南海金雕 | 来源:发表于2019-03-28 12:50 被阅读0次

         这里主要介绍以下几点内容:1.深度学习环境的搭建 2.电能质量扰动数据集的生成 3.如何构建简单CNN去做分类任务。关于第2和第3个的代码和我产生的数据集,在以下链接中被分享:

    https://pan.baidu.com/s/1IK6AHwj8NIerlMKv9UAfig    提取码u3oc

    1.搭建环境。

    百度搜索“Anaconda”,下载Python 3.7 version,我当时下载的是3.6,因为他经常更新,现在都已经到3.7了。下载后安装就可以了。安装结束后打开Ananconda Navigator。如图1所示,选中左边的environment,在右边输入keras,然后在右下角点apply就是安装的意思。因为我的电脑已经装了,所以右下角并没有显示安装的选项。等安装玩keras之后,环境就基本搭建好了。

    2.电能质量扰动数据集的生成

    电能质量扰动的分类,不同的文献有着略微不同的差距,读者可以查看以下三个论文关于电能质量扰动的定义:

    [1]肖露欣,李增祥,马建,陈克绪,吴建华.基于降噪自编码的电能质量扰动识别[J].南昌大学学报(理科版),2017,41(06):591-595.

    [2]姚建刚,郭知非,陈锦攀.基于小波和BP神经网络的电能扰动分类新方法[J].电网技术,2012,36(05):139-144.

    [3]张全明,刘会金.最小二乘支持向量机在电能质量扰动分类中的应用[J].中国电机工程学报,2008(01):106-110.

    在这里我们主要将电能质量信号分成:正常信号、电压瞬升、电压瞬降、谐波、闪变、电压中断、暂态脉冲以及振荡暂态8种状态每一种状态的定义如下:

           设定采样参数是:采样区间是10个周期也就是0.2s,每秒采样3915次,0.2秒只要采样783次即可,也就是784个采样点。产生数据集的代码是用matlab编写的,直接把代码放在matlab命令行串口就可以产生一个扰动信号,比如每次运行暂态脉冲代码获得的信号都是不一样的。如果需要大量的信号只需要把我写的代码放到函数里面,反复调用函数就可以获得数据集了。

    3.CNN去做分类任务

    我们利用上面的程序得到了ZerosOnePowerQuality.csv文件,里面包括了8种信号,总共有9000条信号,每条信号的长度是784。其中,前8000个分别是8种信号作为训练集,每种有1000个。后1000个也包括8种信号作为测试集,每种125个。把代码放到spyder的环境中,我的spyder的默认路径是“D:\Matlab2018a\328”,并把ZerosOnePowerQuality.csv放到默认路径下后直接运行程序得到结果如图。(我的默认路径和matlab没有关系,只是因为我习惯把python的默认路径和matlba的默认路径放在一个文件夹下,即matlab和python的程序在附近,默认路径随意设定就好)

    相关文章

      网友评论

          本文标题:用CNN做电能质量扰动分类(2019-03-28)

          本文链接:https://www.haomeiwen.com/subject/fsevvqtx.html