在上边的处理过程中都是通过对单个样本进行的操作,比如说对正常样本或者故障样本进行加噪去噪或者说进行小波变换,但是在想进行故障诊断的时候需要同时对大量样本进行操作,那么这样的话就需要进行批处理操作,才能不使得数据处理起来太麻烦。

在进行批处理的时候如果用的是python的话,写个for循环,然后将数据以矩阵的形式或者向量的形式进行迭代读取,然后对每种信号进行统一的操作就行了,但是如果你用的是MATLAB进行操作的话可能就会遇到一些常见的问题,然后可能网上也没有很好的解决办法或者说,没有很明确的方法能够解决这个问题,那么刚好通过这个来记录一下怎么用MATLAB做信号分析的批处理操作。

大体思路是这样:

(1)将整个数据集分为很多个列矢量,因为信号处理的时候是需要将数据变为列矢量,才能通过小波函数进行操作。

(2)将列矢量保存到一个文件夹中,然后进行挨个读取。

(3)对每读取的一个列矢量进行小波变换,小波基的选择和分解层数的选择之前就已经做过了。

(4)对每一层系数进行提取特征。

(5)对提取出来的特征进行降维或者叫进行特征矢量的选择来表征原始信号的特征。

(6)对提取完的特征进行保存,保存为矩阵的形式,方便进行神经网络的训练。

首先第一步,就是将所用到的数据集进行导入,然后在MATLAB上进行变为列矢量,上边有直接转换的方法。然后他会将所有的列矢量当做变量保存在工作区,然后对没一个进行单独的保存(我还没有找到很好的办法可以一次性的保存所有的变量),结果就和下边图一样。

第二步就是将这些所有的mat文件进行读取,网上有很多别的文件的读取方式,见得最多的就是一些声音或者图片的读取,就是CSV格式的或者img格式的,这些网上很多有教程,但是对于这种信号的我去搜了搜,没看见一个说的很详细的。所以我就去查了下文档,然后自己摸索的过程中发现了一种方法可以进行读取。

info = dir('C:\Users\\模拟数据\*.mat')
%读取这个文件夹里所有的文件%for ii = 1:length(info)%一共有多少个文件,就会进行循环多少次,保证每一个文件都会被读取到%name = info(ii).name;%因为读取之后的文件是一个struct结构体的变量,这样的话是不能进行操作的,所以我们要进行想办法将每一个文件的数据进行读取%file = fullfile('C:\Users\s\模拟数据\',name);%通过索引每一个文件的名字来进行读取,因为每一个文件的名字是不一样的,也可以通过别的进行索引,上边结构体的返回医用会有六种属性:    name 、 folder、 date、bytes、isdir、datenum%x = importdata(file);%这一步是最关键的一步,就是通过这个importdata函数进行读取每一个文件的数据内容,而且读取之后会保存为一个数组,不是struct类型的数组,而是一般的数组,这样的话就可以对这个变量进行小波函数的操作%...%在这里你就可以对你的信号可以做一些你想要做的操作,而且每一个操作都会是对每一个文件都会操作的%end

第三步就是对信号进行小波变换,这之前其实已经做过了,大体说一下注意的点,在对每一种进行操作的时候要注意保存得我情况。因为你想要的是没处理完一次数据就会进行一次的保存,所以在设定变量的时候就需要一点点小操作。

分解的时候还不需要进行操作,因为我们需要的是对每一层的小波系数进行取值,在取值的时候就需要进行保存,比如说

% 计算分解信号的能量值E(ii) = sum(x.^2);Ea1(ii) = sum(a1^2);Ea2(ii) = sum(a2.^2);Ea3(ii) = sum(a3.^2);Ea4(ii) = sum(a4.^2);
%在这里,E(ii)就是对每一个信号进行取值操作,而下边的就是对每一层系数进行取值,然后保存的时候会按照ii的不同保存到不同的变量中就可以进行每一个样本的保存了%

在处理完这个之后会形成一个一维的矩阵,这个矩阵里边的值的顺序就是对应这你这些操作的顺序。

接下来几步就可以针对你做完的特征提取进行操作了,比如说降维,就可以用到主成分分析的方法,存取数据就可以直接将变量里边的保存。

注:这里会提醒你一个问题就是变量预分配内存的问题,大体意思就是你如果不把这些变量进行预分配的话会占用很多的内存并且会导致计算速度变慢,因为你这些内存是在每一次的循环过程中都是进行变化的,所以要针对这个问题将变量预分配内存。具体的可以看下边这个链接:

预分配 - MATLAB & Simulink - MathWorks 中国

MATLAB 如何分配内存 - MATLAB & Simulink - MathWorks 中国

匝间短路故障学习历程(六) -- 批处理问题相关推荐

  1. 匝间短路故障学习历程(一)--数据集的问题

    一般情况下,数据集的来源一般有两种:一种就是通过公开的数据集来进行设计实验,另一种就是通过实操(真实的实验)来进行获取数据集.但是因为一些条件的原因,再加上公开的数据集不太容易找的问题,可能会有一些别 ...

  2. 匝间短路故障学习历程(二)--小波变换处理信号

    在上一次的介绍中已经将数据集的问题大体说了一下,然后做完的数据集一般会存放在Excel中.要是进行信号分析的话,其实只需要用到几个样本的数据集就行,因为你需要通过设定一种你自己的分辨标准来区分正常样本 ...

  3. 匝间短路故障学习历程(三) -- 信号加噪去噪

    因为通过仿真实验做出来的数据是模拟数据,所以不能和真实的数据进行比较,所以会用到针对模拟的信号进行添加噪声数据的方法来进行模拟实际场景中的信号. 在MATLAB中也存在直接添加噪声数据的函数,我之前在 ...

  4. 匝间短路故障学习历程(五) -- 特征提取问题

    先说一下总体的想法吧: (1)将信号进行输入 (2)对信号进行小波分解,然后得到每一层的小波分解系数 (3)对每一条子带进行提取特征 (4)选择其中能够代表的特征矢量 (5)对特征矢量进行添加标签,然 ...

  5. 匝间短路故障学习历程(四) -- 频谱分析

    正常样本和故障样本的区别标准其实有很多种,其中频谱分析是其中的一种方式,主要是分析每一种信号的频率幅值信息或者叫振幅.频谱图是指信号频率与能量的关系用频谱表示. 信号一般有四种特性:频谱.频谱密度.能 ...

  6. Java学习历程之----提升篇(六)

    科普 知识 前言 前面我们学习了Java语言的三大特性----继承,封装和多态,在前面的Java学习历程之----进阶篇(一)中我们学习到,在面向对象中,类和对象是最基本.最重要的组成单元.所有的对象 ...

  7. 【小白】【大学】一名嵌入式软件开发小白的单片机学习历程、心路历程、经验分享

    我的嵌入式学习之路 我为什么写这篇文章 先简单介绍一下我自己 与每一个技术小白共勉 这篇文章写给谁 我的学习经验分享 我的成长之路 我的单片机学习历程分享 51系列单片机学习历程 预备知识:(可以查百 ...

  8. MySQL必知必会学习历程(一)

    MySQL必知必会学习历程(一) 前言 第1章 了解SQL 1.1 关键术语介绍 1.2 数据表解释实例 第2章 MySQL简介 2.1 关键术语介绍 2.2 安装mysql命令行实用程序(可选) 2 ...

  9. 956分通过CCNA的网络技术学习历程!(转)

    956分通过CCNA的网络技术学习历程!(转)[@more@] 2001年春节后,我到一家计算机系统集成公司做销售,可能主要是有一些其他行业的销售经验和经历,尽管几乎不懂计算机,但总算混进了IT业,很 ...

最新文章

  1. 2018html游戏引擎,跨平台三维游戏引擎Unity Pro 2018.1 Win x64
  2. php mysql cpu100_MySQL服务器进程CPU占用100%的解决方法
  3. SAP PM 入门系列 - IL03显示Function Location主数据
  4. MongoDB应用场景
  5. 0.2 控制系统的状态空间表示法
  6. 加入微信洗稿投诉小组1个月后,有三说说为什么坚持只发原创
  7. JAXB –新手的观点,第2部分
  8. java堆和客栈_java中堆和栈的区别分析
  9. Spring学习总结(1)- IOC
  10. 转载浅谈MFC内存泄露检测及内存越界访问保护机制
  11. nodepad++快捷键收集
  12. Linux进程调度技术的前世今生
  13. php 7 环境安装
  14. 工程项目全过程,工程项目建设分为几个阶段?
  15. 年薪50万的程序员_如何才能撩到年薪50万的程序员?
  16. python的tkinter插入图片_如何用python tkinter插入显示图片?
  17. 【分享帖】国内主流网络信息采集和页面数据抓取工具盘点
  18. 人活着,到底为了啥?
  19. python魔方程序算法_《Python基础教程》第9章 魔方方法、属性和迭代器
  20. 【今日CV 计算机视觉论文速览 第122期】Fri, 31 May 2019

热门文章

  1. mac如何启用cpu虚拟化_如何在 Ubuntu 18.04 上安装 KVM
  2. android 系统自带分享文字+图片到微信朋友圈
  3. 洛谷 P2983 [USACO10FEB]购买巧克力Chocolate Buying
  4. (附源码)计算机毕业设计ssm大学生兼职平台
  5. 刷题记录:牛客NC15029吐泡泡
  6. 【STM32】HAL库-以太网外设-LAN8720A-LWIP-无操作系统
  7. 云计算网络极速入门-虚拟机网络
  8. Web课程设计——“念念手账”网页APP制作
  9. 智慧医院建设包含哪些方面?
  10. Google技术应用---在线地图的应用开开使用(提供源码)