首页 > 其他分享 >根据星历文件实现卫星的动态运行模拟matlab仿真

根据星历文件实现卫星的动态运行模拟matlab仿真

时间:2024-02-21 22:46:17浏览次数:27  
标签:仿真 func cdata Geo matlab tab ax 星历 卫星

1.算法运行效果图预览

 

2.算法运行软件版本

MATLAB2022a

 

 

3.算法理论概述

       卫星的动态跟踪捕获是航天工程和卫星通信领域中的关键技术之一。它涉及到对卫星轨道的精确预测、接收设备的指向控制以及信号处理等多个方面。

 

       随着航天技术的不断发展,卫星通信已经成为现代社会不可或缺的一部分。为了确保通信的稳定性和可靠性,需要对卫星进行精确的跟踪和捕获。基于星历文件的卫星动态跟踪捕获方法是一种常用的技术手段,它通过对卫星轨道的精确预测,实现对卫星的准确跟踪和信号捕获。

 

       星历文件是描述卫星轨道参数和时钟信息的文件,通常由地面控制站生成并提供给用户。星历文件中包含了卫星的位置、速度、加速度等轨道信息,以及卫星时钟的偏差和漂移等时钟信息。这些信息是卫星动态跟踪捕获的基础数据。

 

 

4.部分核心程序

% 将所有PRN对应的ECEF位置信息合并成一个表格  
Info2_tab = cat(1,Info2{:});
% 将ECEF位置转换为地理坐标系下的位置  
Geo_tab   = func_calpos(Info2_tab);
% 按照时间对地理坐标位置进行排序  
Geo_tab   = sortrows(Geo_tab);
% 获取排序后的唯一时间点  
Times_tab = unique(Geo_tab.time);
% 读取卫星图像文件'sat.png',获取图像数据和透明度信息  
[cdata,~,alpha] = imread('dat\sat.png');
cdata=cdata/1.5;
%创建一个世界地图,并设置一些属性,如原点位置和地图大小等 
figure;
ax = worldmap('World');
setm(ax, 'Origin', [0 0 0]);
ax.Position =[0 0 1 1];
land = shaperead('landareas', 'UseGeoCoords', true);
geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5]);
lakes = shaperead('worldlakes', 'UseGeoCoords', true);
geoshow(lakes, 'FaceColor', 'blue');
rivers = shaperead('worldrivers', 'UseGeoCoords', true);
geoshow(rivers, 'Color', 'blue');
 
%创建63个卫星图标,初始状态下可能不可见或不在地图上显示(具体取决于func_addsat函数的实现) 
for ii = 1:63
    sat_pos(ii) = func_addsat(ax,0,0,cdata,alpha);
end
 
% 定义一个匿名函数funPixelPos,用于将地理坐标转换为像素坐标(具体转换方式取决于func_Pixel2Pos函数的实现)
funPixelPos = @(lat,lon) func_Pixel2Pos(ax.UserData,lat,lon,cdata);
% 对于每个唯一的时间点,更新卫星图标的位置和可见性,并更新文本标签的时间显示,然后保存地图图像到变量AA中(不保存到文件)  
 
for ii = 1:numel(Times_tab)
    t = Times_tab(ii);
    data = rowfun(funPixelPos,Geo_tab(t,1:2),'NumOutputs',2,'OutputFormat','cell');
    for jj = 11:63
        if jj<=size(data,1)
            sat_pos(jj).Visible = 'on';
            sat_pos(jj).XData = data{jj,1};
            sat_pos(jj).YData = data{jj,2};
        else
            sat_pos(jj).Visible = 'off';
        end
    end
    pause(0.01);
    title([num2str(ii)]);
end

  

标签:仿真,func,cdata,Geo,matlab,tab,ax,星历,卫星
From: https://www.cnblogs.com/matlabworld/p/18026360

相关文章

  • 基于双目RGB图像和图像深度信息的三维室内场景建模matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述        三维室内场景建模在计算机视觉、机器人导航、虚拟现实等领域有广泛应用。传统的建模方法通常基于激光扫描仪或深度相机,但这些设备价格昂贵且不易普及。基于双目RGB图像和图像......
  • m基于码率兼容打孔LDPC码nms最小和译码算法的LDPC编译码matlab误码率仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要       码率兼容打孔LDPC码BP译码算法是一种改进的LDPC译码算法,能够在不同码率下实现更好的译码性能。该算法通过在LDPC码中引入打孔操作,使得码率可以灵活地调整,同时利用BP(BeliefPropagation)译码算法......
  • IC中的仿真
    在IC设计的流程中,其仿真验证大致分为软件仿真(Simulation)、硬件仿真(Emulation)和原型验证(prototyping)三大块。一、软件仿真(Simulation)软件仿真会通过在计算机环境中模拟硬件行为,检验设计中的功能是否正确无误。数字电路中常用的仿真器有:ModelSim/QuestaSim:ModelSim和QuestaSim......
  • MATLAB替代
    ==Octave=============【介绍】Octave为GNU项目下的开源软件Octave是基于C++的STL开发的。由JohnW.Eaton在1992年接手开始系统性开发。第一个alpha测试版在1993年1月4日发布,1.0稳定版则是在1994年2月17日发布。【安装】https://octave.org/download.html【使用】启......
  • 基于yolov2深度学习网络的血细胞检测算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本MATLAB2022a 3.算法理论概述         血细胞检测是医学图像处理领域的重要任务之一,对于疾病的诊断和治疗具有重要意义。近年来,深度学习在医学图像处理领域取得了显著成果,尤其是目标检测算法在血细胞检测方面表现出......
  • 基于huffman编解码的图像压缩算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       Huffman编码是一种用于无损数据压缩的熵编码算法。由DavidA.Huffman在1952年提出。该算法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffm......
  • 基于EMD的滚动轴承故障诊断算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a  3.算法理论概述       基于经验模态分解(EmpiricalModeDecomposition,EMD)的滚动轴承故障诊断算法是一种有效的非平稳信号处理方法,特别适用于处理非线性、非平稳的振动信号。该方法通过自适应地将复杂信......
  • 基于FPGA的图像Robert变换实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览 fpga的结果导入到matlab显示: 2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述       随着数字图像处理技术的不断发展,边缘检测作为图像处理的基本操作,其在机器视觉、自动驾驶、医学影像分析等领域的应用日益广泛。Rober......
  • tultlebot3仿真
    1.启动仿真世界:roslaunchturtlebot3_gazeboturtlebot3_world.launch2.启动gmapping建图节点roslaunchturtlebot3_slamturtlebot3_slam.launchslam_methods:=gmapping3.启动小车键盘控制节点,控制小车移动:roslaunchturtlebot3_teleopturtlebot3_teleop_key.launch分别安wa......
  • m基于码率兼容打孔LDPC码oms最小和译码算法的LDPC编译码matlab误码率仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要       码率兼容打孔LDPC码BP译码算法是一种改进的LDPC译码算法,能够在不同码率下实现更好的译码性能。该算法通过在LDPC码中引入打孔操作,使得码率可以灵活地调整,同时利用BP(BeliefPropagation)译码算法......