一种水下传感器及定位系统的制作方法

文档序号:17924312发布日期:2019-06-15 00:18阅读:213来源:国知局
一种水下传感器及定位系统的制作方法

本公开属于水下网络通信领域,尤其涉及一种水下传感器及定位系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

人工智能随科技的发展已经渗入社会生态的各个领域,防控海洋生态污染、保护海洋环境、发展海洋经济是当前发展国家战略之一。智慧海洋成为现阶段维护海洋环境、监测海洋状态的重要发展方向。为了更好的监测海洋环境指标(如藻类分布等),基于海量异构数据的智慧海洋实时监控平台的设计与应用尤为重要。智慧海洋监控平台是以完善的海洋信息采集与传输体系为基础,以构建自主安全可控的海洋云环境为支撑,结合工业大数据和互联网大数据技术,实现海洋资源共享、海洋环境监测、海洋分析系统功能体系化,以达到智慧海洋的目的。

在整个智慧海洋监测平台中,水下通信网络是海洋数据采集与提取的重要组成部分,支撑着整个水下自组网络的构建以及通信信息的汇聚,而水下自定位技术是水下通讯网络技术之一。水下自定位技术可用于标识、监测数据源的位置、网络拓扑的管理、基于节点位置的路由协议等,是水下通讯网络进行监测和定位的基本,也是水下通信网络发展的研究重点之一。在水下设备自定位技术基础之上,衍生了很多定位方式,如声波定位、非同步信标定位、基线定位等,这些定位技术在进行设备距离定位与计算时都不同程度地应用了欧几里得度量算法(euclideanmetric)。欧几里得度量(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。欧几里得度量在水下设备自定位系统中应用范围广泛,是一个很好的技术计算应用。

发明人发现,在水下自定位过程中,水下传感及通讯设备易因水流涌动而频繁发生位置改变,因此,(1)一般水下定位系统会周期性循环发出定位信号,实时计算并更新传感设备的位置信息,以完成自组网络的动态构建和实时信息传递。在这个过程中,需要频繁应用欧式距离的计算。(2)由于节点众多,在进行相互间距离判定时往往需要节点同时计算其与多个其他节点的距离,而传统的串行执行方法无法保证计算的实时性,并行性不足。由此可见,在水下定位过程中欧式距离被频繁计算,且计算速度及实时性要求较高,所占功耗相对较大。而水下传感设备一般为低功耗嵌入式设备,长期置于海底深处,设备设计需降低能量消耗以延长其使用寿命。



技术实现要素:

本公开的一个方面,提供一种水下传感器,其利用reram的存算一体架构,能够减少cpu与内存之间的数据移动开销,大大降低水下定位设别的计算时延及工作能耗。

本公开的一种水下传感器的技术方案为:

一种水下传感器,包括reram和控制器,所述控制器与reram相连;所述reram包括内存模块和欧几里得度量模块;所述内存模块用于缓存输入数据;

所述欧几里得度量模块包括若干个并行度量模块,每个并行度量模块包括加法计算模块、开方计算模块和若干个并行计算模块;所述并行计算模块包括第一减法运算阵列和第一乘法运算阵列;所述并行计算模块用于并行计算欧几里得度量公式中的每个加数;所述加法计算模块用于完成对并行计算模块各单元运算结果的求和过程,并将结果作为开方计算模块的输入数据。

进一步地,所述第一减法运算阵列用于对输入数据的尾数部分进行减法运算来完成对阶过程,并将计算结果输入至乘法运算阵列;

所述第一乘法运算阵列用于完成输入数据的平方运算。

上述技术方案的优点在于,利用并行计算模块同时完成欧几里得度量公式中的每个加数的并行计算,加速了水下自定位过程的计算速度,降低了水下传感的工作能耗。

进一步地,所述开方计算模块包括第二乘法运算阵列、第二加法运算阵列、第二减法运算阵列及移位运算阵列;所述开方计算模块用于采用卡马克算法对开方运算进行计算。

上述技术方案的优点在于,这样能够将开方运算映射至reram中,更好地发挥其基于reramcrossbar结构属性的并行计算特点,不存在一般开方方法的循环过程,计算过程简易且符合reram结构运算特点,大大减少了开方运算操作的时间复杂度,提高了计算速度。

进一步地,所述水下传感器还包括:

数据缓冲模块,其用于暂存内存模块中的输入数据及欧几里得度量模块的中间结果。

进一步地,所述欧几里得度量模块与数据缓存模块之间还串接有互联电路。

进一步地,所述内存模块中缓存的输入数据均为浮点型数据。

上述技术方案的优点在于,这样能够得到更加精确的定位数据,提高水下定位的精度。

本公开的另一个方面,提供一种定位系统,其利用reram的存算一体架构,能够减少cpu与内存之间的数据移动开销,大大降低水下定位设别的计算时延及工作能耗。

本公开的一种定位系统的技术方案为:

一种定位系统,包括上述所述的水下传感器。

进一步地,所述定位系统包括至少两个水下传感器,任意两个水下传感器之间均可相互通信。

上述技术方案的优点在于,这样通过水下传感器之间的通信,能够实时准确地通过已知位置信息的水下传感器来计算未知位置的水下传感器的准确位置,提高水下定位的实时性及精度。

进一步地,任意两个水下传感器之间按照预先设定的路由协议进行通信。

进一步地,所述水下传感器还与监控终端相连。

本公开的有益效果是:

(1)本公开的水下传感器用reram存储数据的同时,利用reram强大的并行能力进行近数据计算(near-data-computing),实现内存计算架构;本公开的水下传感器基于reram的“存算一体化”结构,与现存的利用cpu、gpu的解决方案相比,拥有更少的数据移动开销,以及更高的乘加运算并行度等优势,可以加速设备计算速度,减少计算复杂度及计算延时,进而加快水下定位欧式距离的计算过程,实现水下定位实时性。

(2)本公开的水下传感器利用reram的特性,针对水下定位技术欧几里得度量过程采用“存算一体化”结构,减少了cpu与内存之间的数据移动开销,大大降低了水下定位设别的计算时延及工作能耗。

(3)本公开的水下传感器利用reram的多逻辑运算阵列结构实现了水下定位欧几里得度量,也就是欧式距离的并行计算,大大提高了水下设备定位技术的实时性,提升了整体性能。

(4)本公开将卡马克算法应用于复杂的开方运算操作,将其计算过程拆解为乘、加、减、移位等基本运算,采用相应的reram电路大大减少了开方运算操作的时间复杂度,提高了计算速度。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1是本公开实施例提供的一种水下传感器结构示意图。

图2是本公开实施例提供的ieee754浮点数正规化示意图。

图3是本公开实施例提供的浮点数尾数乘法运算流程图。

图4是本公开实施例提供的卡马克开方运算流程图。

图5(a)是本公开实施例提供的乘法运算阵列示意图。

图5(b)是本公开实施例提供的加法运算阵列示意图。

图5(c)是本公开实施例提供的减法运算阵列示意图。

图5(d)是本公开实施例提供的移位运算阵列示意图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本实施例以采用存储介质reram的“存算一体化”结构为基础,面向水下定位加速计算背景提出了一种水下传感器,其基于reram来优化水下定位欧氏距离,以良好的并行计算结构以及极低的数据移动消耗有效解决了传统欧式距离计算负载过大造成的实时性差及功耗较高的问题。

在水下自定位过程中,水下传感设备的位置会频繁发生改变,因此需要时刻更新传感设备的位置信息(如坐标位置等),在计算坐标位置(如uwa-sn[1])的过程中,需要点与点间相对距离作为基本参数。在自组网组建过程中,某一区域的动态网络的形成需根据设备到主节点的距离或设备到设备的距离进行子网的划分。因此,以上两种情况都表明了相对距离的快速计算以及设备低功耗状态工作的重要性。相对距离的计算采用欧几里得度量算法,以三维空间坐标为例,其计算过程如公式(1)所示。

本实施例根据其公式特点将计算过程进行拆解后,其计算过程需要大量加、减、乘及移位运算。因此,本实施例分别针对以上基本运算特点设计了reram中相应的计算单元,使其实现“存算一体化”结构,避免了数据在cpu与内存之间的数据移动消耗,大大减小了数据的移动开销,同时实现部分计算单元的并行化,加速了水下自定位过程的计算速度,降低了水下传感设备的工作能耗。

本实施例按照对欧几里得度量过程进行功能划分后,将水下传感器整体设计架构图如图1所示。本实施例的一种水下传感器,包括reram和控制器,所述控制器与reram相连。

本实施例将每一个reram划分为:内存模块和欧几里得度量模块。reram还包括数据缓冲区。内存模块用于缓存输入数据(如定点坐标信息等),该数据将作为欧几里得度量模块的输入。欧几里得度量模块为主要计算中心,实现欧几里得度量算法的并行计算,下文将会进行详细说明。数据缓冲区用于暂存内存功能模块中的输入数据及欧几里得度量模块的中间结果及其他缓冲数据。其他部分,如连接桥连接欧几里得度量模块及数据缓冲区。

其中,控制器用于发出指令协调随机选择模块整体工作进程等。对于数据计算规格的设定,为了得到更加精确的定位数据,计算中所用数据均为浮点型数据,以ieee754单精度浮点数进行正规化表示,如图2所示。

欧几里得度量模块中设计多个并行度量模块,可同时完成于多个邻近节点设备的欧几里得度量,如图1所示。其中,每个节点也就是一个水下传感器。

在每一个并行度量模块中,划分三个用于计算的模块:并行计算模块、加法计算模块和开方计算模块,分别如图1中①、②、③所示。并行计算模块中,根据公式(1)中根号下加数的个数,设计并行计算单元的个数。本实施例按照公式(1)以三个加数,即三个并行计算单元为例进行并行计算模块的设计实现,并行计算单元可同时完成公式中每个加数的并行计算。每个并行计算模块包括第一减法运算阵列和第一乘法运算阵列,如图1中模块①所示。所述并行计算模块用于并行计算欧几里得度量公式中的每个加数;所述加法计算模块用于完成对并行计算模块各单元运算结果的求和过程,并将结果作为开方计算模块的输入数据。

具体地,首先,对尾数部分进行减法后,完成对阶过程,将结果输入至乘法运算单元。随后,乘法单元完成输入值的平方运算,即浮点数乘法运算。在浮点数进行ieee754正规化后,将尾数部分(以二进制整数表示)提取出来设为man(a)和man(b)作为乘法单元输入参数。尾数部分即小数点之前实际保留一位二进制1,如11.01正规化后浮点数为1.101*21,尾数为101。因此,对尾数的乘法运算进行乘法分配律化简,化简后如公式(2)所示,其整体运算流程如图3所示。man(a)*man(b)部分由图3中模块①完成,man(a)+man(b)由图3中模块②所示,模块①和②中基本逻辑运算单元的举例说明见图5中(a)和(b)。加1部分由图3中模块③完成,最后根据t2进位位完成对原浮点数的对阶操作。加法计算模块完成对并行计算模块各单元运算结果的求和过程,并将结果作为开方计算单元的输入数据。

对于开方计算单元,其计算过程如图4所示。为了将开方运算映射至reram中,更好地发挥其基于reramcrossbar结构属性的并行计算特点,本实施例利用卡马克算法对开方运算进行计算,此算法包含乘、加、减及移位运算,且不存在一般开方方法的循环过程,计算过程简易且符合reram结构运算特点。

图4显示了卡马克算法的计算流程,number为被开方数。首先,将经过ieee754正规化的浮点数number以整数方式直接读取,并其整体向右移动一位后,记为i(整数型)。利用固定数0x5f375a86(整数型)减去i,所得结果以浮点数方式读取,并输入下一过程。与此同时,将原被开方数乘以0.5f即将被开方数的尾数不变,阶数部分减1,结果输入下一过程。将1.5f利用ieee754正规化后,减去x*y2,记为s,y*s后即为所得开方后结果。

通过对卡马克开方运算操作的分析发现,其中包含大量乘、加、减及移位运算。对于各种基本逻辑运算方式,图5(a)-图5(d)对各运算进行了举例说明。对于乘、加、减操作如图5中(a)、(b)、(c)所示;对于移位操作,以rsf(1100,1)为例,转换为矩阵乘运算如公式(3)所示,并将其映射至矩阵单元,原数(1100)以字线高位在上,低位在下进行导通,将单位矩阵进行相应调整后写入reram相应运算阵列中,对应位相与后即得结果,如图5(d)所示。

(1+max(a))(1+man(b))=man(a)max(b)+(man(a)+man(b))+1(2)

将各基本运算模块应用于图4,即可得到开方后的最终结果。

下面详细说明水下定位欧氏距离优化策略:

本实施例提出的水下传感器,采用的基于reram“存算一体化”的水下定位欧氏距离的优化策略有效提高了水下设备的计算并行性,减小了设备计算延时,降低了处理器计算负载及工作能耗,保证了水下定位技术的实时性及可靠性。

下面详细说明卡马克开方运算策略:

本实施例提出的水下传感器,其基于乘、加、减及移位基本计算单元的卡马克开方运算策略,使开方运算过程简单化,更好地发挥了reram内部计算结构的优势,其策略如下:

本实施例的水下传感器用reram存储数据的同时,利用reram强大的并行能力进行近数据计算(near-data-computing),实现内存计算架构;本公开的水下传感器基于reram的“存算一体化”结构,与现存的利用cpu、gpu的解决方案相比,拥有更少的数据移动开销,以及更高的乘加运算并行度等优势,可以加速设备计算速度,减少计算复杂度及计算延时,进而加快水下定位欧式距离的计算过程,实现水下定位实时性。

本实施例的水下传感器利用reram的特性,针对水下定位技术欧几里得度量过程采用“存算一体化”结构,减少了cpu与内存之间的数据移动开销,大大降低了水下定位设别的计算时延及工作能耗。

本实施例的水下传感器利用reram的多逻辑运算阵列结构实现了水下定位欧几里得度量,也就是欧式距离的并行计算,大大提高了水下设备定位技术的实时性,提升了整体性能。

本实施例将卡马克算法应用于复杂的开方运算操作,将其计算过程拆解为乘、加、减、移位等基本运算,采用相应的reram电路大大减少了开方运算操作的时间复杂度,提高了计算速度。

本实施例还提供了一种定位系统,其利用reram的存算一体架构,能够减少cpu与内存之间的数据移动开销,大大降低水下定位设别的计算时延及工作能耗。

本实施例的一种定位系统,包括如图1所示的水下传感器。

在具体实施中,所述定位系统包括至少两个水下传感器,任意两个水下传感器之间均可相互通信。

这样通过水下传感器之间的通信,能够实时准确地通过已知位置信息的水下传感器来计算未知位置的水下传感器的准确位置,提高水下定位的实时性及精度。

具体地,任意两个水下传感器之间按照预先设定的路由协议进行通信。

其中,路由协议可根据预先人为设定。

在另一实施例中,所述水下传感器还与监控终端相连。

其中,监控终端可为pc机或手机或其他终端设备。

本实施例的定位系统中包含水下传感器,水下传感器用reram存储数据的同时,利用reram强大的并行能力进行近数据计算(near-data-computing),实现内存计算架构;本公开的水下传感器基于reram的“存算一体化”结构,与现存的利用cpu、gpu的解决方案相比,拥有更少的数据移动开销,以及更高的乘加运算并行度等优势,可以加速设备计算速度,减少计算复杂度及计算延时,进而加快水下定位欧式距离的计算过程,实现水下定位实时性。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1