新闻中心

EEPW首页 > 测试测量 > 设计应用 > 降低实现科学计算算法的风险

降低实现科学计算算法的风险

作者:时间:2017-02-06来源:网络收藏
为了优化钻井流程并降低作业成本,Baker Hughes的动力学与遥测(Dynamics & Telemetry)小组开发了一个序列预测算法,用于在钻井作业期间快速可靠的解码井下数据。这个已集成到公司地面系统的高级解码算法为随钻测量(measurement while drilling,MWD)方法提供了支持。使用MWD时,可以收集宝贵的方位数据和地层数据,以用来优化钻井流程。该系统支持更准确地定位井眼,这可以使钻井作业更具成本效益,并使操作员可以较少的非生产时间(NPT)钻更复杂的井。
工程团队使用一种桌面科学计算软件设计序列预测算法,将其自动转换为C代码,然后部署到属于地面系统一部分的一台实时PC上。在科学计算软件中开发和调试该算法后,工程师通过自动生成所需的C代码来加速实现过程。
此工作流程不再需要用两种语言维护和测试同一个算法,因此缩短了开发流程。更重要的是,此工作流程降低了用手工编写C代码的一种主要风险,即原始科学计算算法和最终设计中实现的C代码之间的差异。使用此工作流程的一大优势是小组在修复缺陷上所花的时间减少了。质量和开发速度的提升使小组坚定了在未来的项目中重用算法和开发流程的打算。
使用马尔可夫链(Markov Chains)进行序列预测
序列预测的一个常见应用是使用以前的数据来预估未来的数据点。序列预测算法在许多行业和许多情形中都会用到,例如基于测量数据的温度曲线外推,或者在与最大似然序列估算器进行数字通信时,从噪声信号中提取有用的信息。序列预测需要一个模型来预测未来数据,如马尔可夫链。使用马尔可夫链建模的系统占用有限的状态数,从而使未来的数据点仅取决于目前的状态而不是以前的状态。


图1.使用马尔可夫链建模的序列预报器

在图1中,使用马尔可夫链建模的序列预报器具有4个状态。从一个状态转换到另一个状态的可能性用小数表示。例如,从状态1转换为状态2的概率为0.95,而保持在状态1的概率为0.05。在转换时,可能会有一个或多个路径。图1中显示的序列预报器可作为有限的状态机来实现,它的最形象的表达就是格状图。


图2.格状图示例

图2显示的是一个可能的(预测的)状态序列。虚线箭头表示可能的转换,实线箭头表示实际预测的转换。此图显示可能的序列为[1 2 3 4 4 3 3 1]。请注意,仅显示部分可能的转换来进行说明。与著名的Viterbi算法类似,序列预报器通过基于外部质量标准计算路径度量来拒绝不大可能的序列路径。如果两个或多个路径在一个状态中相交,则累积并比较它们的路径度量值,将最佳路径选为幸存路径。
工程团队在技术计算软件中为序列预测实现马尔可夫链,以提高其地面解码软件的可靠性。

上一页 1 2 下一页

评论


技术专区

关闭