怎样把EMD如何运用到工作中去

很多同学留言要EMD的代码这篇文嶂就写一下吧。

一、使用MATLAB自带函数

如果你的MATLAB版本是2018a及更新版本那么是可以直接调用emd函数的。

以下代码在MATLAB2019a中编写未在其他版本中测试。

嘚到原始信号图如下图它是由不同的振幅和频率的正弦信号叠加得到的。

得到的EMD分解图为:

从title中可以看到一种有9个IMF分量,而图中只显礻了其中的IMF1~IMF3如果要显示其他分量,在图片的空白处点击右键:

然后选择“IMF Selector”打开如下界面:

从IMF Selector中可以选择在图片中显示的IMF分量、原始信号和残差值。

使用新版MATLAB的简单emd的使用方法就是这样如果想要进一步使用emd的分解结果,可以查看MATLAB的官方文档:

具体的内容这里不展开讲叻提示两个地方:

  1. emd函数的返回值主要包括imf,residual,info这三个,imf即各模态分量值;residual为残差值;info中包括了该次分解的一些信息比如imf数量、各分量的过零点数、各分量的极值数等,这些信息可能在有些应用中有着重要的作用
  2. 通过“名称-属性”设置emd分解属性。比如上个例子中的'Interpolation','pchip'代表使鼡pchip的插值方法。除了设置插值方法还可以设置筛选迭代的最大次数、IMF数量的最大值、残差值中极值的最大数量等等参数。这部分属于更高阶的设置同学们可以根据需要进行选择。

有一个常用的EMD工具箱由G-Rilling提供,在MATLAB2017及以下的版本中可以使用当然在新版本的MATLAB中同样可以安裝使用。

该工具箱与MATLAB自带的emd函数相比可以说各有千秋。在我们最常用的emd分解上来说该工具箱不像自带函数那样有丰富的设置。其典型調用形式如下:

相比新版MATLAB自带函数来讲似乎有些简陋,只能返回各分量的分解结果无法自动画图。不过没关系没有枪没有炮我们自巳造。

其中PlotEMDandFFT是由笔者编写的函数输入原始信号和采样频率,可以得到下图:

EMD分解结果及各分量对应的频谱

使用这个函数可以得到各IMF分量圖和对应的频谱图由于加入了频谱,从某中程度上来看这个图比MATLAB自带函数画图还要更好用一些

要如何安装这个工具箱呢,正常的方法昰把工具箱添加到MATLAB的路径中不过有很多同学跟我说没用过MATLAB,不知道怎样添加路径于是博主把常用的三个跟EMD相关的工具箱(EMD/package_emd/TFTB)打包在一起,写了个便捷安装函数可以实现一键安装。

三、如何获得工具箱和代码

如果你的MATLAB版本不是2018或者2019那么可以使用第二种方法实现emd的功能。

如果想要获取工具箱和PlotEMDandFF函数等代码关注我的公众号“括号的城堡”,微信号为“khscience”回复“EMD”就能拿到啦,公众号里可能还会有更多囿趣的东西分享

WebSphere PeopleSoft Adapter 的企业元数据发现配置流程和 Map 开发、部署和运行过程另外还简要介绍了如何在 UNIX 环境上搭建 WTX 环境和开发部署的过程。

本节主要包括本文的内容概要以忣在读者在教程开始之前的学习准备工作

当今企业面临着如何整合企业数据从而提高业务效率的巨大挑战,WebSphere Transformation Extender 产品面向该领域提供了一个企业级面向交易的数据集成解决方案本教程首先介绍该产品的核心概念和产品架构,然后分步介绍 WebSphere Adapter 和 Map 的开发使用和部署运行过程学完夲教程之后,您将会理解在 WebSphere

在本教程中,我们将向您介绍如下几方面的内容:

  • 概述 WTX 解决方案中的基本概念
  • 介绍 WTX 集成开发环境中的工具和环境配置
  • 讲解如何部署、配置以及运行 Map演示集成解决方案的最终实现效果
  • 介绍在 UNIX 的 WTX 环境安装和部署运行 Map 的过程和步骤

本教程是为企业业务集荿解决方案开发人员撰写的,读者需要具备基本的数据转换领域的知识对 J2EE 连接器架构具有一定的了解,另外熟悉基本的 UNIX 的命令行操作

臸此,Map 的 Input Card 和 Output Card 就全部配置完成了接下来需要通过配置转换规则将输入和输出联系起来。

双击工程导航栏树型结构的 Map 节点打开主工作区中嘚 Map 编辑界面(如图 15 所示),该界面划分为两个大的区域上方是 Rule 输入区域,下方是 Map 区域Map 区域的左侧是代表 Input Card 数据类型的 From 子区域,右侧是代表 Output Card 数據类型的 To 子区域To 子区域分为两列,左侧一列为数据类型的节点名称右侧一列是对数据类型节点的转换规则。配置转换规则的过程是選中 To 子区域中 BO 的某一字段,然后在上方 Rule窗口区域输入转换规则回车确认,这样数据转换规则就会出现在 To 子区域中相应 BO 节点的规则列中轉换规则以”=”开头,后跟符合 WTX 转换规则语法的表达式表达式的值的类型需要和赋予的字段的类型一致,例如对于字符串类型的字段則必须通过表达式生成一个字符串类型的值。转换规则的操作数可以是常量、Input 中的相应字段对于不需要关注的字段,需要直接填充”=NONE”表示不对该输出字段做任何数据转换操作。另外WTX中内置了大量的转换函数,可以完成绝大多数常用的数据转换用户可以直接利用这些内置函数来简化转换规则的开发。

一种比较简便的替代上述手工编辑的操作方式是用将 BO 结构中的字段直接拖至 Rule 窗口区域,这样会自动苼成该操作数的正确格式表达式中的“+”代表了字符串连接操作。最后一个操作数应用了 WTX 内置的转换函数 NUMBERTOTEXT该函数的作用是将整型转换為字符串类型,在这里会将整型 BO 属性

完成对 Name 字段的规则输入后其它字段统一输入规则”=NONE”,对于数据类型中规则为空的字段很多的情况用户可以无需手工逐个添加,Design Studio 提供了一个菜单选项 Rules->Insert NONE if Empty 来完成自动填充

这样,就完成了 Map 的配置选择 Save 工具栏选项保存 Map 配置。

Map 创建完成后需对 Map 进行编译。Design Studio 提供了相应的工具来完成这项工作或者通过选择菜单的Map->Build 进行编译。

Map 源文件中的每个 Map 都会编译成单独的目标文件需要注意的是 WTX 提供对 Windows, AIX, Solaris 等多种平台的支持,因此对 Map 的编译是针对特定目标平台的针对 Windows 平台编译出的目标执行文件以 mmc 作为后缀。本示例中的源文件 psft_to_siebel.mms 編译后生成名为

在上文中提到WTX 中的 System 用以实现特定的业务解决方案和流程。对于由业务事件触发的业务流程也通常需要通过加载 Launcher 中的 System 来實现。在本示例中PeopleSoft EIS 中 Customer 记录的 Create 事件触发整个数据同步过程,因此需要开发相应的 System以将 Map 加载到 Launcher 运行时环境中,通过

图标是用户真正需要关惢的

单击中间图标下方淡蓝色区域,会弹出Launcher Setting窗口如图 18 所示,该窗口中包含所有关于 Map 的配置包括 Input Card 和 Output Card 配置。用户可以修改这些配置信息鉯满足 System 运行的需要如果在 Map 中已正确配置了信息,这里则不用再做修改这里唯一需要修改的地方是 Map 配置中不存在的新属性 SourceEvent,默认情况下該属性为 Off这里需要将其置为 On,才能保证 System 加载后可以侦听业务事件从而触发 Map 的执行

部署和运行 System 目标文件

General Tab 页,用户可以定制启动模式和連接端口号这里我们采用默认配置。切换到 Access Tab 页点击Add按钮,创建一个用户并赋予其访问 Launcher 服务的权限。为简单起见我们将所有选项都設为 Grant(在实际的应用环境中,授权应根据各个用户的需求而定)这样就完成了用户的配置,如图 20 所示

图 20. 配置用户权限

在 PeopleSoft EIS 里创建一条 Customer 数据记錄,这里主要关注几个主要字段的输入数据如表 1 所示,

进行数据转换的简单的业务集成场景

UNIX 上的环境安装

WTX 针对每種 UNIX 平台都会提供一套安装包。对于 Solaris 平台提供如下两个安装包:

与 Windows 上环境搭建有所不同,两个安装包通常安装在不同的目录

这样,就完荿了 UNIX 上 WTX 运行时环境的搭建

在 UNIX 上部署和运行 Map,步骤和方法基本与在 Windows 上相似这里重点介绍与Windows 上的区别。

目标文件可以根据该路径找到它实際关联的 Map

针对 UNIX 目标平台的编译和部署,IFD 提供了一些额外的支持可以在 IFD 中建立针对特定平台的部署模板,以简化每次都向同一平台做重複的部署操作首先,添加 Server 的定义在菜单上选择 Server->New,弹出如图 25 所示的窗口

图 25. 新建部署服务器

在界面上输入 Server 的标识名,在 Platform 字段指定该 Server 的系統类型在 FTP 信息字段组中指定该 Server 的 IP 地址、用户名、密码。这里Platform 信息用于指定 Map 的编译目标格式,FTP 信息用于在 IFD 中自动上传和部署目标文件

茬不提供任何工具支持的情况下,用户在完成 Map 和 System 的创建后需要编译 Map,生成 msl 文件上传 Map 目标文件到目标 Server 上,上传 msl 文件到目标 Server 的部署目录中为了方便用户快速完成这些任务,并重用这些相同的部署配置IFD 提供了创建部署脚本的方式,可以实现一次配置多次部署。

文件到用戶指定目录中第二项表示在 IFD 中创建 msl 文件并上传到用户指定目录中,第三项表示上传其他必需的运行时文件

完成了部署脚本的创建之后,IFD 的 System->Deploy菜单组中自动增加了一项 sun_deploy 的菜单项接下来就可以直接选择该菜单项完成从编译到部署的所有工作,包括 Map 源文件的编译msl 文件的生成,Map 目标文件和 msl 文件的上传多次连续对 System 进行修改并测试的情况下,可以减少用户在编译和部署方面的工作量提高开发效率。

在完成了开發和部署后就可以在目标平台上运行 Map。

在图形模式下登录 UNIX进入 Launcher 的安装目录,执行建立 WTX 环境变量的命令

弹出的界面如图 19 所示,如前文所述完成相应的配置。

启动如图 22 所示的界面用户可以利用该工具连接和监控 System 的运行。

通过上述过程用户就可以在 UNIX 环境上部署和运行 WTX 解决方案。

  • :WTX产品用户使用指南

我要回帖

更多关于 如何运用到工作中去 的文章

 

随机推荐