您当前的位置:五五电子网电子知识通信技术综合通信技术基于SLPS的样本数据自动获取技术 正文
基于SLPS的样本数据自动获取技术

基于SLPS的样本数据自动获取技术

点击数:7656 次   录入时间:03-04 11:51:14   整理:http://www.55dianzi.com   综合通信技术

    故障样本数据的获取是模拟电路故障诊断中最基本的步骤。为了实现短时间内多次进行故障注入、获取大量样本数据,提出了基于SLPS的样本数据自动获取技术。利用SLPS将PSpICe与Matlab结合,采用Matlab编程,实现故障模拟电路仿真数据获取的自动化。实际应用表明该方法操作简便,自动化程度高。

    随着电子技术的迅速发展,电子设备的性能得到了很大的提高。模拟电路是电子设备中最易发生故障的薄弱环节,所以对其进行故障诊断具有重要意义。模拟电路故障诊断中最基本的是故障样本数据的获取。最常用的是利用Matlab和PSpice联合仿真提取故障样本数据。PSpi ce是一款电路仿真软件,可以得到精确的仿真结果;Matlab由主开发环境、工具箱、simulink仿真环境等内容组成,具有强大的数据处理功能。将PSpice和Matlab结合,利用各自优势完成模拟电路故障样本的获取,为故障特征提取做准备。

    PSpice软件运行的数据结果以.out或.txt文本形式输出,包括输入文件,元件模型参数等内容。吴昊用的方法是先用Str2num函数去掉.out文件中不相干内容,再通过textread函数读取所需内容。满高华先用任选项设置(options)来简化.out文件内容,再用feof等函数读取有价值数据。杨博文先将.txt文件中的第一行字段名删除并保存为.dat格式,再用importdat函数提取有用数据。

    上述方法都需要等PSpice仿真文件形成以后再进行数据操作,且后续操作的前提是电路文件不变。如若用故障字典法、神经网络或遗传算法等方法来进行模拟电路故障诊断,需要一次次的手动注入故障再进行仿真获取故障样本数据。尤其是利用遗传算法时需要成千上万次的样本提取,会消耗大量时间,所以故障注入及故障样本数据获取的自动化显得尤为重要。文中采用基于SLPS的模拟电路故障样本获取技术,实现了故障注入,样本提取的自动化。

    1 基于SLPS的模拟电路故障样本获取流程

    1.1 SLPS功能简介

    SLPS是Cadence Design SystEMS公司针对PSpice模拟仿真器与Mathworks公司的Matlab建模工具推出的接口软件。该接口可用于电路系统的仿真。SLPS主要是链接PSpice至Matlab中的simulink仿真器。对于完整的机电系统的电子仿真,用户可通过一个原型来实现一个系统设计。

    1.2 故障样本获取技术流程

    故障样本获取技术流程图如图1所示。

a.jpg

   
    1)在PSpiee中建立正常电路
    在PSpice内部绘制电路图,设置参数选项。并运行一次仿真,产生.cir文件。
    2)建立simulink子系统,加入SLPS模块
    在Matlab中新建model文档,打开slpslib,加入SLPS模块,链接其输入输出,运行产生.mdl文件。并产生相应的SLPS_*.cir、SLPS_ *.net文件。在Matlab的Command Window窗口中输入open_system(*)即可打开系统查看,并手动修改设置参数。simulink中simulation-confignration parameters选项可按电路设置slover、max step size,仿真时间等参数,确定仿真时间内的采样点数。数据结果输出的方式可在simulink下sink中选择,选择simout将仿真数据输出到worksPACe工作区浏览器进行处理。
    3)建立电路故障表
    按照电路元件编号有序列出所有可能存在的故障,建立电路故障表。
    4)运行程序自动读取故障表获取故障样本数据编写.m文件,运行程序自动读取故障表,调用子系统生成故障电路样本数据。



www.55dianzi.com


2 程序设计实现流程
    上述流程中1)~3),是自动获取技术实现前的准备工作,而4)是自动获取技术的关键步骤。具体的程序设计实现流程如图2所示

b.jpg

   
    1)读取故障表并进行故障注入  读取故障表,按照故障表逐个设置故障。研究发现.cir文件中又调用了.net文件,实验证明,直接修改.net文件内容即可修改元器件名称及参数形成故障电路。编写.m文件,用fopen语句打开.net文档并修改其元件参数,形成故障电路。
    2)在Matlab中调用系统并运行  用load_system命令重新载入修改参数后的系统,sim命令运行系统。
    3)输出故障样本数据  将输出的故障样本数据存储在一个矩阵中,每一列为一个故障样本,行数由周期内采样点数和采样时间决定。矩阵列数由故障表内故障个数决定,为故障样本个数。
    4)恢复正常电路  将故障表中的故障作为变量,调用子程序,将故障电路参数修改回正常电路参数。为下次的故障设置做好准备。

3 应用实例分析
    文中采用实例验证上述方法的可行性及样本数据的精准性。实例采取元件级仿真电路,图3电路为低通滤波电路。此电路是Intemation al Test Conference(ITC’97)中发布的一个模拟电路基准测试电路。
    在PSpICe中画好此电路图,并进行瞬态仿真。建立testmodel系统,加入SLPS模块,双击SLPS模块,打开SLPSsetting,将sine wave代替PSpice中原本的输入,选择simout方式输出到Matlab中。Testmodel系统如图4所示。

c.jpg

   



www.55dianzi.com


    设置输入VAMPL为1 V,FREQ为1 k的信号源.maxstep size为1 μs,仿真时间设为2 ms,即仿真两个周期。系统建立完成后根据电路图建立故障表。文中以硬故障为例,每个元件有短路、开路、正常3种状态,现考虑R1、R2、R3、C4 4个元件,一共是34=81种状态,其中80种故障,一种正常状态。在PSpICe中不得出现节点悬空,否则无法通过编译,所以故障建模时开路状态选用99 999kΩ的电阻表示,短路则用0.0 05 5μΩ的电阻表示。打开Matlab运行程序,每个状态能在worksPACe中得到2002x1的样本数据矩阵,即单个故障样本。故障表为81种状态,则最后得到2002x81的矩阵,即电路样本数据集。

d.jpg

   
    画图对比验证样本数据获取的准确性。举例设置故障电路:R1开路,R2开路,R3短路,C4正常,将此故障电路在PSpice中画出,同样设置最大步长为1μs,仿真时长为2 ms,并进行瞬态仿真得出图5。在matlab中运行系统,得到的样本数据用plot(tout,testvout)命令画出波形图如图6所示。由对比图可见,文中采用的方法可以获得正确的样本数据。且程序运行结果表明本文采用的方法获得的数据精准度高,且程序运行一次完成81种故障样本数据的采集。从修改电路到完成仿真,获取故障样本仅需不到30s的时间。

    4 结论
    经实例验证,文中采用的方法操作简便,收集到的样本数据精准,自动化程度高。此方法大大提高了模拟电路故障样本获取的速度,为建立故障字典及模拟电路故障诊断提供了极大的方便。




本文关键字:技术  样本  综合通信技术通信技术 - 综合通信技术

《基于SLPS的样本数据自动获取技术》相关文章>>>