船舶自动识别信息发射时隙查找方法

文档序号:7893309阅读:240来源:国知局
专利名称:船舶自动识别信息发射时隙查找方法
技术领域
本发明涉及船舶电子技木,尤其涉及ー种在船舶自动识别系统信息处理及应用中的发射时隙查找方法。
背景技术
船舶自动识别系统(简称AIS)是保证船舶海上安全航行的自动信息通信系统,要求系统装置应能在航行中或锚定状态下连续以自控方式将船只动态及其他信息自动发送给其它船舶的相应设备,并接收其它船舶特定的轮询呼叫及进行处理;同时系统装置能按要求传输附加的安全信息。船舶自动识别系统采用甚高频(VHF)海上移动波段时分多址(TDMA)通信技术收发信息,2个TDMA接收机分别在2个独立的频道上同时接收信息;同时,用I个TDMA发射机 在2个独立的频道上交替进行TDMA传输,数据信号每帧占用I分钟时间,毎分钟分为2250个时隙,每个数据包必须在I个时隙内发射完毕。不同的船只可以选择2250个时隙中未被占用的空闲时隙发射数据包。但当不同的船只同时选择同一空闲时隙发射数据包时,就会产生冲突引起接收方收到的数据不全,现有技术仍未有很好方法解决该问题。

发明内容
针对现有技术的缺点,本发明的目的是提供ー种船舶自动识别信息发射时隙查找方法,多艘船只可各自找到不同空闲时隙发射数据,解决了多船选择同一空闲时隙发射数据包引起冲突致接收方收到数据不全的问题。为了实现上述目的,本发明的技术方案为ー种船舶自动识别信息发射时隙查找方法,它包括如下步骤(1)根据公式Xn =a*Xn-l+c(mod m)得到随机数序列并生成随机数序列表,公式中a是乘法因子,c是增量值,m是模值,且0 <a,c,XQ<m;(2)查空闲时隙表,计算空闲时隙数并赋值给变量sum_slot ;
(3)判断空闲时隙数sum_sl0t是否大于零,若大于零,则查种子变量seed对应的随机序列表的值并赋值给变量rand,转到步骤(4);若小于零,则无空闲时隙,赋无效时隙号slot =2251,转到步骤(2) ; (4)将 rand* (sum_slot-l)/65535 (65535 的 16 进制表示是 Oxffff。即65535是16位ニ进制数最大值。随机数rand的取值范围是0至65535)取四舍五入,并赋值给变量slot_tmp ; (5)将slot_tmp转换为实际需要发射的空闲时隙号slot。优选地,所述随机数序列{XJ中,满足Xi = X0的最小正整数b为该序列的周期,当b = m时,随机数序列达到满周期。优选地,满足下列3个条件,随机数序列达到满周期⑴(c,m) = 1,即c与m互素;⑵对m的任一素因子p有a = I (mod p) ; (3)如果4能整除m,则a = I (mod 4)。优选地,选用时隙定时器0作为种子发生器,其步骤如下(I)清定时器0中断;
(2)种子变量seed+1 ; (3)判断seed是否大于或等于65536,若是,则令seed = 0,中断返回,若否,则直接中断返回。与现有技术相比,在多艘船只安装应用本发明的情况下,即使多船同时发射数据包,也不会产生发射时隙冲突问题,即通过非常优良的发射时隙查找算法,多艘船只均可各自找到不同空闲时隙发射数据,从而有效地解决多船选择同一空闲时隙发射数据包引起冲突致接收方收到数据不全的问题。


下面结合附图对本发明作进ー步的详细说明。图I是本发明的时隙查找流程框图;图2是定时器0中断服务程序流程框图。
具体实施例方式请參阅图1,本发明的船舶自动识别信息发射时隙查找方法包括(I)根据公式Xn=a*Xn-l+c(mod m)得到随机数序列并生成随机数序列表;(2)查空闲时隙表,计算空闲时隙数并赋值给变量sum_slot ; (3)判断空闲时隙数sum_slot是否大于零,若大于零,则查种子变量seed对应的随机序列表的值并赋值给变量rand,转到步骤(4);若小于零,则无空闲时隙,赋无效时隙号 slot = 2251,转到步骤(2) ;(4)将 rand* (sum_slot-l)/65535 (65535的16进制表示是Oxffff。即65535是16位ニ进制数最大值。随机数rand的取值范围是0至65535)取四舍五入,并赋值给变量slot_tmp ; (5)将slot_tmp转换为实际需要发射的空闲时隙号slot。递推公式Xn = a*Xn_l+c (mod m) (n = I, 2, 3,…..)(1)其中a是乘法因子,c是增量值,m是模值,X0是初始值,即种子(seed),且0< a, c,X。< m。在(I)式产生的随机序列{Xi}中,满足Xi = X0的最小正整数b为该序列的周期,当b = m时,序列达到满周期,即最大周期。选择适当的a值和c值就可以使序列达到满周期,使产生随机数的性能达到最好。如果满足下列3个条件,序列就可以达到满周期⑴(c, m) = I,即c与m互素;⑵对m的任一素因子p有a = I (mod p) ; (3)如果4能整除m,则a = l(mod 4)。考虑到微处理器芯片(Arm)最长字长32位,为防止溢出,选m = 2'16,即m = 65536, c = 3, a = sqrt (m) +1 = 32769,显然,取值是满足以上 3 个要求的,随机序列可以达到满周期65536。由递推公式(I)知道当选择同样的种子时,产生的随机数必然是相同的。因此,要尽可能避免不同船只同一时刻发射时选取同样种子的情況。本发明的种子(seed)选取必须保证不同的船只在选择种子时不具有相关性,确保不同船只在同一时间选择的种子各不相同。公式(I)中參数的选择应该保证产生随机数的周期足够的大,而且,随机数产生具有均匀分布的特性。这样,产生的随机数概率统计特性会较好。根据通信协议规定,在每分钟2250个时隙的最后ー个时隙要重新更新18号、24号A包、24号B包发射时隙。即毎分钟的最后一个时隙都要重新查找空闲时隙,分配给需要发射的数据包使用。这里就要用到公式(I)产生随机数。Xn-I用此时的seed值代替,计算出的Xn值就是需要的随机数。取值范围是0至65535。发射时隙编号是0至2249。假设所有时隙空闲,用a、c、m的实际值代入公式(I),计算随机数rand = (32769*seed+3) %65536。由于rand取值范围是0至65535。需要的时隙号slot = rand*2249/65535。如果slot得到的是非整数值,取四舍五入。由公式(I)得到的随机数序列可以生成ー张表,存储在ARM芯片中,供需要时调用,这样可以节约CPU的运算处理时间。
请參阅图2,定义ー个无符号整数全局变量seed作为种子变量,放在定时器0的中断服务程序中循环累加计数,由于模值m = 65536,因此种子的取值范围是0至65535。选用时隙定时器0作为种子发生器是较理想的选择,定时器0按I个时隙1/37. 5秒,约26. 67毫秒中断一次。由于不同的机器定时器具有完全的不相关性,因此,不同机器选择的种子也具有完全不相关性。即使两台相同机器同时开机,因不同机器的晶振误差导致定时器时钟的微小差异,也会使种子变量的值不同;而且随着时间的推 移,误差累计效应导致种子变量值差会越来越大。因此,即使同时开机,不同的机器在同一时刻选择到同一种子的概率也是极低的。
权利要求
1.ー种船舶自动识别信息发射时隙查找方法,其特征在于,它包括如下步骤 (1)根据公式Xn= a*Xn-l+c(mod m)得到随机数序列并生成随机数序列表,公式中a是乘法因子,c是增量值,m是模值,且O < a, c, X。< m ; (2)查空闲时隙表,计算空闲时隙数并赋值给变量sum_slot; (3)判断空闲时隙数sum_slot是否大于零,若大于零,则查种子变量seed对应的随机序列表的值并赋值给变量rand,转到步骤(4);若小于零,则无空闲时隙,赋无效时隙号slot = 2251,转到步骤(2);(4)将rand* (sum_slot_l) /65535 (65535 的 16 进制表示是 Oxffff。即:65535 是 16 位ニ进制数最大值。随机数rand的取值范围是0至65535)取四舍五入,并赋值给变量slo t_tmp ; (5)将slot_tmp转换为实际需要发射的空闲时隙号slot。
2.根据权利要求I所述的船舶自动识别信息发射时隙查找方法,其特征在于,所述随机数序列{XJ中,满足Xi = X0的最小正整数b为该序列的周期,当b = m吋,序列达到满周期。
3.根据权利要求I所述的船舶自动识别信息发射时隙查找方法,其特征在于,满足下列3个条件,随机数序列达到满周期(I) (c,m) = 1,即c与m互素;(2)对m的任一素因子p 有 a = I (mod p) ; (3)如果 4 能整除 m,贝丨J a = I (mod4)。
4.根据权利要求I所述的船舶自动识别信息发射时隙查找方法,其特征在干,选用时隙定时器0作为种子发生器,其步骤如下(I)清定时器0中断;(2)令种子变量seed+1 ;(3)判断Seed是否大于或等于65536,若是,则令Seed = 0,中断返回,若否,则直接中断返回。
全文摘要
本发明公开了一种船舶自动识别信息发射时隙查找方法,它包括如下步骤(1)根据公式Xn=a*Xn-1+c(mod m)得到随机数序列并生成随机数序列表,公式中a是乘法因子,c是增量值,m是模值,且0<a,c,X0<m;(2)查空闲时隙表,计算空闲时隙数并赋值给变量sum_slot;(3)判断空闲时隙数sum_slot是否大于零,若大于零,则查种子变量seed对应的随机序列表的值并赋值给变量rand,转到步骤(4);若小于零,则无空闲时隙,赋无效时隙号slot=2251,转到步骤(2);(4)将rand*(sum_slot-1)/65535(65535的16进制表示是Oxffff。即65535是16位二进制数最大值。随机数rand的取值范围是0至65535)取四舍五入,并赋值给变量slot_tmp;(5)将slot_tmp转换为实际需要发射的空闲时隙号slot。
文档编号H04J3/00GK102724010SQ201210101709
公开日2012年10月10日 申请日期2012年4月9日 优先权日2012年4月9日
发明者陈杰波, 黄良申 申请人:海华电子企业(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1