一种用于校正GPS信号源的相位误差的方法转让专利

申请号 : CN201110394219.0

文献号 : CN102590837B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林静然李玉柏

申请人 : 电子科技大学

摘要 :

本发明涉及模拟产生GPS信号源的技术领域,具体涉及一种用于校正GPS信号源的相位误差的方法。本发明技术方案在利用输入的多普勒频率参数算出浮点格式的频率控制字后,将其定点化并计算校正时间间隔内产生的总误差,进而用定点化以后的频率控制字来控制相位累加,如果达到了校正时间,则将累加结果加上总误差并保存和输出,反之直接保存并输出。如果达到了参数更新时间间隔,则根据当前时刻的多普勒频率重新计算浮点格式的频率控制字并重复上述步骤,反之继续进行相位累加。本发明技术方案折中的兼顾了浮点实现的高精度和定点实现的简便低成本,同时能够对定点实现过程中的有限字长效应进行校正。

权利要求 :

1.一种用于校正GPS信号源的相位误差的方法,其特征是依次包括如下步骤:

步骤1:设定数字平台的字长为Lw,中频载波、C/A码和导航电文信号各自最大可容忍的相位误差为Max_Phase_Err,参数更新时间间隔Tu,有限字长效应校正的时间间隔Te,信号的采样时间间隔Ts;

步骤2:利用当前时刻的多普勒频率参数,计算浮点格式的频率控制字;

步骤3:将步骤2得到的浮点格式的频率控制字转换成字长为Lw的定点格式的频率控制字,记录单次转换产生的误差,并计算在有限字长效应校正的时间间隔Te内产生的误差的总和,然后将该误差总和以定点格式保存;

步骤4:用步骤3得到的定点格式的频率控制字,以信号的采样时间间隔Ts为时间节拍,对信号的相位进行累加,然后判断累加过程的时间是否达到有限字长效应校正的时间间隔Te,如果达到了该间隔,则先用该相位累加值加上步骤3得到的误差总和,得到相位误差校正值,将该相位误差校正值对 取模后保存并输出,然后进入步骤5,如果没有达到,则直接将相位累加值对 取模后保存并输出该结果,然后进入步骤5;

步骤5:判断是否达到参数更新时间间隔Tu,如果达到,则返回步骤2;如果没有达到,则返回步骤4;

其中,所述频率控制字为中频载波频率控制字、C/A码频率控制字和导航电文频率控制字中的一个;有限字长效应校正的时间间隔Te采用如下方法确定:

1)对于每一个所述的频率控制字,分别根据所述的能够容忍的最大相位误差Max_Phase_Err计算其所需要的最小累积次数Min_N=Max_Phase_Err/Max_ΔFCW,其中,Max_ΔFCW为所述步骤3中将浮点格式的频率控制字转换成定点格式的频率控制字时可能导致的最大误差的绝对值,对于采用小数位四舍五入方式的转换方法,Max_ΔFCW=0.5,对于采用直接去除小数位的转换方法,Max_ΔFCW=1;

2)对于每一个所述的频率控制字,分别计算Te=Ts×Min_N,其中Ts为所述的信号的采样时间间隔;

3)取2)步得到的三个Te中的最小值,即为有限字长效应校正的时间间隔Te。

2.根据权利要求1所述的一种用于校正GPS信号源的相位误差的方法,其特征是:参数更新时间间隔Tu大于或者等于有限字长效应校正的时间间隔Te。

3.根据权利要求1所述的一种用于校正GPS信号源的相位误差的方法,其特征是:参数更新时间间隔Tu是有限字长效应校正的时间间隔Te的整数倍。

4.根据权利要求1所述的一种用于校正GPS信号源的相位误差的方法,其特征是:所述步骤3将浮点格式的频率控制字转换成字长为Lw的定点格式的步骤包括:

1)将所述浮点格式的频率控制字乘以 ;

2)将1)步得到的值进行小数位四舍五入的取整数运算或者将1)步得到的值进行直接去除小数位的取整运算。

5.根据权利要求1所述的一种用于校正GPS信号源的相位误差的方法,其特征是:涉骤3所述的在有限字长效应校正的时间间隔Te内产生的误差的总和=所述单次转换产生的误差×Te/Ts。

6.根据权利要求1所述的一种用于校正GPS信号源的相位误差的方法,其特征是:所述步骤4对信号的相位进行累加的方法是循环执行下面的公式:相位累加值=相位累加值+所述步骤3得到的定点格式的频率控制字,如果对于当前模拟的这颗GPS卫星而言是第一次计算其多普勒频率参数,则相位累加值的初值为信号的初始相位值,否则,相位累加值的初值为所述步骤4中的保存下来的相位累加值。

说明书 :

一种用于校正GPS信号源的相位误差的方法

技术领域

[0001] 本发明涉及模拟产生GPS信号源的技术领域,具体涉及一种用于校正GPS信号源的相位误差的方法。

背景技术

[0002] GPS信号源可以为卫星导航领域的各项研究、仿真和测试提供可重复的模拟信号,有助于研究工作的推进。同时,在不便于架设天线的环境中,如偏远山区和气候恶劣的地区,GPS信号源也可以保证导航终端的正常工作,大大降低了架设天线的建设成本和维护费用。
[0003] 在GPS信号源模拟产生GPS信号的过程中,需要计算出中频载波的频率控制字,C/A码的频率控制字和导航电文的频率控制字,进而分别用这三个频率控制字去控制相位累加,分别得到中频载波、C/A码和导航电文的相位。
[0004] 计算上述频率控制字和进行相位累加的方法主要包括如下步骤:
[0005] 步骤1:利用多普勒频率参数计算中频载波的频率控制字、C/A码的频率控制字和导航电文的频率控制字;
[0006] 步骤2:按照采样间隔,利用步骤1得到的频率控制字进行相位累加,得到中频载波、C/A码和导航电文的相位。
[0007] 其中,利用多普勒频率参数计算中频载波的频率控制字FCW_Carrier_Float的公式为:
[0008]
[0009] fI表示中频频率,fd表示多普勒频率,fs表示信号采样频率。
[0010] 利用多普勒频率参数计算C/A码的频率控制字FCW_Code_Float的公式为:
[0011]
[0012] fC为C/A码的码率,fT为GPS信号载波频率。
[0013] 利用多普勒频率参数计算计算导航电文的频率控制字FCW_Data_Float的公式为:
[0014]
[0015] fD表示导航电文码率。
[0016] 步骤2在用频率控制字进行相位累加时,如果所用的多普勒频率对该颗卫星而言是第一次计算得到的,则应该从GPS信号的初始相位开始累加,否则就在上次累加得到的相位累加值基础上继续累加。
[0017] 由此可见,对于计算GPS信号源的中频载波、C/A码和导航电文的相位而言,多普勒频率和该GPS卫星信号的初始相位是其基本的输入参数,这两个参数一般是由GPS信号源的其他模块计算生成并输出给相位计算模块。
[0018] 在一个数字平台上具体实现上述步骤时,既可以采用定点的数字平台,也可以采用浮点的数字平台。我们经过分析发现,无论单纯采用哪种平台来实现,都存在如下难点:如果采用定点平台来实现,则意味着用一个有限长的二进制串来表示中频载波频率控制字、C/A码频率控制字和导航电文频率控制字时,这就存在表示误差,即:其定点方式表示的值与理想值之间存在偏差。这使得模拟产生的GPS信号和真实的信号之间存在差距。并且,随着时间的增加,这个差距可能逐渐变大,导致性能进一步恶化。如果在浮点平台上来表示和处理数据,可以大大降低有限字长效应引起的误差,但这必将增大实现的难度、硬件平台的成本和整个系统的功耗。
[0019] 从国内外公开的文献来看,我们没有找到能够同时有效的解决上述两方面技术问题的技术方案。

发明内容

[0020] 本发明提出的一种用于校正GPS信号源的相位误差的方法,其特征是依次包括如下步骤:
[0021] 步骤1:设定数字平台的字长为LW,中频载波、C/A码和导航电文信号各自最大可容忍的相位误差为Max_Phase_Err,参数更新时间间隔Tu,有限字长效应校正的时间间隔Te,信号的采样时间间隔Ts;
[0022] 步骤2:利用当前时刻的多普勒频率参数,计算浮点格式的频率控制字;
[0023] 步骤3:将步骤2得到的浮点格式的频率控制字转换成字长为LW的定点格式的频率控制字,记录单次转换产生的误差,并计算在有限字长效应校正的时间间隔Te内产生的误差的总和,然后将该误差总和以定点格式保存;
[0024] 步骤4:用步骤3得到的定点格式的频率控制字,以信号的采样时间间隔Ts为时间节拍,对信号的相位进行累加,然后判断累加过程的时间是否达到有限字长效应校正的时间间隔Te,如果达到了该间隔,则先用该相位累加值加上步骤3得到的误差总和,得到相位误差校正值,将该相位误差校正值对 取模后保存并输出,然后进入步骤5,如果没有达到,则直接将相位累加值对 取模后保存并输出该结果,然后进入步骤5;
[0025] 步骤5:判断是否达到参数更新时间间隔Tu,如果达到,则返回步骤2;如果没有达到,则返回步骤4。
[0026] 参数更新时间间隔Tu大于或者等于有限字长效应校正的时间间隔Te。
[0027] 参数更新时间间隔Tu是有限字长效应校正的时间间隔Te的整数倍。
[0028] 所述频率控制字为中频载波频率控制字、C/A码频率控制字和导航电文频率控制字中的一个。
[0029] 有限字长效应校正的时间间隔Te采用如下方法确定:
[0030] 1)对于每一个所述的频率控制字,分别根据所述的能够容忍的最大相位误差Max_Phase_Err计算其所需要的最小累积次数Min_N=Max_Phase_Err/Max_ΔFCW,其中,Max_ΔFCW为所述步骤3中将浮点格式的频率控制字转换成定点格式的频率控制字时可能导致的最大误差的绝对值,对于采用小数位四舍五入方式的转换方法,Max_ΔFCW=0.5,对于采用直接去除小数位的转换方法,Max_ΔFCW=1;
[0031] 2)对于每一个所述的频率控制字,分别计算Te=Ts×Min_N,其中Ts为所述的信号的采样时间间隔;
[0032] 3)取2)步得到的三个Te中的最小值,即为有限字长效应校正的时间间隔Te。
[0033] 所述步骤3将浮点格式的频率控制字转换成字长为LW的定点格式的步骤包括:
[0034] 4)将所述浮点格式的频率控制字乘以
[0035] 5)将1)步得到的值进行小数位四舍五入的取整数运算或者将1)步得到的值直接去除小数位的取整运算。
[0036] 步骤3所述的在有限字长效应校正的时间间隔Te内产生的误差的总和=所述单次转换产生的误差×Te/Ts。
[0037] 所述步骤4对信号的相位进行累加的方法是循环执行下面的公式:相位累加值=相位累加值+所述步骤3得到的定点格式的频率控制字,如果对于当前模拟的这颗GPS卫星而言是第一次计算其多普勒频率参数,则相位累加值的初值为信号的初始相位值,否则,相位累加值的初值为所述步骤4中的保存下来的相位累加值。
[0038] 本发明的技术方案在浮点实现和定点实现上进行了很好的折中,结合了浮点实现的精确性和定点实现的简单性,同时考虑了浮点格式转定点格式过程中由于有限字长效应引进的误差,并对其进行了校正。在本技术方案的步骤3之前,参数的计算频率较低(等于参数更新间隔Tu),使用浮点实现,以更准确的根据当前时刻卫星信号的多普勒频率来计算平率控制字的值;步骤3之后,计算频率较高(主要是按采样间隔Ts进行相位累加计算),使用定点实现,可以更简单快速的产生卫星信号。同时,还计算了有限字长效应引起的相位累积误差,并且在定点实现部分的参数更新间隔Te处进行了校正,保证了定点实现的准确性。

附图说明

[0039] 附图1为本发明提出的一种用于校正GPS信号源的相位误差的方法的总体流程图。

具体实施方式

[0040] 下面具体说明本发明技术方案的实施方式。
[0041] 步骤1:初始化,具体包括:设定参数,包括GPS信号载波频率fT=1575.42MHz,C/A码率fC=1.023MHz,导航电文码率fD=50Hz,采样频率fs=16.384MHz,采样间隔Ts=1/16.384us,中频fI=5.12MHz,数字平台的字长LW=32bit,,三个频率控制字误差引起的最大相位误差容忍值为均8192,采用四舍五入的方法实现定点化,即Max_ΔFCW=0.5,由此得到的有限字长效应校正间隔Te=1ms,校正间隔内的数据点数Ne=Te/Ts=16384,另外,设参数更新间隔Tu=2ms,Nu=Tu/Te=2。
[0042] 步骤2:根据当前时刻的多普勒频率计算出浮点格式的频率控制字[0043] (a)计算中频载波的频率控制字FCW_Carrier_Float,即
[0044]
[0045] (b)计算C/A码的频率控制字FCW_Code_Float,即
[0046]
[0047] (c)计算导航电文的频率控制字FCW_Data_Float,即
[0048]
[0049] 其中fd为多普勒频率。
[0050] 步骤3:对频率控制字进行定点化处理,并记录有限字长效应引起的误差,具体包括如下步骤:
[0051] 步骤3-1:对浮点格式的中频频率控制字FCW_Carrier_Float乘以 后进行对小数位的四舍五入,得到定点格式的中频频率控制字FCW_Carrier,即
[0052] FCW_Carrier=round{FCW_Carrier_Float×232}
[0053] 计算在有限字长效应校正间隔Te内,由有限字长效应引起的中频载波相位累积误差ΔPhase_Carrier,仍用定点格式表示,即
[0054] ΔPhase_Carrier=round{(FCW_Carrier_Float×232-FCW_Carrier)×16384}[0055] 步骤3-2:对浮点格式的C/A码频率控制字FCW_Code_Float乘以 后进行对小数位的四舍五入,得到定点格式的C/A码频率控制字FCW_Code,即
[0056] FCW_Code=round{FCW_Code_Float×232}
[0057] 计算有限字长效应校正间隔Te内,由有限字长效应引起的C/A码相位累积误差ΔPhase_Code,仍用定点格式表示,即
[0058] ΔPhase_Code=round{(FCW_Code_Float×232-FCW_Code)×16384}[0059] 步骤3-3:对浮点格式的导航电文频率控制字FCW_Data_Float乘以 后进行对小数位的四舍五入,得到定点格式的导航电文频率控制字FCW_Data,即
[0060] FCW_Data=round{FCW_Data_Float×232}
[0061] 计算有限字长效应校正间隔Te内,由有限字长效应引起的导航电文相位累积误差ΔPhase_Data,仍用定点格式表示,即
[0062] ΔPhase_Data=round{(FCW_Data_Float×232-FCW_Data)×16384}[0063] 上述公式中的round{}运算,表示对小数位的四舍五入操作,除了采用对小数位四舍五入的方式来完成浮点格式到定点格式的转换外,还可以直接将小数位舍弃,即只保留整数位的做法来转换成定点格式的频率控制字,如果采用这种方法,Max_ΔFCW=1,与Max_ΔFCW相关的其他参数,也应该做相应的改变。
[0064] 步骤4:利用定点格式的频率控制字进行相位累加,具体包括如下步骤:
[0065] 步骤4-1:利用中频载波的频率控制字进行相位累加,即
[0066] Phase_Carrier=Phase_Carrier+FCW_Carrier
[0067] 步骤4-2:利用C/A码的频率控制字进行相位累加,即
[0068] Phase_Code=Phase_Code+FCW_Code
[0069] 步骤4-3:利用导航电文的频率控制字进行相位累加,即
[0070] Phase_Data=Phase_Data+FCW_Data
[0071] 在用频率控制字对相位进行累加开始前,需要判断所采用的多普勒频率对该颗卫星而言是否是第一次计算得到的,如果是,则上面三个累加公式中的相位的初始值为该卫星信号的初相;如果不是,则则上面三个累加公式中的相位的初始值为上一次累加以后保存下来的相位累加值。
[0072] 步骤5:如果到达有限字长效应校正间隔Te,则利用累积误差量对有限字长效应进行校正,并将校正以后的累加结果保存,具体包括如下步骤:
[0073] 步骤5-1:校正中频载波相位,即
[0074] Phase_Carrier=Phase_Carrier+ΔPhase_Carrier
[0075] 步骤5-2:校正C/A码相位,即
[0076] Phase_Code=Phase_Code+ΔPhase_Code
[0077] 步骤5-3:校正导航电文相位,即
[0078] Phase_Data=Phase_Data+ΔPhase_Data
[0079] 如果没有达到有限字长效应校正间隔Te,则直接将累加结果保存。
[0080] 步骤6:对步骤5保存的三个相位累加值按232进行取模并输出,具体包括如下步骤:
[0081] 步骤6-1:对中频载波相位进行取模,即
[0082] Phase_Carrier=mod{Phase_Carrier,232}
[0083] 步骤6-2:对C/A码相位进行取模,即
[0084] Phase_Code=mod{Phase_Code,232}
[0085] 步骤6-3:对导航电文相位进行取模,即
[0086] Phase_Data=mod{Phase_Data,232}
[0087] 在定点实现过程中,取模就是简单的取低位,即对232取模,就是简单地取出相位累加值的低32位即可。
[0088] 步骤7:判断是否达到了参数更新间隔Tu,如果达到,则返回步骤2,否则返回步骤4。
[0089] 本具体实施例的步骤2采用浮点方式实现,步骤3、4、5、6采用定点方式实现,从上面的步骤描述可以看出,只有达到了参数更新间隔Tu时,才会要求浮点平台重新计算各个频率控制字,而参数更新间隔Tu的值一般都比有限字长效应校正间隔Te要长,这就很好的兼顾了精度和系统成本,使得高成本和高功耗的浮点运算量比较少,大量的运算放在定点平台实现。因此,本技术方案在具体实现时,建议将浮点实现部分和定点实现部分分开,置于不同的平台上,如采用“DSP+FPGA”的模式,DSP负责浮点相关的计算,FPGA负责相位累加和查表,共同完成模拟GPS信号的任务。