发明名称 一种基于GPU的长码部分相关全局直接捕获方法
摘要 针对长周期伪码直接捕获时大量码相位搜索问题,本发明实施例提供了一种基于GPU的长码部分相关全局直接捕获方法,突破了嵌入式器件FFT变换处理点数限制,利用GPU中数以百计的浮点运算单元并行进行FFT运算,直接对长周期伪码扩频信号不确定范围内的伪码相位全局搜索,提高了长码伪码相位捕获速度,对卫星导航扩频信号软件接收有着重大意义。
申请公布号 CN106501822A 申请公布日期 2017.03.15
申请号 CN201611006749.2 申请日期 2016.11.16
申请人 中国人民解放军国防科学技术大学 发明人 牟卫华;苏映雪;欧钢;孙广富;王飞雪;陈华明;刘小汇;高毅;马春江
分类号 G01S19/29(2010.01)I;G01S19/30(2010.01)I 主分类号 G01S19/29(2010.01)I
代理机构 北京中济纬天专利代理有限公司 11429 代理人 陈立新
主权项 一种基于GPU的长码部分相关全局直接捕获方法,其特征在于;包括以下步骤:步骤S1提取长码生成本地参考信号序列根据本地时间t<sub>0</sub>,取[t<sub>0</sub> t<sub>0</sub>+t]时间段持续时间为t的长码数据,根据采样率f<sub>s</sub>生成本地参考信号序列p(n),p(n)为{p(0) p(1) … p(tf<sub>s</sub>)};步骤S2输入信号剥离载波以采样率f<sub>s</sub>对输入信号进行采样,采集(T+t)秒的输入信号,其中T为预设的伪码搜索不确定时间范围,剥离载波后生成复信号序列s(n),s(n)为{s(0) s(1) … s[(T+t)f<sub>s</sub>]};步骤S3分配数据存储空间,传输数据到GPU设备端在GPU设备端为输入的复信号序列s(n)和本地参考信号序列p(n)分配存储空间,使用cudaMemcpy()函数将复信号序列s(n)和本地参考信号序列p(n)由主机端拷贝到GPU设备端;步骤S4本地序列补零扩展将本地参考信号序列p(n)补充Tf<sub>s</sub>个0,得到序列p<sub>0</sub>(n),即<maths num="0001"><math><![CDATA[<mrow><msub><mi>p</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>p</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>n</mi><mo>&le;</mo><msub><mi>tf</mi><mi>s</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><msub><mi>tf</mi><mi>s</mi></msub><mo>&lt;</mo><mi>n</mi><mo>&le;</mo><mrow><mo>(</mo><mi>T</mi><mo>+</mo><mi>t</mi><mo>)</mo></mrow><msub><mi>f</mi><mi>s</mi></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0001153852970000011.GIF" wi="589" he="158" /></maths>步骤S5创建傅里叶变换计划调用函数cufftPlan1d()创建傅里叶变换计划;步骤S6计算信号序列傅里叶变换调用函数cufftExecC2C()、cufftExecR2C(),计算复信号序列s(n)的傅里叶变换序列S(k)和本地参考信号序列p<sub>0</sub>(n)的傅里叶变换序列P<sub>0</sub>(k),其中k是复信号序列s(n)傅里叶变换后的频域序列索引;步骤S7频域共轭乘运算在GPU中逐点计算S(k)与P<sub>0</sub>(k)的共轭乘积,得到序列Y<sub>T+t</sub>(k);步骤S8逆FFT得到相关值序列调用函数cufftExecC2C()计算Y<sub>T+t</sub>(k)的逆FFT,得到循环相关序列y<sub>T+t</sub>(n),然后截取每个循环相关序列的前Tf<sub>s</sub>+1个值,得到整个不确定时间范围T内的相关值序列r(n);步骤S9计算相关值序列模值在GPU中逐点计算相关值序列r(n)的模值,得到模值序列M(n);步骤S10信号检测搜索M(n)的最大值,判断是否超过检测门限,并确定码相位值t<sub>d</sub>。
地址 410073 湖南省长沙市开福区德雅路109号