零基础入门导航系列一之书籍学习《A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach》书籍学习(2)
零基础入门导航系列一之书籍学习《A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach》书籍学习(2)
文章目录
 零基础入门导航系列一之书籍学习《A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach》书籍学习(2)序言 (Preface)第一章 信号与系统 (Signals and Systems)第二章 GPS信号 (GPS Signals)码跟踪原理
   MATLAB代码结构代码整体流程setting文件结构捕获函数跟踪函数`postNavigation`函数
   GNSS信号仿真信号参数设置Simulink设置
   **参考文献**
本博客仅摘编、翻译和学习部分重点内容,不是原文的1:1翻译。
带括号的小号字体部分为作者的个人理解。
内容顺序不完全遵照原书,持续更新。
  
 
序言 (Preface)
软件定义接收机(SDR)技术已发展十余年。Dennis Akos(Stanford SCPNT)在1997年实现了第一个完整的GPS软件接收机。此后,众多研究团队持续贡献,SDR逐渐成为接收机行业的技术热点。
 SDR的核心目标是构建灵活、开放式架构的接收机,使各模块参数可动态配置,便于算法开发和新技术集成。
 SDR架构采用宽带A/D转换器,捕获所有信道信号,通过通用处理器上的软件完成下变频和解调。这样,信号采集点靠近天线,数据通过数字信号处理获得定位结果。
 SDR是算法开发和设备集成的理想平台。
本书选择MATLAB作为开发语言,因其在技术院校中广泛应用,易学且便于图形展示。
 本书主要内容包括:
GNSS软件无线电总体架构介绍基于MATLAB和示例数据集的完整GPS软件接收机实现可动态调整参数并实时观察效果可选USB GNSS前端硬件,实现与MATLAB联动采集(具体订购和使用说明见配套DVD)
本书聚焦单频(L1)C/A码GPS接收机实现,原因包括:
架构简洁易懂通过轨道、时钟和电离层校正,以及SBAS(如EGNOS/WAAS),L1精度可媲美双频接收机未来宽带GNSS信号和欧盟Galileo系统将在L1波段提供更多性能提升Galileo采用BOC调制,读者可提前了解新信号类型
 书中还讲解了前端模块设计,如何将天线信号分离成各个卫星信道进行独立跟踪。 
第一章 信号与系统 (Signals and Systems)
本章介绍线性时不变系统等基础理论,为后续GNSS信号处理做支撑。内容基础,略去不赘述。
第二章 GPS信号 (GPS Signals)
GPS信号在UHF频段(500 MHz – 3 GHz)上的L1和L2频率发射,均由基准频率
f
0
=
        10.23
         
MHz
f_0 = 10.23; ext{MHz}
f0=10.23MHz 派生。
 
 *用C/A码和导航数据对L1载波进行BPSK调制,图中为PRN 1的Gold码前25个码片。* *用C/A码和导航数据对L1载波进行BPSK调制,图中为PRN 1的Gold码前25个码片。* 
码跟踪原理
GPS接收关键问题之一是码跟踪,常用**早-晚锁相环(DLL)**实现。相关器结构通过设置不同时间偏移,分别获取早信号和晚信号,组合误差信号驱动环路调整,消除跟踪误差。(详见第7章)
MATLAB代码结构
代码整体流程
数据读取与采集:首先读取数据文件的短段(数毫秒),传递给采集模块,检测GPS信号、估算频率及码相位,结果存储于
acqResults
preRun
eph
trackResults
postNavigation
setting文件结构
所有模块参数统一存储在settings结构中,实现集中管理和灵活调用。例如:
GPS中频:
IFfrequency
samplingFrequency
msToProcess
processBlockSize
numberOfChannels
通过
initSettings
捕获函数
采用并行码相位搜索捕获算法,快速检测所有可用卫星信号参数。采集函数以0.5kHz频率步进,在多普勒空间内依次搜索,每步执行并行码搜索,保存相关结果,再查找最大相关值和次高峰值,计算峰值比率作为信号检测依据。
 若峰值比足够高,通过后相关FFT方法进一步精细估算载波频率,为PLL环路跟踪做准备。
 可指定搜索卫星PRN范围,结果存于
acqResults
跟踪函数
跟踪函数对每个通道分配GPS信号,处理信号块,返回
trackResults
 
trackResults
plotTracking
postNavigation
postNavigation
该函数识别比特转换及起始位置,获取并解码星历信息(主用子帧1~3,可扩展至4、5),随后调用伪距测量和位置计算功能,输出伪距和接收机坐标。
GNSS信号仿真
信号参数设置
开发GPS接收机算法时,使用真实采样数据不便于特性控制,宜采用模拟信号数据。
 理想的L1 GPS信号模拟器需包含:
中频
Intermediate Frequency
Sampling Frequency
若需真实导航数据序列,模拟器应支持自定义输入。
Simulink设置
采用MATLAB Simulink开发GPS信号模拟器,界面直观,功能丰富,并可与M文件无缝集成。
 Simulink实现为两级设计:
上层:初始化各卫星信号参数,配置保存数据文件下层:实现各卫星信号生成,包括C/A码、导航数据、P(Y)码、噪声等成分
仿真器可配置多个卫星(如图B.4),每颗卫星可设定不同PRN、码相位、多普勒频移等参数,便于算法测试与验证。
  
 
参考文献
[1] A Software-Defined GPS and Galileo Receiver[M]. Boston, MA:
Birkhäuser, 2007.
 
                
 
                 
                 
                





 
                