北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)

合集下载

基于MATLAB的GPS软件接收机捕获与跟踪算法实现

基于MATLAB的GPS软件接收机捕获与跟踪算法实现

基于MATLAB的GPS软件接收机捕获与跟踪算法实现第l5卷第4期中国惯性技术学报2007年8月JournalofChineseIneaialTechnology文章编号:1005—6734(2007)04—0423—04VO1.15NO.4Aug.2007基于MA TLAB的GPS软件接收机捕获与跟踪算法实现陈熙源,张昆鹏(东南大学仪器科学与工程学院,南京210096)摘要:研究了GPS软件接收机的捕获和跟踪算法,并基于Matlab软件平台和射频前端在Pc 上实现了GPS软件接收机样机.介绍了GPS软件接收机的结构和数据采集硬件,讨论了GPSC/A码的特性,产生原理以及捕获过程.针对传统的串行搜索算法慢的缺点以及高动态GPS软件接收机的特点,在该样机中实现了快速的基于循环卷积的并行捕获算法,并联合使用超前滞后环和对相位反转不敏感的科斯塔斯锁相环分别对码相位和多普勒频偏进行跟踪,解调得到导航电文.仿真和测试结果表明,使用GPS软件接收机进行信号处理的思想使用户在算法处理和软件升级等方面具有更大的灵活性,可应用于下一代任何全球导航卫星定位系统(GNSS)和空基增强系统(SBAS)接收机的设计.关键词:GPS软件接收机;仿真;捕获;跟踪中图分类号:U666.1文献标识码:A RealizationofacquisitionandtrackingalgorithmsforGPSsoftwarereceiverbasedonMA TLABCHENXi—yuan,ZHANGKun—peng (SchoolofInstrumentScienceandEngineering,SoutheastUniversity,Nanjing210096,China) Abstract:AcquisitionandtrackingalgorithmsforGPSsoftwarereceiverwerestudied.AprototypeofGP Ssoftware receiverthatrunsonPCWasdevelopedbasedonMatlabplatformandRFfront—end.ThestructureofGP Ssoftwarereceiverandthedatacollectionhardwarewerepresented.Theprope~iesandgenerationprincipleandacq uisitionprocessoftheGPSC/Acodewerediscussed.Sincetheconventionalserialsearchingalgorithmisslowan dconsideringthedemandofhighdynamicGPSsoftwarereceiver,afastparalleltrackingalgorithmbasedoncyclicconvolutionWasimplementedinthesamplereceiver,andearly-latercodetrackingloopandCostasphas elockloopwereusedtotrackcodephaseandDopplerfrequencyshift,respectively.Sothenavigationdatacouldbede modulated. SimulationsandexperimentsshowthattheideasofsignalprocessingusingGPSsoftwarereceiverprovid emoreflexibleinalgorithmsprocessingandsoftwareupdatingforusers,andCanbeappliedtothenextgeneratio nGlobal NavigationSatelliteSystemandSpaceBasedAugmentationSystemreceiversdesign.Keywords:GPSsoftwarereceiver;simulation;acquisition;tracking美国GPS的现代化,俄罗斯GLONASS的复兴,欧洲伽利略系统的出现和我国”北斗二代”的成熟,即将带来下一代全球导航卫星定位系统.设计能灵活充分利用所有导航卫星信号的下一代GNSS接收机是一项具有挑战性的工程【”.目前GPS接收机由射频前端,用于信号处理的ASIC和进行位置解算的CPU组成【.软件可以下载~EJCPU中改变接收机的性能参数,然而预先设计的跟踪通道,相关器和控制环路参数已固化~OASIC中,限制其灵活性.而GNSS软件接收机是下一代GNSS接收机设计的最佳方案.GNSS软件接收机通过软件实现其信号捕获和跟踪处理而不是硬件【.各GNSS虽然不同,但都是基于信号处理而进行需要的操作.本文把GPS软件接收机作为一个例子实现,其思想可以应用于任何GNSS软件接收机的设计.收稿日期:2006-04-05;修回日期:2007~06—18基金项目:教育部新世纪人才支持计划(NCET-06.0462);船舶支撑技术基金项目(6922001029) 作者简介:陈熙源(1969一)男,副教授,博士生导师,主要从事软件接收机,组合导航,惯性元器件标定及误差建模,非线性滤波,信息融合及光纤传感测量等方面的研究.E-mail:****************.ca424中国惯性技术学报2007年8月1GPS软件接收机GPS软件接收机在最前端使用ADC把GPS信号转化成数字信号,换句话说,在尽可能靠近天线的部分数字化输入信号【.如图l天线接收从GPS卫星传送的信号,前端把输入信号放大到合适的幅度,并把射频转换到合适的频率,ADC数字化输入信号.天线,射频前端和ADC构成GPS软件接收机中的硬件部分【.硬盘可以存储数据进行事后处理,也可使用模拟器的数据.信号量化以后,用软件对其进行处理.捕获就是找出可见卫星的信号,跟踪是更精确地得到信号的相位并检测出导航数据的相位变化,从而获得子帧和导航数据,得到卫星电文和伪距【最终,解算出位置,速度和时间.本文中,把GPS信号从1575.42MHz下变频~xJ2o.49MHz,以l6.37MHz的速率采样,得到4.12MHz的数字中频信号.目前我们研发的重点在基带信号处理部分,使用北京东方联星公司的中频信号采样器作为硬件部分.采样器输出信号可用于实时处理或保存到硬盘进行事后处理.图1GPS软件接收机组成结构Fig.1ArchitectureofGPSsoftwarereceiver2GPSC/A码的捕获预先产生存储于内存的本地C/A码和载波复现信号,在信号捕获和跟踪中反复使用.2.1GPSC/A码的特性和产生将来GPS的信号结构可能会改变,不过目前GPS卫星主要传送频率分别为1575.42MHz和1227.60MHz的Ll和L2两路载波信号.Ll频段包括C/A和P(Y)码,L2频段只包括P(Y)码.Ll频段的C/A~P(Y)码的载波是正交的,表达式如下【6】:SL1=4P(t)D(t)cos(2nff+)+C(t)D(t)sin(2nft+0)(1)】即为Ll频段的信号,4是P码的幅度,P(t)+-1是P码的相位,D(t)=±l表示卫星数据,是Ll 频段的频率,是初始相位,是C/A码的幅度,C(f)=±l表示C/A码的相位.本文仅研究Ll频段的C/A码捕获和导航数据解调.C/A码是码速率为1,023MHz的二进制调相信号(BPSK),每个码元约977.5括1023个码元,所以其周期为1ms,每毫秒重复出现.为了找到c,A码的起始码元只需要很少的数据,比如1ms.如果没有多普勒效应,1ms的数据包括1023个码元.处理30s的数据可以得到卫星电文的头三帧,那么接收机最少得~lJ30s的数据才可首次解算出用户的位置.GPSC/A码属于伪随机码(PRN)【,不同的卫星使用不同的C/A码.如图2C/A是两组1023位的PRN序YlJG1,G2相乘得到的.C/A码最主要的特性是它们的相关性.高的自相关值和低的互相关值为信号捕获提供了大的动态域.自相关最大值1023,等于C/A码的长度,其他自相关值为63,~1,一65.互相关也有三个值,63,一1和一65【oJ.图2C鹕的产生原理Fig.2GenerationprincipleofC/Acode2.2GPSC/A码的捕获采用捕获算法判断可见卫星并检测其码相位和载波频率.相对于传统的串行捕获算法,本文使用快速的基于循环卷积的并行码捕获算法【.长度为Ⅳ的有限序ylJx(n)的离散傅立叶变换是:Ⅳ一】()=∑x(n)e-j2Ⅳ(2)n=O两个长度为Ⅳ的有限序y~Jx(n)和月)的互相关函数是:Ⅳ一1z()=∑()+)(3)m=O在(3)中已忽略了一个因子.联立(2)和(3)得到和互相关序列的离散傅立叶变换:Ⅳ卅n一+/L∑Ⅳe,/L¨∑删=Ⅳ吖+/L,/L∑∑Il,七/LZ第4期陈熙源等:基于MA TLAB的GPS软件接收机捕获与跟踪算法实现425=X’()y)(4)+表示复数共轭丽由式(4)看出,xfffly~f.相关序列的离散傅立叶变换可由频域的减y与另一个的共轭相乘得到.从而时域的互相关函数可以由乘积的傅立叶反变换得到.如上并行码搜索捕获算法对输入信号和本地码信号进行了循环相关,然而它并没有在所有可能的载频范围搜索,故循环卷积需要在所有可能的载频范围进图3并行码捕获算法Fig.3Parallelcodeacquisitionalgorithm行搜索.在高动态下考虑到多普勒效应后的频偏为±lOkI-Iz.出于频率误差和计算量的考虑,搜索步长设为500Hz,则最大的频率误差为+_250Hz.载波跟踪环的初始带宽要满足这一点.串行捕获算法一般以l或1/2个码元进行捕获.而并行码捕获算法采样速率更高,这儿以16MHz的速率采样,即可提供约1/16个码元的精度,其精度相对高得多.采用并行码捕获算法得到的结果如图4,左图为本算法搜索到第5颗卫星当前不可见,右图为搜索到第6颗卫星当前可见,并得出其码相位和多普勒频偏.3GPS信号的跟踪捕获到信号后,为了得到第5颗星第6颗星.一..一...,?:图4并行码捕获算法得到的结果Fig.4Theresultsobtainedbyparallelcodeacquisitionalgorithm导航数据,需要对其进行跟踪.跟踪环路使用捕获得到的码相位和多普勒频偏进行.本文联合使用超前滞后环和科斯塔斯锁相环对码相位和多普勒频偏进行跟踪,其框图如图5所示.3.1码跟踪环码跟踪环中,本地产生的超前,当前和滞后三路信号与去除了载波的输入信号进行相关.为了增加码环跟踪的可靠性,同时在I和Q路进行跟踪.六路相关器输出的结果同时送入码鉴别器,得到合适的码相位后,调整码生成器的相位.选择归一化的超前减去滞后功率鉴别器,公式如下【.】:.=12222㈦(+Q)+(+Q)如果D>0.1,本地C/A码向右移动;如果一0.1,本地C/A码向左移动.码环跟踪结果如图6所示.I路中超前滞后相关值基本相等,当前相关值最大.3.2载波跟踪由于GPS信号中导航数据相位反转,本文选择对相位反转不敏感的科斯塔斯锁相环进行载频跟踪.基于反正切鉴别器的高精度和对相位反转不敏感的特性,选择其作为载波环路鉴别器.公式如下【.】:图5码与载波跟踪环Fig.5Codeandcarriertrackingloopl路输出0501001502130时间/ms图6超前滞后码环跟踪结果Fig.6Trackingresultswithearly—latecodeloop巨l86420426中国惯性技术学报2007年8月=arctan(Qp/Ip)(6)使用两阶的载波环路滤波器跟踪多普勒频率的变化,每毫秒调整一次,使之接近输入信号的中频.滤波器函数如下【】:+(7)G=18(丽co,,T(8)L1一~————————————————————6JJi}d4+4+()’G:—1.::4+丁+(7)一2p工’1.)4式中,为压控振荡器增益,kd为鉴别器增益,是带宽,是阻尼系数,积分时间.载波跟踪环得到的多普勒频率如图7,载波跟踪环当前I路输出的结果如图8,此即为跟踪环路得到的解调数据,每毫秒输出一次.300020001000.1000.2000.3O00(9)科斯塔斯环路载波跟踪时间/ms图7科斯塔斯环多普勒频偏跟踪结果Fig.7TrackingresultforDoppler-frequencyoffsetwit1lCostasloop跟踪环路输出几1jIflIO2004O08008001000时间/ms图8跟踪环路解调出的导航电文Fig.8Navigationdatademodulatedbytrackingloop4结论本文基于PC和中频信号采样器研究了GPS软件接收机的信号捕获和跟踪算法,分析了FFT 捕获方法,超前滞后码和科斯塔斯载波跟踪环路,实现了GPS软件接收机样机.使用软件接收机进行GPS信号处理的思想可以用于任何GNSS接收机的设计.将来的工作是开发能兼容GPS和伽利略等系统的实时的GNSS接收机.参考文献(Reference):【1】JamesBao-yenTsui.Fundamentalsofglobalpositioningsystemreceivers:asoftwareapproach[M].New Y ork:JohnWiley&SonsInc.,2000.【2】尹燕,赵明生,蔡凡.数字直扩接收机中同步环路设计与仿真[J】.计算机仿真,2006,23(11):325—331.YINY an,ZHAOMing-sheng,CAIFan.TrackingloopdesignandsimulationfordigitalDSSSreceivers[ J].ComputerSimulation,2006(11):325—331.[3】3SchweikertR,WOrzT,DeGaudenzi,eta1.OnsignalstructuresforGNSS-2【J】.InternationalJournalofSatelliteCommunications,2000,18(Issue4-5):271—291.【4】李士兵,王美玲,刘彤.基于GP4020的GPS接收机软件设计[J】.中国惯性技术学报,2006,l4(4):35—38.LIShi.bing,WANGMei-ling,LIUTong.DesignofsoftwareofGPSreceiverbasedonGP4020[J].Journ alofChineseInertialTechnology,2006,l4(4):35—38.【5】SchmidAndr6Neubauer,EhmH,binedGalileo/GPSarchitectureforenhancedsensitivityrece ption[J].InternationalJournalofElectronicsandCommunications,2005,59:297—306.【6】LeyssensJ,MarkgrafM.Evaluationofacommercial-off-the-shelfdual-frequencyGPSreceiverforuseon LEOsatellites[C]//ProceedingsoflONGNSS.LongBeach,Cflifomi~USA,Sept.13—16,2005:1—11.【7】唐康华,吴美平,胡小平.基于射频前端的GPS软件接收机设计与验证【J1.中国惯性技术学报,2007,15(1):51—54.TANGKang-hua,wuMei-ping.HUXiao-ping.DesignandvalidationofGPSsoftwarereceiverbasedon RFfront’end[J].JournalofChineseInertialTechnology,2007,15(1):5卜54.【8】8PanyMoonSw,FtirlingerK,IrsiglerM,eta1.PerformanceassessmentofanundersamplingSWCreceive rforsimulatedhigh-bandwidthGPS/Galileosignalsandrealsignals[C]//ProcoftheI6IONGPS/GNSS.Portland,Ore gon,9-12September2003?103-116。

【matlab国外编程代写】GPS信号捕获matlab仿真

【matlab国外编程代写】GPS信号捕获matlab仿真

【matlab国外编程代写】GPS信号捕获matlab仿真clear;%指标是signalpower=-185dBW,此时可以进行室内定位;%指标是SNR=-52dB,此时noisepower=-133dBWDopler_bound = 10; %原来是20,为加快运行速度,减少频率槽数Freq_bin = 500;Fc = 1250000;Length_of_data = 5000;Length_of_fft = 4096;NUM = 5;%50010;Signalpower = -177 %I路信号的功率(dBW)Noisepower = -143 %噪声的复功率(dBW)Threshold = 1e5;Times_of_ncoh = 40;%变量初始化successcount=0;%在卫星从地平线升起或降落时,用户速度900m/s时,径向速度差不多(+ -)10K,fid_ca=fopen('CA_5000.txt','r');CA_samp=fscanf(fid_ca,'%d');%5000点fclose(fid_ca);CA_samp=CA_samp';%本地伪码FFT:CA_fftCA_local=Average(Length_of_data, Length_of_fft, CA_samp);%plot(CA_local)CA_fft=fft(CA_local);%plot(imag(CA_fft))Idata=ReadIn( ); %把文本Idata全部读到Idata数组中Qdata=ReadIn( ); %Idata=Idata';Qdata=Qdata';Idata(1:NUM)=[]; %删去前NUM个元素Qdata(1:NUM)=[];AMP=sqrt(2*10^(Signalpower/10)) %输入量为幅度系数,单位相当于(V),%AMP=1e-9,此时signal power=-183dBW DIV_AWGN= 10^(Noisepower/10) %输入量为高斯白噪声的方差。

GPS卫星轨道计算及其MATLAB仿真

GPS卫星轨道计算及其MATLAB仿真

GPS卫星轨道计算及其MATLAB仿真黎奇,白征东,李帅,陈波波(清华大学地球空间信息研究所,北京 100084)一、程序设计思路1. 读取RINEX文件(注意:文件路径)2. 计算测量日周积秒(测量日的格里历→GPST)3. 按卫星轨道计算步骤计算WGS-84坐标系坐标(内插)4. 按需要将WGS-84坐标系下坐标转换为所需坐标系坐标5. 画图输出二、n 文件说明及读取程序参考时刻oe t 的RINEX 格式的 “”广播星历文件具体如下:(加粗部分为本次轨道化Ω,率i ,弧度/秒4-22)标svacc ,米)收到的卫星信号解,秒)文件名:RinexNreader.m 输 入:文件地址,卫星编号三、计算测量日的周积秒文件名:GCtoGPS.m (其中调用函数:GCtoJD.m)输入:指定公历的年、月、日、时、分、秒文件名:GCtoJD.m输 入:指定公历的 年、月、日四、GPS 卫星轨道计算步骤及计算程序1. 计算卫星运动的平均角速度n平均角速度()03n =经摄动参数n ∆改正后的平均角速度0n n n =+∆3#61-79),n ∆(2#42-60);14323.98600510/GM m s =⨯ 2. 计算归化时间k t说明:①广播星历是oe t 时刻的,对应的轨道参数也是oe t 时刻的,而观测时间在t 时刻,显然oe t t <。

所以,要想获得t 时刻的轨道参数,需要知道t 与oe t 之间的差值即k t 。

以此,按照oe t 时刻轨道参数,外推t 时刻轨道参数。

②k t 的起算时间是星期六/星期日子夜0点,当302400k t s >时,604800k t s -;当302400k t s <-时,+604800k t s 。

(604800s=1周) =k oe t t t -,且604800302400604800302400k k k k k k t t t t t t =-⎧⎨=+⎩> <-已知:oe t (1#4-21)3. 计算观测时刻的平近点角k M0k k M M nt =+已知:0M (2#61-79),n (见1),k t (见2) 4. 计算观测时刻的偏近点角k Esin k k k E M e E =+已知:k M (见3),e (3#23-41)方法:迭代解算,设初值0k k E M =,迭代2次基本收敛。

北斗B1I信号的捕获算法

北斗B1I信号的捕获算法

北斗B1I信号的捕获算法王丽黎;杨阳【摘要】北斗B1I信号的捕获是北斗2代接收机的核心模块,它是基于码相位和多普勒频移二维搜索的过程.对于捕获模块,通常采用并行码相位搜索捕获算法来实现对空中可见卫星的捕获.针对信号较弱情况下的卫星捕获,采用了非相干累加与并行码相位搜索捕获相结合的方法.测试结果表明,该捕获算法能够有效快速地实现弱信号的捕获.%BeiDou B1I signal acquisition is a hard core in a BeiDou receiver and is the two-dimension process of the search about the code delay and Doppler frequency. For acquisition, parallel search algorithm of code in frequency domain are usually adopted. For the acquisition of weak signal, a method combining non-correlation integration with parallel search algorithm of code in frequency domain was introduced. The test results show that the acquisition algorithm can effectively and quickly acquire the weak signal.【期刊名称】《计算机系统应用》【年(卷),期】2016(025)003【总页数】5页(P194-198)【关键词】北斗B1I信号;接收机;捕获;弱信号;非相干累加【作者】王丽黎;杨阳【作者单位】西安理工大学自动化与信息工程学院,西安 710048;西安理工大学自动化与信息工程学院,西安 710048【正文语种】中文随着我国成功将第16颗北斗导航卫星送入预定轨道, 北斗导航工程区域组网顺利完成[1]. 第2代北斗导航系统主要功能为定位、测速、单双向授时和短报文通信[2,3]. 因此, 针对北斗导航系统相应的接收技术的研究逐渐成为研究热点. 传统的接收机由射频前端、用于信号处理的ASIC以及高速运算的CPU核组成, 设计灵活性受到限制. 相比之下, 软件接收机只需对软件修改便可对接收机进行优化升级, 则更具有方便性和灵活性[4,5].在接收机内, 完成信号捕获是信号处理的第一步, 信号捕获重在估计两个重要参数: 一个是C/A码周期的开始, 另一个是输入信号的载波频率, 获得导航卫星信号的载波频率(或称为载波多普勒频移)和码相位这两个参数的粗略值, 然后跟踪过程则利用这些粗略值进一步得到频率和码相位的精确值并进而解算出导航电文. 因此对接收机性能好坏影响较大的是捕获跟踪算法的好坏[6,7].本文在详细分析了并行码相位搜索捕获算法原理的基础上, 为了能更好的实现对弱信号的捕获, 将并行码相位搜索捕获算法与非相干累加相结合, 不但提高捕获效率, 降低了噪声干扰, 而且有效的提高了弱信号的捕获.目前北斗2代播发B1、B2、B3三个频段的信号, 其信号复用方式为码分多址, 其中B1(1561.098 MHz)信号由I、Q两条支路的测距码和导航电文正交调制在载波上构成. 调制在B1频率上的信号可表示为式(1):其中上角标j表示卫星序号; AB1分别表示B1信号幅度; 分别表示B1信号测距码; 分别表示调制在B1测距码上的导航电文数据码; 表示B1信号载波频率; 表示B1信号载波初相.CB1I码的码速率为2.046 Mcps, 码长为2046, 码宽为488.7 ns(1/2.046 MHz). CB1I码发生的结构如图1所示, 其是由两个线性序列G1和G2模2和产生均衡Gold码后截短1个码片后生成. G1和G2序列分别由两个11级的线性移位寄存器生成, 其生成多项式如式(2)、式(3)所示.(2)(3)G1序列初始相位为************;G2序列初始相位为************.通过对产生G2序列的移位寄存器不同抽头的模2和可以实现G2序列相位的不同偏移, 与G1序列模2和后可生成不同卫星的测距码. 而之所以用这种码传输信号, 就是因为其良好的自相关和互相关特性.图1 CB1I码发生器示意图2 北斗2代B1信号CB1I码的捕获由于CB1I码除了自身完全对齐的情况外, 其余情况几乎是不相关的, 这种特性使得很容易找出两个完全对齐的相同的CB1I码. 捕获过程正是利用其这一特点.2.1 CB1I码的捕获接收机的信号捕获过程一般通过对卫星信号的载波频率和码相位进行扫描式搜索来完成. 捕获的目的就是为了对输入信号和一个测距码序列做相关运算. 并行码相位搜索捕获算法实际上是利用傅里叶变换这种数字信号处理技术来替代数字相关器的相关运算, 而我们需要证明一下两者的等价性.两个长度同为N的有限长序列和的离散傅里叶变换和计算如式(4)、式(5)所示.(4)(5)两个长度同为N的有限长序列和的循环互相关计算如式(6)所示.(6)下面的分析中均省略了中的缩放因子1/N, 的N点离散傅里叶变换计算如式(7)所示.(7)其中是的复共轭. 由式(7)可知, 两个序列与在时域内做相关运算, 相当于它们的离散傅里叶变换与在频域内做乘积运算. 于是倒过来, 乘积的离散傅里叶反变换正好是接收机需要进行检测的在各个码相位处的相关值. 一旦接收机通过傅里叶反变换计算得到相关值, 那么接下来的信号检测就同线性搜索捕获法一样, 即找出在所有搜索单元中自相关幅值的峰值, 并将该峰值与捕获门限值相比较. 若峰值超过捕获门限值, 则接收机捕获到了信号.图2 并行码相位搜索捕获算法原理图如图2所示为并行码相位搜索捕获算法的原理图, 考虑到导航数据位存在跳变的可能, 用含导航数据位的数据进行相关运算所获得的相关峰值将会有较大衰减从而造成漏捕, 在算法实现过程中, 总是采用两段连续数据进行同步相关运算, 在得到的两组相关结果中选择最大功率能量相关峰值较大者(认为该段数据中不包含导航数据位跳变)的相关结果作为捕获判断依据[8].2.2基于非相干累加的CB1I码捕获采用1 ms时长的数据进行上述捕获的时候, 由于噪声的作用可能导致误捕, 当信号较弱时, 甚至会出现漏捕. 而且在北斗MEO/IGSO卫星B1频点信号中, 因为NH 码调制的影响, 相干累加时间不能超过1 ms. 为了提高灵敏度, 只能通过提高非相干累加次数来捕获弱信号[9], 即将相干积分结果进行平方处理后再累加, 从而获得信号增益. 其非相关累加值[10]可表示为式(8):(8)其中: 为M ms的数据信息与测距码的非相干捕获相关值. 可以看出导航电文数据位翻转对积分结果的影响被平方运算有效的降低了. 因此非相干积分可以进行积分时间超过1 ms的积分.非相干累加法消除了导航电文数据位翻转造成的影响, 同时平方运算消除了相位误差造成的副作用, 而前面提到的并行码相位搜索捕获算法通过傅里叶变换实现循环相关, 将相位域捕获过程并行化, 使得搜索量减少到了只需搜索不同的载波频率, 提高运算效率. 将非相干累加法与并行码相位搜索捕获算法相结合, 在大幅降低捕获时间的前提下, 实现了对弱信号的捕获. 其原理图如图3所示.图3 非相干累加捕获原理图通过图3可知, 非相干累加捕获的方法是将并行码相位搜索捕获算法每毫秒的捕获结果按照预先设定好的累加时间进行累加, 其累加原理如式(8)所示, 由于噪声累加的结果增大不如信号累加的结果增加的快, 使得经过一段时间累加后, 可找出明显的相关峰值.3 仿真验证在Matlab环境下对本文研究的信号捕获方案进行仿真验证. 利用卫星信号模拟器对北斗B1频点中频信号进行仿真, 仿真信号的中频频率为2.098MHz, 采样频率为8.8MHz, 仿真产生60s的数据中频信号, 信号中共调制了1号、2号、3号、4号、7号、8号、10号、12号和13号等9颗卫星信号. 信号中加入的是高斯白噪声,信噪比为-35dB. 利用生成的信号, 就可以进行捕获的仿真, 捕获程序流程图如图4所示.图4 CB1I码捕获程序流程图图5是用图1所示的CB1I码发生器产生的对应10号卫星的本地伪码, 其是由两个11级移位寄存器进行模2和生成的. 不同的卫星编号对应不同的抽头, 不同卫星对应的CB1I码则通过查表的方式就可以实现. 横坐标表示采样点数, 截取了2046个码片的前100位, 纵坐标表示CB1I码的相位幅度.图5 10号卫星本地伪码部分截图CB1I码具有良好的自相关和互相关特性, 如图6和图7所示. 除了延迟为零外, 几乎没有自相关性. 只有当本地伪码与接收到的信号的伪码序列能够对齐时才可得到最大相关值. 根据这一特性可轻易找出何时两个码是严格对齐的, 本文采用并行码相位搜索捕获也正是基于此特性. 横坐标表示码片数, 纵坐标分别表示自相关值和互相关值.图6 测距码的自相关性图7 测距码的互相关性当检测门限选用最大峰值与次大峰值的比值(大于2.5)时, 首先使用两段连续的单位数据段, 本文以1 ms数据位为单位数据段, 对其做同步相关运算即对这两段数据进行并行码相位搜索捕获, 在得到的两组相关结果中选择较大的相关峰值作为捕获判断依据进行弱信号捕获的验证结果如图8所示. 其次使用5 ms和10 ms数据进行非相干积分的弱信号捕获验证结果如图9和图10所示.图8 并行码相位搜索捕获算法捕获情况图9 进行5 ms非相干累加的捕获情况图10 进行10 ms非相干累加的捕获情况由图可以看出, 在信噪比为-35dB的情况下, 图8中仅使用并行码相位搜索捕获算法得到的最大峰值与次大峰值的比值并不是很大; 而在图9和图10中采用将并行码相位搜索捕获算法与非相干累加相结合的捕获算法, 在累加时间增大时, 该比值结果明显增加. 证明当进行非相干积分所用数据长度从1ms增加到10ms时, 信号中所有可见卫星的最大峰值与次大峰值的比值增加的都很明显, 能够实现低信噪比信号的捕获, 提高接收机的灵敏度. 当然, 也可以根据实际的需要选择合适的相干累加时间, 达到设计目的.接着再从单颗卫星角度进行研究, 以10号卫星为例, 即PRN=10, 分别进行3ms、6ms和10ms数据的相干累加, 其捕获结果如图11、图12和图13所示.图11 10号卫星进行3 ms非相干累加结果图12 10号卫星进行6 ms非相干累加结果图13 10号卫星进行10 ms非相干累加结果由图11、图12和图13可以看出, 随着捕获所用数据长度的增加, 即非相干累加数据长度增加, 噪声得到一定的抑制, 可见卫星正确相位所对应的归一化相关值也更加明显, 该部分也达到了有效地捕获弱信号的预期效果.4 结语本文研究了北斗软件接收机捕获算法, 分析了并行码相位搜索捕获算法并将其与非相干积分相结合, 并通过仿真数据对算法进行了验证. 可见非相干积分与并行码相位搜索捕获算法相结合不但捕获效率高, 而且较好地抑制了噪声信号, 有效地实现了弱信号的捕获. 对于软件接收机相关模块的研究具有一定的意义, 能够使用户在接收机算法处理和软件更新等方面具有很大的灵活性.参考文献1 何敏,葛榜军.北斗卫星导航系统及应用.卫星应用,2012, (5):19–23.2 中国卫星导航系统管理办公室.北斗导航系统发展报告.国际太空,2012,(4):6–11.3 Meng WX, Liu E, Han Sh. Resaerch and development on satellite positioning and navigation in China. IEICE Trans. Commun, 2012(E95-B): 3385–3392.4 杨东凯,张飞舟,张波译.软件定义的GPS和伽利略接收机.北京:国防工业出版社,2009.5 杨俊,武奇生.GPS基本原理及其Matlab仿真.西安:西安电子科技大学出版社,2006.6 王冰.GPS信号捕获算法的研究.电子科技,2014,27(8): 154–156.7 谢刚.GPS原理与接收机设计.北京:电子工业出版社,2009.8 黄隽祎,李荣冰,王翌等.北斗B1 QPSK调制信号的高灵敏度捕获算法.航空计算技术,2012,42(5):38–42.9 史向男,巴晓辉,陈杰.北斗MEO/IGSO卫星B1频点信号捕获方法研究.国外电子测量技术,2013,32(4):19–21.10 陈军,潘高峰,李飞,余金峰,黄静华译. GPS软件接收机基础(第2版).北京:电子工业出版社,2007.Acquisition Algorithm of BeiDou B1I SignalWANG Li-Li, YANG Yang(Faculty of Automation and Information Engineering, Xi′an University of Technology, Xi’an 710048, China)Abstract:BeiDou B1I signal acquisition is a hard core in a BeiDou receiver and is the two-dimension process of the search about the code delay and Doppler frequency. For acquisition, parallel search algorithm of code in frequency domain are usually adopted. For the acquisition of weak signal, a method combining non-correlation integration with parallel search algorithm of code in frequency domain was introduced. The test results show that the acquisition algorithm can effectively and quickly acquire the weak signal.Key words:BeiDou B1I signal; receiver; acquisition; weak signal; non-coherent integration① 收稿时间:2015-07-06;收到修改稿时间:2015-09-06CB1I码的码速率为2.046 Mcps, 码长为2046, 码宽为488.7 ns(1/2.046 MHz). CB1I码发生的结构如图1所示, 其是由两个线性序列G1和G2模2和产生均衡Gold码后截短1个码片后生成. G1和G2序列分别由两个11级的线性移位寄存器生成, 其生成多项式如式(2)、式(3)所示.G1序列初始相位为************;G2序列初始相位为************.通过对产生G2序列的移位寄存器不同抽头的模2和可以实现G2序列相位的不同偏移, 与G1序列模2和后可生成不同卫星的测距码. 而之所以用这种码传输信号, 就是因为其良好的自相关和互相关特性.由于CB1I码除了自身完全对齐的情况外, 其余情况几乎是不相关的, 这种特性使得很容易找出两个完全对齐的相同的CB1I码. 捕获过程正是利用其这一特点.2.1 CB1I码的捕获接收机的信号捕获过程一般通过对卫星信号的载波频率和码相位进行扫描式搜索来完成. 捕获的目的就是为了对输入信号和一个测距码序列做相关运算. 并行码相位搜索捕获算法实际上是利用傅里叶变换这种数字信号处理技术来替代数字相关器的相关运算, 而我们需要证明一下两者的等价性.两个长度同为N的有限长序列和的离散傅里叶变换和计算如式(4)、式(5)所示. 两个长度同为N的有限长序列和的循环互相关计算如式(6)所示.下面的分析中均省略了中的缩放因子1/N, 的N点离散傅里叶变换计算如式(7)所示.其中是的复共轭. 由式(7)可知, 两个序列与在时域内做相关运算, 相当于它们的离散傅里叶变换与在频域内做乘积运算. 于是倒过来, 乘积的离散傅里叶反变换正好是接收机需要进行检测的在各个码相位处的相关值. 一旦接收机通过傅里叶反变换计算得到相关值, 那么接下来的信号检测就同线性搜索捕获法一样, 即找出在所有搜索单元中自相关幅值的峰值, 并将该峰值与捕获门限值相比较. 若峰值超过捕获门限值, 则接收机捕获到了信号.如图2所示为并行码相位搜索捕获算法的原理图, 考虑到导航数据位存在跳变的可能, 用含导航数据位的数据进行相关运算所获得的相关峰值将会有较大衰减从而造成漏捕, 在算法实现过程中, 总是采用两段连续数据进行同步相关运算, 在得到的两组相关结果中选择最大功率能量相关峰值较大者(认为该段数据中不包含导航数据位跳变)的相关结果作为捕获判断依据[8].2.2基于非相干累加的CB1I码捕获采用1 ms时长的数据进行上述捕获的时候, 由于噪声的作用可能导致误捕, 当信号较弱时, 甚至会出现漏捕. 而且在北斗MEO/IGSO卫星B1频点信号中, 因为NH码调制的影响, 相干累加时间不能超过1 ms. 为了提高灵敏度, 只能通过提高非相干累加次数来捕获弱信号[9], 即将相干积分结果进行平方处理后再累加, 从而获得信号增益. 其非相关累加值[10]可表示为式(8):其中: 为M ms的数据信息与测距码的非相干捕获相关值. 可以看出导航电文数据位翻转对积分结果的影响被平方运算有效的降低了. 因此非相干积分可以进行积分时间超过1 ms的积分.非相干累加法消除了导航电文数据位翻转造成的影响, 同时平方运算消除了相位误差造成的副作用, 而前面提到的并行码相位搜索捕获算法通过傅里叶变换实现循环相关, 将相位域捕获过程并行化, 使得搜索量减少到了只需搜索不同的载波频率, 提高运算效率. 将非相干累加法与并行码相位搜索捕获算法相结合, 在大幅降低捕获时间的前提下, 实现了对弱信号的捕获. 其原理图如图3所示.通过图3可知, 非相干累加捕获的方法是将并行码相位搜索捕获算法每毫秒的捕获结果按照预先设定好的累加时间进行累加, 其累加原理如式(8)所示, 由于噪声累加的结果增大不如信号累加的结果增加的快, 使得经过一段时间累加后, 可找出明显的相关峰值.在Matlab环境下对本文研究的信号捕获方案进行仿真验证. 利用卫星信号模拟器对北斗B1频点中频信号进行仿真, 仿真信号的中频频率为2.098MHz, 采样频率为8.8MHz, 仿真产生60s的数据中频信号, 信号中共调制了1号、2号、3号、4号、7号、8号、10号、12号和13号等9颗卫星信号. 信号中加入的是高斯白噪声,信噪比为-35dB. 利用生成的信号, 就可以进行捕获的仿真, 捕获程序流程图如图4所示.图5是用图1所示的CB1I码发生器产生的对应10号卫星的本地伪码, 其是由两个11级移位寄存器进行模2和生成的. 不同的卫星编号对应不同的抽头, 不同卫星对应的CB1I码则通过查表的方式就可以实现. 横坐标表示采样点数, 截取了2046个码片的前100位, 纵坐标表示CB1I码的相位幅度.CB1I码具有良好的自相关和互相关特性, 如图6和图7所示. 除了延迟为零外, 几乎没有自相关性. 只有当本地伪码与接收到的信号的伪码序列能够对齐时才可得到最大相关值. 根据这一特性可轻易找出何时两个码是严格对齐的, 本文采用并行码相位搜索捕获也正是基于此特性. 横坐标表示码片数, 纵坐标分别表示自相关值和互相关值.当检测门限选用最大峰值与次大峰值的比值(大于2.5)时, 首先使用两段连续的单位数据段, 本文以1 ms数据位为单位数据段, 对其做同步相关运算即对这两段数据进行并行码相位搜索捕获, 在得到的两组相关结果中选择较大的相关峰值作为捕获判断依据进行弱信号捕获的验证结果如图8所示. 其次使用5 ms和10 ms数据进行非相干积分的弱信号捕获验证结果如图9和图10所示.由图可以看出, 在信噪比为-35dB的情况下, 图8中仅使用并行码相位搜索捕获算法得到的最大峰值与次大峰值的比值并不是很大; 而在图9和图10中采用将并行码相位搜索捕获算法与非相干累加相结合的捕获算法, 在累加时间增大时, 该比值结果明显增加. 证明当进行非相干积分所用数据长度从1ms增加到10ms时, 信号中所有可见卫星的最大峰值与次大峰值的比值增加的都很明显, 能够实现低信噪比信号的捕获, 提高接收机的灵敏度. 当然, 也可以根据实际的需要选择合适的相干累加时间, 达到设计目的.接着再从单颗卫星角度进行研究, 以10号卫星为例, 即PRN=10, 分别进行3ms、6ms和10ms数据的相干累加, 其捕获结果如图11、图12和图13所示.由图11、图12和图13可以看出, 随着捕获所用数据长度的增加, 即非相干累加数据长度增加, 噪声得到一定的抑制, 可见卫星正确相位所对应的归一化相关值也更加明显, 该部分也达到了有效地捕获弱信号的预期效果.本文研究了北斗软件接收机捕获算法, 分析了并行码相位搜索捕获算法并将其与非相干积分相结合, 并通过仿真数据对算法进行了验证. 可见非相干积分与并行码相位搜索捕获算法相结合不但捕获效率高, 而且较好地抑制了噪声信号, 有效地实现了弱信号的捕获. 对于软件接收机相关模块的研究具有一定的意义, 能够使用户在接收机算法处理和软件更新等方面具有很大的灵活性.1 何敏,葛榜军.北斗卫星导航系统及应用.卫星应用,2012, (5):19–23.2 中国卫星导航系统管理办公室.北斗导航系统发展报告.国际太空,2012,(4):6–11.3 Meng WX, Liu E, Han Sh. Resaerch and development on satellite positioning and navigation in China. IEICE Trans. Commun, 2012(E95-B): 3385–3392.4 杨东凯,张飞舟,张波译.软件定义的GPS和伽利略接收机.北京:国防工业出版社,2009.5 杨俊,武奇生.GPS基本原理及其Matlab仿真.西安:西安电子科技大学出版社,2006.6 王冰.GPS信号捕获算法的研究.电子科技,2014,27(8): 154–156.7 谢刚.GPS原理与接收机设计.北京:电子工业出版社,2009.8 黄隽祎,李荣冰,王翌等.北斗B1 QPSK调制信号的高灵敏度捕获算法.航空计算技术,2012,42(5):38–42.9 史向男,巴晓辉,陈杰.北斗MEO/IGSO卫星B1频点信号捕获方法研究.国外电子测量技术,2013,32(4):19–21.10 陈军,潘高峰,李飞,余金峰,黄静华译. GPS软件接收机基础(第2版).北京:电子工业出版社,2007.。

GPS软件接收机中信号捕获算法研究及Matlab仿真【开题报告】

GPS软件接收机中信号捕获算法研究及Matlab仿真【开题报告】

毕业论文开题报告电子信息工程GPS软件接收机中信号捕获算法研究及Matlab仿真一、课题研究意义及现状GPS(Global Positioning System)即全球卫星定位系统,从1973年发展到2009年36年间,实际意义早已超过设计之初的定义。

现在,GPS不仅仅为移动目标提供导航、定位作用,而且还派生出许许多多新型功能;是人脑,电脑,移动目标三者之间的一种有机联系系统。

随着我国城市建设和改造步伐加快,城区道路不断新建,错综复杂的道路交通甚至衍生出一批以指路为业者。

新建的楼堂馆所,新铺的柏油马路让一些本来熟悉的地方变得陌生,纵横交错的城市道路,形态各异的立交桥,使得本城市的居民出门都不得不经常查看地图。

有数据表明,每年北京图书大厦销售排行榜的前三名中一定有地图。

为了适应城市的快速发展,电子地图也应运而生。

电子地图正是GPS软件接收机在实际应用中的一个典型例子。

使用者可以通过使用电子地图,随时随地知道自己所在的具体位置,还可以知道去目的地的具体路线。

卫星导航应用产业在国民经济中发挥着越来越重要的作用,将成为“十一五”发展的亮点。

在“十一五”期间,卫星导航在其它领域如航空、海路、铁路、建筑、电信、电力等方面的应用都会有很大的发展空间。

由此可见,无论在军事经济上,还是人们的日常生活中,GPS定位技术在未来的很长时间里仍会扮演着十分重要的角色。

通过对信号捕获算法的研究,不仅能使我进一步理解所学知识,还会对以后的工作起到意想不到的好处,尤其在提高信号接收速度和提高GPS性能方面,更能起到事半功倍的效果。

二、课题研究的主要内容和预期目标课题主要任务是研究时域滑动相关、并行频域搜索和并行码相位搜索的GPS信号捕获算法,并用Matlab软件对GPS信号进行捕获仿真实验,分析比较各种捕获方法的优缺点。

具体内容:(1)研究GPS信号捕获的基本捕获方法及基本原理;(2)设计出GPS信号捕获的流程图,使用Matlab软件进行仿真;(3)对三种方法所得结果互相进行比较,分析出各自的优缺点;(4)将仿真结果与预期结果进行对比,确认捕获方法的正确与否。

北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)

北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)

北斗卫星导航信号串行捕获算法MATLAB仿真报告一、原理卫星导航信号的串行捕获算法如图1所示。

图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);图 2其中载波rom存储的是正弦信号的2^12个采样点,伪码rom存储长度为2046的卫星伪码。

北斗B1信号捕获跟踪算法的软件仿真研究

北斗B1信号捕获跟踪算法的软件仿真研究

北斗B1信号捕获跟踪算法的软件仿真研究李松林;曹可劲;李豹;朱银兵【摘要】针对北斗B1频率的Ⅰ支路信号,设计并实现了北斗软件接收机的基带处理部分;阐述了北斗B1频点信号的扩频体制和产生过程,并行码相位搜索捕获策略以及鉴相辅助跟踪环路,并设计了二阶数字环路滤波器;同时采用Matlab软件,仿真北斗中频数字信号,编码实现捕获跟踪算法,并分别通过对仿真信号和真实卫星信号的捕获跟踪,验证捕获跟踪算法的可行性,并提出锁频环辅助锁相环算法的改进思路;为进一步开展北斗软件接收机相关技术研究打下了基础.【期刊名称】《计算机测量与控制》【年(卷),期】2016(024)007【总页数】5页(P152-155,158)【关键词】并行码相位算法;鉴相器;数字环路滤波器;软件仿真【作者】李松林;曹可劲;李豹;朱银兵【作者单位】海军工程大学导航工程系,武汉 430033;海军工程大学导航工程系,武汉 430033;海军工程大学导航工程系,武汉 430033;海军工程大学导航工程系,武汉430033【正文语种】中文【中图分类】TN961当前我国北斗卫星导航系统建设已经取得了巨大的突破,可以向各类用户提供连续、稳定和高精度的定位、导航和授时服务。

作为北斗用户端,设计开发基于MATLAB的软件接收机平台对开展北斗卫星导航相关技术研究有重大意义。

北斗信号在信号结构上与GPS信号具有相似性,借鉴典型的GPS信号捕获跟踪算法,可实现对北斗B1信号的捕获跟踪和导航电文的解调。

软件接收机在跟踪某颗卫星信号之前,通过捕获阶段获得该卫星信号的载波频率和码相位的粗略估计值。

跟踪过程中再逐步精细这两个信号参量的估计,并不断复制产生与该卫星接收信号载波频率和码相位相近的本地信号,与接收的卫星中频信号进行混频实现载波剥离和信号解扩,同时解调出信号中的导航电文[1]。

1.1 北斗B1I信号的产生北斗B1信号由I、Q两个支路的“测距码+导航电文”正交调制在载波上构成,然后由卫星天线发射。

GPS基本原理及其Matlab仿真第4章GPS卫星的导航定位信号

GPS基本原理及其Matlab仿真第4章GPS卫星的导航定位信号

第4章 GPS卫星的导航定位信号
这里,自相关性是指两个结构相同的码序列的相关程度, 它由自相关函数描述。为了说明这一问题,可将随机噪声码序 列u(t)平移k个码元,获得具有相同结构的新的码序列u(t)。 比 较这两个码序列,假定它们的对应码元中,码值(0或1)相同 的码元个数为Su,而码元相异的码元个数为Du,那么两者之差 Su-Du与两者之和Su+Du(即码元总数)的比值,即定义为随机 噪声码序列的自相关函数,用符号R(t)表示:
(4-2)
Tu(2r1)tuNutu
(4-3)
式中,Nu也称为码长。
第4章 GPS卫星的导航定位信号
由于移位寄存器不容许出现全“0”状态,因此2r-1码元
中,“1”的个数总比“0”的个数多一个。这样,当两个周期
相同的m序列其对应码元完全对齐时,自相关系数R(t)=1,而
在其他情况则有
R(t)1 1 Nu 2r 1
载 f 频 L2
120F
fL2 /1200 fL2 /120 fL2 /24552000
第4章 GPS卫星的导航定位信号
4.2 GPS卫星的测距码信号
4.2.1 码的基本概念
码是一种表达信息的二进制数及其组合, 是一组二进制的 数码序列。例如,对0,1,2,3取两位二进制数的不同组合表 示为:00,01,10,11。这些二进制数的组合形式称之为码。 其中每一位二进制数称为1个码元或1比特(bit);每个码均含 有两个二进制数,即两个码元或两个比特。比特是码的度量单 位,也是信息量的度量单位。如果将各种信息,例如声音、 图 像以及文字等,按某种预定的规则表示为二进制数的组合形式, 则这一过程就称为编码,也就是信息的数字化。
第4章 GPS卫星的导航定位信号
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北斗卫星导航信号串行捕获算法MATLAB仿真报告一、原理卫星导航信号的串行捕获算法如图1所示。

图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);图2其中载波rom存储的是正弦信号的2^12个采样点,伪码rom存储长度为2046的卫星伪码。

这样伪码采用2psk的方式调制到射频,加性噪声很小是理想接收中频信号如图3所示。

-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 的 伽马分布,其概率密度函数为Q I Q )()()(22k Q k I k Z +=]2exp[)/(20220≥-=k k kk Z Z Z H Z f σσ2210222000(/)exp[]() 02kk k k kk k Z Z D D Z f Z H I Z σσσ+=-⋅≥)(0⋅I ∑=+=Mi i Q i I k Z 122)]()([)(0)2exp()()2(1)/(2120≥-⋅Γ=-k kM k M k Z Z Z M H Z f σσ在H1假设下,z(k)服从自由度为 2M 的 卡方分布,其概率密度函数为当 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所示。

11/22112220001()(/)()exp()() 022M k k k k M k Z Z Z f Z H I Z λλσλσσ--+=⋅-⋅≥02201(/)exp[]221exp 2TTkfa k k k V V t Z P f Z H dZ dZ V σσ+∞+∞==-⎧⎫=-⎨⎬⎩⎭⎰⎰2t T V V σ=图中最大处的相关结果是144,其他非峰值最大的约为1.约21dB 。

部分相关值如下表:可以看出绝大部分数值都在门限之下,但也存在若干个在门限之上的数值,这些点可能造成虚警。

6dopplercode p hase附:仿真主程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%´®Ðв¶»ñËã·¨·ÂÕæ%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%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==1f_local=f_local_init;elsef_local=f_local+df;endsignal_r=signal_gen(fsample,f_carrier,f_code,code_phase_init,dBW_sign al_pow,dB_C_I,dot_num); %%%%%ÕâÀïÔØ²¨Ö¸ÏÂ±ßÆµºóµÄÖÐÆµ,ÊÕµ½ºó´¦Àí·¢Ë͵Ϭ¶¯±êÖ¾£¬ËÑË÷ÏÂÒ»¸öÏàλ%%%%Ê×´ÎËÑË÷¹À¼ÆÐźŹ¦ÂÊif num_doppeler==1 & num_phase==1Ni=10;signal_r1=zeros(1,length(signal_r)+Ni);Qn1=zeros(1,length(signal_r)+Ni);Qn2=zeros(1,length(signal_r)+Ni);Qn3=zeros(1,length(signal_r)+Ni);pow_noise=zeros(1,10);for bbb=1:10for aaa=1:length(signal_r)/10signal_r1(aaa)= signal_r(aaa)*signal_r(aaa) ;a=0.8; %µü´úÂ˲¨Æ÷ϵÊý% Qn2(aaa+1)= signal_r1(aaa)*signal_r1(aaa);Qn1(aaa+Ni)=sum(signal_r1( (aaa):(aaa+Ni)))/Ni;%»¬¶¯Æ½¾ùQn(aaa)= Qn1(aaa+1)^0.5;Qn3(aaa+1)= a*Qn1(aaa)+(1-a)*Qn1(aaa+1);pow_noise1=Qn3(aaa+1);endpow_noise2(bbb)=pow_noise1;endpow_noise=sum(pow_noise2(1:10))/10;pow_noise_dB=10*log10(pow_noise);AD_min_volt=0.8;AD_R=1;AD_power=0.5*AD_min_volt*AD_min_volt/AD_R;AD_power_dB=10*log10(AD_power);Am1=AD_power_dB-pow_noise_dB;Am1=10^(Am1/20);endsignal_r=signal_r*Am1; %ÖÐÆµ·Å´óAm_local=0.9;local_carrier=local_carrier_gen(fsample,dot_num,f_local,Am_local);%%%flocal°üº¬Á˶àÆÕÀÕlocal_code=local_code_gen(f_code,fsample,dot_num,local_code_phase)*Am _local;corr_result(num_phase,num_doppeler)=deal_local(signal_r,local_carrier ,local_code);% corr_result1(num_doppeler,cnt_phase)=corr_result;end% pulse_next_phase=1;code_phase_init=mod(code_phase_init+1,2046);% local_code_phase=local_code_phase+1;end%%%%²éÕÒµ¥´Î²¶»ñ×î´óÖµ¼«Î»ÖÃ[phase_max(dect_num)doppler_max(dect_num)]=find(corr_result==max(max(corr_result))); mod_max(dect_num)=max(max(corr_result));det_phase=local_code_phase-phase_max+1;det_doppler=(doppler_max-1)*df+f_m-10*df;disp(det_phase); disp(det_doppler); %%%%%%% %%%%%%% %%%%%%% %%%%%%% ÇóÅоöÃÅÏÞ ºãÐ龯ÂÊ%±ê¶ÈÒò×ÓÊÇÅоöÃÅÏÞÓëÔëÉù¹¦ÂʵıÈÖµfa=0.1;Vt=(-2*log2(fa))^0.5; %¹éÒ»»¯ÅоöÃÅÏÞ% Vt=0;%¾-¹ý·Å´óºó¹¦ÂÊΪAD_power% VT=( Vt*pow_noise );VT=Vt*AD_power ;if mod_max(dect_num)> VT %ƽ·½Âɼ첨flag_det=1;elseflag_det=0;end%Tong¼ì²âK=1;B=2;if flag_det==1K=K+1;elseK=K-1;endif K>=Bdisp('success!');elseif dect_num==cnt_detdisp('failed!');endendendcorr_result_dB=10*log10(corr_result/mod_max);cnt_doppler1=f_m-10*df:df:f_m+10*df;mesh(1:cnt_doppler,1:cnt_phase,corr_result);xlabel('doppler');ylabel( 'code_phase');。

相关文档
最新文档