从零编写基于MATLAB的GNSS软件接收机
项目介绍
本项目是一个基于MATLAB的GNSS软件接收机(GNSS_SDR)的编写教程和代码资源。该项目旨在帮助初学者从零开始,逐步理解和实现GNSS软件接收机的各个模块,包括射频前端处理、基带数字信号处理、GPS卫星信号的捕获与跟踪、以及定位导航运算。
项目内容
1. 射频前端处理
- 通过天线接收所有可见GPS卫星的信号。
- 经前置滤波器和前置放大器的滤波放大后,与本机振荡器产生的正弦波本振信号进行混频,下变频成中频信号。
- 最后经模数转换器将中频信号转变成离散时间的数字中频信号。
2. 基带数字信号处理
- 包括GPS卫星信号的捕获与跟踪。
- 通过相关分析和多普勒效应处理,实现信号的精确捕获和跟踪。
3. 定位导航运算
- 计算伪距和位置。
- 进行GPS的定位和滤波处理,最终实现精确的定位导航。
代码结构
init.m
: 初始化程序,设置参数和路径。initsettings.m
: 参数设置程序,包含数据处理、捕获回路、跟踪回路等参数。probeData.m
: 数据探测程序,绘制原始数据信息,包括时域图、频域图和直方图。acquisition.m
: 捕获函数程序,对收集到的数据执行冷启动采集,搜索所有卫星的GPS信号。
使用说明
- 下载本项目代码和数据集。
- 使用MATLAB打开项目文件夹。
- 运行
init.m
程序进行初始化设置。 - 根据需要调整
initsettings.m
中的参数。 - 运行
probeData.m
查看原始数据信息。 - 运行
acquisition.m
进行信号捕获和处理。
注意事项
- 本项目基于MATLAB 2020b版本编写,建议使用相同或更高版本的MATLAB进行操作。
- 数据集需要下载并放置在指定文件夹下,具体路径请参考代码中的设置。
贡献与反馈
欢迎对本项目提出改进建议和反馈,可以通过GitHub的Issues功能提交问题或建议。
版权声明
本项目遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。