• // 年月日转GPS 格式为 2019-11-11 function UTC2GPS(dateTime) { var year; var month; var day; var DayofYear = 0; var DayofMonth = 0; year = parseInt(dateTime.substr(0, 4)); month = parseInt...
// 年月日转GPS周 格式为 2019-11-11
function UTC2GPS(dateTime) {
var year;
var month;
var day;
var DayofYear = 0;
var DayofMonth = 0;

year = parseInt(dateTime.substr(0, 4));
month = parseInt(dateTime.substr(5, 2));
day = parseInt(dateTime.substr(8, 2));

// 从1980年到当前年的上一年经过的天数
for (var i = 1980; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
DayofYear += 366;
else
DayofYear += 365;
}

// 从一月到当前月的上一月经历的天数
for (var i = 1; i < month; i++) {
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
DayofMonth += 31;
else if (i == 4 || i == 6 || i == 9 || i == 11)
DayofMonth += 30;
else {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
DayofMonth += 29;
else
DayofMonth += 28;
}
}
var Day;
Day = DayofMonth + day + DayofYear - 6;
var weekNo = parseInt(Day / 7);
return weekNo;
}

// 年月日转北斗周
function UTC2BeiDou(dateTime) {
var weekNo = UTC2GPS(dateTime);
var beidouWeek = weekNo - 1356;
if (beidouWeek < 1000) {
beidouWeek = '0' + beidouWeek;
}
return beidouWeek;
}

// 北斗周转年月日
function beidou2UTC(week) {
var weekDay = (parseInt(week) + 1356) * 7;
var weekYear = 0;
var currentYear = new Date().getFullYear();
var dayofYear = 0;

for (let i = 1980; i <= currentYear; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
dayofYear += 366;
if (0 <= (dayofYear - weekDay) && (dayofYear - weekDay) <= 366) {
weekYear = i;
break;
}
} else {
dayofYear += 365;
if (0 <= (dayofYear - weekDay) && (dayofYear - weekDay) <= 365) {
weekYear = i;
break;
}
}
};

var dayofMonth = 0;
var weekDayInYear = dayofYear - weekDay;
var weekMonth = 0;

for (var i = 12; i > 0; i--) {
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {
dayofMonth += 31;

if (0 <= (dayofMonth - weekDayInYear) && (dayofMonth - weekDayInYear) <= 31) {
console.log('单数', dayofMonth - weekDayInYear, i);

weekMonth = i;
break;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
dayofMonth += 30;

if (0 <= (dayofMonth - weekDayInYear) && (dayofMonth - weekDayInYear) <= 30) {
console.log('双数', dayofMonth - weekDayInYear, i);

weekMonth = i;
break;
}
} else {
if ((dayofYear % 4 == 0 && dayofYear % 100 != 0) || dayofYear % 400 == 0) {
dayofMonth += 29;

if (0 <= (dayofMonth - weekDayInYear) && (dayofMonth - weekDayInYear) <= 29) {
console.log('闰年', dayofMonth - weekDayInYear, i);

weekMonth = i;
break;
}
} else {
dayofMonth += 28;
if (0 <= (dayofMonth - weekDayInYear) && (dayofMonth - weekDayInYear) <= 28) {
console.log('非闰年', dayofMonth - weekDayInYear, i);

weekMonth = i;
break;
}
}
};
};

var weekMonthDay = dayofMonth - weekDayInYear + 6
if (weekMonth >= 1 && weekMonth <= 9) {
weekMonth = "0" + weekMonth;
}
if (weekMonthDay >= 0 && weekMonthDay <= 9) {
weekMonthDay = "0" + weekMonthDay;
}

return weekYear + '-' + weekMonth + '-' + weekMonthDay;
}

展开全文
• 介绍两个用于在线计算GPS内日、年积日、简化儒略日的网站 网站一：http://www.gnsscalendar.com/ 使用说明： %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 网站二：...
介绍两个用于在线计算GPS周、周内日、年积日、简化儒略日的网站
网站一：http://www.gnsscalendar.com/
使用说明：

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
网站二：http://webapp.geod.nrcan.gc.ca/geod/tools-outils/calendr.php?locale=en
说明：

%%%----------------------------
计算实例：

%==================================================================
在线计算北斗周和GPS周等：
http://www.igmas.org/Product/Cpdetail/detail/nav_id/4/cate_id/36.html


展开全文
• https://blog.csdn.net/sinat_32602421/article/details/84861691
https://blog.csdn.net/sinat_32602421/article/details/84861691
展开全文
• 最近接了个需求，解析从美国NASA官网下载的文件和从北斗官网下载的文件，而文件名字是以GPS时间周和周几、北斗时间周和周几命名，每天都会有新数据，定时任务获取文件，定时任务获取就需要程序根据当天时间自动计算...
    最近接了个需求，解析从美国NASA官网下载的文件和从北斗官网下载的文件，而文件名字是以GPS时间周和周几、北斗时间周和周几命名，每天都会有新数据，定时任务获取文件，定时任务获取就需要程序根据当天时间自动计算文件名字。
想计算这两个时间周，就要先明白其各自的计算规则
GPS时间是以 "1980-01-06 00:00:00" 为起点的，
北斗时间是以"2006-01-01 00:00:00"为起点
这个两个起始时间，是解决问题最关键的部分
要想计算时间周，就需要获取当前时间，减去各自的开始时间，获取到天数，再进行周和周几计算
/**
* 计算两个时间之间的天数
* @author yxt
* @param d1
* @param d2
* @return
*/
public static long calendarminus(Calendar d1, Calendar d2) {
if (d1 == null || d2 == null) {
return 0;

}
return (d1.getTimeInMillis() - d2.getTimeInMillis()) / (3600 * 24000);

}

/**
* 获取gps时间周和北斗时间周
* * @author yxt
* @throws Exception
*/
public static void getGpsAndBeidouWeek() throws Exception{

//2021.5.11的文件名为：GPS_DATA_21571.text、BEIDOU_DATA_8011.text
//其中21571中前四位为gps时间周，最后一位为周几（以周一为0）
//其中8011中前三位为北斗时间周，最后一位为周几（以周一为0）
//计算的关键在于知道gps开始时间为"1980-01-06 00:00:00"，北斗开始时间为："2006-01-01 00:00:00"
SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//日期格式化
Calendar calendarNow = Calendar.getInstance(); //

// gps时间周计算
Calendar calendarGps= Calendar.getInstance(); //java.util包
Date gpsStartDate = sdfTime.parse("1980-01-06 00:00:00");
calendarGps.setTime(gpsStartDate);
long gpsToTodayDays = calendarminus(calendarNow, calendarGps);
long gpsWeeks = gpsToTodayDays / 7;
long dayOfGpsWeek = gpsToTodayDays % 7-1;
System.out.println(gpsWeeks);
System.out.println(dayOfGpsWeek);

// 北斗时间周计算
Calendar calendarBeidou= Calendar.getInstance(); //java.util包
Date beidouStartDate = sdfTime.parse("2006-01-01 00:00:00");
calendarBeidou.setTime(beidouStartDate);
long beidouToTodayDays = calendarminus(calendarNow, calendarBeidou);
long beidouWeeks = beidouToTodayDays / 7;
long dayOfBeidouWeek = beidouToTodayDays % 7 -1;
System.out.println(beidouWeeks);
System.out.println(dayOfBeidouWeek);

}

展开全文
• 需求说明：北斗周-周内秒转化为日历时，转化为UTC时，转化为GPS周周内秒 GPS周-周内秒转化为日历时，转化为UTC时，转化为北斗周-周内秒 设计示意图： 源代码： using System; using System.Collections....
• 需求说明：给定nav格式的北斗时文件从中提取出北斗周和周内秒信息，将该...单一转换：北斗周对应文本框，txb_bdsWeek；周内秒对应的文本框：txb_weekInnerSec；转换结果对应的文本框，txb_resault；转换按钮：btn_si...
• 影响北斗卫星导航系统（BDS，BeiDou navigation satellite system）观测数据质量的重要指标包括整模糊度的确定、跳探测与修正。首先，从码伪距观测方程和载波相位观测方程出发，研究BDS 整模糊度解算方法。...
• ================================================ ...================================================ 定义与来源 全球定位系统的最基本任务是确定用户在空间的位置。而所谓用户的位置，实际上是指该用户在特定...
• 北斗导航系统双频整模糊度的快速解算
• 用过北斗gps的都晓得，大部分都要用时间转换的操作： 本文主要是记录： -内秒转换为utc的实现 北斗官网提供的一些转换源码，注册即可下载 至于儒略日 -内秒 utc等概念去查一查百度很多资料； 这个网址对...
• 利用C#编写的GPS时间与UTC时间相互转换，以及WGS84坐标系下与北京54坐标系下的坐标转换 可视化效果好 易操作
• 列车在利用北斗卫星载波相位高精度定位时，载波相位数据需要进行跳的探测与修复．由于载波观测方程受接收机钟差、电离层延迟、对流层延迟和多路径等误差的影响，对一个观测方程使用卡尔曼滤波法探测跳有其局限性...
• 在应用北斗单频接收机对矿区进行实时变形监测时,为提高北斗单频载波相位观测值预处理中周跳探测的精度,提出了基于Kalman滤波的单频北斗载波相位实时跳探测方法,论述了粗差与跳的识别方法。利用某矿区的北斗单频...
• 实现了协调世界时转换为GPS时和北斗时，可进行基本的时间转换
• GNSS接收机中实现伪距测量的方法：测量电磁波在参考点和用户之间的传播时间而得到的距离。 1.1.1 问题的提出 问题一：如何区分来自不同参考点的信号？答：不同频率 问题二：如何保证参考点与用户之间的时钟严格...
• ## GPS时间以及周内秒

千次阅读 2020-04-10 18:25:39
s世界时UT是以地球自转为基础的时间系统，由于不恒定的自转速度、极移等，... Z计数器共19位，每+1的时间间隔是1.5秒，内秒截取Z计数器的高17位，舍弃低两位，那么内秒的步进为6秒，刚好每一个子帧内秒计数加一。
• 从某一基准时间算起的秒时间，转换为年月日时分秒（YYYY/MM/DD HH/MM/SS）形式。也有人称为GPS秒时间转UTC时间。matlab代码
• C#实现GPS时间的计算（GPS和秒），由现在通用的日历时间转换到GPS时间，很方便！
• 介绍了利用北斗三频伪距和相位组合探测跳的原理，给出了一种跳探测的新方法。研究了多频载波相位组合观测量的选取标准，并利用北斗卫星实测数据进行了仿真试验。结果表明：三频观测量可构造出更多组合特性良好的...
•  值得一提的是，我国的北斗系统（BDS）的计数数据字段长度为13位，计数翻转周期为8192，约157年，其授时系统的计数自2006年1月1日起计时，下一个北斗时间周计数翻转将在2163年发生。且在GPS现代化计划中，...
• http://gnsscalendar.com/
• 北斗三频数据跳的探测方法
• void UTC2GPS(int year, int month, int day, int hour, int minute, double second, .../*****协调世界时转换为GPS的秒表示*****///输入时间应为协调世界时，即当地时间-8，返回时间为GPS周和秒 int DayofYear =
• 伪码具有确定性、周期性以及良好的自相关性，大体被分为三类:m序列、组合码和非线性码，北斗伪卫星信号的Ⅰ支路测距码是一种由m序列构成的组合码。 北斗伪卫星系统中，Ⅰ支路使用的测距码是Gold 码，由两个11级的m...
• 通信行业观点：各省市新基建步伐加快，北斗组网协同5G共发展
• 通信行业观点：各省市新基建步伐加快，北斗组网协同5G共发展.pdf
• 为了验证稳定性分析方法中多项式拟合参数选取的合理性,本文采用无跳与接收机失锁等异常现象的北斗二号系统地球同步轨道卫星数据,通过选择不同阶数与不同拟合时间长度的组合来对该卫星一天24小时的数据进行了深入...
• 电离层误差变化率检测跳2. MP1（L1伪距多径值）、MP2（L2伪距多径值）总结 TEQC应用 TEQC是由UNAVCO Facility研制的为研究GPS 监测站数据服务的公开免费软件，软件在快速、多角度、全方位的分析观测数据方面具有...
• ## 【GNSS】北斗坐标系

千次阅读 2021-04-23 17:21:24
1. 北斗坐标系 一个全球卫星导航定位系统的基本任务是为全球用户提供可用性、完好性、连续性和精度符合规定要求的导航定位服务。卫星导航系统赖以导航定位的大地基准是其使用的坐标系。坐标系对导航定位系统的重要...
• bit0置1表示在前一历元与当前历元之间发生了失锁,可能有跳;bit1置1表示该卫星的波长因子与前面WAVELENGTHFACTL1/2记录中的定义相反,仅对当前历元有效;bit2置1表示为反欺骗(AS)下的观测值(可能会受到噪声增加的影响...

...