semread
从SEM年鉴文件中读取数据
描述
例子
从SEM年鉴文件中读取GPS导航信息数据
下载SEM年鉴文件NAVCEN网站并解析它。指定要下载文件的日期。
D = datetime(“今天”) - 2个;
创建URL。
baseURL =“https://www.navcen.uscg.gov/sites/default/files/gps/almanac/”;almanacType =“/ sem /”;almanacExtension =“.al3”;url = baseURL + d. year + almanacType + day(d,“dayofyear”) +...almanacExtension;
指定文件名。
文件名=“semalmanac”+“_”+ d.年+"-"+...d.Month +"-"d.Day +“.al3”;
保存文件。
websave(文件名、url);
从下载的SEM年鉴文件中获取轨道参数。
[data,title] = semread(filename)
data =31日×16时间表时间GPSWeekNumber GPSTimeOfApplicability PRNNumber SVN AverageURANumber偏心InclinationOffset RateOfRightAscension SqrtOfSemiMajorAxis GeographicLongitudeOfOrbitalPlane ArgumentOfPerigee MeanAnomaly ZerothOrderClockCorrection FirstOrderClockCorrection SatelliteHealth SatelliteConfiguration ____________________ _____________ ______________________ _________ ___ ________________ ____________________ ____________________ _____________________ ____________________________________________________ __________________ __________________ __________________________ _________________________ _______________ ______________________ 17 - 61440年7月- 2022年17:03:42 2219 1 63 0 0.0120391845703125 0.0144615173339844 -2.48837750405073 e-09 5153.61865234375 0.51555073261261 0.297461271286011 0.881654858589172 0.000319480895996094 -7.27595761418343 e-12 0 11 17 - 61440年7月- 2022年17:03:42 2219 2 61年1 0.0199451446533203 0.007476806640625 -2.53567122854292 5154.81982421875 e-090.486109972000122 -0.446799159049988 0.925528883934021 -0.000651359558105469 0 0 9 17——61440年7月- 2022年17:03:42 2219 3 69 0 0.00439071655273438 0.0102882385253906 -2.56841303780675 e-09 5153.53857421875 0.844612836837769 0.320030331611633 0.529847264289856 -0.000309944152832031 -1.09139364212751 e-11 0 11 17 - 61440年7月- 2022年17:03:42 2219 4 74 0 0.00190067291259766 0.00612449645996094 -2.46654963120818 e-09 5153.54736328125 -0.811291694641113 -0.953091979026794 -0.536049604415894 -0.000144958496093753.63797880709171 e-12 0 12 17 - 61440年7月- 2022年17:03:42 2219 5 50 0 0.00610446929931641 5153.70166015625 0.831113338470459 0.338927388191223 -0.287315726280212 -8.96453857421875 0.00614738464355469 - -2.61570676229894 e-09 e-05 0 0 10 17 - 61440年7月- 2022年17:03:42 2219 6 67 0 0.00243806838989258 0.0142459869384766 -2.48473952524364 e-09 5153.71875 0.512914299964905 -0.275499105453491 0.955711841583252 0.00038909912109375 1.45519152283669 e-11 0 11 17 - 61440年7月- 2022年17:03:42 2219 7 48 0.0163321495056152 05153.59375 -0.487354755401611 -0.716959476470947 0.676499962806702 0.000318527221679688 0.00248146057128906 - -2.53567122854292 e-09 0 0 10 17 - 7月2022 17:03:42 2219 61440 8 72 0 0.00738525390625 5153.515625 0.170664310455322 0.0531282424926758 -0.420778274536133 -7.62939453125 0.00658035278320312 - -2.48110154643655 e-09 e-05 0 0 11 17 - 7月2022 17:03:42 2219 61440 9 68 0 e-09 5153.74755859375 -0.828534364700317 0.607595086097717 0.00224971771240234 0.00393486022949219 -2.49565346166492-0.25430428981781 -0.000318527221679688 3.63797880709171 e-12 0 17 - 7月11日- 2022年17:03:42 2219 61440 73 0 0.00771760940551758 0.0102214813232422 -2.56841303780675 e-09 5153.63232421875 0.843742370605469 -0.797283291816711 0.24565315246582 -0.000494956970214844 -1.45519152283669 e-11 0 11 17——61440年7月- 2022年17:03:42 2219 11 78 0 0.000565528869628906 5153.5556640625 0.528360724449158 0.913978695869446 -0.423171401023865 -1.04904174804688 0.0065765380859375 - -2.57205101661384 e-09 e-05 0 0 12 17 - 7 - 202217:03:42 2219 61440 12 58 0 0.00853252410888672 0.00836372375488281 -2.53567122854292e-09 5153.7099609375 -0.132869362831116 0.417471408843994 0.468230128288269 -0.000247955322265625 -7.27595761418343e-12 0 10 17-Jul-2022 17:03:42 2219 61440 13 43 0 0.00612878799438477 0.00843238830566406 -2.43380782194436e-09 5153.63427734375 -0.779114127159119 0.291950225830078 -0.548626184463501 0.000349998474121094 7.27595761418343e-12 0 9 17-Jul-2022 17:03:42 2219 61440 14 77 0 0.00212907791137695 0.0030670166015625 -2.58660293184221e-09 5153.5986328125 -0.143590927124023 -0.983529925346375 0.45069146156311 -0.000111579895019531 0 0 12 17-Jul-2022 17:03:42 2219 61440 15 55 0 0.0142536163330078 -0.00369071960449219 -2.57205101661384e-09 5153.53564453125 -0.863561153411865 0.352016925811768 -0.718587875366211 -4.48226928710938e-05 3.63797880709171e-12 0 10 17-Jul-2022 17:03:42 2219 61440 16 56 0 0.0127029418945312 0.00832366943359375 -2.53567122854292e-09 5153.6240234375 -0.126978635787964 0.232561111450195 -0.108456969261169 -0.000515937805175781 -3.63797880709171e-12 0 9 ⋮
title = '当前。ALM的
查看卫星位置从扫描电镜年鉴文件接收位置
从SEM年鉴文件中读取GPS导航信息数据。
gpsData = semread(“semalmanac_2022 - 4 - 10. -与“);
获取第一时间步的卫星位置,速度和id。
t = gpsData.Time(1);[satPos,satVel, sads] = gnssconstellation(t,gpsData,GNSSFileType= .“SEM”);
指定GNSS接收器在大地坐标(纬度、经度和高度)中的位置。
recPos = [42 -71 50];纳蒂克,麻州
获取指定接收器位置的卫星位置的方位角和仰角。的isVis
输出显示哪些卫星可见。通过使用找到可见卫星的总数nnz
.
[az,el,isVis] = lookangles(recPos,satPos);流('在%s可见的%d个卫星。\n'nnz (isVis), t);
9颗卫星在2022年4月12日16:50:54可见。
想象所有可见的卫星。
skyplot(阿兹(isVis),埃尔(isVis) satID (isVis))
从SEM年鉴文件绘制卫星随时间的轨迹
从SEM年鉴文件中读取GPS导航信息数据。
gpsData = semread(“semalmanac_2022 - 4 - 10. -与“);
指定相关的时间步进信息。
startTime = gpsData.Time(1);numHours = 12;secondsPerHour = 3600;Dt = 60;timeElapsed = 0:dt:(numHours*secondsPerHour);t = startTime + seconds(timeElapsed);
指定GNSS接收器在大地坐标(纬度、经度和高度)中的位置。
recPos = [42 -71 50];纳蒂克,麻州
获取指定接收器位置的所有卫星位置的方位角和仰角。
numSats = numel(gpsData.PRNNumber);卫星数量%[allAz, allAz] = deal(NaN(numel(t),numSats));为i = 1:numel(t) [satPos,~, sads] = gnssconstellation(t(i),gpsData,GNSSFileType= . 0“SEM”);[az,el,vis] = lookangles(recPos,satPos);allAz(i,:) = az;lien (i,:) = el;结束
把地平线以下的卫星标为南
因为没有能见度。
列(列< 0)= NaN;
想象卫星的轨迹。
图skyplot(等位基因,allAz satID)
将卫星的轨迹动画化。
图sp = skyplot(allAz(1,:),列列(1,:),satID);为i = 1:size(allAz, 1) set(sp,AzimuthData=allAz(1:i,:),ElevationData=列(1:i,:));drawnow结束
输入参数
文件名
- - - - - -SEM年历文件名
字符串标量|特征向量
SEM年鉴文件名,指定为字符串标量或字符向量。文件名可以包含绝对路径、相对路径或不包含路径。您必须指定(.al3
)扩展。
例子:“semalmanac_2022 - 1 - 18.与“
例子:“mydir / semalmanac_2022 - 1 - 18. -与“
例子:“C: / mydir / semalmanac_2022 - 1 - 18. -与“
数据类型:字符
|字符串
refdate
- - - - - -参考数据
“06 - 1月- 1980”
|“21 - 8月- 1999”
|“06 - 4月- 2019
参考日期,指定为其中一个有效日期datetime
与GPS周号滚动日期一致的字符串:
“06 - 1月- 1980”
“21 - 8月- 1999”
“06 - 4月- 2019
这些日期每1024周出现一次,从1980年1月6日00:00 (UTC)开始。缺省值为adatetime
字符串,该字符串与当前日期之前最近的GPS周号滚动日期一致。
例子:GPSWeekEpoch = " 21 - 8月- 1999 "
数据类型:字符
|字符串
输出参数
数据
—各卫星参数
时间表
每个卫星的参数,返回为时间表
每个记录都有一行,记录中的每个参数都有一列。找到更多关于SEM年鉴参数定义的信息,见表40-IIicd - gps - 240 d[2].
参数 | 数据类型 | 描述 |
---|---|---|
时间 |
datetime |
GPS时钟时间,计算使用 |
GPSWeekNumber |
双 |
GPS周数,连续,不 |
GPSTimeOfApplicability |
双 |
从GPS周数开始的秒数。 |
PRNNumber |
双 |
卫星伪随机噪声数。 |
SVN |
双 |
卫星的空间飞行器参考号。 |
AverageURANumber |
双 |
卫星的平均市建局编号。 |
偏心 |
双 |
卫星的偏心率。 |
InclinationOffset |
双 |
倾斜角度从54度偏移,在半圆。 |
RateOfRightAscension |
双 |
测量赤经角时的变化率,以半圆/秒为单位。 |
SqrtOfSemiMajorAxis |
双 |
半长轴的平方根,单位是米1/2. |
GeographicLongitudeOfOrbitalPlane |
双 |
以半圆为单位的周历轨道平面的地理经度。 |
ArgumentOfPerigee |
双 |
从赤道到近地点的角,以半圆为单位。 |
MeanAnomaly |
双 |
卫星在其轨道上相对近地点的位置角,以半圆为单位。 |
ZerothOrderClockCorrection |
双 |
卫星历书零阶时钟校正期限,单位为秒。 |
FirstOrderClockCorrection |
双 |
卫星历书一阶时钟校正期限,单位为秒/秒。 |
SatelliteHealth |
双 |
卫星飞行器健康数据代码。 |
SatelliteConfiguration |
双 |
卫星飞行器配置代码。 |
标题
-年历标题
特征向量
年历标题,作为字符向量返回。
提示
下载SEM年鉴文件NAVCEN网站的当前日期,您必须指定当前日期前2天的日期,因为GPS的适用性时间大约比历书数据集的传输时间晚70个小时。看到从SEM年鉴文件中读取GPS导航信息数据示例了解更多细节。
参考文献
科学应用国际公司。GPS空间段/导航用户界面。gps - 200 m。加利福尼亚州洛杉矶:美国太空部队空间系统司令部,2021年5月21日批准。https://www.navcen.uscg.gov/sites/default/files/pdf/gps/IS_GPS_200M.pdf.
科学应用国际公司。GPS空间段/导航用户界面。icd - gps - 240 d。加利福尼亚州洛杉矶:美国太空部队空间系统司令部,2021年5月21日批准。https://www.navcen.uscg.gov/sites/default/files/pdf/gps/ICD_GPS_240D.pdf.
[3]美国海岸警卫队。"GPS年鉴,NANUs,和OPS报告档案"美国海岸警卫队导航中心。2022年5月6日访问。https://www.navcen.uscg.gov/archives.
版本历史
在R2022b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。