GPS周计算

最近写程序,涉及到了GPS周,今天就科普一下什么是GPS周
在这里插入图片描述
(图片来源于百度百科)
GPS周(GPS Week)是GPS系统内部所采用的时间系统。 时间零点定义的为:1980年1月5日夜晚与1980年1月6日凌晨之间0点。最大时间单位是周(一周:604800秒)。由于在储存周数的时候,用了10个比特,2的10次方是1024,所以每1024周(即7168天)为一循环周期。我们国家的北斗考虑到每1024周翻转一次过于频繁,所以就开了13个比特来存放周数,2的13次方为8192,大概是150多年翻转一次,我们这辈子恐怕没机会见到了,哈哈哈(现学现卖)第一个GPS周循环点为1999年8月22日0时0分0秒。即从这一刻起,周数重新从0开始算起。星期记数规则是:Sunday为0,Monday为1,以此类推,依次记作0~6,GPS周记数为“GPS周 星期记数”。2019年2月13日正处在2040周之后的第三天。第一个GPS周循环点1999年8月22日0时0分0秒。第二个循环点在今年,即2019年4月6-7日。就像千年虫问题困扰那样,GPS循环点来临时,未升级的GPS接收机都将在周归零日错认为1980年1月6日。

那么问题来了,怎样确定某一天是GPS周的第几周第几天呢?本人很懒,所以东瞧瞧西转转,一不小心发现了有个前辈无私的共享了他的代码,借来一用,稍加完善,如下图:
在这里插入图片描述
前辈代码链接
小程序下载链接

参考/引用 文章

[1] 小小毛头-sohu博主: http://bibber.blog.sohu.com/136039134.html
  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Matlab是一种强大的数学建模和计算软件,可以用于各种科学和工程应用。其中一个常见的应用是使用GPS数据计算GPS数。 GPS时是一种用于定位和导航的全球卫星导航系统。GPS数是一个连续的计数系统,用于表示从GPS系统从1980年1月6日起经过的数。每个GPS日开始并在下一个日结束。在Matlab中,我们可以使用GPS时和日期数据来计算GPS数。 首先,我们需要获取GPS时的日期和时间数据。在Matlab中,可以使用GPS时的日期和时间变量或字符串表示。然后,我们需要使用Matlab中的日期和时间函数来将日期和时间转换为Matlab内部的数值格式。一旦我们获得了日期和时间的数值格式,我们可以使用Matlab中的日期和时间函数来计算GPS数。 计算GPS数的方法是使用所给日期和时间与1980年1月6日的差异,并将其除以7,取整数部分作为GPS数。这可以通过Matlab中的时间差函数和除法运算来实现。 为了进行更多的精度控制,还可以考虑GPS时的闰秒调整。闰秒是为了保持GPS时间与国际原子时(TAI)之间的同步而引入的调整。Matlab中提供了闰秒表,我们可以使用这些数据来进行更精确的GPS计算。 综上所述,Matlab可以用于根据GPS时间数据计算GPS数。通过使用日期和时间函数,计算GPS数可以相对简单地实现。此外,考虑到GPS时的闰秒调整,我们可以进行更精确的计算
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值