system: [SYSTEM]

user: 1. 引言 球磨机负荷可靠检测是选矿过程节能降耗和高效稳定运行的必要条件。磨机负荷的检测通常采用磨机运行时外部响应信号振动及振声间接获得。目前磨机负荷参数检测系统实现方式包括嵌入式仪表或者软件工具包 2 [ 1 ] 。目前这些开发方式在矿石来料不稳定、多变情况下由于模式固定、适应性较差。为了有效解决球磨机负荷监测问题，目前国际研究热点是通过具有较高灵敏度和较强抗干扰性筒壁振动信号来监测球磨机运行。充分提取和利用这种非线性非平稳信号蕴含的大量丰富有价值信息，通过特征选择和优化技术提取振动和振声信号集合经验模态分解(EEMD) [ 2 ] 本征模态函数IMFs特征，构建基于IMFs特征空间的集成模型，并在过程漂移时自适应更新集成模型结构和参数，适应时变非线性磨矿过程复杂工况变化，是保证球磨机负荷集成模型泛化性、可信度和适应性的有效手段。因此，需要开发具有模块化结构和实验功能的球磨机信号分析和磨机负荷监测软件系统。 由于球磨机外部响应信号振动、振声变量时域特征难以提取，频域信息具有较大的冗余成分，国内外提出了基于频谱特征选择的磨机负荷检测方法，并对此进行了大量的研究。目前针对振动、振声信号的处理效果比较好的是多传感器信息融合的磨机负荷集成建模 [ 3 ] 。近年来，混合编程技术运用越来越成熟，可以集合两个或者多个软件的优点进行混合编程，大大提高软件的开发效率。MATLAB作为一种高级语言，具有极高的编程效率，但它也存在界面开发能力弱 [ 3 ] 、执行速度慢、算法和数据不利于保密以及依赖MATLAB编译环境不能独立运行等一些局限性。C#.NET开发的系统界面友好、执行速度快、易维护、可升级等特点，能有脱离编译环境而运行，而且算法和数据保密性强，但是在工程计算方面与MATLAB相比就相形见绌了 [ 4 ] 。因此实现MATLAB与C#的混合编程，结合两者的优点，必将提高软件的开发效率以及软件的性能，也可以工作人员带来很大的方便。 针对球磨机负荷难以直接测量问题，利用MATLAB与C#混合编程开发了一套球磨机信号分析和关键参数预报系统。利用Matlab的Deploytool工具将信号EEMD分解、IMF频谱变换、iPLS特征选择、关键参数模型训练和预测一系列m函数编译为C#.NET dll程序集，供C#.net调用，并由C#.NET完成前端界面开发和端口操作任务。该系统充分利用混合编程优势互补，提高了编程效率。 2. 球磨机信号分析和关键参数预报建模策略 针对磨机筒体振动和振声信号组成复杂、信息存在冗余性和互补性、现有球磨机负荷测量模型大多假设振动信号具有线性平稳性，同时传统单模型结构的稳定性和泛化性有限，本文提出基于集合经验模态分解(Ensemble Empirical Mode Decomposition， EEMD)和区间偏最小二乘(Interval Partial Least Squares， iPLS)本征模态频谱特征提取的球磨机负荷参数集成建模方法。筒体振动和振声信号采用非线性、非平稳EEMD自适应分解技术获取反映球磨机负荷参数变化的本征模态函数(IMFs)，利用区间偏最小二乘iPLS 方法去掉本征模态函数频谱中不相关和冗余成分，提取本征模态函数频谱特征，融合时域电流信号，建立磨机负荷参数随机向量泛函连接网络RVFL(Random Vector Functional Link)集成模型，通过对多个RVFL成员模型输出加权平均获得磨矿浓度、填充率和料球比三个球磨机负荷参数估计值。 2.1. 信号分解模块 集合经验模态分解是在经验模态分解(EMD)的基础上发展起来的一种信号处理方式，它是EMD方法的改进。它能够自适应的将信号分解为不同时间尺度的IMF集合，每个IMF中只包含一种振荡形式，代表了信号的本征波动模式，这些波动模式的产生与球磨机的负荷密切相关。 基于EEMD的球磨机振动信号分解步骤如下： 首先在振动信号 中加入振幅为 的白噪声得到： (1) 寻找筒体振动信号 的极大值点和极小值点； 采用样条插值法拟合 的上下包络线，计算上下包络线的均值曲线 ，得到振动信号 与均值曲线的差值 (2) 以 为原始信号，重复步骤(2)和(3)得到 (3) 反复进行k次，直到得到第一个IMF分量 ，定义第一个振动信号IMF分量为 。 (4) 原始振动信号 减去第一阶IMF分量得到剩余部分 ，令 ，重复步骤(2)，(3)和(4)，得到第二阶IMF分量 。 重复步骤(2)~(4)n次可得到多个IMF分量，当 小于给定的某个值或成为一个单调函数的时候则整个过程停止。得到第一次筛分结果 (5) 随机产生新的白噪声 ，返回步骤(1)； 将上述步骤(1)~(7)重复N次，得各阶IMF集合 (6) 相应阶的IMF平均值作为振动信号该阶的IMF结果： (7) 则原振动信号 可表示为IMF与振动信号分解残差的形式： (8) 按照上述分解步骤，最终球磨机的振动信号 会被分解为一组时间尺度不同的本征模态函数 。 振声信号 的EEMD分解方法与振动信号基本相同，最终可以得到振声信号的本征模态函数 ，振声信号可以表示为： (9) 其中 为振声信号分解的残差。 2.2. 特征选择模块 振动和振声信号EEMD分解得到的本征模态函数时域波形特征并不明显，本文通过Welch法变换为频域功率谱后能够清晰的显示出IMF频域特征，但是一系列IMF频谱空间高维特性，导致后续的磨机负荷模型复杂度增加，泛化性降低。为此，本文采用偏最小二乘法(iPLS) [ 5 ] 对信号的频谱进行特征选择，以降低输入空间维数。基于iPLS的振动信号IMF频谱特征选的步骤如下： 1) 将全频谱 分为 个等宽的子区间， ； 2) 采用非线性迭代偏最小二乘算法(NIPALS)在每个子区间 分别建立磨机负荷参数 局部偏最小二乘回归模型 。PLS算法表示为 (10) 其中矩阵 ， 分别表示IMF频谱区间和输出磨机负荷参数的负荷向量。 是权值矩阵， 为内部模型对角系数矩阵， 。第i个磨机负荷参数，在IMF的第 个特征频段iPLS模型输出 为 (11) 3) 分析各IMF频谱子区间模型，采用交叉校验均方根误差(RMSECV)，比较各子区间局部模型精度。均方根误差(RMSE)和相关系数(r)作为模型性能的测度。RMSE定义如下： (12) 其中 为磨机负荷参数实验室测量值，N为样本个数。RMSECV为交叉校验的均方根误差。取精度最高的局部模型所在区间为入选频段。相关系数r定义如下： (13) 其中N为样品数目， 为交互验证预测值的均值； 为实际测量值的均值。通过上述方法对振声IMF频谱进行特征选择，找到各IMF中与磨机负荷密切相关且富含信息量最多的特征子频段。 2.3 基于IMF频谱特征的集成建模方法 鉴于模型简单、训练速度快、泛化性能好特点，采用随机向量功能连接网络 [ 6 ] 建立振动、振声IMF特征频谱和磨机负荷参数之间的非线性模型。设 为振动和振声IMF特征选择结果，作为非线性模型的输入变量 ，以磨机负荷参数作为模型的输出变量 ，隐含层节点为Hn，激励函数为g(x)的单隐层前馈神经网络(Single-hidden Layer Feed-forword Neural Network，SLFN)统一模型为 (14) 其中 是连接第 个隐含层节点的输入权值， 是第 个隐含层节点的偏差， 是隐含层节点的输出权值， 表示 和 的内积。激励函数 可以为Sine，Sigmoid等。式(14)可以简化为 (15) 其中 (16) ， 17) 如果隐含层节点足够多，SLFN就能在输入权值随机产生时逼近任何连续的函数。设输入为 ，激励函数为 ，隐含层节点数为Hn，则RVFL模型建模步骤如下： 1) 随机产生子模型输入权值 和阀值 ； 2) 计算子模型隐含层输出矩阵 ； 3) 计算子模型的输出权值 ， ，其中 为输出矩阵 的Moore-Penrose的广义逆矩阵。 集成模型的预报值为各子模型的加权和，表示为 (18) 其中， 表示集成模型对第 个磨机负荷参数的预报值， 为成员模型个数， 表示第 个子模型的权值， 表示第 个子模型对第 个负荷参数的预报结果。权值 的大小表示子模型在整个集成模型的贡献多少，本文中取 即所有成员模型的贡献率全部相同。