全光纤安防系统模式识别混合编程的实现.pdf
《全光纤安防系统模式识别混合编程的实现.pdf》由会员分享,可在线阅读,更多相关《全光纤安防系统模式识别混合编程的实现.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 41 卷第 1 期2011 年 1 月东 南 大 学 学 报(自 然 科 学 版)JOURNAL OF SOUTHEAST UNIVERSITY(Natural Science Edition)Vol 41No 1Jan 2011doi:10 3969/j issn 1001 0505 2011 01 009全光纤安防系统模式识别混合编程的实现赵杰1丁吉1万遂人1孙小菡2(1东南大学生物科学与医学工程学院,南京 210096)(2东南大学电子科学与工程学院,南京 210096)摘要:介绍了宽域全光纤监控预警系统及光纤扰动信号模式识别算法 利用小波包分解对信号进行分解与重构,并提取各频段内信
2、号分量能量谱作为特征向量;应用综合考虑观测数据和确定性先验知识的 BVC-RBF 神经网络实现信号分类,提高了网络的泛化能力 利用 Matlab 引擎、动态链接库(DLL)、组件对象模型(COM)3 种混合编程方法将 Matlab 开发的算法程序集成到 VC编写的用户操作平台中 使用文本文件存取网络数据,克服了 Matlab 无法编译神经网络工具箱函数的缺陷,并从操作复杂度、执行时间、内存消耗等方面对 3 种方式进行对比,最终选定动态链接库作为系统应用方案关键词:光纤扰动信号;模式识别;小波包分解;BVC-RBF 网络;混合编程中图分类号:TP277文献标志码:A文章编号:1001 0505(
3、2011)01-0041-06Implementation of pattern recognition in all fiber securitymonitoring system using mixed programmingZhao Jie1Ding Ji1Wan Suiren1Sun Xiaohan2(1School of Biological Science and Medical Engineering,Southeast University,Nanjing 210096,China)(2School of Electronic Science and Engineering,S
4、outheast University,Nanjing 210096,China)Abstract:An all fiber security monitoring system and pattern recognition algorithm on fiber disturb-ance signal is presented As a method of analyzing and reconstructing signal wavelet packet is adopt-ed to extract feature vector Classification is realized by
5、BVC-RBF(boundary value constraints-radial basis function)neural network,which improves generalization by considering deterministicprior knowledge besides observational data Pattern recognition algorithm is developed with Matlaband integrated into the application developed with VC through three mixed
6、 programming methods:Matlab engine,dynamic link library(DLL),component objective model(COM)Network dataare read and written through text file to overcome the limitation that Matlab can not compile functionsin neural network toolbox Operation complexity,running time and memory consumption of thesemet
7、hods are compared and dynamic link library is the final choiceKey words:fiber disturbance signal;pattern recognition;wavelet packet;neural network;mixed programming收稿日期:2010-07-14作者简介:赵杰(1986),男,硕士生;万遂人(联系人),男,博士,教授,博士生导师,suirenwan hotmail com引文格式:赵杰,丁吉,万遂人,等 全光纤安防系统模式识别混合编程的实现J 东南大学学报:自然科学版,2010,41
8、(1):004146 doi:10 3969/j issn 1001 05052011 01009随着科技与社会的发展,国家与地区之间的竞争日益激烈,各种恐怖破坏活动也日渐增多,军事、工业及基础设施对安防系统的需求持续增加,要求越来越高1 市场上现有的安防警戒系统大都是用于小范围监测的有源系统,不适于长距离大范围、易燃易爆等场合宽域全光纤监控预警系统是基于世界上新兴的分布式干涉型全光纤扰动定位与传感技术研发的长距离智能监控系统 全光纤传感技术是将传感光纤沿着一定的路径分布,利用光纤在外界压力、机械振动下的内应力变化所带来的信号扰动感知外界对网络的侵扰并实现定位和模式识别 其优势在于能够同时获取
9、被测量的空间分布和时间变化,具有现场无源、抗腐蚀与电磁干扰、极高的报警灵敏度、监测范围大(无中继达 50 km)等特点2 4 应用领域集中在长距离通信干线、输油管线、大区域周界防护以及强电磁环境中针对光纤传感及扰动信号在安防系统的应用,欧美发达国家研究较早,已开发出一些成熟产品,如美国 Optellios 公司的 FiberPatrol,Opterna 公司的 FiberSentinal 等;国内研究现多处于实验室阶段,模式识别算法多借鉴语音识别,如尹崇博利用动态时间规整(DTW)和隐马尔科夫模型(HMM)提取信号特征5 通过分析系统信号后,认为光纤扰动信号与语音信号有较大差别,不宜直接使用语
10、音识别算法,所以本文借助小波变换时频分析的特性,对光纤扰动信号进行特征提取,然后利用BVC-RBF 神经网络对样品集进行训练和识别,从而开发出适合系统的模式识别算法Matlab 强大的数值计算、数据处理、系统分析以及符号运算等功能构成了完整的研究平台,因此可以用符合科学思维的方式和数学表达习惯的语言形式来书写程序;VC 是一种可视化编程语言,能方便地实现软件开发,开发的系统界面友好、执行速度快、保密性强、易维护和升级6 但是,VC在数值计算与矩阵运算等方面远不如 Matlab,直接用 VC 实现模式识别算法非常困难,故选择 Matlab与 VC 混合编程的方法,快捷地实现算法集成 本文首先利用
11、 Matlab R2008 开发模式识别算法,再利用 VC+6.0 开发友好的用户操作界面,然后通过混合编程技术将 Matlab 程序集成到 VC 平台中,快速实现产业化1全光纤监控预警系统的模式识别算法框架全光纤监控预警系统的模式识别算法框图如图 1 所示 在该系统中,光纤传感器采集到的扰动信号输入后首先进行谱相减去噪和端点检测 小波变换是一种信号分解和重建的方法,能够提供局部时频特性,属于多分辨率的时频分析方法 而小波包分解克服了小波变换只分解信号低频部分、高频分辨率低的缺点,同时对信号的高低频进行分解,其本质是用一组高通和低通滤波器对信号滤波 对图 1模式识别算法框架信号逐步分解后,高低
12、频部分就可以被分解到合适的范围 小波包分解的方法被广泛应用在各种场合的特征提取中,例如 Zhu 等7 利用小波包诊断空调机的故障 本文利用小波包分解提取 32 维特征向量,主要包括以下步骤:对信号进行 5 层小波包分解,得到 32 个子频带的小波包系数 T0,T1,T2,T3,T30,T31 对小波包系数进行重构,提取各频带内的信号分量 S0,S1,S2,S3,S30,S31 计算每个频带内的能量谱,构成特征向量 E0,E1,E2,E3,E30,E31,其中 Ei=xj2其中,xj为输入信号数据点系统要求将信号分为两大类:有害信号和无害信号 有害信号主要包括人或器械对光纤的侵扰;无害信号主要是
13、风雨雷电和小动物等自然非侵害扰动 在分布式光纤传感器的很多应用中,都利用神经网络来解决分类问题 Lyons 等8提出多层神经网络,使得分布式光纤传感信号能够被正确地区分 RBF 神经网络和 BP 神经网络是目前使用最广泛的神经网络算法 RBF 神经网络在学习速度、精度、泛化能力以及逼近能力等方面均具有很大优势,如文献 9 表明在风能预测应用中 RBF 网络的训练速度和预测精度均优于 BP网络 Xia 等10 针对大多数传统 RBF 神经网络只利用观测数据的局限,提出了综合考虑先验知识和观测数据的算法,即 BVC-RBF 神经网络,在不增加算法复杂度的同时改善网络泛化性能 本文借鉴该算法构建网络
14、模型,其结构如图 2 所示 图中,x(t)为输入;y(t)=Mk=1pk(x(t)k+g(x(t)为输出,pk(x(t)=h(x(t)expx(t)ck21()2为RBF 函数,h(x(t)=LLj=1x(t)xj槡 为样本x(t)与边界值 xj的几何平均10 Matlab R2008 版本解决了较低版本无法编译使用了对象的 M 文件的缺陷,从而可以在混编时直接调用小波工具箱函数 由于目前 Matlab 仍无法对神经网络工具箱中的数据网络结构(net)进行编译,因此改进了工具箱函数,放弃了 net 结构,将网络数据 w1,w2,b1 等存放在文本文件中,在需要时再用 VC 从文本中读取图3 为
15、2 类原始光纤扰动信号(攀爬与侵害围栏)经过谱相减去噪、端点检测和小波包分解提取的特征向量,由此可以看出谱相减去噪和端点检测24东南大学学报(自然科学版)第 41 卷图 2BVC-RBF 神经网络结构图 3攀爬和侵害围栏信号逐步得到特征向量有效地去除了噪声,尽量保留了有用信号,得到的特征向量有较明显的区别,有利于后期分类识别23 种混合编程方式实现模式识别2.1Matlab 引擎Matlab 引擎的实质是把 Matlab 作为一个计算引擎服务器,允许从用户的 VC 程序调用这个引擎11 在运行时,引擎作为一个进程单独运行,VC程序也作为一个进程单独运行,二者通过进程间的通信机制进行交互12 由
16、于引擎应用程序将 Matlab 作为计算引擎服务器,可直接使用小波神经网络工具箱函数,故无需改写神经网络函数,省略了读写文本文件的麻烦 当在 VC 环境下调用 Matlab 引擎时,编译接口34第 1 期赵杰,等:全光纤安防系统模式识别混合编程的实现环境的配置较为简单,主要有以下 2 个步骤11:添加 Matlab 引擎库的头文件和库函数的路径;完成 Matlab 引擎对应的静态链接库的导入工作配置好 VC 环境后,仅需进行如下操作即可:Engine*ep=engOpen(0);/打开引擎mxArray*Mydata=mxCreateDoubleMatrix(1,20 480,mxREAL);
17、/数据转换与输入memcpy(void*)mxGetPr(Mydata),(void*)data,sizeof(data);engPutVariable(ep,Mydata,Mydata);/运行模式识别函数engEvalString(ep,a=grnn_engine(Mydata););Myout=engGetVariable(ep,a);engClose(ep);/关闭引擎2.2组件对象模型组件对象模型(COM)的对象建立在二进制可执行代码的基础上,具有语言、平台无关的特性,可以方便软件升级、订制与替换,是理想的软件应用方案 Mathworks 公司在 Matlab 6.5 之后推出了将M
18、 文件编译成 COM 组件的工具,可以方便地制作需要的 COM 组件,以供其他支持 COM 的编程语言使用13 Matlab 的命令行中输入 deploytool,启动图形用户界面,点击“新建”创建工程 project prj,选择Generic COM Component 类型,添加 M 函数,点击“编译”按钮即可编译生成 COM 组件 编译完成后会生成 project_idl_i c,project_idl h,project_1_0dll 等文件在 VC 应用程序中配置环境请参见文献 6 将上述文件添加到 VC 工程中后,需初始化 COM组件、创建 COM 组件实例、数据交换、调用 CO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 光纤 系统 模式识别 混合 编程 实现
限制150内