CN117008162A - 基于gpu并行计算的卫星导航***码片形状相关器和方法 - Google Patents
基于gpu并行计算的卫星导航***码片形状相关器和方法 Download PDFInfo
- Publication number
- CN117008162A CN117008162A CN202210473223.4A CN202210473223A CN117008162A CN 117008162 A CN117008162 A CN 117008162A CN 202210473223 A CN202210473223 A CN 202210473223A CN 117008162 A CN117008162 A CN 117008162A
- Authority
- CN
- China
- Prior art keywords
- chip
- signal
- noise code
- pseudorandom noise
- input signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006835 compression Effects 0.000 claims abstract description 47
- 238000007906 compression Methods 0.000 claims abstract description 47
- 238000005070 sampling Methods 0.000 claims description 60
- 230000000630 rising effect Effects 0.000 claims description 23
- 238000009825 accumulation Methods 0.000 claims description 15
- 238000005259 measurement Methods 0.000 claims description 14
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本申请公开了一种基于GPU并行计算的实时码片形状相关器以及方法。码片形状相关器包括:遮罩生成单元,其配置成根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号;以及信号压缩单元,其配置成:使用所述即时本地伪随机噪声码对所述遮罩信号与输入信号的乘积进行压缩,生成经压缩信号,并且对所述经压缩信号进行计算以生成用于测量所述输入信号的码片形状的数据;和/或根据即时本地伪随机噪声码、超前伪随机噪声码和滞后伪随机噪声码对输入信号进行压缩,生成经压缩信号,并且对所述经压缩信号进行计算,以生成用于测量所述输入信号与本地伪随机噪声码的协相关的相关峰的数据。
Description
技术领域
本申请涉及无线电导航软件接收机领域,特别涉及一种基于GPU并行计算的卫星导航***实时码片形状相关器和方法。
背景技术
全球导航卫星***(GNSS,Global Navigation Satellite System)无线电软件(SDR,software defined radio)接收机的主要信号处理过程均通过软件处理模块实现,相较于硬件接收机更容易调试和升级修改,且有更好的可配置性,因此在GNSS的各种应用领域中发挥着着很重要的作用。而相关运算中包含大量的乘累加运算,沉重的计算负担使得基于处理器(CPU)的SDR接收机的实时性很难保证。而基于图形处理器(GPU)并行计算可以使SDR接收机中的相关计算大幅加速,从而满足实时性要求。
随着对GNSS精度和完好性要求的不断提高,SDR接收机中越来越复杂的信号处理算法对于相关器的输出也提出了更高的要求。标准相关器通常只输出3-5路相关值用于信号跟踪,但一些多径抑制和信号质量监测算法需要更多的相关值输出组成的相关峰。而标准相关器每多计算一路相关值都需要一次完整的相关运算,SDR接收机的标准相关器很难实时计算多路相关值。码片形状相关器可以利用多路相关值之间的重复计算,减小计算多路相关值的计算量。同时,码片形状相关器也可以测量码片形状,以用于多径抑制算法以及基于码片域观测量的信号质量监测算法。但SDR接收机码片形状相关器对于内存的分配和访问提出了更高的要求。
因此,为了能够满足实时测量相关峰以及码片形状的需求,需要设计更加合理的基于GPU并行计算的卫星导航***实时码片形状相关器和方法。
发明内容
为了解决上述问题或本领域中存在的其它问题,本申请提供了一种基于GPU并行计算的GNSS SDR接收机实时码片形状相关器***和方法。
根据本申请的一个方面,提供了一种基于GPU并行计算的实时码片形状相关器,包括:遮罩生成单元,其配置成根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号;以及信号压缩单元,其配置成:使用即时本地伪随机噪声码对遮罩信号与输入信号的乘积进行压缩,生成经压缩信号,并且对经压缩信号进行计算以生成用于测量输入信号的码片形状的数据;和/或根据即时本地伪随机噪声码、超前伪随机噪声码和滞后伪随机噪声码对输入信号进行压缩,生成经压缩信号,并且对经压缩信号进行计算,以生成用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据;其中,超前伪随机噪声码和滞后伪随机噪声码相对于即时本地伪随机噪声码分别超前和滞后预定数目的码片。
在一个实施例中,预定数目码片可以包括1个码片。
在一个实施例中,经压缩信号的大小为一个码片,且被划分为多个码片格子。
在一个实施例中,信号压缩单元进一步配置成:确定经压缩信号的属于同一个码片格子的相邻采样点之间的间隔,根据所确定的间隔来寻找属于同一个码片格子的全部采样点,以及将经压缩信号的属于同一个码片格子的全部采样点映射到统一计算设备架构CUDA的一个线程以执行并行计算。
在一个实施例中,当即时本地伪随机噪声码的相邻两个码片之间的边缘分别符合(1)为上升沿,(2)为下降沿,(3)保持+1,(4)保持-1时,根据即时本地伪随机噪声码的码片边缘所生成的遮罩信号的两个相邻的半码片的值与即时本地伪随机噪声码相一致且其余码片的值为0。
在一个实施例中,实时码片形状相关器可以进一步包括:码片形状测量单元,其配置成根据信号压缩单元所生成的、用于测量输入信号的码片形状的数据,确定输入信号的、包括码片上升沿和下降沿的实时码片形状;以及累加单元,其配置成对信号压缩单元所生成的、用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据进行滑动累加,以获得相关峰。
根据本申请的另一方面,提供了一种基于GPU并行计算的方法,包括:根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号;使用即时本地伪随机噪声码对遮罩信号与输入信号的乘积进行压缩,生成经压缩信号,并且对经压缩信号进行计算以生成用于测量输入信号的码片形状的数据;和/或根据即时本地伪随机噪声码、超前伪随机噪声码和滞后伪随机噪声码对输入信号进行压缩,生成经压缩信号,并且对经压缩信号进行计算,以生成用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据;其中,超前伪随机噪声码和所述滞后伪随机噪声码相对于即时本地伪随机噪声码分别超前和滞后预定数目的码片。
其中,生成经压缩信号的步骤包括:确定经压缩信号的属于同一个码片格子的相邻采样点之间的间隔,根据所确定的间隔来寻找属于同一个码片格子的全部采样点,以及将经压缩信号的属于同一个码片格子的全部采样点映射到统一计算设备架构CUDA的一个线程以执行并行计算。
其中,上述方法进一步包括:根据信号压缩单元所生成的、用于测量输入信号的码片形状的数据,确定输入信号的、包括码片上升沿和下降沿的实时码片形状,以及对信号压缩单元所生成的、用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据进行滑动累加,以获得相关峰。
根据本申请的另一方面,提供了一种基于GPU并行计算的装置,包括:存储器,存储有计算机可执行的指令;以及处理器,执行指令以实现如上所述的方法。
根据本申请的另一方面,提供了一种存储介质,其包括计算机可执行的指令,该指令被执行时实现如上所述的方法。
根据本申请的一个实施例,对信号压缩单元中一个跟踪通道的全部采样点进行并行计算,采用将采样点根据其所属的码片格子映射到对应的一个线程的并行运算方法,并且线程通过确定属于同一个码片格子的相邻采样点之间的间隔,来高效寻找属于同一个码片格子的全部采样点以完成累加。该并行计算方式使得每个线程所需使用的寄存器数量大幅降低,提高了计算效率以及码片形状和相关峰测量的分辨率上限。
附图说明
图1示出了根据本申请实施例的基于GPU并行计算的卫星导航***实时码片形状相关器的示意图。
图2示出了根据本申请一个实施例的用于实现相关峰测量的过程的示意图。
图3示出了根据本申请一个实施例的本地伪随机噪声码产生的四种遮罩信号,以及通过信号压缩来测量码片形状的过程的示意图。
图4示出了根据本申请实施例的码片形状相关器测量GPS L1C/A信号的1号卫星的1s平滑相关峰的结果。
图5示出了根据本申请实施例的码片形状相关器测量添加了幅度为0.5、延迟为0.2码片的同向多径GPS L1C/A信号的1号卫星的1s平滑相关峰的结果。
图6示出了根据本申请实施例的码片形状相关器测量添加了幅度为0.5、延迟为0.2码片的反向多径GPS L1C/A信号的1号卫星的相关峰的结果。
图7示出了根据本申请实施例的码片形状相关器测量GPS L1C/A信号的1号卫星的1s平滑码片上升沿的结果。
图8示出了根据本申请实施例的码片形状相关器测量添加了幅度为0.5、延迟为0.2码片的同向多径的GPS L1C/A信号的1号卫星的1s平滑码片上升沿的结果。
图9示出了根据本申请实施例的码片形状相关器测量添加了幅度为0.5、延迟为0.2码片的反向多径的GPS L1C/A信号的1号卫星的1s平滑码片上升沿的结果。
具体实施方式
以下描述参考附图更全面地说明本公开的实施例及其各种特征和细节。省略对公知部件和处理技术的描述,以免不必要地模糊本公开的实施例。另外,本公开描述的各种实施例无需相互排斥,因为一些实施例可以与一个或多个其他实施例组合以形成新的实施例。除非另外指明,否则如本公开使用的术语“或”指的是非排他的或。本公开使用的示例仅仅意图帮助理解可以实践本公开的实施例的方式,并且进一步使得本领域的技术人员能够实践本公开的实施例。因此,示例不应被解释为限制本公开的实施例的范围。
还应理解的是,诸如“包括”、“包括有”、“具有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当诸如“……中的至少一个”的表述出现在所列特征的列表之后时,其修饰整列特征,而非仅仅修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
除非另外限定,否则本文中使用的全部措辞(包括工程术语和科技术语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本申请中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。另外,除非明确限定或与上下文相矛盾,否则本申请所记载的方法中包含的具体步骤不必限于所记载的顺序,而可以任意顺序执行或并行地执行。下面将参考附图并结合实施例来详细说明本申请。
图1示出了根据本申请实施例的基于GPU并行计算的卫星导航***实时码片形状相关器10的示意框图。实时码片形状相关器10可包括遮罩生成单元101和信号压缩单元102。遮罩生成单元101根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号。信号压缩单元102可使用即时本地伪随机噪声码对遮罩信号与输入的载波剥离后的信号的乘积进行压缩,生成经压缩信号,并且对经压缩信号进行计算以生成用于测量输入的载波剥离后的信号的码片形状的数据。
在一个示例中,信号压缩单元102还可以使用超前、即时、滞后伪随机码,对输入的载波剥离后的信号进行信号压缩,生成经压缩信号,并且对经压缩信号进行计算,以生成用于测量输入的载波剥离后的信号与本地伪随机噪声码的协相关的相关峰的数据。
优选地,超前伪随机噪声码和滞后伪随机噪声码可以相对于即时本地伪随机噪声码分别超前和滞后1个的码片。
当即时本地伪随机噪声码的相邻两个码片之间的边缘分别符合(1)为上升沿,(2)为下降沿,(3)保持+1,(4)保持-1时,根据即时本地伪随机噪声码的码片边缘所生成的遮罩信号的两个相邻的半码片的值与即时本地伪随机噪声码相一致且其余码片的值为0。
导航信号的本地伪随机噪声码可以表示为以下形式:
即本地伪随机噪声码m(t)可以表示为码片函数c(t)通过εk=±1加权,移位若干个码片周期Tc相加得到。在信号压缩单元102中,用本地伪随机噪声码的εk对输入信号进行加权累加,即
经压缩后的信号只有一个码片的长度,且保留了信号的全部信息。另外,由于信号压缩将一段时间内信号中全部的码片进行了相干累加,获得了载噪比的增益,因此原本淹没在噪声中的码片可以从压缩信号中得到可视化的观测。对于实际使用的离散的情况,通常在不同的码片中不会有严格对应的采样点。因此,离散情况下的信号压缩是将码片均匀划分为M个格子,在信号压缩的过程中对属于同一个格子的采样点进行累加。
图2示出了根据本申请一个实施例的、累加单元104对从信号压缩单元102得到的经压缩信号进行滑动累加以计算多路相关值,实现相关峰检测的过程的示意图20。离散相关值也可以由压缩信号计算。具体如下:
其中Tb=Tc/M,是码片格子周期。
在基于码片形状的相关峰检测中,使用即时伪随机码以及相对于即时伪随机码分别超前和滞后1个码片的超前伪随机码和滞后伪随机码对所接收的信号进行信号压缩,得到包括超前、即时、滞后三个码片(共3M个码片格子)的压缩信号,设其标号为-M到2M-1,则标号为n至n+M-1(-M-n≤M)的M个格子的和为Rrm(nTb),即为码相位为n/M的相关值。因此只需要进行M次加法运算,即可得到一个相关值,从而以很小的运算量得到多路相关值。设跟踪数据的总采样点数为Ns,相关器输出L路相关值,且L>3,则采用多路相关器方法需要O(L·Ns)的乘法运算和O(L·Ns)的加法运算,而码片形状相关器10只需要O(Ns)的乘法运算以及O(Ns+M·L)的加法运算。由于M<<Ns,因此码片形状相关器10所需的乘法运算和加法运算都要少于传统的多路相关器。
图3示出了用来获得码片边缘为上升沿、下降沿、保持+1、保持-1四种情况的码片形状而根据本地伪随机噪声码产生的四种遮罩信号,以及通过信号压缩来测量码片形状的过程的示意图30。
在信号压缩单元102中,如果直接使用本地伪随机噪声码进行信号压缩,则码片边缘情况不同的码片会被叠加在一起,因此得到的码片边缘是没有意义的。因此,本申请根据本地伪随机噪声码的4种码片边缘情况生成图3中所示的四种遮罩信号y(t)。只有在本地伪随机噪声码相邻的两个码片之间的边缘符合要求时两个相邻的半码片的遮罩信号的值与本地伪随机噪声码一致,其余部分皆为0。这样,输入信号与遮罩信号的乘积y(t)·r(t)经信号压缩单元102通过以下规则压缩:
在信号压缩的过程中只对边缘满足要求的码片单独进行累加,因此可以确保对于码片边缘的测量是准确的。而大小为一个码片的压缩信号经过码片形状测量单元103交换前一半码片和后一半码片,可以分别得到上升沿、下降沿、保持+1、保持-1这四种情况的码片形状的准确测量结果。
在经压缩信号的大小为一个码片,且被划分为多个码片格子的情况下,信号压缩单元102进一步配置成:确定所述经压缩信号的属于同一个码片格子的相邻采样点之间的间隔,根据所确定的间隔来寻找属于同一个码片格子的全部采样点,以及将所述经压缩信号的属于同一个码片格子的全部采样点映射到统一计算设备架构CUDA的一个线程以执行并行计算。
实时码片形状相关器10可以进一步包括码片形状测量单元103,其配置成根据信号压缩单元102所生成的、用于测量输入信号的码片形状的数据,确定所述输入信号的、包括码片上升沿和下降沿的实时码片形状。
实时码片形状相关器10可以进一步包括累加单元104,其配置成对信号压缩单元102所生成的、用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据进行滑动累加,以获得相关峰。
信号压缩单元102中的基于GPU的并行算法可以采用CUDA实现,也可以推广至其他异构平台程序编写的框架。每个跟踪通道映射到一个CUDA的线程块进行并行计算,采样点映射到CUDA线程块中的线程并行进行累加计算。信号压缩的计算结果是长度为M的压缩信号,而信号压缩单元102为了计算相关值需要完成E、P、L压缩信号的同向和正交分量的信号压缩,因此每个线程存储全部的信号压缩结果需要6M个寄存器。而GPU上的寄存器是稀缺资源,CUDA中一个线程的寄存器数量最大值为255。为了避免出现寄存器溢出导致的计算效率降低,M的取值不能超过42。这意味着对于相关峰和码片形状的测量无法达到很高的分辨率。因此,为了避免这一问题,在本申请的信号压缩单元102的实现中,每个线程只负责落入某一个码片格子的全部采样点的乘累加计算,只需要6个寄存器来存储某一个码片格子的6路累加结果,从而避免了寄存器溢出,提高了计算效率。而且M的取值上限也扩展到CUDA中线程块中的最大线程数1024,码片形状相关器10的分辨率上限也随着提升。
基于信号压缩单元102的采样点到线程的映射机制,线程通过一种高效算法判断与属于同一个码片格子的下一个采样点的间距,从而寻找落入自身所负责计算的码片格子的全部采样点。在给定的采样率fs、码速率fc以及码片格子的数量M下,相邻的采样点的间隔只有几个固定的可能取值Pi(P1<P2<…<Pn),且可以通过一种简单的判断准则来确定当前的具体取值:在从当前采样点偏移Pi个采样点之后,除了可能移动了整数的码片相位以外,还会产生一个分数的码片相位偏移,如下式所示:
由于码片被划分为M个码片格子,因此可以定义对应的码片格子的分数相位偏移为:
假设在当前采样点位置时还存在一个之前移动产生的分数相位偏移F(0≤F<1),那么在移动Pi个采样点后,如果采样点仍然在同一个码片格子中,则新的分数相位偏移需要满足:
0≤F+Ai<1 8)
因此,按照升序的方式检查Ai是否能够满足上述条件,第一个满足条件的Ai所对应的Pi即为当前采样点到下一个采样点之间的间距。由于属于同一个码片格子的相邻采样点之间的最大间隔为max(Pi),因此,连续的max(Pi)采样点中一定能找到全部码片格子中的至少一个采样点,作为码片格子中的第一个采样点,再通过上述的判断准则不断找到属于这个码片格子的下一个采样点,从而递推的找到属于这个码片格子的全部采样点。
在给定的采样率fs,码速率fc和码片格子数量M下,Pi的特定取值计算过程如下:首先,计算属于同一个码片格子的全部采样点的间距的可能取值Qi。由于Pi是属于同一个码片格子的相邻采样点之间的间距,而Qi是属于同一个码片格子的相邻采样点之间的间距的可能取值,因此Qi中一定包含全部Pi。设n1和n2是属于同一个码片格子的两个采样点的索引,因此需要满足:
令
将k=1、2、……代入上式中,即可计算出属于同一个码片格子的两个采样点之间的索引之差的全部可能,即为Qi。
随后,从Qi中选出Pi。在上述的Qi中,只有其中的一些可能属于同一个码片格子的相邻采样点之间的索引间距Pi,因此还需要从Qi中筛选出Pi。当移动了Qi个采样点后,分数码片格子的改变为如下偏移:
如果在移动Qi后的采样点仍然属于同一个码片格子,则必有改变后的分数频率仍处于0到1的范围内,即:
0≤Fi+Ai<1
Fi∈[min(0,-Ai),max(1,1-Ai)) 15)
因此,按照升序的顺序计算Qi所对应的Fi,如果前k个Fi的并集是[0,1),则对于0≤F<1的初始分数码片格子情况,都可以在Qi...Qk中找到Qi,使得0≤F+Ai<1,即Qi...Qk中包含了属于同一个码片格子的相邻采样点之间的间距的全部可能性,即为所要求的Pi。
以下给出根据本申请的一种基于GPU并行计算的卫星导航***实时码片形状相关器和方法的评估实施例。
对于GPS L1CA信号,码速率fc=1.023Mzz,并采用fs=24Mzz进行采样,信号压缩单元102中一个码片的格子数为40。则按照上述基于GPU并行计算的信号压缩方法,首先确定Pi的取值。代入参数到上面提及的不等式13)确定出:
因此当k=1时得到的不等式如下:
n2-n1=23,24
当k=2时得到的不等式如下:
n2-n1=47
所以Q1=23、Q2=24、Q3=47是属于相同码片格子的采样点之间的间隔的3个最小可能值。
由Q1=23、Q2=24、Q3=47计算得到对应的分数格子偏移为A1=-0.785、A2=0.92、A3=0.135,因此,要满足偏移后仍在同一个码片格子,对应的初始分数格子偏移区间应为:
F1∈[0.785,1),F2∈[0,0.08),F3∈[0,0.865)
由于:
[0.785,1)∪[0,0.08)∪[0,0.865)=[0,1)
因此,已经包含了全部的初始分数格子情况,属于同一码片格子的相邻采样点之间的间隔只有P1=23、P2=24、P3=47三种情况。
根据参数P1、P2、P3,按照基于GPU并行计算的信号压缩算法,可以并行进行L1CA信号的信号压缩,实现相关峰和码片形状的实时测量。
根据本申请的另一个方面,提供了一种基于GPU并行计算的方法。该方法包括:根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号;使用即时本地伪随机噪声码对遮罩信号与输入信号的乘积进行压缩,生成经压缩信号,并且对经压缩信号进行计算以生成用于测量输入信号的码片形状的数据;和/或根据即时本地伪随机噪声码、超前伪随机噪声码和滞后伪随机噪声码对输入信号进行压缩,生成经压缩信号,并且对经压缩信号进行计算,以生成用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据。其中,超前伪随机噪声码和滞后伪随机噪声码相对于即时本地伪随机噪声码分别超前和滞后预定数目的码片。
示例性地,预定数目码片可以是1个码片。
示例性地,经压缩信号的大小可以为一个码片,且可以被划分为多个码片格子。
示例性地,生成经压缩信号的步骤可以包括:确定经压缩信号的属于同一个码片格子的相邻采样点之间的间隔,根据所确定的间隔来寻找属于同一个码片格子的全部采样点,以及将经压缩信号的属于同一个码片格子的全部采样点映射到统一计算设备架构CUDA的一个线程以执行并行计算。
示例性地,根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号的步骤可以包括:响应于即时本地伪随机噪声码的相邻两个码片之间的边缘分别符合(1)为上升沿,(2)为下降沿,(3)保持+1,(4)保持-1,根据即时本地伪随机噪声码的码片边缘生成遮罩信号,其中遮罩信号的两个相邻的半码片的值与即时本地伪随机噪声码相一致且其余码片的值为0。
示例性地,上述方法可以进一步包括:根据信号压缩单元102所生成的、用于测量输入信号的码片形状的数据,确定输入信号的、包括码片上升沿和下降沿的实时码片形状,以及对信号压缩单元102所生成的、用于测量输入信号与本地伪随机噪声码的协相关的相关峰的数据进行滑动累加,以获得相关峰。
本申请对信号压缩单元中一个跟踪通道的全部采样点进行并行计算,采用将采样点根据其所属的码片格子映射到对应的一个线程的并行运算方法,并且线程通过确定属于同一个码片格子的相邻采样点之间的间隔来高效寻找属于同一个码片格子的全部采样点以完成累加。该并行计算方式使得每个线程所需使用的寄存器数量大幅降低,提高了计算效率以及码片形状和相关峰测量的分辨率上限。
根据本申请的另一方面,提供了一种基于GPU并行计算的装置,包括:存储器,存储有计算机可执行的指令;以及处理器,执行指令以实现上文所述的方法。
根据本申请的另一方面,提供了一种存储介质,其包括计算机可执行的指令,该指令被执行时实现上文所述的方法。
图4示出了根据本申请实施例的码片形状相关器监测GPS L1CA信号的1号卫星的1s平滑相关峰的结果40。此处的信号由Spirent GSS9000模拟源生成,经过信号压缩单元102的压缩后,由累加单元104进行滑动相加,得到多路的相关值,实现相关峰的实时测量。在码片的格子数为40的情况下,最多可以生成81路相关值,而本实施例中按照0.05码片间隔生成了39路相关值。从图中可以看出,测量得到的相关峰和标准的相关峰十分接近,说明当前接收信号正常。
图5和图6分别示出了根据本申请实施例的码片形状相关器监测添加了幅度为0.5、延迟为0.2码片的同向和反向多径GPS L1CA信号的1号卫星的1s平滑相关峰的结果50和60。从图中可以看出,在相关峰第四个采样点处相关函数的斜率发生了明显的变化,因此可以得知多径的延迟为0.2码片,多径的相位和幅度也可以根据具体的斜率计算得出。这说明了根据本申请实施例的码片形状相关器可以通过相关峰实时测量来实现对接收信号多径等失真的监测。
图7示出了根据本申请实施例的码片形状相关器监测GPS L1C/A信号的1号卫星的1s平滑码片上升沿的结果70。在码片相位为-0.5到0.5的一个码片内,共有40个格子,因此,码相位间隔为0.025码片,能够较为清晰的表示码片的上升沿形状。
图8和图9分别示出了根据本申请实施例的码片形状相关器监测添加了幅度为0.5、延迟为0.2码片的同向和反向多径下的GPS L1C/A信号的1号卫星的1s平滑码片上升沿的结果80和90。从图中可以看出,多径导致了码片形状的很大改变。所得到的码片上升沿信息,可以用于多径抑制等技术的后续处理。
下面的表1示出了根据本申请实施例的码片形状相关器方法和传统多路相关器方法在跟踪环节处理1ms数据所需要的平均时间。测试所使用的GPU为NVIDIA GeForce RTX3080,测试中同时处理GPS***的L1C/A和L5信号,BDS***的B1C、B2a、B1I信号,以及GAL***的E1OS和E5a信号,共7种信号,每种信号12个通道,因此,总共84个通道,其中作为对照的传统多路相关器方法同样通过GPU并行计算,输出5路相关信号。根据本申请实施例的码片形状相关器分为只输出39路相关值、以及输出39路相关值的同时输出码片上升沿形状这两种情况。可以看出,由于采用信号压缩方法减少了计算量,码片形状相关器计算39路相关值所花费的时间小于使用传统多路相关器计算5路相关值所花费的时间,而码片形状相关器额外计算码片上升沿会使得时间消耗增加,但平均0.58ms处理1ms的数据仍然可以保证接收机运行的实时性。
码片形状相关器方法和传统多路相关器方法处理1ms数据所需平均时间如下表1所示。
方法 | 平均时间 |
传统多路相关器输出5路相关值 | 0.458ms |
码片形状相关器输出39路相关值 | 0.406ms |
码片形状相关器输出39路相关值和码片上升沿 | 0.580ms |
表1
以上实施方式仅用于说明本申请,而并非对本申请的限制。有关技术领域的普通技术人员,在不脱离本申请的精神和范围的情况下,可以对本申请所公开的实施方式和实施例做出各种变化和变型,因此所有等同的技术方案也属于本申请的范畴,本申请的专利保护范围由权利要求限定。
Claims (12)
1.一种基于GPU并行计算的实时码片形状相关器,包括:
遮罩生成单元,其配置成根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号;以及
信号压缩单元,其配置成:
使用所述即时本地伪随机噪声码对所述遮罩信号与输入信号的乘积进行压缩,生成经压缩信号,并且对所述经压缩信号进行计算以生成用于测量所述输入信号的码片形状的数据;和/或
根据即时本地伪随机噪声码、超前伪随机噪声码和滞后伪随机噪声码对输入信号进行压缩,生成经压缩信号,并且对所述经压缩信号进行计算,以生成用于测量所述输入信号与本地伪随机噪声码的协相关的相关峰的数据;其中,所述超前伪随机噪声码和所述滞后伪随机噪声码相对于所述即时本地伪随机噪声码分别超前和滞后预定数目的码片。
2.根据权利要求1所述的实时码片形状相关器,其中,所述预定数目码片包括1个码片。
3.根据权利要求1-2中任一项所述的实时码片形状相关器,其中,所述经压缩信号的大小为一个码片,且被划分为多个码片格子;
其中,所述信号压缩单元进一步配置成:
确定所述经压缩信号的属于同一个码片格子的相邻采样点之间的间隔,
根据所确定的间隔来寻找属于同一个码片格子的全部采样点,以及
将所述经压缩信号的属于同一个码片格子的全部采样点映射到统一计算设备架构CUDA的一个线程以执行并行计算。
4.根据权利要求1所述的实时码片形状相关器,其中,当所述即时本地伪随机噪声码的相邻两个码片之间的边缘分别符合(1)为上升沿,(2)为下降沿,(3)保持+1,(4)保持-1时,根据所述即时本地伪随机噪声码的码片边缘所生成的所述遮罩信号的两个相邻的半码片的值与所述即时本地伪随机噪声码相一致且其余码片的值为0。
5.根据权利要求1所述的实时码片形状相关器,进一步包括:
码片形状测量单元,其配置成根据所述信号压缩单元所生成的、用于测量所述输入信号的码片形状的数据,确定所述输入信号的、包括码片上升沿和下降沿的实时码片形状;以及
累加单元,其配置成对所述信号压缩单元所生成的、用于测量所述输入信号与本地伪随机噪声码的协相关的相关峰的数据进行滑动累加,以获得所述相关峰。
6.一种基于GPU并行计算的方法,包括:
根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号;
使用所述即时本地伪随机噪声码对所述遮罩信号与输入信号的乘积进行压缩,生成经压缩信号,并且对所述经压缩信号进行计算以生成用于测量所述输入信号的码片形状的数据;和/或
根据即时本地伪随机噪声码、超前伪随机噪声码和滞后伪随机噪声码对输入信号进行压缩,生成经压缩信号,并且对所述经压缩信号进行计算,以生成用于测量所述输入信号与本地伪随机噪声码的协相关的相关峰的数据;其中,所述超前伪随机噪声码和所述滞后伪随机噪声码相对于所述即时本地伪随机噪声码分别超前和滞后预定数目的码片。
7.根据权利要求6所述的方法,其中,所述预定数目码片包括1个码片。
8.根据权利要求6-7中任一项所述的方法,其中,所述经压缩信号的大小为一个码片,且被划分为多个码片格子;
其中,生成所述经压缩信号的步骤包括:
确定所述经压缩信号的属于同一个码片格子的相邻采样点之间的间隔,
根据所确定的间隔来寻找属于同一个码片格子的全部采样点,以及
将所述经压缩信号的属于同一个码片格子的全部采样点映射到统一计算设备架构CUDA的一个线程以执行并行计算。
9.根据权利要求6所述的方法,其中,根据即时本地伪随机噪声码的码片边缘生成相应的遮罩信号的步骤包括:
响应于所述即时本地伪随机噪声码的相邻两个码片之间的边缘分别符合(1)为上升沿,(2)为下降沿,(3)保持+1,(4)保持-1,根据所述即时本地伪随机噪声码的码片边缘生成所述遮罩信号,其中所述遮罩信号的两个相邻的半码片的值与所述即时本地伪随机噪声码相一致且其余码片的值为0。
10.根据权利要求6所述的方法,进一步包括:
根据所述信号压缩单元所生成的、用于测量所述输入信号的码片形状的数据,确定所述输入信号的、包括码片上升沿和下降沿的实时码片形状,以及
对所述信号压缩单元所生成的、用于测量所述输入信号与本地伪随机噪声码的协相关的相关峰的数据进行滑动累加,以获得所述相关峰。
11.一种基于GPU并行计算的装置,包括:
存储器,存储有计算机可执行的指令;以及
处理器,执行所述指令以实现如权利要求6-10中任一项所述的方法。
12.一种存储介质,包括计算机可执行的指令,所述指令被执行时实现权利要求6-10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473223.4A CN117008162A (zh) | 2022-04-29 | 2022-04-29 | 基于gpu并行计算的卫星导航***码片形状相关器和方法 |
PCT/CN2023/088342 WO2023207632A1 (zh) | 2022-04-29 | 2023-04-14 | 基于gpu并行计算的卫星导航***码片形状相关器和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473223.4A CN117008162A (zh) | 2022-04-29 | 2022-04-29 | 基于gpu并行计算的卫星导航***码片形状相关器和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117008162A true CN117008162A (zh) | 2023-11-07 |
Family
ID=88517432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210473223.4A Pending CN117008162A (zh) | 2022-04-29 | 2022-04-29 | 基于gpu并行计算的卫星导航***码片形状相关器和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117008162A (zh) |
WO (1) | WO2023207632A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738606B2 (en) * | 2005-03-24 | 2010-06-15 | Novatel Inc. | System and method for making correlation measurements utilizing pulse shape measurements |
CN102857251B (zh) * | 2012-09-10 | 2014-12-03 | 上海交通大学 | 一种直接序列扩频的并行解扩的码片同步方法 |
CN106291610B (zh) * | 2015-06-12 | 2019-01-11 | 北京信息科技大学 | Gnss信号压缩捕获装置的压缩相关模块及实现方法 |
CN113466898B (zh) * | 2021-07-16 | 2022-08-19 | 展讯半导体(成都)有限公司 | 用于gnss的相关器电路、gnss接收机及其接收信号的方法 |
-
2022
- 2022-04-29 CN CN202210473223.4A patent/CN117008162A/zh active Pending
-
2023
- 2023-04-14 WO PCT/CN2023/088342 patent/WO2023207632A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023207632A1 (zh) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Capozza et al. | A single-chip narrow-band frequency-domain excisor for a global positioning system (GPS) receiver | |
JP4757425B2 (ja) | コード位相トラッキング方法及び受信機 | |
US8064552B2 (en) | Adaptive correlation | |
US7006556B2 (en) | Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference | |
US6606346B2 (en) | Method and apparatus for computing signal correlation | |
US6704348B2 (en) | Method and apparatus for computing signal correlation at multiple resolutions | |
JP4498841B2 (ja) | Gps相関ピーク信号の探索方法及びこれのためのシステム。 | |
US7920093B2 (en) | Methods for improving computational efficiency in a global positioning satellite receiver | |
ES2729281T3 (es) | Procesador para un receptor de radio | |
CN113162641B (zh) | 4通道单比特数字接收机的设计方法及其接收机 | |
US20050008106A1 (en) | Method and system for locating a GPS correlated peak signal | |
JP2005519311A (ja) | 信号相関を実行する方法及び装置 | |
CN117008162A (zh) | 基于gpu并行计算的卫星导航***码片形状相关器和方法 | |
US20080191932A1 (en) | Method and Device for Correlation Detection in Spread Spectrum Transmission Systems by Fast Fourier Transformation | |
RU2331981C2 (ru) | Способ и устройство поиска шумоподобного сигнала при воздействии узкополосных помех | |
Ding et al. | Improved high-sensitivity partial-matched filter with FFT-based acquisition algorithm for BDS-2 and BDS-3 signals with secondary code modulation | |
CN113466898A (zh) | 用于gnss的相关器电路、gnss接收机及其接收信号的方法 | |
KR101775690B1 (ko) | 위성 항법 장치 및 위성 항법 장치의 항재밍 방법 | |
Zhang et al. | Performance Analysis of Different Noncoherent Integration Alternatives for Weak GPS Signal Acquisition | |
CN106908810B (zh) | 一种多长码复合导航信号相位一致性标定方法 | |
Tang et al. | A low complexity algorithm for code Doppler compensation using FFT-based parallel acquisition architecture | |
Bondarenko et al. | Simulation Modeling of The Sea Vessels Radio Navigation Parameters Measurer | |
CN221240346U (zh) | 数字相关器 | |
US11855683B2 (en) | Configurable acquisition engine for receiver of spread spectrum signals | |
JP4559780B2 (ja) | Gps相関ピーク信号の探索方法及びこれのためのシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |