发明名称 一种长周期扩频码的频率折叠时频并行搜索方法
摘要 基于频率折叠的长周期扩频码时频并行搜索方法属于扩频通信技术领域,其特征在于,通过将同一段接收信号映射到不同的频率单元格下进行折叠,实现了对频率单元的并行搜索,再利用多个码相位并行搜索方法实现对多个码相位单元的并行搜索,在实现时,根据待搜索的频率范围以及频率搜索步长,确定待搜索的频率单元数,再将映射到不同频率单元格上的同一段接收信号进行折叠,然后把折叠后的信号用FFT技术实现该信号与本地伪码间的并行相关,实现多个码相位的并行搜索,本方法在不显著增加算法复杂度和硬件实现规模的条件下,同时实现了载波频率单元和多个码相位单元的并行搜索,提高了搜索速度,减少了伪码捕获时间。
申请公布号 CN100553168C 申请公布日期 2009.10.21
申请号 CN200710118128.8 申请日期 2007.06.29
申请人 清华大学 发明人 李洪;陆明泉;冯振明
分类号 H04B1/707(2006.01)I;H04B7/26(2006.01)I;G01S5/02(2006.01)I 主分类号 H04B1/707(2006.01)I
代理机构 代理人
主权项 1、一种长周期扩频码的频率折叠时频并行搜索方法,其特征在于,所述方法是在接收端数字信号处理器中按以下步骤实现的:步骤(1)设定待搜索的频率范围f<sub>u</sub>和频率搜索步长f<sub>step</sub>,得到待搜索的频率单元数K=f<sub>u</sub>/f<sub>step</sub>;步骤(2)接收N/2点经前端A/D采样后的数字信号r(n),n=0,1,2,...,N/2-1,再把这N/2点数字信号分别映射到不同频率单元的频率格上,记作r<sup>k</sup>(n),k=1,2,..,K,k为不同的频率格;然后把这K组信号进行折叠得到新的信号b(n):<maths num="0001"><![CDATA[<math><mrow><mi>b</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msup><mi>r</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><mi>n</mi><mo>=</mo><mn>0,1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn><mo>;</mo></mrow></math>]]></maths>步骤(3)对步骤(2)得到的折叠后的信号b(n)补零至N点得到新的补零信号c(n):<maths num="0002"><![CDATA[<math><mrow><mi>c</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>b</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo></mtd><mtd><mn>0</mn><mo>&le;</mo><mi>n</mi><mo>&le;</mo><mrow><mo>(</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>N</mi><mo>/</mo><mn>2</mn><mo>&le;</mo><mi>n</mi><mo>&le;</mo><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>再对c(n)进行FFT运算,得到C(m):<maths num="0003"><![CDATA[<math><mrow><mi>C</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>c</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><msup><mi>e</mi><mrow><mo>-</mo><mi>j</mi><mfrac><mrow><mn>2</mn><mi>&pi;</mi></mrow><mi>N</mi></mfrac><mi>nm</mi></mrow></msup><mo>,</mo><mi>m</mi><mo>=</mo><mn>0,1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><msqrt><mo>-</mo><mn>1</mn></msqrt><mo>;</mo></mrow></math>]]></maths>步骤(4)对本地伪码l(n)作FFT运算,得到L(m):<maths num="0004"><![CDATA[<math><mrow><mi>L</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><msup><mi>e</mi><mrow><mo>-</mo><mi>j</mi><mfrac><mrow><mn>2</mn><mi>&pi;</mi></mrow><mi>N</mi></mfrac><mi>nm</mi></mrow></msup><mo>,</mo><mi>m</mi><mo>=</mo><mn>0,1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><msqrt><mo>-</mo><mn>1</mn></msqrt><mo>,</mo></mrow></math>]]></maths>对C(m)取复共轭,得到C<sup>*</sup>(m),把C<sup>*</sup>(m)与L(m)相乘,得到Y(m):Y(m)=C<sup>*</sup>(m)L(m),m=0,1,2,...,N-1,对Y(m)进行IFFT变换后,得到相关结果d(n):<maths num="0005"><![CDATA[<math><mrow><mi>d</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>Y</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><msup><mi>e</mi><mrow><mi>j</mi><mfrac><mrow><mn>2</mn><mi>&pi;</mi></mrow><mi>N</mi></mfrac><mi>mn</mi></mrow></msup><mo>,</mo><mi>n</mi><mo>=</mo><mn>0,1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>;</mo></mrow></math>]]></maths>步骤(5)存储前N/2+1点结果‖d(n)‖<sup>2</sup>的值,n=0,1,2,...,N/2,“‖‖”表示取模;步骤(6)重复步骤(2)至步骤(5),共F次,将步骤(5)所得结果记为‖d<sub>i</sub>(n)‖<sup>2</sup>,i表示非相干累加脚标,然后进行非相干累加,得到结果e(n):<maths num="0006"><![CDATA[<math><mrow><mi>e</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>F</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>d</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>,</mo><mi>n</mi><mo>=</mo><mn>0,1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>;</mo></mrow></math>]]></maths>步骤(7)从步骤(6)得到的e(n)中选出最大值e<sub>max</sub>:<maths num="0007"><![CDATA[<math><mrow><msub><mi>e</mi><mi>max</mi></msub><mo>=</mo><munder><mi>max</mi><mrow><mn>0</mn><mo>&le;</mo><mi>n</mi><mo>&le;</mo><mi>N</mi><mo>/</mo><mn>2</mn></mrow></munder><mo>{</mo><mi>e</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow></math>]]></maths>将e<sub>max</sub>与设定的门限P<sub>o</sub>进行比较,<maths num="0008"><![CDATA[<math><mrow><msub><mi>P</mi><mi>o</mi></msub><mo>=</mo><msqrt><mo>-</mo><mi>&lambda;N</mi><mrow><mo>(</mo><msup><mi>&delta;</mi><mn>2</mn></msup><mo>+</mo><msup><mi>A</mi><mn>2</mn></msup><mo>)</mo></mrow><mi>ln</mi><msub><mi>P</mi><mi>fa</mi></msub></msqrt><mo>,</mo></mrow></math>]]></maths>其中P<sub>fa</sub>表示单个待搜索单元的虚警概率、δ<sup>2</sup>表示噪声方差、A表示接收信号幅度、N表示FFT长度,λ为一系数与频率折叠次数有关;步骤(8)若最大值e<sub>max</sub>大于门限,则根据该最大值所在位置来确定伪码相位,若最大值e<sub>max</sub>小于门限则移动N/2+1点本地伪码相位,对另外一段伪码相位进行搜索,重复步骤(2)至步骤(7),直到找到大于门限的e<sub>max</sub>或搜索完整个码相位空间为止;步骤(9)根据步骤(8)所得到的伪码相位,再依次对每个频率单元的频率格进行搜索,得到载波频率。
地址 100084北京市100084-82信箱