一种用FFT进行GPS信号捕获的方法转让专利

申请号 : CN200610076012.8

文献号 : CN101063717B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡东伟陈杰

申请人 : 中国科学院微电子研究所

摘要 :

本发明属于导航定位技术领域,特别是一种用FFT进行GPS信号捕获的方法。采用移位相加的方法;由于GPS信号周期为1023个码片,用FFT进行GPS信号的捕获,需要适当选择FFT的点数,并作相应的处理。本发明提供一种采用2048点FFT做相关,并作移位相加处理的办法。设FFT作相关得到的2048个相关值记为b,移位相加就是做如下处理:b(1)=b(1)+b(3);b(2)=b(2)+b(4);......b(2046)=b(2046)+b(2048);其中b(i)表示向量b的第i个元素,这样,我们得到2046个值。本发明提供的FFT点数及其相应处理的办法,该方法点数大小适中,处理简单,处理后易于确定阈值,捕获位置准确。

权利要求 :

1.一种用FFT进行GPS信号捕获的方法,其特征在于,采用移位相加的方法;由于GPS信号周期为1023个码片,用FFT进行GPS信号的捕获,需要适当选择FFT的点数,并作相应的处理,设FFT作相关得到的2048个相关值记为b,移位相加就是做如下处理:b(1)=b(1)+b(3);

b(2)=b(2)+b(4);

.

.

.

.

.

.

b(2046)=b(2046)+b(2048);

其中b(i)表示向量b的第i个元素,这样,我们得到2046个值。

2.根据权利要求1所述的用FFT进行GPS信号捕获的方法,其特征在于,采用2048点的FFT,并由此重构出2046个相关值。

3.根据权利要求1所述的用FFT进行GPS信号捕获的方法,其步骤如下:首先,接收信号送入采样器(1),按照2.046M的采样速率采样,取连续2048个采样值,记为r,r为复数,实部、虚部分别表示I、Q两路信号,将r存储在存储器(2)中,然后进行第一FFT处理(3);

另一条支路上,本地码存储器(7)中存有1023个码片的本地伪随机码,将本地码进行双倍采样(8),得2046个采样值,然后对其补两个零,得到2048个采样值(9),记这2048个采样值为c;

下面利用FFT将r和c相关,具体如下:将c做第二FFT处理(10),再取共轭(11),然后与第一FFT处理(3)的结果在相乘器(4)中相乘,再做IFFT(5),所得结果记为b,b为2048个复数值;

然后将b作移位相加,即

b(1)=b(1)+b(3);

b(2)=b(2)+b(4);

.

.

.

.

.

.

b(2046)=b(2046)+b(2048);

其中b(i)表示b的第i个元素,这样,就可以得到2046个值,找出这2046个值中模最大的值,若这个最大的模大于一个预先设定的阈值,则宣布信号捕获,其位置就是本地码需要偏移的半码片数,若该最大值仍不大于该阈值,则宣布信号未捕获,换频点或换码。

4.根据权利要求1所述的用FFT进行GPS信号捕获的方法,利用FFT,采用移位相加的方法进行GPS信号捕获,按如下具体步骤进行:第一步:对本地码的处理,可按照如下步骤进行:

1),当要对某个码进行捕获搜索时,首先将其存储在本地码存储器(7)中本地码为

1023个码片;

2),对本地码存储器(7)中的本地码进行双倍采样,得2046个采样值(8);

3),在得到的2046个采样值后面补充两个零,得2048个值(9);

4),对得到的2048个值作第二FFT处理(10);

5),对第二FFT处理(10)的结果取共轭(11),并存储好,等待接收信号的到来;

第二步:对接收信号的处理,可按如下步骤进行:

1),将接收信号送入采样器(1),采样器(1)按照2.046MHz的速率采样;

2),采样器(1)采出2048个连续的采样值,记为r,注意r为复数,实部、虚部分别表示I、Q两路信号,将r存储在存储器(2)中;

3),对存储器(2)中的接收信号做第一FFT处理(3);

第三步:将第一FFT处理(3)的FFT结果和取共轭(11)中的共轭结果送入乘法器(4)中逐点相乘;

第四步:对乘法器(4)中的相乘结果作IFFT处理(5);

第五步:IFFT处理(5)得到2048个值,记为b,对将b作移位相加处理(6),即b(1)=b(1)+b(3);

b(2)=b(2)+b(4);

.

.

.

.

.

.

b(2046)=b(2046)+b(2048);

得到2046个相关值;

第六步:从移位相加处理(6)得到的2046个相关值中找出最大值,将这个最大值与一预先设定的阈值比较(12),若该最大值大于阈值,则宣布信号捕获,否则,宣布信号未捕获,换码或换频点。

说明书 :

一种用FFT进行GPS信号捕获的方法

技术领域

[0001] 本发明属于导航定位技术领域,特别是一种用FFT进行GPS信号捕获的方法。

背景技术

[0002] GPS(全球定位系统)接收机开机后的第一步工作是同步。同步包括码同步和频率同步。GPS接收机一般采取在可行区内搜索的办法。GPS的扩频码周期为1023,一般应用的频率搜索范围为-5K~+5KHz。范围较大,搜索工作量很大。
[0003] 要开机后在可容忍的时间内搜索到准确的码相位和频点,当信噪比较高时,一般采取串行搜索即可。但是,目前GPS的应用已逐渐扩展到复杂环境中(例如室内、手机上、城市内),这些环境中信噪比往往较低,捕获需要长时间的叠加累积。因此,快速捕获搜索的办法对GPS接收机非常关键。
[0004] 目前,GPS信号的快速捕获一般有两种办法:基于大量相关器的方法和FFT(快速傅立叶变换)的办法。大量相关器(或匹配滤波器)的方法需要大量硬件电路,资源耗费严重。基于FFT的方法可用软件程序,由DSP(数字信号处理器)实现。由于在许多便携设备中,已经存在DSP,因此,在这些设备中,使用FFT的方法实现可大大节约资源。
[0005] 但是,GPS信号的扩频码周期为1023。一般在捕获阶段,码的分辨率为半个码片。这样,需要相关的码相位数为2046,不是2的幂次方。因此,怎样选择FFT的点数,以及然后做什么样的处理,是用FFT进行GPS信号捕获时的一个关键问题。

发明内容

[0006] 大家知道,捕获是在码域和频域逐点搜索。当选定一个码相位和一个频点后,我们将本地码和接收信号相关。快速相关可由FFT实现。由于GPS信号是扩频码的周期循环(每20个码周期调制上一个比特),做一次FFT,可将2046个码相位的相关值全部获得。
[0007] 但是,2046点的FFT难于实现。一个自然的想法是将其扩充为2048点。即取2048点的接收信号,作FFT,本地码按半码片速率采样,得2046点,补充两个零,作2048点的FFT。他们这样逐点相乘,作IFFT(反快速傅立叶变换),得到相关值。
[0008] 然而这种方法将打破周期循环的特点,所得的结果并非2046个相关值,而是2048个值。而且,所得的2048个值比码片对准时的相关值都小。那么,怎么由这2048个值重构出2046个相关值呢?本发明提供一种移位相加的办法,由这2048个值重构出2046个相关值。这种办法处理简单,处理后易于确定阈值,捕获位置准确。
[0009] 采用移位相加的方法;由于GPS信号周期为1023个码片,用FFT进行GPS信号的捕获,需要适当选择FFT的点数,并作相应的处理。
[0010] 将FFT作相关得到的2048个相关值记为b,b为一向量,移位相加就是做如下处理:
[0011] b(1)=b(1)+b(3);
[0012] b(2)=b(2)+b(4);
[0013] .
[0014] .
[0015] .
[0016] .
[0017] .
[0018] .
[0019] b(2046)=b(2046)+b(2048);
[0020] 其中b(i)表示b的第i个元素,这样,就可以得到2046个值。
[0021] 本发明是一种用FFT进行GPS信号捕获的方法。由于GPS信号周期为1023个码片,不是2的幂次方,用FFT进行GPS信号的捕获,需要适当选择FFT的点数,并作相应的处理。本发明提供了一种FFT点数及其相应处理的办法。该方法点数大小适中,处理简单,处理后易于确定阈值,捕获位置准确。
[0022] 本发明的采用移位相加的办法,是采用2048点的FFT,并由此重构出2046个相关值。

附图说明

[0023] 图1是本发明的用FFT进行GPS信号捕获的方法流程图。
[0024] 图2是本发明的用FFT进行GPS信号捕获的方法具体步骤流程图。

具体实施方式

[0025] 参看附图1,首先,接收信号送入采样器(1),按照2.046M的采样速率采样,取连续2048个采样值,记为r,r为复数,实部、虚部分别表示I、Q两路信号,
[0026] 将r存储在存储器(2)中,然后送入(3)中做FFT处理;
[0027] 另一条支路上,本地码存储器(7)中存有1023个码片的本地伪随机码,将本地码送入(8)中进行双倍采样,得2046个采样值,然后将其送入(9)中,补两个零,得到2048个采样值,记这2048个采样值为c;
[0028] 下面利用FFT将r和c相关,具体如下:将c做FFT处理(10),再取共轭(11),然后与(3)中FFT的结果在相乘器(4)中相乘,再做IFFT(5),所得结果记为b,b为2048个复数值;
[0029] 然后将b作移位相加,即
[0030] b(1)=b(1)+b(3);
[0031] b(2)=b(2)+b(4);
[0032] .
[0033] .
[0034] .
[0035] .
[0036] .
[0037] .
[0038] b(2046)=b(2046)+b(2048);
[0039] 其中b(i)表示b的第i个元素,这样,就可以得到2046个值,找出这2046个值中模最大的值,若这个最大的模大于一个预先设定的阈值,则宣布信号捕获,其位置就是本地码需要偏移的半码片数,若该最大值仍不大于该阈值,则宣布信号未捕获,换频点或换码。
[0040] 参看附图2,利用FFT,采用移位相加的方法进行GPS信号捕获,可按如下具体步骤进行:
[0041] 第一步:对本地码的处理,可按照如下步骤进行:
[0042] 1),当要对某个码进行捕获搜索时,首先将其存储在本地码存储器(7)中本地码为1023个码片;
[0043] 2),将本地码存储器(7)中的本地码送入(8)中,进行双倍采样,得2046个采样值;
[0044] 3),将(8)中的2046个采样值后面补充两个零,得2048个值,送入(9)中;
[0045] 4),将(9)中的2048个点送入(10)中,作FFT处理;
[0046] 5),将(10)中的FFT结果取共轭,送入(11)中存储好,等待接收信号的到来;
[0047] 第二步:对接收信号的处理,可按如下步骤进行:
[0048] 1),将接收信号送入采样器(1),采样器(1)按照2.046MHz的速率采样;
[0049] 2),采样器(1)采出2048个连续的采样值,记为r,注意r为复数,实部、虚部分别表示I、Q两路信号,将r存储在存储器(2)中;
[0050] 3),将存储器(2)中的接收信号送入(3)中做FFT处理;
[0051] 第三步:将(3)中的FFT结果和(11)中的共轭结果送入(4)中逐点相乘;
[0052] 第四步:将(4)中的相乘结果送入(5)中作IFFT处理;
[0053] 第五步:(5)中IFFT得到2048个值,记为b,将b送入(6)中作移位相加处理,即[0054] b(1)=b(1)+b(3);
[0055] b(2)=b(2)+b(4);
[0056] .
[0057] .
[0058] .
[0059] .
[0060] .
[0061] .
[0062] b(2046)=b(2046)+b(2048);
[0063] 得到2046个相关值;
[0064] 第六步:将(6)中的2046个相关值送入(12)中,找出最大值,将这个最大值与一预先设定的阈值比较,若该最大值大于阈值,则宣布信号捕获,否则,宣布信号未捕获,换码或换频点。