发明名称 一种基于重叠差分循环相干积分的BOC调制信号捕获方法
摘要 本发明涉及GNSS(全球卫星导航系统)中接收机的捕获处理领域,具体涉及的是一种基于重叠差分循环相干积分的BOC调制信号捕获方法。本发明包括:接收机接收中频信号作为处理数据的接收信号;将去除载波之后的信号作为4条支路的输入信号;将数据块进行自身叠加处理;本地生成要捕获卫星的PRN码以及经过BOC调制之后的BOC信号,并分别进行快速傅里叶变化;进行傅里叶反变换,求模;本地PRN码作相乘处理,并进行傅里叶反变换;做减法运算,保留得到的值以及共轭值;将本条支路所得的共轭值与下一支路同一等级的值做乘积处理。本发明能够较好的捕获到弱信号,使得接收机对于弱信号的适应性得到提高。
申请公布号 CN104181556A 申请公布日期 2014.12.03
申请号 CN201410407011.1 申请日期 2014.08.19
申请人 哈尔滨工程大学 发明人 徐定杰;韩浩;桑靖;刘向锋;李伟东;周阳;兰晓明;张金丽;迟晓彤
分类号 G01S19/24(2010.01)I 主分类号 G01S19/24(2010.01)I
代理机构 代理人
主权项 一种基于重叠差分循环相干积分的BOC调制信号捕获方法,其特征是:步骤1:接收机接收一段长为20Mms+10ms距离的中频信号作为处理数据的接收信号,M=1,2,3…,对接收信号进行去载波处理,与本地复现的载波复正弦信号进行混频处理,多普勒频移范围(ω<sub>Dmin</sub>,ω<sub>Dmax</sub>),搜索频率步进Δω<sub>D</sub>,检测阈值γ,接收信号为:<img file="FDA0000555965650000011.GIF" wi="967" he="71" />s(k)是在采样时间t<sub>k</sub>时的接收信号,c(t<sub>k</sub>‑t<sub>s</sub>)为初始码相位为t<sub>s</sub>的BOC码序列;<img file="FDA0000555965650000012.GIF" wi="46" he="58" />为初始载波相位;频率ω<sub>IF</sub>是中频,ω<sub>D</sub>是载波信号的多普勒频移;n(k)是高斯白噪声;k=0,1,…N‑1,为处理数据段的采样点数;将接收信号s(k)与本地载波复正弦信号<img file="FDA0000555965650000013.GIF" wi="578" he="95" />进行混频处理,滤除高频分量后得到:<img file="FDA0000555965650000014.GIF" wi="1261" he="71" /><img file="FDA0000555965650000015.GIF" wi="371" he="94" />为第i次载波频率搜索点与接收信号间的频率差值;<img file="FDA0000555965650000016.GIF" wi="86" he="85" />是第i次的本地载波的多普勒频移;<img file="FDA0000555965650000017.GIF" wi="262" he="92" />为对应的相位差值;当频率差值Δω<sub>d</sub>=0时,即本地复现的载波频率与接收信号的载波频率相等时,实现载波的完全剥离,得到包含常数因子的接收到的BOC序列为:<img file="FDA0000555965650000018.GIF" wi="777" he="71" />步骤2:将去除载波之后的信号作为4条支路的输入信号,其中支路1不做延迟处理,支路2延迟5ms,支路3延迟10ms,支路4延迟15ms;步骤3:每个数据块之间有5ms数据的重叠,依次记为<img file="FDA0000555965650000019.GIF" wi="269" he="67" />其中m=1,2,3,…,M,将数据块进行自身叠加处理,将每一个10ms长度的数据块叠加成1ms的长度,分别记为<img file="FDA00005559656500000110.GIF" wi="92" he="71" /><img file="FDA00005559656500000111.GIF" wi="334" he="73" />m=1,2…M,对1ms数据进行FFT处理,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>FY</mi><mn>1</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>2</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>3</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>4</mn><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mi>FFT</mi><mo>(</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>y</mi><mn>1</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>y</mi><mn>2</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>y</mi><mn>3</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>y</mi><mn>4</mn><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced><mo>)</mo><mi>m</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>M</mi><mo>;</mo></mrow>]]></math><img file="FDA00005559656500000112.GIF" wi="701" he="296" /></maths>步骤4:本地生成要捕获卫星的PRN码以及经过BOC调制之后的BOC信号,并分别进行快速傅里叶变化,且取复共轭,C<sub>prn</sub>=(FFT(c<sub>prn</sub>))<sup>*</sup>C<sub>boc</sub>=(FFT(c<sub>boc</sub>))<sup>*</sup>其中c<sub>prn</sub>表示卫星信号的PRN码,c<sub>boc</sub>表示本地生成的BOC信号,*表示进行取复共轭操作;步骤5:将经过步骤3处理后的信号与经过步骤4处理后的本地BOC信号作相乘处理,并进行傅里叶反变换,再求模,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>B</mi><mn>1</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>B</mi><mn>2</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>B</mi><mn>3</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>B</mi><mn>4</mn><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mi>IFFT</mi><mfenced open='(' close=')'><mtable><mtr><mtd><msubsup><mi>FY</mi><mn>1</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>boc</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>2</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>boc</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>3</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>boc</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>4</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>boc</mi></msub></mtd></mtr></mtable></mfenced><mi>m</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>M</mi><mo>;</mo></mrow>]]></math><img file="FDA0000555965650000021.GIF" wi="803" he="290" /></maths>步骤6:将经过步骤3处理后的信号与经过步骤4处理后的本地PRN码作相乘处理,并进行傅里叶反变换,再求模,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>CA</mi><mn>1</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>CA</mi><mn>2</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>CA</mi><mn>3</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>CA</mi><mn>4</mn><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mi>IFFT</mi><mfenced open='(' close=')'><mtable><mtr><mtd><msubsup><mi>FY</mi><mn>1</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>prn</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>2</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>prn</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>3</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>prn</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>FY</mi><mn>4</mn><mi>m</mi></msubsup><mo>*</mo><msub><mi>C</mi><mi>prn</mi></msub></mtd></mtr></mtable></mfenced><mi>m</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>M</mi><mo>;</mo></mrow>]]></math><img file="FDA0000555965650000022.GIF" wi="832" he="294" /></maths>步骤7:用步骤5的结果与步骤6的结果做减法运算,保留得到的值以及共轭值,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>Z</mi><mn>1</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>Z</mi><mn>2</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>Z</mi><mn>3</mn><mi>m</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>Z</mi><mn>4</mn><mi>m</mi></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mo>|</mo><msubsup><mi>B</mi><mn>1</mn><mi>m</mi></msubsup><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>CA</mi><mn>1</mn><mi>m</mi></msubsup><mo>|</mo></mtd></mtr><mtr><mtd><mo>|</mo><msubsup><mi>B</mi><mn>2</mn><mi>m</mi></msubsup><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>CA</mi><mn>2</mn><mi>m</mi></msubsup><mo>|</mo></mtd></mtr><mtr><mtd><mo>|</mo><msubsup><mi>B</mi><mn>3</mn><mi>m</mi></msubsup><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>CA</mi><mn>3</mn><mi>m</mi></msubsup><mo>|</mo></mtd></mtr><mtr><mtd><mo>|</mo><msubsup><mi>B</mi><mn>4</mn><mi>m</mi></msubsup><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>CA</mi><mn>4</mn><mi>m</mi></msubsup><mo>|</mo></mtd></mtr></mtable></mfenced><mi>m</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>M</mi><mo>;</mo></mrow>]]></math><img file="FDA0000555965650000023.GIF" wi="736" he="289" /></maths>步骤8:将本条支路所得的共轭值与下一支路同一等级的值做乘积处理,判断其中没有数据位跳变的支路,选取出,与捕获门限做比较,判断是否捕获到信号,如果捕获到则进行跟踪环节,否则调整本地载波和本地码,重新重复该过程:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><msubsup><mi>Z</mi><mn>1</mn><mn>1</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>2</mn><mn>1</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><msubsup><mi>Z</mi><mn>1</mn><mn>2</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>2</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msubsup><mi>Z</mi><mn>1</mn><mi>M</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>2</mn><mi>M</mi></msubsup><mo>)</mo></mrow><mo>*</mo></msup></mrow>]]></math><img file="FDA0000555965650000024.GIF" wi="787" he="79" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><msubsup><mi>Z</mi><mn>2</mn><mn>1</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>3</mn><mn>1</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><msubsup><mi>Z</mi><mn>2</mn><mn>2</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>3</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msubsup><mi>Z</mi><mn>2</mn><mi>M</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>3</mn><mi>M</mi></msubsup><mo>)</mo></mrow><mo>*</mo></msup></mrow>]]></math><img file="FDA0000555965650000025.GIF" wi="789" he="78" /></maths><maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>C</mi><mo>=</mo><msubsup><mi>Z</mi><mn>3</mn><mn>1</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>4</mn><mn>1</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><msubsup><mi>Z</mi><mn>3</mn><mn>2</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>4</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msubsup><mi>Z</mi><mn>3</mn><mi>M</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>4</mn><mi>M</mi></msubsup><mo>)</mo></mrow><mo>*</mo></msup></mrow>]]></math><img file="FDA0000555965650000026.GIF" wi="788" he="78" /></maths><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>D</mi><mo>=</mo><msubsup><mi>Z</mi><mn>4</mn><mn>1</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>1</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><msubsup><mi>Z</mi><mn>4</mn><mn>2</mn></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>1</mn><mn>3</mn></msubsup><mo>)</mo></mrow><mo>*</mo></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msubsup><mi>Z</mi><mn>4</mn><mi>M</mi></msubsup><msup><mrow><mo>(</mo><msubsup><mi>Z</mi><mn>1</mn><mrow><mi>M</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>*</mo></msup></mrow>]]></math><img file="FDA0000555965650000027.GIF" wi="826" he="79" /></maths>通过比较这4个式子峰值的大小,确定数据跳变位于哪组分块中,将不存在跳变的分块组所对应的差分相干累积结果的峰值与预先设定的检测阈值γ作比较,判断信号是否捕获成功,如果结果Y大于检测阈值γ则表明捕获成功;若小于检测阈值γ,则表明当前的卫星信号并没有捕获成功,调节载波频率步进,重复以上的搜索过程,直到卫星信号捕获成功。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室