一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于FPGA的多模GNSS信号相关方法和系统与流程

2021-10-29 22:59:00 来源:中国专利 TAG:
一种基于fpga的多模gnss信号相关方法和系统
技术领域
:1.本发明涉及卫星通信
技术领域
:,特别涉及一种基于fpga的多模gnss信号相关方法和系统。
背景技术
::2.目前大多数gnss(globalnavigationsatellitesystem,全球导航卫星系统)系统中的导航卫星所发射的信号都用了dsss(directsequencespreadspectrum,直接序列扩频)的通信体制,并都采用相位调制的载波调制方式,对于单路的导航信号分量来讲它们都可以按照如下方式表示:3.srf(t)=arf(t)d[t‑τ(t)]c[t‑τ(t)]cos[φ(t)][0004]其中,arf(t)为信号幅度;d[t‑τ(t)]为该颗卫星广播的导航电文数据码信号,在某些导频信号通道中不含导航点位数据,可认为d[t‑τ(t)]=1;c[t‑τ(t)]为扩频序列,它可通过扩频码符号c(t)和码片内波形p(t)确定,其表达式为:[0005][0006]其中,在当前gnss导航信号中扩频码符号c(t)均采用二进制非归零的编码方式,p(t)是指在一个扩频符号间隔[0,tc)内的波形函数;φ(t)表示接收到的载波相位;τ(t)表示载波上的扩频序列信号从卫星天线相位中心发射出去到达接收机天线相位中心的路径传播群延迟,即码相位的空间传播延迟。在现代gnss系统中,每颗导航卫星在一个频点上所发射的导航信号都包含几种不同的导航信号分量。[0007]现有技术中,对于多种导航信号分量的相关和解码操作,对硬件资源要求较高,相关过程对资源占用率过高,运算效率较低,由此增加了整个系统的复杂度,影响了整体系统的性能。技术实现要素:[0008]本发明提供一种基于fpga的多模gnss信号相关方法和系统,能够节约卫星信号相关运算中的硬件资源,提升运算效率,降低硬件复杂度。[0009]根据本发明的一个方面,提供了一种基于fpga的多模gnss信号相关方法,包括以下步骤:[0010]基于现场可编程门阵列,采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据;[0011]生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码;应用流水线处理方式对所述gnss卫星信号数据进行量化符号判断和查表操作后,与所述量化后的本地载波相乘,得到载波剥离信号数据;[0012]计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码;[0013]将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率。[0014]所述采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据,包括:[0015]将输入的gnss卫星信号数据存储在缓存区中,每一段待处理的数据长度为l,单位为ms;[0016]将长度为l的卫星信号数据平均分为n份,n为所接收到的卫星信号数据中包含的卫星的个数,并对n段数据进行相关运算;[0017]当处理第一颗卫星的数据信号时,将时分开关切换到1,相关通道的载波和c/a码都配置成针对第一颗卫星的数据;[0018]当处理完第一颗卫星的数据后,时分开关切换到2,处理第二颗卫星的数据,处理方法与第一颗卫星的处理方法一致;[0019]重复以上步骤,直到时分开关切换到n;[0020]提取下一个长度为l的数据重复处理,直到所有接收到的卫星信号数据处理完成。[0021]所述生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码,包括:[0022]由数字信号处理dsp生成不同的载波控制字控制载波振荡器生成本地载波频率,其计算公式如下:[0023][0024]其中,f0为本地载波频率,fcw为频率控制字,fdp为频率控制字为1时的多普勒频移控制字,l为相位累加器的为数,fclk为输入的采样时钟频率;[0025]将生成的本地载波频率经过相位阶段后输入到利用ip和存储的正弦和余弦表中,采用 1和 2的量化信号表示正弦信号,用‑1和‑2的量化信号表示余弦信号。[0026]所述载波剥离信号数据,根据如下方式获取:[0027]载波剥离使用接收到的卫星信号与本地载波信号相乘的方式,计算公式如下所示:[0028]d(t)=u(t)·c(t)[0029]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss卫星信号;c(t)为正弦或余弦本地载波信号;[0030]将本地载波信号的正弦和余弦载波信号量化为 1和 2、‑1和‑2;[0031]将上述公式化简为如下载波分离公式,对载波信号进行符号和数值判断,即对接收到的信号进行线性处理,得到固定的映射关系:[0032][0033]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss信号;c(t)为正弦或余弦载波信号。[0034]所述计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码,包括:[0035]在直射信号接收机中解算定位结果得到卫星接收机的高度h,跟踪卫星的仰角θ,c/a码的码相位以及卫星的编号;[0036]根据如下公式计算卫星信号相对于直射信号的延迟距离ρgeo:[0037]ρgeo=(2h d)·sin(θ)[0038]其中,ρgeo为延迟距离,h为接收机天线高度,d为接收机距离卫星距离,θ为入射角;[0039]计算延时:[0040]τ=ρgeo/c[0041]其中,τ为延时,ρgeo为延迟距离,c为电磁波的传播速度;[0042]相位译码器将延迟时间转换为码片的延迟相位数,计算公式如下:[0043]nopha=2πτ/s[0044]其中,nopha为码片的延迟相位数,τ为延时,s为c/a码单个码片的长度;[0045]计算gnss卫星信号的码相位,计算公式如下:[0046]m=svnpha‑nopha[0047][0048]其中,svnpha为直射信号c/a码的码相位;nopha为信号相对于直射信号的c/a码码相位延迟数;n为c/a码的最大相位值1022;p为信号的c/a码码相位;[0049]根据计算得到的码相位,从rom中查找两个移位寄存器的初值;当检测到标志位信号线为高电平时,移位寄存器将读取到的值作为初值,并开始产生c/a码;[0050]当码序列达到1023个周期并且标志微信号线为低电平时,执行复位操作,将移位寄存器全部置1,等待下一次c/a码生成。[0051]所述将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率,包括:[0052]生成n路延迟c/a码矩阵an×z;将c/a码模块得到的n路量化c/a码组成一个n×z的矩阵,其元素都为 1或者‑1;如下矩阵所示:[0053][0054]其中,a、u和q分别表示矩阵元素,z表示1ms的数据量;[0055]根据矩阵an×z改写为如下公式:[0056][0057][0058]其中,n的取值为1~n;un(t)和an(t)分别为某单一通道第n路剥离载波后的gnss信号值和c/a码量化值;sn(t)表示第n路信号的相关值;[0059]将相关运算过程简化为对生成的c/a码进行符号判决;若生成的c/a码为 1,则直接复制载波剥离后的gnss信号;否则,若生成的c/a码为‑1,则将载波剥离后的gnss信号取反后复制。[0060]根据本发明的另一个方面,提供了一种基于fpga的多模gnss信号相关系统,所述系统基于现场可编程门阵列,包括并行相关通道模块、多卫星系统解调模块、延迟prn码生成模块和码相关运算模块,其中:[0061]所述并行相关通道模块,用于采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据;[0062]所述多卫星系统解调模块,用于生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码;应用流水线处理方式对所述gnss卫星信号数据进行量化符号判断和查表操作后,与所述量化后的本地载波相乘,得到载波剥离信号数据;[0063]所述延迟prn码生成模块,用于计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码;[0064]所述码相关运算模块,用于将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率。[0065]所述多卫星系统解调模块包括本地载波生成单元和载波剥离单元,其中,[0066]所述本地载波生成单元,用于由数字信号处理dsp生成不同的载波控制字控制载波振荡器生成本地载波频率,其计算公式如下:[0067][0068]其中,f0为本地载波频率,fcw为频率控制字,fdp为频率控制字为1时的多普勒频移控制字,l为相位累加器的为数,fclk为输入的采样时钟频率;[0069]将生成的本地载波频率经过相位阶段后输入到利用ip和存储的正弦和余弦表中,采用 1和 2的量化信号表示正弦信号,用‑1和‑2的量化信号表示余弦信号;[0070]所述载波剥离单元,用于使用接收到的卫星信号与本地载波信号相乘的方式,计算公式如下所示:[0071]d(t)=u(t)·c(t)[0072]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss卫星信号;c(t)为正弦或余弦本地载波信号;[0073]将本地载波信号的正弦和余弦载波信号量化为 1和 2、‑1和‑2;[0074]将上述公式化简为如下载波分离公式,对载波信号进行符号和数值判断,即对接收到的信号进行线性处理,得到固定的映射关系:[0075][0076]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss信号;c(t)为正弦或余弦载波信号。[0077]所述延迟prn码生成模块包括c/a码生成单元和相位译码器单元,其中,[0078]所述c/a码生成单元,用于在直射信号接收机中解算定位结果得到卫星接收机的高度h,跟踪卫星的仰角θ,c/a码的码相位以及卫星的编号;[0079]根据如下公式计算卫星信号相对于直射信号的延迟距离ρgeo:[0080]ρgeo=(2h d)·sin(θ)[0081]其中,ρgeo为延迟距离,h为接收机天线高度,d为接收机距离卫星距离,θ为入射角:[0082]计算延时:[0083]τ=ρgeo/c[0084]其中,τ为延时,ρgeo为延迟距离,c为电磁波的传播速度;[0085]所述相位译码器单元,用于将延迟时间转换为码片的延迟相位数,计算公式如下:[0086]nopha=2πτ/s[0087]其中,nopha为码片的延迟相位数,τ为延时,s为c/a码单个码片的长度;[0088]计算gnss卫星信号的码相位,计算公式如下:[0089]m=svnpha‑nopha[0090][0091]其中,svnpha为直射信号c/a码的码相位;nopha为信号相对于直射信号的c/a码码相位延迟数;n为c/a码的最大相位值1022;p为信号的c/a码码相位;[0092]根据计算得到的码相位,从rom中查找两个移位寄存器的初值;当检测到标志位信号线为高电平时,移位寄存器将读取到的值作为初值,并开始产生c/a码;[0093]当码序列达到1023个周期并且标志微信号线为低电平时,执行复位操作,将移位寄存器全部置1,等待下一次c/a码生成。[0094]所述码相关运算模块,具体用于:[0095]生成n路延迟c/a码矩阵an×z;将c/a码模块得到的n路量化c/a码组成一个n×z的矩阵,其元素都为 1或者‑1;如下矩阵所示:[0096][0097]其中,a、u和q分别表示矩阵元素,z表示1ms的数据量;[0098]根据矩阵an×z改写为如下公式:[0099][0100][0101]其中,n的取值为1~n;un(t)和an(t)分别为某单一通道第n路剥离载波后的gnss信号值和c/a码量化值;sn(t)表示第n路信号的相关值;[0102]将相关运算过程简化为对生成的c/a码进行符号判决;若生成的c/a码为 1,则直接复制载波剥离后的gnss信号;否则,若生成的c/a码为‑1,则将载波剥离后的gnss信号取反后复制。[0103]采用本发明的技术方案,提出了一种基于fpga的多模gnss信号相关方案,本发明的技术方案,基于现场可编程门阵列,采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据;生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码;应用流水线处理方式对所述gnss卫星信号数据进行量化符号判断和查表操作后,与所述量化后的本地载波相乘,得到载波剥离信号数据;计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码;将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率。本发明实施例对载波剥离和码相关运算模块进行了资源优化,使得解调模块消耗的查找表个数由8个减少为7个,运行效率提升了20%;同时使得码相关运算模块的资源占用减少了3848个lut,为fpga总资源减少了6%。可以节约占用的硬件资源,有助于后续的功能扩展;可以提升运算效率,对信号的量化处理降低了硬件实现的复杂度;利用流水线处理,对于大数据量的情况下处理更加高效。[0104]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明[0105]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:[0106]图1为本发明实施例中基于fpga的多模gnss信号相关原理流程图;[0107]图2为本发明实施例中时分复用相关通道原理框图;[0108]图3为本发明实施例中时分复用相关通道数据处理示意图;[0109]图4为本发明实施例中本地载波生成原理框图;[0110]图5为本发明实施例中载波剥离原理框图;[0111]图6为本发明实施例中延迟c/a码生成原理框图;[0112]图7为本发明实施例中码相关运算原理框图;[0113]图8为本发明实施例中基于fpga的多模gnss信号相关系统结构示意图。具体实施方式[0114]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。[0115]gnss卫星发射的扩频码为prn(pseudorandomnoise,伪随机噪声)码,它是具有类似噪声特性的确定序列,它可以通过线性反馈移位寄存器产生,也可通过预存储码的方式产生。其中,gps系统中的prn码包括c/a码、p码和m码。c/a码是由m序列优选对组合码形成的gold码。gold码是由两个长度相等且互相关极大值最小的m序列码逐位进行模2相加构成的。改变产生它的两个m序列的相对相位,就可以得到不同的码。对于长度为的m序列n=2m‑1,每两个码可以用这种方法产生n个gold码。在这n个码中,任何两个码的互相关最大值等于构成它们的两个m序列的互相关最大值。在gps星座中,m取10,那么该c/a码发生器可得到种不同的c/a码。从这些码中选择32个码以prnl到prn32命名用于各gps卫星。[0116]gnss信号可表示为:[0117][0118]其中,e(s,t)表示发射端天线处的场强,a表示信号幅值,rt表示发射天线增益,t表示时间,c表示光速,i表示第i颗卫星,k表示载波编号,fl表示l波段的载波频率,fd表示多普勒频移。[0119]根据克希霍夫近似模型,在接收机r处的信号场强可表示为:[0120][0121]其中,es(r,t)表示接收机r处的信号场强,d(r,t)表示接收天线方向性图函数,e(s)表示发射端天线处的场强,rr表示接收天线增益,r表示接收机距离卫星距离,d表示接收机天线长度,表示不同级化系数,表示法向求导。进行一些化简可以得到:[0122]es(r,t)=a·exp(‑2πiflt)·∫∫d(r,t)a[t‑(rt rr)/c]g(r,t)d2r[0123]其中,es(r,t)表示接收机r处的信号场强,a表示信号幅值,i表示第i颗卫星,fl表示l波段的载波频率,rt表示发射天线增益,rr表示接收天线增益,r表示接收机距离卫星距离,d表示接收机天线长度,t表示时间。[0124]由于天线接收的信号中同样包含有噪声分量,将上式简化并加入噪声分量,可以得到输入到射频前端的gnss信号为:[0125][0126]其中,ur(r,t)表示输入到射频前端的gnss信号,w(r,t)为入射信号的权重系数,它同时反映出接收天线增益、入射点多普勒频移、入射点信号等信息,τr(r,t)表示时延,r表示接收机距离卫星距离,d表示接收机天线长度,fl表示l波段的载波频率,nr表示噪声。[0127]由此可见,gnss信号是由具有不同幅度、时间延迟和多普勒频移的多路信号的混合,其总的多普勒频移还包括直射信号的多普勒频移和信号相对于直射信号的多普勒频移两个部分。[0128]本发明实施例提供了一种基于fpga的多模gnss信号相关器。该发明对载波剥离和码相关运算模块进行了资源优化,使得解调模块消耗的查找表(lookuptable,lut)个数由8个减少为7个,运行效率提升了20%;同时使得码相关运算模块的资源占用减少了3848个lut,为fpga总资源减少了6%。本发明实施例主要由并行相关通道模块、多卫星系统解调模块、延迟prn码生成模块和码相关运算模块组成。其中多卫星系统解调模块主要由本地载波生成模块和载波剥离模块组成,延迟prn码生成模块主要由c/a码生成模块和相位译码器组成。[0129]本发明所设计的基于fpga(fieldprogrammablegatearray,现场可编程门阵列)的多模gnss信号相关器适用于xlinx公司所生产的芯片,所使用的语言为veriloghdl。并行相关通道模块采用时分复用的方式,多卫星系统解调模块采用dds方式和量化载波剥离算法实现,多卫星系统延迟prn码生成模块生成本地c/a码。[0130]所述的并行相关通道模块采用时分复用的方式,在一个物理通道上实现多个逻辑通道的复用,从而可以实现多个gnss信号的相关处理。经过下变频的中频数字信号先放在缓存中,同时接收机在同时采集下一段数据。当缓存区的数据存满后,每颗卫星的数据处理都是用该数据。该模块将一段数据按照时间分为不同的时间片段,在不同的时间片段对该数据段的不同卫星数据进行相关处理。该处理方式可以随着时钟频率的提升和提升处理效率。[0131]所述的多卫星解调模块主要由本地载波生成模块和载波剥离模块组成。该模块将生成的本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码组成,在与量化后的gnss相乘时可以大大减少资源消耗和运算时间。[0132]所述的本地载波生成模块主要采用dds方法实现,相对于直射信号接收机,需要利用dsp(digitalsignalprocessing,数字信号处理)生成的载波控制字来控制载波数字振荡器,该载波控制字需要由指定间隔的多普勒频移控制字进行补偿。[0133]所述的载波剥离模块采用量化数字信号处理。在量化符号判断和查表操作中应用流水线处理方式,对数据进行流水处理,可以加快处理速度,提升处理效率。[0134]所述的多卫星系统延迟prn码生成模块主要由由c/a码生成模块和相位译码器组成。[0135]所述的c/a码生成模块最大相位值为1022,包含两个10位的移位寄存器,寄存器共有1023种状态,可以产生长度为1023的序列。该模块的rom宽度设置为20,深度设置为1023。[0136]所述的相位译码器将延迟时间转换为码片延迟的相位数。[0137]所述的码相关模块使用量化电平进行相关处理,经过相干累加后能够有效提高信号信噪比,提高量化判决准确性。[0138]图1为本发明实施例一中基于fpga的多模gnss信号相关流程图。如图1所示,该基于fpga的多模gnss信号相关流程包括以下步骤:[0139]步骤101、基于现场可编程门阵列,采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据。[0140]本发明实施例中,采用时分复用的方式,在一个物理通道上实现多个逻辑通道的复用,从而可以实现多个gnss信号的相关处理。经过下变频的中频数字信号先放在缓存中,同时接收机在同时采集下一段数据。当缓存区的数据存满后,每颗卫星的数据处理都是用该数据。该模块将一段数据按照时间分为不同的时间片段,在不同的时间片段对该数据段的不同卫星数据进行相关处理。该处理方式可以随着时钟频率的提升和提升处理效率。[0141]具体实施方式如下所示,原理框图如图2所示。[0142]将输入的gnss数据信号存储在缓存区中,假设每一段待处理的数据长度为l,单位为ms;[0143]将该长度为l的数据平均分为n份,其中n为所接收到的信号中包含的卫星的个数,并对n段数据进行相关运算;[0144]以第1个卫星为例。当处理第一颗卫星时,将时分开关切换到1,这时相关通道的载波和c/a码都配置成针对卫星1的数据。如图3所示,由于数据的解扩需要从一个伪随机码的周期的起始位置开始,所以要将数据指针划过图中阴影部分,找到卫星1的伪随机码的起始位置;[0145]当处理完第1颗卫星数据后,时分开关切换到2,模块开始处理第二颗卫星的数据,处理方法与第一颗卫星的处理方法一致;[0146]重复处理数据,直到时分开关切换到n为止;[0147]提取下一个长度为l的数据重复处理,直到所有接收到的数据处理完成。[0148]步骤102,生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码;应用流水线处理方式对所述gnss卫星信号数据进行量化符号判断和查表操作后,与所述量化后的本地载波相乘,得到载波剥离信号数据。[0149]本实施例中,多卫星系统载波生成实施方式中,首先为本地载波发生方式,原理框图如图4所示。[0150]本地振荡频率生成。[0151]由已有的dsp生成不同的载波控制字控制载波振荡器生成本地载波频率,其计算公式如下:[0152][0153]其中,f0为本地载波频率,fcw为频率控制字,fdp为频率控制字为1时的多普勒频移控制字,l为相位累加器的为数,fclk为输入的采样时钟频率。[0154]本发明采用的是27位的相位累加器,输入的采样时钟频率为24.999996mhz,频率分辨率为0.186264485hz。[0155]本地载波生成。[0156]将第一步生成的频率经过相位阶段后输入到利用ip和存储的正弦和余弦表中。本发明实施例采用 1和 2的量化信号表示正弦信号,用‑1和‑2的量化信号表示余弦信号。[0157]载波剥离的实施方式,原理框图如图5所示。[0158]载波剥离一般使用接收信号与本地载波信号相乘的方式,计算公式如下所示:[0159]d(t)=u(t)·c(t)[0160]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss信号;c(t)为正弦或余弦载波信号。[0161]将正弦和余弦载波信号量化为 1和 2、‑1和‑2;[0162]将上述公式化简为如下载波分离公式,对载波信号进行符号和数值判断,即对接收到的信号进行线性处理,得到固定的映射关系:[0163][0164]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss信号;c(t)为正弦或余弦载波信号。[0165]步骤103,计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码。[0166]多卫星系统延迟prn码生成实施方案如下,原理图如图6所示。[0167]在直射信号接收机中解算定位结果后即可得到接收机的高度h,跟踪卫星的仰角θ,c/a码的码相位以及卫星的编号。[0168]计算时延。根据如下公式计算信号相对于直射信号的延迟距离ρgeo:[0169]ρgeo=(2h d)·sin(θ)[0170]其中,ρgeo为延迟距离,h为接收机天线高度,d为接收机距离卫星距离,θ为入射角。[0171]计算延时:[0172]τ=ρgeo/c[0173]其中,τ为延时,ρgeo为延迟距离,c为电磁波的传播速度。[0174]相位译码器将延迟时间转换为码片的延迟相位数,计算公式如下:[0175]nopha=2πτ/s[0176]其中,nopha为码片的延迟相位数,r为延时,s为c/a码单个码片的长度。[0177]计算gnss信号的码相位,计算公式如下:[0178]m=svnpha‑nopha[0179][0180]其中,svnpha为直射信号c/a码的码相位;nopha为信号相对于直射信号的c/a码码相位延迟数;n为c/a码的最大相位值1022(起始相位为0);p为信号的c/a码码相位。[0181]本发明实施例所设计的c/a码最大相位值为1022,包含两个10位的移位寄存器,寄存器共有1023种状态,可以产生长度为1023的序列。该模块的rom宽度设置为20,深度设置为1023。[0182]根据计算得到的信号相位,从rom中查找两个移位寄存器的初值。当检测到标志位信号线为高电平时,移位寄存器将读取到的值作为初值,并开始产生c/a码。[0183]当码序列达到1023个周期并且标志微信号线为低电平时,执行复位操作,将移位寄存器全部置1,等待下一次c/a码生成。[0184]步骤104,将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率。[0185]码相关运算实施方式如下,原理框图如图7所示。[0186]在码相关运算模块中,首先将c/a码延迟1ms,延迟后的n路c/a码分别与载波剥离后的gnss信号相乘,接着进行相干累计,即可得到通道n点的相关功率。后续计算具体如下:[0187]第一步,生成n路延迟c/a码矩阵an×z。[0188]将c/a码模块得到的n路量化c/a码组成一个n×z的矩阵,其元素都为 1或者‑1。如下矩阵所示:[0189][0190]其中,a、u和q分别表示矩阵元素,z表示1ms的数据量。[0191]第二步,将传统的码分离公式简化。[0192]传统码分离公式如下,其中uz×1为1ms信号采样点,其数值即为信号剥离载波后的值。[0193][0194]其中,a、u和q分别表示矩阵元素,z表示1ms的数据量。[0195]由第一步知,矩阵an×z元素都为 1或者‑1,故可以改写为如下公式:[0196][0197][0198]其中,n的取值为1~n;un(t)和an(t)分别表示某单一通道第n路剥离载波后的gnss信号值和c/a码量化值;sn(t)表示第n路信号的相关值。[0199]第三步,由以上两步,可以将相关运算过程简化为对生成的c/a码进行符号判决。若生成的c/a码为 1,则直接复制载波剥离后的gnss信号,相反的,若生成的c/a码为‑1,则将载波剥离后的gnss信号取反后复制。[0200]为了实现上述流程,本发明技术方案还提供基于fpga的多模gnss信号相关系统,如图8所示,该基于fpga的多模gnss信号相关系统包括:[0201]所述系统基于现场可编程门阵列,包括并行相关通道模块801、多卫星系统解调模块802、延迟prn码生成模块803和码相关运算模块804,其中:[0202]所述并行相关通道模块801,用于采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据;[0203]所述多卫星系统解调模块802,用于生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码;应用流水线处理方式对所述gnss卫星信号数据进行量化符号判断和查表操作后,与所述量化后的本地载波相乘,得到载波剥离信号数据;[0204]所述延迟prn码生成模块803,用于计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码;[0205]所述码相关运算模块804,用于将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率。[0206]所述多卫星系统解调模块802包括本地载波生成单元和载波剥离单元,其中,[0207]所述本地载波生成单元,用于由数字信号处理dsp生成不同的载波控制字控制载波振荡器生成本地载波频率,其计算公式如下:[0208][0209]其中,f0为本地载波频率,fcw为频率控制字,fdp为频率控制字为1时的多普勒频移控制字,l为相位累加器的为数,fclk为输入的采样时钟频率;[0210]将生成的本地载波频率经过相位阶段后输入到利用ip和存储的正弦和余弦表中,采用 1和 2的量化信号表示正弦信号,用‑1和‑2的量化信号表示余弦信号;[0211]所述载波剥离单元,用于使用接收到的卫星信号与本地载波信号相乘的方式,计算公式如下所示:[0212]d(t)=u(t)·c(t)[0213]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss卫星信号;c(t)为正弦或余弦本地载波信号;[0214]将本地载波信号的正弦和余弦载波信号量化为 1和 2、‑1和‑2;[0215]将上述公式化简为如下载波分离公式,对载波信号进行符号和数值判断,即对接收到的信号进行线性处理,得到固定的映射关系:[0216][0217]其中,d(t)为载波剥离后的信号,u(t)为量化后的gnss信号;c(t)为正弦或余弦载波信号。[0218]所述延迟prn码生成模块803包括c/a码生成单元和相位译码器单元,其中,[0219]所述c/a码生成单元,用于在直射信号接收机中解算定位结果得到卫星接收机的高度h,跟踪卫星的仰角θ,c/a码的码相位以及卫星的编号;[0220]根据如下公式计算卫星信号相对于直射信号的延迟距离ρgeo:[0221]ρgeo=(2h d)·sin(θ)[0222]其中,ρgeo为延迟距离,h为接收机天线高度,d为接收机距离卫星距离,θ为入射角;[0223]计算延时:[0224]τ=ρgeo/c[0225]其中,τ为延时,ρgeo为延迟距离,c为电磁波的传播速度;[0226]所述相位译码器单元,用于将延迟时间转换为码片的延迟相位数,计算公式如下:[0227]nopha=2πτ/s[0228]其中,nopha为码片的延迟相位数,τ为延时,s为c/a码单个码片的长度;[0229]计算gnss卫星信号的码相位,计算公式如下:[0230]m=svnpha‑nopha[0231][0232]其中,svnpha为直射信号c/a码的码相位;nopha为信号相对于直射信号的c/a码码相位延迟数;n为c/a码的最大相位值1022;p为信号的c/a码码相位;[0233]根据计算得到的码相位,从rom中查找两个移位寄存器的初值;当检测到标志位信号线为高电平时,移位寄存器将读取到的值作为初值,并开始产生c/a码;[0234]当码序列达到1023个周期并且标志微信号线为低电平时,执行复位操作,将移位寄存器全部置1,等待下一次c/a码生成。[0235]所述码相关运算模块804具体用于:[0236]生成n路延迟c/a码矩阵an×z;将c/a码模块得到的n路量化c/a码组成一个n×z的矩阵,其元素都为 1或者‑1;如下矩阵所示:[0237][0238]其中,a、u和q分别表示矩阵元素,z表示1ms的数据量;[0239]根据矩阵an×z改写为如下公式:[0240][0241][0242]其中,n的取值为1~n;un(t)和an(t)分别为某单一通道第n路剥离载波后的gnss信号值和c/a码量化值;sn(t)表示第n路信号的相关值;[0243]将相关运算过程简化为对生成的c/a码进行符号判决;若生成的c/a码为 1,则直接复制载波剥离后的gnss信号;否则,若生成的c/a码为‑1,则将载波剥离后的gnss信号取反后复制。[0244]综上所述,本发明的技术方案,基于现场可编程门阵列,采用时分复用的方式,在一个物理通道上实现多个逻辑通道以分别处理多个全球导航卫星gnss系统不同卫星信号数据;生成本地载波并将本地载波的正弦和余弦载波信号量化为由电平值±1和±2编码;应用流水线处理方式对所述gnss卫星信号数据进行量化符号判断和查表操作后,与所述量化后的本地载波相乘,得到载波剥离信号数据;计算卫星信号数据时延,将数据时延转换为码片的延迟相位数,并计算所属卫星信号数据的码相位,生成粗测距码c/a码;将所述n路c/a码延迟1ms,分别与载波剥离信号数据相乘,并进行相干累计,得到通道n的gnss卫星信号相关功率。本发明实施例对载波剥离和码相关运算模块进行了资源优化,使得解调模块消耗的查找表个数由8个减少为7个,运行效率提升了20%;同时使得码相关运算模块的资源占用减少了3848个lut,为fpga总资源减少了6%。可以节约占用的硬件资源,有助于后续的功能扩展;可以提升运算效率,对信号的量化处理降低了硬件实现的复杂度;利用流水线处理,对于大数据量的情况下处理更加高效。[0245]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。[0246]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0247]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0248]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0249]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜