一种GPS信号相关器
技术领域
本实用新型涉及全球定位(GPS)系统接收机领域,尤其涉及提供一种GPS信号相关器。
背景技术
扩频技术由于其本身具备的较强的抗干扰能力,以及保密、多址组网、抗多径等优良性能而得到广泛应用。一个最基本的扩频方法就是采用直接序列扩频思想,在传输之前将信息与一个高频伪随机二元序列进行调制。如果接收端知道这个二元序列,那么接收端能够将信息从产生的伪随机噪声信号中提取出来。在直接序列扩频系统中,同步的实现是一个关键问题。只有当接收机将产生的本地扩频序列和接收到的卫星扩频序列实现同步以后,才有可能实现直接序列扩频通信的各种优点。同步过程分为两步来实现:首先是捕获阶段,实现对接收的卫星扩频序列粗步跟踪;然后是跟踪阶段,实现对该卫星扩频序列的精确跟踪。
由于带有伪码的接收信号在传播过程中,可能由于电波传播的时延、多普勒频移、多径效应等各种因素的影响,接收信号的相位和频率会发生改变,本地扩频序列只有和接收到的卫星扩频序列实现同步,才能正确地解调出信息。因此,本地扩频序列必须调相,然后和接收到的卫星扩频序列进行相关运算,通过相关值判断,确定是否同步。本地扩频序列调相,然后进行相关运算的过程要持续进行,直到找到可能存在的匹配。若没有找到可能的匹配,上述相关运算一直进行下去,捕获时间将会变得很长。因此,相关器的性能是影响捕获时间的重要因素。
目前,采用串行捕获方法所设计的相关器,结构简单,易于实现,但捕获速度不能满足要求;采用并行捕获方法所设计的相关器,捕获速度快,但结构复杂。
发明内容
本实用新型的目的是提供一种硬件相对简单、运算速度快的GPS信号相关器。
为了解决上述技术问题,本实用新型的技术方案是这样实现的,一种GPS信号相关器,包括:
一个戈尔德码生成器,能够产生所有卫星的本地扩频序列;
一个先进先出移位寄存器,该先进先出移位寄存器与上述戈尔德码生成器输出相连,用来存储连续读出的戈尔德码生成器的本地扩频序列片段,并根据需要进行本地扩频序列片段的相位移动;
一个数据存储器,用来存储接收到的卫星扩频序列;
一个数据寄存器,与上述的数据存储器相连,用来存储接收到的卫星扩频序列片段;
一个异或比较器(XOR),用来把上述先进先出移位寄存器中的本地扩频序列片段和上述数据寄存器的卫星扩频序列片段进行相关运算;
一个控制器,用来控制上述的数据存储器和戈尔德码生成器送出卫星扩频序列片段和本地扩频序列片段;
一个加法器,对上述异或比较器(XOR)的相关运算值按位相加;
一个累加器,对上述加法器的结果进行累加,获得已知可见卫星的本地扩频序列与接收到的卫星扩频序列相关累加值;
一个外部时钟,用于产生时钟控制信号,控制先进先出移位寄存器、数据寄存器输入输出和采样的频率;
一个处理器,用来控制上述戈尔德码生成器依次产生所有可见卫星的本地扩频序列,存储上述累加器的所有相关累加值,判断匹配卫星。
本实用新型还包括一个缓冲寄存器,协助上述先进先出移位寄存器完成移位功能。
所述先进先出移位寄存器由33个单独比特寄存器组成。
所述加法器采用行波进位加法器(CPA)或先行进位加法器(CLA)。
本实用新型设计了一个相关器,通过使用这个相关器,能够有效的缩短捕获时间,在设备复杂度有限的情况下,获得比较短的捕获时间。这个相关器的主要设计思想是:将本地扩频序列顺序分成k个片段(即本地扩频序列片段),每个本地扩频序列片段字长为n个比特,然后每个本地扩频序列片段以过采样速率为k*f MHz一比特一比特的进行循环移位,其中k为整数,通过将本地扩频序列片段的最高有效位移位到随后本地扩频序列片段的最低有效位来实现上述移位过程。重复这种移位和替换过程(n-1)次,然后用下一个本地扩频序列片段取代这个所有比特已经全部循环过的旧的本地扩频序列片段,k个本地扩频序列片段全部进行这样的循环移位和替代。同样,将接收到的卫星扩频序列分成m个片段(即卫星扩频序列片段),每个卫星扩频序列片段长度为n,这里m为整数,任何一个本地扩频序列片段每进行一次循环,这m个卫星扩频序列片段都与该本地扩频序列片段进行一次相关运算,统计所有循环相关运算值,并将结果累加,即获得某个可见卫星的本地扩频序列与接收到的卫星扩频序列相关累加值。最后,根据所有可见卫星的上述相关累加值,搜索最大值,判断匹配卫星。
附图说明
下面结合附图和具体实施方式对本实用新型作进一步的说明。
图1是GPS信号相关器的方框图
图2是加法器的方框图。
具体实施方式
参照图1,戈尔德码生成器通过控制器的控制来生成本地扩频序列,生成的本地扩频序列的长度为m=1023比特(也可称为一码片),但为了方便进行移位,将这1023比特的码片分成k=31个片段(本地扩频序列片段),每一个片段大小为n=33比特,每一次一个片段都作为一个整体存入一个先进先出移位寄存器中。该先进先出移位寄存器由33个连续的初始频率为f MHz的单独比特寄存器组成。对这个先进先出移位寄存器进行操控的过采样速率为k*f MHz,即31*f MHz。每个本地扩频序列片段都要顺次一比特一比特在该先进先出移位寄存器中进行移位。先入先出移位寄存器用来连续产生33位比特字,每一个新产生的比特字都与先前的33位比特字不同,这是因为每次它们都从最低有效数字位向最高有效数字位进行了一次一比特的移位,而最高有效位的一位比特字又向最低有效数字位移位。先进先出移位寄存器的频率由外部时钟来进行控制。
数据存储器存储接收到的卫星扩频序列,并包含有地址指示器,它通过控制器来控制读入和读出过程。数据存储器将接收到的卫星扩频序列按时间先后顺序进行存储,存储时将接收到的卫星扩频序列分成m片段(卫星扩频序列片段),每一片段长度为n=33,这里m为整数。数据存储器每次将接收到的卫星扩频序列片段送入数据寄存器中,从最先进入数据存储器的33位比特字处开始,到最后的33位比特字处停止,实现一次循环。数据寄存器中信号的采样频率为fMHz,也由外部时钟进行控制。
接下来实现具体的相关运算:将先进先出移位寄存器中的本地扩频序列片段和数据寄存器中的卫星扩频序列片段用一个异或比较器(XOR)进行相关运算,这个比较器则会提供一个33比特字长的结果,这个结果输入加法器,加法器按位相加。累加器累加加法器的数值(31个),其结果表示某个可见卫星的本地扩频序列与接收到的卫星扩频序列相关累加值。
数据寄存器和先进先出移位寄存器中的片段每进行一次相关运算,地址指示器就指向数据存储器的下一位地址,数据存储器就将下一个地址的内容——新的一个卫星扩频序列片段送入数据寄存器中。在先进先出移位寄存器中的内容移位一次前,即一个周期中,接收到的扩频序列的所有的m个片段都要送入数据寄存器中一次,和先进先出移位寄存器中的内容进行一次相关运算。
在和数据存储器中所有的卫星扩频序列片段相关运算完毕之后,先进先出移位寄存器中的当前33位比特字向最高有效位进行移位,同时将最高有效位的比特读入到缓冲寄存器中,这个缓冲寄存器作为缓冲元件使用,然后将缓冲寄存器中的原最高有效位的比特写入最低有效位,同时将储存在缓冲寄存器内的比特删除。这样进行完33次移位后,戈尔德码生成器中的一个新的本地扩频序列片段才会被读入先进先出移位寄存器,取代原来旧的本地扩频序列片段。
每经过一次移位,地址指示器就指示数据存储器将其中的所有数据段从头到尾送入数据寄存器中一次,先进先出移位寄存器中的本地扩频序列片段也就和数据存储器中所有的卫星扩频序列片段进行了一次相关运算。当一个完整卫星扩频序列的所有33比特字经过33次循环和相关运算后,移位寄存器中会由戈尔德码生成器送入一段新的本地扩频序列片段,和数据寄存器中的内容重新开始进行移位和相关运算。
数据寄存器和先进先出移位寄存器的片段分别通过1和1’的并行总线进行存储,但是先进先出移位寄存器的采样频率为31*f MHz,而数据寄存器的频率为f MHz即可。先进先出移位寄存器中装入的本地扩频序列片段由戈尔德码生成器进行控制,一个片段完成33次循环后,先进先出移位寄存器装入下一个33比特的片段。数据寄存器装入第一个卫星扩频序列片段时,初始地址储存在数据存储器中,当数据存储器的地址指示器增加一位时,数据寄存器装载下一个33比特长的数据字。
数据寄存器和先进先出移位寄存器的输出分别通过总线2和2’分别传输到异或比较器,加法器对异或比较器的输出按位进行求和,该和值在累加器中进行累加。一旦一个完整本地扩频序列的所有33比特字都经过33次循环处理后,累加器便计算出相关运算的结果,获得本地扩频序列与接收到的卫星扩频序列相关累加值。
在这个相关器上还设计了一个处理器,控制戈尔德码生成器产生所有可见卫星的本地扩频序列,并且使接收到的卫星扩频序列和不同的可见卫星的本地扩频序列都进行相关运算,在所有找出的可见卫星中,得到最大相关累加值的本地扩频序列就是与接收信号相匹配的戈尔德码,也就实现了同步,确定出发射信号的卫星。
外部时钟用于产生时钟控制信号,控制移位寄存器、寄存器输入输出和采样的频率。
参见图2,a1~a12是12个要相加的1比特数,将它们3个、3个分别进行相加,就可以得到4个2比特的数;再将这4个数两两相加得到2个3比特数;最后将2数相加,得到最终的一个4比特输出。对于M=3*2N个1比特数来说,要得到最终的输出,需要进行N+1级运算。第一级需要2N个1比特全加器,第二级需要2N-1个2比特加法器……第k级需要2N-k+1个加法器。这样的电路结构比较规则,也很容易设计。但是这个结构的电路对M有一定的要求:要求M=3*2N;否则运算效率会降低。这种树形结构中出现的多比特加法器可以采用行波进位加法器(CPA)或先行进位加法器(CLA)。