北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)
- 格式:doc
- 大小:465.50 KB
- 文档页数:9
基于DSP的GPS/BD-2组合定位算法的研究与实现的开题报告一、研究背景GPS是全球卫星定位系统(Global Positioning System)的英文缩写,是由美国国防部研制的一种卫星导航系统,主要用于提供珍贵的定位和时间信息。
随着GNSS (全球导航卫星系统)技术的发展,中国也建立了自己的卫星导航系统,即北斗卫星导航系统(BD-2),具有高精度、高可靠性、全天候的服务能力。
然而,目前GPS和BD-2系统还存在一些问题,如信号遮挡、多径效应等,导致定位结果不够精确和稳定。
因此,基于数字信号处理(DSP)的GPS/BD-2组合定位算法的优化和研究具有重要的意义。
二、研究目的本研究旨在通过DSP技术优化GPS/BD-2组合定位算法,提高定位精度和稳定性,以满足在复杂环境下进行定位的需求。
具体目标包括:1、研究GPS/BD-2组合定位技术,并对其进行理论分析和探讨;2、优化GPS/BD-2组合定位算法,包括信号处理、多路径效应抑制和数据融合等方面;3、在Matlab等环境下进行算法实现和仿真验证;4、通过实验和仿真对优化后的算法进行精度评估和性能测试,并与传统GPS/BD-2定位算法进行比较分析。
三、研究内容本研究将分为以下几个研究内容:1、GPS/BD-2组合定位技术研究:介绍GPS/BD-2的基本原理和技术特点,分析其优缺点,以及与其他GNSS系统的比较。
2、GPS/BD-2组合定位算法优化:主要包括信号处理、多路径效应抑制和数据融合等方面的研究。
其中,信号处理的目标是提取出GPS/BD-2信号中的有用信息;多路径效应抑制的目标是减小多径误差对定位精度的影响;数据融合的目标是利用多源数据提高定位精度和可靠性。
3、算法实现和仿真验证:在Matlab等环境下对优化后的算法进行实现和仿真验证,并对实验结果进行分析和评估。
4、精度评估和性能测试:通过实验和仿真,比较优化后的算法与传统GPS/BD-2定位算法的精度和性能,并从实用角度出发进行讨论和分析。
第 21 卷 第 11 期2023 年 11 月太赫兹科学与电子信息学报Journal of Terahertz Science and Electronic Information TechnologyVol.21,No.11Nov.,2023一种高动态弱GNSS信号跟踪解调算法研究与实现吴军伟,梁涛涛,王川(中国工程物理研究院电子工程研究所,四川绵阳621999)摘要:在某些高动态弱信号场景中,载波相位难以锁定。
为实现对高动态弱全球导航卫星系统(GNSS)信号的跟踪,考虑锁频环较锁相环更为鲁棒,提出了一种基于锁频环(FLL)+差分解调的算法,实现对GNSS信号的跟踪和解调。
该算法采用二阶FLL实现对卫星信号的频率进行跟踪,差分解调算法实现对比特数据的解调。
工程应用上,算法采用现场可编程门阵列和数字信号处理器(FPGA+DSP)的架构实现,在FPGA中实现信号的跟踪信号的前处理,在DSP中实现跟踪环路算法、位同步和差分解调。
本文在Matlab平台中实现算法的仿真,通过模拟器平台和对天接收真实的GNSS信号对算法进行验证。
仿真结果与实验结果表明,该算法在高动态弱信号条件下能实现对卫星信号的稳定跟踪和数据的解调,克服了锁相环难以锁定导致数据无法解调的难题,最终实现GNSS信号在该条件下的位置、速度和时间(PVT)解算。
关键词:高动态弱GNSS信号;二阶FLL;比特同步;差分解调;现场可编程门阵列和数字信号处理器(FPGA+DSP)中图分类号:TN961 文献标志码:A doi:10.11805/TKYDA2021322Research and implementation of tracking demodulation algorithm for highdynamic and weak GNSS signalWU Junwei,LIANG Taotao,WANG Chuan(Institute of Electronic Engineering,China Academy of Engineering Physics,Mianyang Sichuan 621999,China)AbstractAbstract::In some high dynamic weak signal scenarios, the carrier phase is difficult to lock. In order to track the high dynamic weak Global Navigation Satellite System(GNSS) signal, considering thatthe Frequency Locked Loop(FLL) is more robust than the Phase-Locked Loop(PLL), an algorithm basedon FLL+differential demodulation is proposed to track and demodulate the GNSS signal. The algorithmuses the second-order FLL to track the frequency of satellite signal, and the differential demodulationalgorithm is employed to demodulate bit data. In engineering application, the algorithm adopts thearchitecture of Field Programmable Gate Array+Digital Signal Processing(FPGA+DSP), realizes the pre-processing of signal tracking signal in FPGA, and realizes the tracking loop algorithm, bitsynchronization and differential modulation in DSP. The simulation of the algorithm is performed inMatlab platform, and the algorithm is verified by receiving the real GNSS signal from the simulatorplatform and the sky. The simulation and experimental results show that the algorithm can realize thestable tracking of satellite signal and data demodulation under the condition of high dynamic and weaksignal, and overcome the problem that the data cannot be demodulated due to the difficulty of PLLlocking, finally realize the Position Velocity and Time(PVT) solution of GNSS signal under this condition.KeywordsKeywords::high dynamic and weak Global Navigation Satellite System(GNSS) signal;the second order Frequency Locked Loop(FLL);bit synchronization;differential demodulation;Field ProgrammableGate Array+Digital Signal Processor(FPGA+DSP)在某些特殊的弱信号、高动态环境下[1],天线相位衰减起伏较大,锁相环无法实现对GNSS信号的相位跟踪,无法实现数据的解调和观测量的提取,导致PVT解算结果错误甚至解算中断。
多系统伪距单点定位是一种通过接收来自多个卫星的信号并利用其伪距信息进行单点定位的方法。
这种定位方法适用于GPS、GLONASS、Beidou和Galileo等多个全球卫星定位系统,可以提高定位的准确性和鲁棒性。
在实际应用中,通过Matlab代码实现多系统伪距单点定位是一种常见的方法。
本文将介绍多系统伪距单点定位的原理,以及利用Matlab代码实现这一定位方法的步骤和技巧。
一、多系统伪距单点定位原理多系统伪距单点定位主要依赖于接收来自多个卫星的信号,并通过测量信号的伪距值来进行定位。
接收机接收到来自不同卫星的信号,并测量其与接收机的距离,然后根据测得的伪距值和卫星的位置信息,利用三角定位原理计算出接收机的位置。
在实际应用中,由于不同卫星系统的误差和干扰,需要对各个卫星信号的伪距值进行合理的处理,如加权平均、差分定位等,以提高定位的精度和鲁棒性。
二、Matlab代码实现多系统伪距单点定位步骤1. 读取卫星星历数据和接收机观测数据在Matlab中,可以利用现有的卫星星历数据和接收机观测数据进行多系统伪距单点定位。
通过Matlab的文件读取函数读取卫星星历数据和接收机的观测数据,然后将其存储为Matlab中的数据结构,并进行初步的数据处理。
2. 卫星信号伪距解算利用读取的卫星星历数据和接收机观测数据,可以利用现有的卫星信号伪距解算算法,在Matlab中编写代码对不同卫星信号的伪距值进行计算和处理。
这一步骤需要考虑卫星信号的误差和干扰因素,对伪距值进行合理的加权、滤波和校正,以提高定位的精度和鲁棒性。
3. 接收机定位计算在完成卫星信号伪距解算之后,可以利用Matlab中的三角定位算法对接收机的位置进行计算。
根据处理后的卫星信号伪距值和卫星位置信息,编写Matlab代码实现接收机的位置计算,并利用可视化工具展示定位结果,以便对定位精度和鲁棒性进行评估和分析。
4. 定位精度分析与优化可以利用Matlab对定位结果进行精度分析和优化。
GPS信号源导航电文的生成洪源 陆明泉(清华大学电子工程系,北京 100084)摘要;全球定位系统GPS(Global Positioning System)信号源由软件部分和硬件部分组成,模拟各种条件下接收到的GPS 卫星信号,便于接收机性能测试和功能调试。
本文主要研究设计GPS信号源的软件部分,包括时钟计算模块、用户轨道模块、卫星星历模块、可见星视图模块、导航电文生成模块、误差计算模块、参数计算模块等。
基于Matlab的GUI用户图形界面,将以上各功能模块综合起来,实现了可视化操作,模拟卫星运行环境、接收机运行轨迹和信号传播中的多种误差,按照用户设定的接收机运动模式和仿真时间要求,计算卫星的位置速度、可见星PRN号,最后根据这些参数结合相应的时间参数来形成可见星的二进制导航电文。
通过程序仿真与广播星历比对, 验证生成的导航电文符合GPS信号源要求。
关键词:GPS信号源,广播星历,可见星,导航电文The production of the navigation data for GPS signal simulatorHong Yuan, Lu Mingquan( Department of Electronic Engineering, Tsinghua University, Beijing 100084, China)Abstract: The Global Positioning System signal simulator which can emulate the real GPS signals under all kinds of conditions received by GPS receivers and test the performance of GPS receivers, consists of software and hardware. The software part, implemented in MATLAB, is developed in this thesis. It simulates the environment of the constellation, the receiver trajectory and various errors during propagation. User defined parameters, such as date and GPS time, user trajectory. With the format of the RINEX broadcast ephemeris, the coordinate of the GPS satellite position and velocity and the visible satellites’ PRN numbers can be calculated, at last the navigation data of the visible satellites can be simulated. It is verified by the procedure simulating and validated with the original ephemeris.Key words: GPS signal simulator; broadcast ephemeris; visible satellites; navigation data1 引言GPS卫星信号源可以根据用户的动态环境, 精确产生接收机收到的GPS卫星信号,接收机根据这些信号,可测定目标的位置和速度, 通过与理论值的比较, 可以对GPS接收机的捕获、跟踪和测量精度进行鉴定。
北斗接收机位置解算算法及验证刘瑞华;丁其金【摘要】接收机位置解算作为卫星导航定位中极其重要的一环,所使用算法的正确与否,直接影响到定位精度.文中使用诺瓦泰接收机采集到的北斗星历数据和伪距观测量,对北斗接收机位置解算的经典算法,包括北斗卫星位置的解算算法和最小二乘法接收机位置解算算法,进行了计算及分析验证.结果表明,利用北斗空间控制接口文件所提供的算法计算所得卫星位置三维误差均在10 m以下,使用最小二乘法解算出的接收机位置三维误差均在5 m以下,均满足北斗官方性能规范要求,从而验证了算法的正确性以及可行性.【期刊名称】《全球定位系统》【年(卷),期】2018(043)004【总页数】6页(P85-90)【关键词】北斗卫星导航系统;卫星位置解算;接收机位置解算;最小二乘法【作者】刘瑞华;丁其金【作者单位】中国民航大学电子信息与自动化学院,天津300300;中国民航大学电子信息与自动化学院,天津300300【正文语种】中文【中图分类】V448.20 引言北斗卫星导航系统(BDS)是我国自主建设、独立运行的卫星导航系统,正在逐步完善,2020年前后,将向全球提供服务[1]。
其应用范围也越来越广,在农业、交通及航空等各个行业中发挥着越来越重要的作用。
因此,对北斗接收机的需求也越来越大,各导航设备研制单位竞相展开了北斗接收机的研制工作。
虽然不同的应用环境,对北斗接收机要求的侧重点不同,但接收机位置解算都是必须考虑的部分。
本文对北斗接收机的位置解算过程进行分析研究,并结合MATLAB软件,分别使用北斗空间控制接口文件所提供的算法解算北斗卫星位置和最小二乘法解算北斗接收机位置,并进行精度分析,验证了算法的正确性和可行性。
1 利用广播星历解算卫星位置北斗卫星位置解算是接收机位置解算中至关重要的一部分,因为卫星位置是否准确直接影响了接收机的定位精度。
北斗卫星导航系统采用三种轨道卫星,即地球同步轨道 (GEO)、倾斜地球同步轨道(Inclined IGSO)和中地球轨道(MEO)组成的混合星座[1],因此,北斗卫星位置的解算方法与GPS略有不同。
数字信号处理软件实验——MatLab仿真实验报告学院:电子工程学院班级:2013211202姓名:学号:实验一:数字信号的 FFT 分析1、实验内容及要求(1) 离散信号的频谱分析:设信号 此信号的0.3pi 和 0.302pi 两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。
(2) DTMF 信号频谱分析用计算机声卡采用一段通信系统中电话双音多频(DTMF )拨号数字 0~9的数据,采用快速傅立叶变换(FFT )分析这10个号码DTMF 拨号时的频谱。
2、实验目的通过本次实验,应该掌握:(a) 用傅立叶变换进行信号分析时基本参数的选择。
(b) 经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT ) 后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。
(c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。
(d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。
(e) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio 。
3.设计思路及实验步骤1)离散信号的频谱分析:该信号中要求能够清楚的观察到三根谱线。
由于频率0.3pi 和0.302pi 间隔非常小,要清楚的显示,必须采取足够大小的N ,使得分辨率足够好,至少到0.001单位级,而频率0.45pi 的幅度很小,要清楚的观察到它的谱线,必须采取幅度够大的窗函数,使得它的频谱幅度变大一些。
同时还要注意频谱泄漏的问题,三个正弦函数的周期(2pi/w )分别为20,40,1000,所以为了避免产生频谱泄漏(k=w/w0为整数),采样点数N 必须为1000的整数倍。
CA码生成原理及matlab程序实现C A码生成原理及m a t l a b程序实现The Standardization Office was revised on the afternoon of December 13, 2020作业:用Matlab写C/A码生成器程序,并画生成码的方波图。
C/A码生成原理C/A 码是用 m 序列优选对组合形成的 Gold 码。
Gold码是由两个长度相同而互相关极大值为最小的 m 序列逐位模2 相加所得到的码序列。
它是由两个10 级反馈移位寄存器组合产生的,其产生原理如图1 所示。
图1 C/A码生成原理发生器的抽头号为3和10,发生器的抽头号为2、3、6、8、9、10;发生器的第10位输出的数字即为码,而码是由的两个抽头的输出结果进行模2相加得到。
卫星的PRN码与延时的量是相关联的,对C/A码来说,每颗卫星都有特别的延时,如第1颗GPS卫星的G2 抽为2、6,第2颗为3、7,第3 颗为4、8,第4 颗为5、9 等,如图2所示。
通过G2 相位选择可以产生结构不同的伪随机码,从而可以实现不同卫星之间的码分多址技术与卫星识别。
图2 prn序号与G2抽头、时延对应关系基于MATLAB的GPS信号实现编写成“codegen”程序,输入[ca_used]=codegen(svnum),其中svnum为卫星号,ca_used为得到的C/A码序列。
程序具体实现流程如下:在程序中定义一个数组,使得卫星号与G2的码片延时一一对应。
gs2=[5;6;7;8;17;18;139;140;141;251;252;254;255;256;257;258 ;469;470;471;472;473 ;474;509;512;513;514;515;516;859;860;861; 862];定义两个1×1 023 的数组 g1、g2 用来存放生成的Gold 码。
定义一个全1 的10 位数组,作为移位寄存器,相当于G1、G2 生成模块的初值均置为全“1”。
matlab数字信号处理案例
1.语音信号处理:通过MATLAB分析语音信号的声音频谱,提取语音的基频、形态频谱、共振峰等特征,实现语音的录取、编码、压缩、分割等处理。
2.图像信号处理:利用MATLAB进行图像信号的去噪、增强、分割、识别等处理,如对卫星遥感图像进行分析,提取特定地物的信息,对医学图像进行病灶检测和诊断等。
3.生物信号处理:通过收集并处理电生理信号来分析生物系统的功能和活动,如心电信号的特征提取和诊断,脑电信号的频谱分析和事件相关电位分析,生物信号的模拟和仿真等。
4.控制系统信号处理:MATLAB可用于控制系统信号的建模和仿真,如对机器人和无人车等的运动控制、对“指挥舞台”的音频控制等。
5.通信信号处理:MATLAB可用于模拟通信信号的传输过程,通过配合不同的信号处理算法来处理数字信号,如对调制信号进行解调,对多天线通信系统进行信号检测、捕捉、译码等。
6.物理信号处理:例如遥测信号处理、光学信号处理、雷达信号处理等,将MATLAB与其他物理类型软件相结合,根据特定场景下信号处理的需要,选择相应的处理算法完成信号的分析和识别。
北斗卫星B1频段信号质量时域评估方法赵雅男;刘瑞华;王剑【摘要】针对北斗信号的调制特点,用离线数据分析方法,理论分析与实测信号测试相结合,从北斗B1频点信号时域波形、眼图等方面对北斗B1频段信号数据的时域进行了质量分析评估测试,验证了评估方法的可行性,得到相对完善的时域评估方法,为信号时域畸变排查提供依据.此外,为了衡量信号的畸变程度,计算了国际民航组织发布的国际民用航空公约附件10所采纳的2OS模型中的3个参数:数字畸变中的超前/滞后参数、模拟畸变中的谐振频率和衰减因子的数值,并分析了其与测距偏差之间的关系,为单颗星信号质量在时域方面的评估提供了判断依据.%According to the modulation characteristics of BeiDou signal,the time domain quality of Beidou B1 frequency band signal was assessed from the time-domain waveforms,eye diagrams of Beidou B1 frequency signal and other aspects by using offline data analysis method, and theoretical analysis combined with real signal test.The feasibility of the evaluation method was verified and a relatively perfect time domain evaluation method was obtained to provide a basis for checking the signal time domain distortion.Besides,in order to measure the degree of signal distortion,three parameters were calculated,namely,lead/lag parameters in TMA, resonance frequency and attenuation factor in TMB,derived from the 2OS model adopted in Annex 1 0 of the Convention on International Civil Aviation issued by ICAO.The relationship between ranging bias and these parameters was analyzed to provide criteria for evaluating the single-satellite signal quality in time-domain.【期刊名称】《中国空间科学技术》【年(卷),期】2018(038)001【总页数】7页(P29-35)【关键词】卫星导航系统;信号质量评估;时域;信号畸变;离线数据分析【作者】赵雅男;刘瑞华;王剑【作者单位】中国民航大学电子信息与自动化学院,天津300300;中国民航大学电子信息与自动化学院,天津300300;中国民航大学电子信息与自动化学院,天津300300【正文语种】中文【中图分类】V249.32信号质量评估指标主要包括时域、频域、相关域、调制域、测距域等,对北斗卫星时域信号的恢复与评估是对导航信号质量分析的基础。
基于分段串行匹配滤波结合FFT的快速捕获方法研究与FPGA实现文承淦;纪元法;孙希延;符强【摘要】随着GPS现代化的进行和我国北斗2卫星导航系统的发展完善,特别是GPS L5和北斗B3等长码的应用,传统的捕获方法消耗资源过大或者捕获时间过长,已经很难适应需要.在保证快速捕获的前提下,提出了一种分段串行匹配滤波结合FFT快速捕获的方法,有效的减少了资源的消耗和缩短了捕获时间.首先分析了这种捕获算法的原理和理论推导,并说明了其关键技术的实现.然后和其他两种捕获算法对比分析了SPMF-FFT捕获算法的优劣.最后通过研究该算法的性质,来说明该算法关键参数的设置.【期刊名称】《科学技术与工程》【年(卷),期】2016(016)017【总页数】7页(P204-209,239)【关键词】卫星导航接收机;长码捕获;分段串行匹配滤波;快速傅里叶变换;FPGA 【作者】文承淦;纪元法;孙希延;符强【作者单位】桂林电子科技大学通信与信息学院,桂林541004;桂林电子科技大学通信与信息学院,桂林541004;桂林电子科技大学通信与信息学院,桂林541004;桂林电子科技大学通信与信息学院,桂林541004【正文语种】中文【中图分类】TN927近年来,随着全球卫星定位系统GNSS (global navigation satellite system)技术的快速发展,卫星导航技术已从最初单纯的军事用途逐步深入到运输、测绘、灾害评估等与人们生活相关的领域。
发展多系统、多频点、多用途卫星导航接收机将逐步成为日后的一个重要方向。
而其中伪码同步技术是直接序列扩频系统中的关键技术,同步过程通常分为:捕获和跟踪。
捕获是伪码同步的关键。
文献[1,2]采用基于时域滑动相关的捕获算法,利用大量的并行相关器实现频率和伪码的直接捕获,此算法灵敏度不高,并且捕获速度慢;文献[3]采用传统FFT并行码相位捕获的方法,也就是频率串行的搜索方法;文献[4]采用传统数字匹配滤波的方法具有捕获时间短和数字实现容易的特点,但实现起来占用大量硬件资源。
仿真报告课程名称:自动化技术导论报告题目:MATLAB/simulink系统仿真分析班级姓名学号xxxxxx自动化学院2016年4月软件版本:MATLAB R2010bMATLAB强处理能力MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++ 。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
MATLAB图形处理MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB 对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
. . 页脚 北斗卫星导航信号串行捕获算法MATLAB仿真报告
一、 原理 卫星导航信号的串行捕获算法如图1所示。 ×
×∑∫
( )2
本地PRN发生器∫( )2
本地载波发生器
GPS中频信号×
判决
检波器≥VT?
Yes 转跟踪
NO 继续搜索图1 卫星导航信号的串行捕获算法 接收机始终在本地不停地产生对应某特定卫星的本地伪码,并且接收机知道产生的伪码的相位,这个伪码按一定速率抽样后与接收的GPS中频信号相乘,然后再与同样知晓频率的本地产生的载波相乘。GPS中频信号由接收机的射频前端将接收到的高频信号下边频得到。实际产生对应相位相互正交的两个本地载波,分别称为同相载波和正交载波,信号与本地载波相乘后的信号分别成为,产生同相I支路信号和正交的Q 支路信号。 两支路信号分别经过一个码周期时间的积分后,平方相加。分成两路是因为C/A码调制和P码支路正交的支路上,假设是I支路。当然由于信号传输过程中引入了相位差,解调时的I支路不一定是调制时的I支路,Q支路也一样,二者不一定一一对应,因此为了确定是否检测到接收信号,需要同时对两支路信号进行研究。相关后的积分是为了获取所有相关数据长度的值的相加结果,平方则是为了获得信号的功率。最后将两个支路的功率相加,只有当本地伪码和本地载波的频率相位都与中频信号相同时,最后得到的功率才很大,否则结果近似为零。根据这个结论考虑到噪声的干扰,在实际设计时应该设定一个判定门限,当两路信号功率和大于设定的门限时则判定为捕获成功,转入跟踪过程,否则继续扫描. . 页脚 其它的频率或相位。 二、 MATLAB仿真过程及结果 仿真条件设置:抽样频率16MHz,中频5MHz,采样时间1ms,频率搜索步进1khz,相位搜索步进1chip,信号功率-200dBW,载噪比55dB (1) 中频信号产生 卫星导航信号采用数字nco的方式产生,如图2所示。 载波nco控制字为:carrier_nco_word=round(f_carrier*2^N/fs); 伪码nco控制字为:code_nco_word=round(f_code*2^N/fs);
32位Adder12位载波rom
模2046计数器伪码rom32位Adder
Divide by 2^20溢出时输出脉冲
carrier_nco_word
code_nco_wordfsample××+
幅度加性噪声
图 2 其中载波rom存储的是正弦信号的2^12个采样点,伪码rom存储长度为2046的卫星伪码。
这样伪码采用2psk的方式调制到射频,加性噪声很小是理想接收中频信号如图3所示。
020406080100120140160180200-1.5-1-0.500.511.5x 10-10
图3 理想中频信号 (2)噪声功率估计
实际接收机接收到的导航信号淹没在噪声中,本程序对接收到的信号进行了. . 页脚 噪声估计并进行了放大。采用滑动平均估计法估计噪声功率,滑动平均估计法原理如图4所示。
图4 噪声功率滑动平均估计法原理 迭代滤波器因子取0.8.功率估计结果是-191.48dBW。仿真中将接收中频信号放大到了signal_power_dB=-4.94dBW。 这个功率与后面的判决门限有关系。 (2) 检测门限的确定 常见的检测方法有幅度检波、平方检波和平方律检波。幅度检波器的输出为
在H0假设下,z(k) 服从瑞利分布,其概率密度函数为: 在H(1)假设下,z(k)服从莱斯分布,其概率密度函数为 式中, 为零阶修正的贝塞尔函数。 平方律检波输出为:
在H0假设下,z(k)服从自由度为 2M的 伽马分布,其概率密度函数为 在H1假设下,z(k)服从自由度为 2M的 卡方分布,其概率密度函数为
幅度检波器
NQiNnniQN12
1迭代低通
滤波器标度
因子
比较器
+
-
TV比较结果
XpsIpsQ
2210222000(/)exp[]() 02kkkkkkkZZDDZfZHI Z
0 )2exp()()2(1)/(201200kkMkMkZZZMHZf. . 页脚
当 M=1时,平方检波累积器就变成平方律检波器 ,可以计算出当归一化门限为Vt时其虚警概率为:
其中 采用恒虚警率检测,设虚警率为pfa,本仿真取0.1 ,采用平方律检波,归一化判决门限为Vt=(-2*log2(pfa))^0.5,实际判决门限为VT=Vt*signal_power (3) 判决算法 常见判决算法有单次判决、M/N判决、(M/N+1)判决和Tong判决,采用单次判决,虚警率为pfa=0.1 . 归一化检测门限为Vt=2.5776,判决门限为VT=0.8248; (5)仿真结果 搜索21个多普勒频点和40和相位点,仿真设置接收中频为4.991MHz ,相位为2,结果如图5所示。
4.994.99555.0055.01x 106010203040050100150
dopplercodephase 图中最大处的相关结果是144,其他非峰值最大的约为1.约21dB。部分相关值如下表:
11/22112220001()(/)()exp()() 022MkkkkMkZZZfZHIZ
022001(/)exp[]221exp2TTkfakkkVV
t
ZPfZHdZdZV
20tTVV. .
页脚 可以看出绝大部分数值都在门限之下,但也存在若干个在门限之上的数值,这些点可能造成虚警。 . .
页脚 附 :仿真主程序 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%´®Ðв¶»ñËã·¨·ÂÕæ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; clc; % f_doppe=5000; fsample=21e6; f_m=5e6; t_sim=1e-3/1; df=1/t_sim; cnt_det=1; %Åоö´ÎÊý
f_carrier=f_m-9*df; %½ÓÊÕÔØ²¨ÆµÂÊ f_code=2.046e6; %αÂëËÙÂÊ code_phase_init=2; %Ê×´ÎËÑË÷ʱ½ÓÊÕÂëÏàλ code_phase_init_cmp=code_phase_init;
f_local_init=f_m-10*df; %±¾µØÔز¨nco³õʼƵÂÊ local_code_phase=3; %%%%±¾µØÎ±ÂëÏàλ
cnt_doppler=21; cnt_phase=40;
dot_num=t_sim*fsample; %·ÂÕæÒ»¸öαÂëÖÜÆÚµÄµãÊý dBW_signal_pow=-200; dB_C_I=60; Am=10^(dBW_signal_pow/20)*2^0.5;
pre_noise_power=dBW_signal_pow-dB_C_I+(10*log10(f_carrier)); corr_result1=zeros(cnt_doppler,cnt_phase); for dect_num=1:cnt_det %Åоö´ÎÊý for num_phase=1:cnt_phase %²éÕÒÏàλµãµã for num_doppeler=1:cnt_doppler %µ¥´Î²éÕÒ¶àÆÕÀÕµã if num_doppeler==1 f_local=f_local_init; else f_local=f_local+df; end
signal_r=signal_gen(fsample,f_carrier,f_code,code_phase_init,dBW_signal_pow,dB_C_I,dot_num); %%%%%ÕâÀïÔØ²¨Ö¸ÏÂ±ßÆµºóµÄÖÐÆµ,ÊÕµ½ºó´