CN103616703B - 一种导航接收机的基带数据处理方法及系统 - Google Patents

一种导航接收机的基带数据处理方法及系统 Download PDF

Info

Publication number
CN103616703B
CN103616703B CN201310631536.9A CN201310631536A CN103616703B CN 103616703 B CN103616703 B CN 103616703B CN 201310631536 A CN201310631536 A CN 201310631536A CN 103616703 B CN103616703 B CN 103616703B
Authority
CN
China
Prior art keywords
result
negative
real part
imaginary part
values
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.)
Active
Application number
CN201310631536.9A
Other languages
English (en)
Other versions
CN103616703A (zh
Inventor
代栋敏
欧春湘
王丹阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY
Original Assignee
CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY filed Critical CHINA AEROSPACE SCIENCE & INDUSTRY ACADEMY OF INFORMATION TECHNOLOGY
Priority to CN201310631536.9A priority Critical patent/CN103616703B/zh
Publication of CN103616703A publication Critical patent/CN103616703A/zh
Application granted granted Critical
Publication of CN103616703B publication Critical patent/CN103616703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware 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)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种导航接收机的基带数据处理方法及系统,所述方法包含:步骤101)将导航接收机某一时刻接收的射频信号进行相关处理,在时刻T输出第一批M个相关值;基于第一批M个相关值在时间段t内,采用DFT算法得到M个N点的DFT结果值的第一个累加项;将导航接收机接收下一时刻的射频信号进行预处理,在“T+t”时刻输出第二批M个相关值;基于第二批M个相关值在时间段t内,采用DFT算法得到M个N点的DFT结果值的第二个累加项,并和第一个累加项进行累加;以此类推,直到得到第N个累加项并将第N个累加项也完成了累加;步骤102)缓存上述累加的DFT运算结果,进行择大处理,得到导航接收机接收的射频信号的基带数据处理结果。

Description

一种导航接收机的基带数据处理方法及系统
技术领域
本发明属于基于FPGA的DFT算法的快速实现方法,具体涉及一种导航接收机的基带数据处理方法及系统。
背景技术
傅里叶变换(DiscreteFourierTransform,DFT)在一百多年前就已经发现,是数字信号处理中的一种重要算法,可以看成是连续函数在时域、频域取样构成的变换,频域分析常常比时域分析更优越,不仅简单,且易于分析复杂信号。
对于有限列长为N的序列x(n)的DFT可以表示为式1,
X ( k ) = DFT [ x ( n ) ] = Σ n = 0 N - 1 x ( n ) W N nk , k=0,1,2,…,N-1(式1)
DFT实质为采样数据与正弦、余弦函数的复相关运算。一般由于进行运算的都是复数,而一个复数乘法需用四个实数乘法和两个实数加法来实现,所以DFT直接计算时乘法次数和加法次数,都是和N2成比例的,正是其计算量大、运算时间长的缺点使其使用范围有限。
仔细考察DFT的运算公式,其中 W N nk = exp ( - j 2 πnk N ) = cos ( 2 πnk N ) - j sin ( 2 πnk N ) 可以得到充分利用系数的固有特性,即可改善DFT的运算效率。
1.的对称性 W N k ( N - n ) = W N - kn = ( W N kn ) *
2.的周期性 W N kn = W N k ( N + n ) = W N ( k + N ) n
利用的对称性和周期性使DFT运算中有些项合并,长序列的DFT分解为更小点数的DFT,这样也可以达到减少运算工作量的效果。1965年,Cooley和Tukey提出的FFT(FastFourierTransform)算法,正是基于这一基本思想而发展起来的。此算法一经问世就得到了极大关注,发展迅速,被广泛用于雷达系统、图像处理、通信系统、航空航天、卫星导航等领域。
FFT根据系数的固有特性,乘法次数就变成了这样,当傅里叶变换的点数很大时,可极大的减少运算量。例如进行32点DFT时,运算量约为1024,而FFT的运算量约为80次,大约为12.8倍。当进行1024点DFT时,运算量约为1048576,而FFT的运算量约为5120,大约为204.8倍。对于实时性很强的信号处理来说,需用利用DFT的改进算法FFT,来极大的减少运算量。但是从上述例子可知:点数越少,改善的效果越差;点数越多,改善的效果越好。因此对于当点数不算太多时,例如当点数少于64时,直接采用FFT算法对计算量的改善效果并不明显,导致计算量很大,很大程度上影响了运算速度。
发明内容
本发明的目的在于,为克服上述技术问题,本发明提供一种导航接收机的基带数据处理方法及系统。
为了实现上述目的,本发明提供了一种导航接收机的基带数据处理方法,所述方法包含:
步骤101)将导航接收机接收的射频信号进行相关处理,在时刻T输出第一批M个相关值;基于第一批M个相关值在时间段t内,采用DFT算法得到M个N点的DFT结果值的第一个累加项;
将导航接收机接收的射频信号进行预处理,在“T+t”时刻输出第二批M个相关值;基于第二批M个相关值在时间段t内,采用DFT算法得到M个N点的DFT结果值的第二个累加项,并和第一个累加项进行累加;
以此类推,直到得到第N个累加项并将第N个累加项也完成了累加,此时一个完整的码字接收完成,即完成了对所有M个通道的N个数据的DFT运算;
步骤102)缓存上述累加的DFT运算结果,进行择大处理,得到导航接收机接收的射频信号的基带数据处理结果;
其中,
M为通道的个数,N为进行DFT运算的点数,且:当值为2的整数次幂时,所述N等于值不满足2的整数次幂时,所述N的取值满足2的整数次幂且该2的整数次幂的值为大于且距离最近的2的整数次幂;
T1为导航接收机接收的码字的周期,t为导航接收机接收一次码字信号的时间间隔,则导航接收机经过次后完成整个码字的接收,且t<T1;T表示导航接收机第一次接收某个码字的一部分信号的起始时刻。
可选的,当通道数M为256,周期T1为1ms,且t为时,所述步骤101)采用如下步骤进行M个通道的N个数据的DFT运算:
步骤100)依据t和T1的取值,并依据N与t和T1的关系确定N的取值为32;
步骤101)采用如下公式计算tf_gen表,并进行存储:
tf_gen(k,n)=cos(2*pi*(n-1)*(k-1)/32)-1i*sin(2*pi*(n-1)*(k-1)/32);
其中,tf_gen(k,n)表示DFT运算展开式的系数;pi为∏,其取值能为:3.1415926;k表示DFT算法系数中的k,且k的取值范围为[1,N];n表示输入数据的批数,第一批数据n就为1,第二批就为2,以此类推,直到第N批数据输入完成;
步骤102)基于得到的tf_gen表和输入的各批数据,采用如下公式进行DFT运算:
y(1)=x(1)*tf_gen(1,1)+x(2)*tf_gen(1,2)+x(3)*tf_gen(1,3)+……
+x(31)*tf_gen(1,31)+x(32)*tf_gen(1,32);
y(2)=x(1)*tf_gen(2,1)+x(2)*tf_gen(2,2)+x(3)*tf_gen(2,3)+……
+x(31)*tf_gen(2,31)+x(32)*tf_gen(2,32);
……
y(32)=x(1)*tf_gen(32,1)+x(2)*tf_gen(32,2)+x(3)*tf_gen(32,3)+……
+x(31)*tf_gen(32,31)+x(32)*tf_gen(32,32);
其中,y(i)表示32点DFT的第i个结果值,i的取值范围为[1,N],且该处的N为32;x(1)表示时刻T输入的M个通道的相关数据组成的向量,x(2)表示时刻“T+t”输入的M个通道的相关数据组成的向量,依次类推,x(31)表示时刻“T+31*t”输入的M个通道的相关数据组成的向量。
进一步优化的方案,依据tf_gen系数的计算公式所确定的系数的对称性和周期性,能够采用前N/4个复乘法结果值表征后“3*N/4”个结果值,即针对某一批数据x(i)对应的各“x(i)*tf_gen(k,n)”的复数结果的求解过程为:采用乘法器计算前m项的“x(i)*tf_gen(k,n)”,后若干项的“x(i)*tf_gen(k,n)”结果值,采用对称性和周期性得到;
其中,所述对称性指:所有采用tf_gen(k,n)计算得到的系数为一系列的余弦值和正弦值,且所有的余弦值和正弦值位于一个单位圆上,此时能够用某个象限的值来表示其他三个象限的值。
当N=32时,上述优化方案具体为:设y(1)中的各累加项为s(1),y(2)中的各累加项为s(2),......,y(j)中的累加项为s(j),......,y(32)中的各累加项均为s(32);
根据“x(i)*tf_gen(k,n)”公式并采用乘法器得到s(1)、s(2),......,s(8)的复数结果;
依据如下策略获得s(9)、s(10),......,s(32)的值:
当k为1时:
s(9)到s(16)的结果值分别和s(1)到s(8)中的各值对应相等,即,s(9)=s(1),s(10)=s(2),......,s(16)=s(8);
s(17)到s(24)结果值也分别和s(1)到s(8)中的各值对应相等,即s(17)=s(1),s(18)=s(2),......,s(24)=s(8);
s(25)到s(32)的结果值也分别和s(1)到s(8)中的各值对应相等,即s(24)=s(1),s(25)=s(2),......,s(32)=s(8);
当k为2时:
s(9)结果的实部为s(1)结果的虚部,s(9)结果的虚部为s(1)结果的实部取负;
s(10)结果的实部为s(2)结果的虚部,s(10)结果的虚部为s(2)结果的实部取负;
s(11)结果的实部为s(3)结果的虚部,s(11)结果的虚部为s(3)结果的实部取负;
……
s(16)结果的实部为s(8)结果的虚部,s(16)结果的虚部为s(8)结果的实部取负;
s(17)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(18)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(19)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(24)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(25)结果的实部为s(1)结果的虚部取负,s(9)结果的虚部为s(1)结果的实部;
s(26)结果的实部为s(2)结果的虚部取负,s(10)结果的虚部为s(2)结果的实部;
s(27)结果的实部为s(3)结果的虚部取负,s(11)结果的虚部为s(3)结果的实部;
……
s(32)结果的实部为s(8)结果的虚部取负,s(16)结果的虚部为s(8)结果的实部;
当k为3时:
s(9)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(10)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(11)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(16)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(17)到s(24)结果值分别和s(1)到s(8)中的各值对应相等,即s(17)=s(1),s(18)=s(2),......,s(24)=s(8);
s(25)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(26)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(27)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(32)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
当k为4时:
s(9)结果的实部为s(1)结果的虚部取负,s(9)结果的虚部为s(1)结果的实部;
s(10)结果的实部为s(2)结果的虚部取负,s(10)结果的虚部为s(2)结果的实部;
s(11)结果的实部为s(3)结果的虚部取负,s(11)结果的虚部为s(3)结果的实部;
……
s(16)结果的实部为s(8)结果的虚部取负,s(16)结果的虚部为s(8)结果的实部;
s(17)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(18)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(19)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(24)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(25)结果的实部为s(1)结果的虚部,s(9)结果的虚部为s(1)结果的实部取负;
s(26)结果的实部为s(2)结果的虚部,s(10)结果的虚部为s(2)结果的实部取负;
s(27)结果的实部为s(3)结果的虚部,s(11)结果的虚部为s(3)结果的实部取负;
……
s(32)结果的实部为s(8)结果的虚部,s(16)结果的虚部为s(8)结果的实部取负;
即,上述规律以4为周期进行循环,当k取值5-8的时候重复上述k取值1-4时的规律,k取值9-12的时候重复上述k取值1-4时的规律,……,依次类推,能够得到k取9-32之间值的各累加项的值。
此外,本发明还提供一种导航接收机的基带数据处理系统,所述系统包含:
数字下变频处理模块,用于对基带处理单元接收的射频数据进行下变频处理;
本地信号产生模块,用于产生本地载波信号;
相关器,用于基于下变频处理输出的信号和本地载波信号进行相关处理,得到一批共M个相关值;
DFT运算模块,用于依次将各个时刻相关器输出的M个相关值进行DFT运算,在“N*t”时间段内共计算得到N个DFT运算结果;
其中,所述N为进行DFT运算的点数;
DFT结果存储模块,用于存储N个累加项的值和DFT结果值,进而可进行相干积累以及非相干积累;
择大判断处理模块,用于对非相干积累结果进行择大处理,输出基带信号的处理结果。
可选的上述DFT运算模块进一步包含:若干复乘法器和DFT结果查询模块;
所述复乘法器用于计算前L个累加项的复乘结果值,其中L小于N;
所述DFT结果查询模块,用于依据前L个累加项的结果值估计后“N-L”个累加项的值,所述估计策略为:依据tf_gen的公式确定的系数的对称性,采用前N/4个复乘法结果值表征后3*N/4个结果值,即当乘以各累加项中的系数时能够通过系数对称性得到;其中,所述对称性指:所有系数为一系列的余弦值和正弦值,且所有的余弦值和正弦值位于一个单位圆上,此时能够用某个象限的值来表示其他三个象限的值。
与现有技术相比,本发明的技术优势在于:
本发明在进行傅立叶变化时,不利用FFT算法,也能达到快速实现DFT运算的目的。
附图说明
图1是本发明实现快速DFT算法的流程图;
图2是本发明实现快速DFT算法所基于FPGA的示意图;
图3是本发明实施例针对256通道处理的流程图;
图4是本发明实施例采用的DFT算法模块组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的描述。
首先对特定环境进行说明:如图1所示,在FPGA上经过采集信号,数字下变频,和本地生成的信号进行相关后可以得到一批相关值共M个,那么我们说有M个通道,此处假定T时间为第一个时间点,每隔t时间可输出一批相关值,假设N*t为一个时间周期,这样在每个N*t时间周期内就可以产生M*N个数据。就是说一个N*t时间周期内共有M个通道,每个通道有N个数据,需要对每个通道的N个数据进行DFT运算。便于后期进行相干累加、非相干累加和择大处理。
为了解决现有技术中DFT运算量大,速度慢的问题,本发明采用了如下的导航接收机的基带数据处理方法:
步骤一:信号通过数据采集进入FPGA;
步骤二:信号通过数字下变频进入相关器;
步骤三:与此同时本地生成的信号也进入相关器进行相关;
步骤四:相关值进入DFT模块;
步骤一到步骤三一直重复进行,每隔t时间进行一次步骤四,此为一个循环。
步骤五:在T时间点第一批相关值进入DFT模块后,相当于是M个通道DFT运算输入值的第一项,在此时间内需保证完成M个通道的第一频点数据的计算,作为DFT结果值的第一个累加项。
步骤六:在“T+t”时间点第二批相关值进入DFT模块,相当于是M个通道DFT运算输入值的第二项,在此时间内需保证完成M个通道的第二频点数据的计算,作为DFT结果值的第二个累加项,并和步骤五的值进行累加。
步骤七:在“T+2*t”时间点第三批相关值进入DFT模块,相当于是M个通道DFT运算输入值的第三项,在此时间内需保证完成M个通道的第三频点数据的计算,作为DFT结果值的第三个累加项,并和步骤六的值进行累加。
以此类推,直到一个完整的N*t时间周期结束,所以步骤五、步骤六、步骤七直到本时间周期结束,此处利用流水线的设计比较容易实现。此时的累加值就是对应N点的DFT结果值。然后可以考虑相干积累和非相干积累。
此外,本发明还利用DFT计算时系数的对称性,显著减少了DFT运算时所依赖的复数乘法器的数量,同时进一步提高了DFT运算的速度。
实施例
为了解决现有技术中DFT运算量大,速度慢的问题,本发明采用了如下的技术方法,下面对实现过程进行详细说明,并和FFT进行比较。本发明提出的快速DFT算法的应用场景为:1、进行DFT运算的数据每隔一段固定时间输出一次;2、进行DFT运算的点数不能太多(即,N小于等于64);3、保证在下次相关值来临之前的时间内,能完成本次DFT结果值中某一积累项的全部运算。
本实施例所基于的特定环境为:假定FPGA内部处理时钟为62M,导航接收机的相关器完成相关运算后得到一批相关数据,此处假定一批相关数据包含256个结果,将每一个结果作为一个通道,则256个结果对应256个通道;假定1ms时间为一个周期(即,1ms时间段内导航接收机完成一个码字的接收),且导航接收机包含的相关器每间隔输出一批数据,因此在1ms时间段内可以产生“256*31”个数据。也就是说有256个通道,每个通道有31个数据,此时需要对每个通道的31个数据进行DFT运算。对于经过DFT运算后得到的256个32点DFT结果及其相关累加,并将相关累加后的结果再进行非相干累加,最后对于非相干累加的结果进行择大处理及后续处理。上述基带处理的方法的流程图如图3所示。
针对上段内容记载的31点DFT运算,为了保证算法系数的对称性和FFT运算首先将点数扩展为32点,进而研究对比32点的傅里叶算法。
为了方便说明DFT快速算法的过程用如下的式(2)表示系数tf_gen生成,用如下的32个展开式y=dft(x)表示DFT算法的展开。下述公式中的x(1)是第一批相关数据,即第一频点的数据;x(2)是第二批相关数据,即第二频点的数据,以此类推。
tf_gen(k,n)=cos(2*pi*(n-1)*(k-1)/32)-1i*sin(2*pi*(n-1)*(k-1)/32)(2)
其中,pi取值为3.1415926,即∏;k表示频率系数取值(即,当进行32点DFT时,k的取值为1,2,3……32;当进行64点DFT时,k的取值为1,2,3,……64);n表示输入有限序列N的取值,该处的有限序列N中包含某一批输出的相关值(即,M个相关值),且当N不满足2的整数次幂时,在N个数据后补零到最近的整数次幂,然后再进行运算;
y(1)=x(1)*tf_gen(1,1)+x(2)*tf_gen(1,2)+x(3)*tf_gen(1,3)+……
+x(31)*tf_gen(1,31)+x(32)*tf_gen(1,32);
y(2)=x(1)*tf_gen(2,1)+x(2)*tf_gen(2,2)+x(3)*tf_gen(2,3)+……
+x(31)*tf_gen(2,31)+x(32)*tf_gen(2,32);
……
y(32)=x(1)*tf_gen(32,1)+x(2)*tf_gen(32,2)+x(3)*tf_gen(32,3)+……
+x(31)*tf_gen(32,31)+x(32)*tf_gen(32,32);
其中,上述通道有256个,每个通道都要进行一个32点的DFT运算,x(i)表示的是某一个通道第i批相关值也就是说在某个时刻接收的数据。每个通道都有一个对应的x(i),256个通道有256个对应的x(i)值。
上述y(1)、y(2)、……、y(32)的展开式中均包含若干累加项,当以y(1)为描述对象时,将y(1)的展开式等式右边的:“x(1)*tf_gen(1,1)”表示y(1)的第一累加项,“x(2)*tf_gen(1,2)”表示y(1)的第二累加项,……,x(32)*tf_gen(1,32)表示y(1)的第32个累加项;且y(1)的32个累加项采用s(1)表征;而对于y(2)、……、y(32)展开式中的各累加项同y(1),只是y(2)的所有累加项均采用s(2)表征,……,y(32)所有累加项均采用s(32)表征。
当采用本发明快速DFT计算方案时,每输入一批相关数据x(j)(j=1,2,……,32)均计算所有y(i)(i=1,2,……,32)对应的第j累加项的值,并将得到的第j累加项的值与前“j”个累加项的值的和叠加,最终实现各个y(i)的展开,从而完成快速DFT运算。这种计算方式明显优于现有技术对于导航接收机输出的分批次的相关结果采用FFT运算的方式,当采用现有技术的FFT算法时,需等待各批相关数据均输入完成后才开始运算,这样一方面会浪费很多时间,另一方面还会浪费大量的缓存空间,最终导致算法实现不仅慢而且浪费资源。
为了进一步优化计算的速度,本发明还根据y(i)展开式系数的对称性,将后“N-L”个y(i)中的各累加项基于已经得到的前L个y(i)中的累加项的具体值推导得到。即,依据tf_gen系数的计算公式所确定的系数的对称性和周期性,能够采用前N/4个复乘法结果值表征后“3*N/4”个结果值,即针对某一批数据x(i)对应的各“x(i)*tf_gen(k,n)”的复数结果的求解过程为:采用乘法器计算前m项的“x(i)*tf_gen(k,n)”,后若干项的“x(i)*tf_gen(k,n)”结果值,采用对称性和周期性得到;其中,所述对称性指:所有采用tf_gen(k,n)计算得到的系数为一系列的余弦值和正弦值,且所有的余弦值和正弦值位于一个单位圆上,此时能够用某个象限的值来表示其他三个象限的值。
当进行32点快速DFT时上述优化方案的具体实施为:采用复数乘法器得到y(1)对应的s(1)、y(2)对应的s(2),……,y(8)对应的s(8)的复数结果;而对于y(9),y(10),……,y(32)展开式中的各累加项的值通过观察获得,并将获得观察的结果进行存储,以便后续进行查表,从而节省了大量的复数乘法器。具体细节如下:
依据如下策略获得s(9)、s(10),......,s(32)的值:
当k为1时:
s(9)到s(16)的结果值分别和s(1)到s(8)中的各值对应相等,即,s(9)=s(1),s(10)=s(2),......,s(16)=s(8);
s(17)到s(24)结果值也分别和s(1)到s(8)中的各值对应相等,即s(17)=s(1),s(18)=s(2),......,s(24)=s(8);
s(25)到s(32)的结果值也分别和s(1)到s(8)中的各值对应相等,即s(24)=s(1),s(25)=s(2),......,s(32)=s(8);
当k为2时:
s(9)结果的实部为s(1)结果的虚部,s(9)结果的虚部为s(1)结果的实部取负;
s(10)结果的实部为s(2)结果的虚部,s(10)结果的虚部为s(2)结果的实部取负;
s(11)结果的实部为s(3)结果的虚部,s(11)结果的虚部为s(3)结果的实部取负;
……
s(16)结果的实部为s(8)结果的虚部,s(16)结果的虚部为s(8)结果的实部取负;
s(17)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(18)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(19)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(24)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(25)结果的实部为s(1)结果的虚部取负,s(9)结果的虚部为s(1)结果的实部;
s(26)结果的实部为s(2)结果的虚部取负,s(10)结果的虚部为s(2)结果的实部;
s(27)结果的实部为s(3)结果的虚部取负,s(11)结果的虚部为s(3)结果的实部;
……
s(32)结果的实部为s(8)结果的虚部取负,s(16)结果的虚部为s(8)结果的实部;
当k为3时:
s(9)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(10)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(11)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(16)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(17)到s(24)结果值分别和s(1)到s(8)中的各值对应相等,即s(17)=s(1),s(18)=s(2),......,s(24)=s(8);
s(25)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(26)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(27)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(32)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
当k为4时:
s(9)结果的实部为s(1)结果的虚部取负,s(9)结果的虚部为s(1)结果的实部;
s(10)结果的实部为s(2)结果的虚部取负,s(10)结果的虚部为s(2)结果的实部;
s(11)结果的实部为s(3)结果的虚部取负,s(11)结果的虚部为s(3)结果的实部;
……
s(16)结果的实部为s(8)结果的虚部取负,s(16)结果的虚部为s(8)结果的实部;
s(17)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(18)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(19)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(24)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(25)结果的实部为s(1)结果的虚部,s(9)结果的虚部为s(1)结果的实部取负;
s(26)结果的实部为s(2)结果的虚部,s(10)结果的虚部为s(2)结果的实部取负;
s(27)结果的实部为s(3)结果的虚部,s(11)结果的虚部为s(3)结果的实部取负;
……
s(32)结果的实部为s(8)结果的虚部,s(16)结果的虚部为s(8)结果的实部取负;
即,上述规律以4为周期进行循环,当k取值5-8的时候重复上述k取值1-4时的规律,k取值9-12的时候重复上述k取值1-4时的规律,……,依次类推,能够得到k取9-32之间值的各累加项的值,k表示DFT算法系数中的k。
总之,当进行32点的DFT,运算量就减少为直接运算量的复数乘法器数从32个下降为8个,如图4所示。对比系数的特征,我们对于某一批输入的相关值进行32点DFT展开时仅需要展开前8个即可,其余的24个展开结果值能够用前8个复乘法结果值来进行表示。
详细实现过程为:将系数表(tf_gen)存储在FPGA上的ROM中备用。根据前期数据处理的设置可知,在进行DFT运算时,输入数据的频率大为减少,才输出一个值。这样,256个通道,1ms会输出31次256个通道的值,也就是说1ms需要进行256个32点的DFT,即每个通道都对应一个32点的DFT,而由上述dft展开式可知每一个y(n)(n=1,2,3...32)都是32个输入值的能量积累。输入数据准备好,就可以调用图4所示的模块进行DFT运算。
步骤一:信号通过数据采集进入FPGA;
步骤二:信号通过数字下变频进入相关器;
步骤三:与此同时本地生成的信号也进入相关器进行相关;
步骤四:相关值进入DFT模块;
步骤一到步骤三一直重复进行,每隔t时间进行一次步骤四,此为一个循环。
步骤五:在第一个时间点第一批相关值(这批相关值有256个,对应于每个通道一个,相当于是每个通道的第一个相关值x(1)来临)进入DFT模块后,会同时输入对应的256个通道的x(1)值,此时可以根据公式得到对应的256个y(n)(n=1,2,3...32)的第一项值,在此时间内共有2000个62M的时钟,需要保证这段时间内完成256个通道第一频点数据的计算;
步骤六:在第二个时间点第二批相关值进入DFT模块后,会同时输入对应的256个通道的x(2)值,此时可以根据公式得到对应的256个y(n)(n=1,2,3...32)的第二项值,在此时间内需保证完成256个通道的第二频点数据的计算,并和步骤五的值进行累加。
步骤七:在第三个时间点第三批相关值进入DFT模块后,会同时输入对应的256个通道的x(3)值,此时可以根据公式得到对应的256个y(n)(n=1,2,3...32)的第三项值,在此时间内需保证完成256个通道的第三频点数据的计算,并和步骤六的值进行累加。
以此类推,直到一个完整的1ms时间周期结束,所以步骤五、步骤六、步骤七直到本周期结束,此处利用流水线的设计比较容易实现。此时的y值就是对应32点的DFT结果值了。如果此处我们考虑相干积分时间为2ms,也就是DFT值累加2ms,此时间内输入62次256个相关值,最终可得到32*256个频点值。重复上述过程,可以进行必要的非相干积累。
总之,本发明是某个导航接收机项目的子模块,属于接收机基带设计捕获算法的一部分。整个基带处理过程如图2所示,包括数据采集,数字下变频,本地信号产生,相关器部分,DFT模块,非相干积累以及择大判断等模块。DFT算法在数据进行相关运算之后进行,对相应的数据进行傅立叶变换,得到数据的频域信息,便于之后的择大运算,DFT算法位置很重要,它能否快速实现决定了捕获速度的快慢。根据上述说明巧妙的利用点数少的优势,结合前期数据每隔一个固定的时间生成一批的特点,在需要对其进行傅里叶变换的形式下,不用FFT算法从而也能达到DFT快速运算的目的。
采用本发明的技术方案的技术效果与采用现有技术的FFT算法的技术效果的对比说明如下:
目前硬件上的傅里叶变换一般选用FFT算法来实现,如果追求更快的时间可以用高基数的FFT运算或者其他优化的FFT算法。在相关器的结果来临时,对其进行缓存,进行FFT运算以及后续的运算。
本发明设计的DFT算法考虑2ms相干积分的话较FFT算法有三方面优势:1、若进行64点的FFT,按时间抽取或者按频率抽取,都需要64点输入完成后才能进行计算,但是本发明中的DFT运算不需要,来一批数据即可以进行一个频点的计算,并作为y值的能量积累项进行累加,当数据输入完成后,也就可以得到其DFT的值了;2、DFT不需要进行输入数据的缓存,若进行FFT运算,则需要考虑输入数据的存储,此时数据缓存需256×64个寄存器,若考虑到运算的连续性还需考虑输入数据的乒乓存储,那么寄存器数量加倍,共需2×256×64复数寄存器,极大地浪费了存储空间;而由于本发明的DFT运算不需要进行输入数据的缓存,所以节省了大量的存储空间;3、可用频域的32点表示时域的64点的DFT值,而FFT运算的点数与输入的点数需要保持一致。
综上所述,考虑到运算量和处理时间,此处DFT运算更占优势,并且本发明给出了一种快速实现的方法。
需要说明的是,以上介绍的本发明的实施方案而并非限制。本领域的技术人员应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围内。

Claims (5)

1.一种导航接收机的基带数据处理方法,所述方法包含:
步骤101)
将导航接收机接收的某一时刻的射频信号进行相关处理,在时刻T输出第一批M个相关值;
基于第一批M个相关值在时间段t内,采用DFT算法得到M个N点的DFT结果值的第一个累加项;
将导航接收机接收的下一时刻的射频信号进行预处理,在“T+t”时刻输出第二批M个相关值;
基于第二批M个相关值在时间段t内,采用DFT算法得到M个N点的DFT结果值的第二个累加项,并和第一个累加项进行累加;
以此类推,直到得到第N个累加项并将第N个累加项也完成了累加,此时一个完整的码字接收完成,即完成了对所有M个通道的N个数据的DFT运算;
步骤102)缓存上述累加的DFT运算结果,进行择大处理,得到导航接收机接收的射频信号的基带数据处理结果;
其中,M为通道的个数,N为进行DFT运算的点数,且:当值为2的整数次幂时,所述N等于值不满足2的整数次幂时,所述N的取值满足2的整数次幂且该2的整数次幂的值为大于且距离最近的2的整数次幂;
T1为导航接收机接收的码字的周期,t为导航接收机接收一次码字信号的时间间隔,则导航接收机经过次后完成整个码字的接收,且t<T1;T表示导航接收机第一次接收某个码字的一部分信号的起始时刻。
2.根据权利要求1所述的导航接收机的基带数据处理方法,其特征在于,当通道数M为256,周期T1为1ms,且t为时,所述步骤101)采用如下步骤进行M个通道的N个数据的DFT运算:
步骤100)依据t和T1的取值,并依据N与t和T1的关系确定N的取值为32;
步骤101)采用如下公式计算tf_gen表,并进行存储:
tf_gen(k,n)=cos(2*pi*(n-1)*(k-1)/32)-1i*sin(2*pi*(n-1)*(k-1)/32);
其中,tf_gen(k,n)表示DFT运算展开式的系数;pi为∏,其取值能为:3.1415926;k表示DFT算法系数中的k,且k的取值范围为[1,N];n表示输入数据的批数,第一批数据n就为1,第二批就为2,以此类推,直到第N批数据输入完成;
步骤102)基于得到的tf_gen表和输入的各批数据,采用如下公式进行DFT运算:
y(1)=x(1)*tf_gen(1,1)+x(2)*tf_gen(1,2)+x(3)*tf_gen(1,3)+……
+x(31)*tf_gen(1,31)+x(32)*tf_gen(1,32);
y(2)=x(1)*tf_gen(2,1)+x(2)*tf_gen(2,2)+x(3)*tf_gen(2,3)+……
+x(31)*tf_gen(2,31)+x(32)*tf_gen(2,32);
……
y(32)=x(1)*tf_gen(32,1)+x(2)*tf_gen(32,2)+x(3)*tf_gen(32,3)+……
+x(31)*tf_gen(32,31)+x(32)*tf_gen(32,32);
其中,y(i)表示32点DFT的第i个结果值,i的取值范围为[1,N],且该处的N为32;x(1)表示时刻T输入的M个通道的相关数据组成的向量,x(2)表示时刻“T+t”输入的M个通道的相关数据组成的向量,依次类推,x(31)表示时刻“T+31*t”输入的M个通道的相关数据组成的向量。
3.根据权利要求2所述的导航接收机的基带数据处理方法,其特征在于,依据tf_gen系数的计算公式所确定的系数的对称性和周期性,能够采用前N/4个复乘法结果值表征后“3*N/4”个结果值,即针对某一批数据x(i)对应的各“x(i)*tf_gen(k,n)”的复数结果的求解过程为:采用乘法器计算前m项的“x(i)*tf_gen(k,n)”,后若干项的“x(i)*tf_gen(k,n)”结果值,采用对称性和周期性得到;
其中,所述对称性指:所有采用tf_gen(k,n)计算得到的系数为一系列的余弦值和正弦值,且所有的余弦值和正弦值位于一个单位圆上,此时能够用某个象限的值来表示其他三个象限的值。
4.根据权利要求3所述的导航接收机的基带数据处理方法,其特征在于,设y(1)中的各累加项为s(1),y(2)中的各累加项为s(2),……,y(j)中的累加项为s(j),……,y(32)中的各累加项均为s(32);
根据“x(i)*tf_gen(k,n)”公式并采用乘法器得到s(1)、s(2),……,s(8)的复数结果;
依据如下策略获得s(9)、s(10),……,s(32)的值:
当k为1时:
s(9)到s(16)的结果值分别和s(1)到s(8)中的各值对应相等,即,s(9)=s(1),s(10)=s(2),……,s(16)=s(8);
s(17)到s(24)结果值也分别和s(1)到s(8)中的各值对应相等,即s(17)=s(1),s(18)=s(2),……,s(24)=s(8);
s(25)到s(32)的结果值也分别和s(1)到s(8)中的各值对应相等,即s(24)=s(1),s(25)=s(2),……,s(32)=s(8);
当k为2时:
s(9)结果的实部为s(1)结果的虚部,s(9)结果的虚部为s(1)结果的实部取负;
s(10)结果的实部为s(2)结果的虚部,s(10)结果的虚部为s(2)结果的实部取负;
s(11)结果的实部为s(3)结果的虚部,s(11)结果的虚部为s(3)结果的实部取负;
……
s(16)结果的实部为s(8)结果的虚部,s(16)结果的虚部为s(8)结果的实部取负;
s(17)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(18)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(19)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(24)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(25)结果的实部为s(1)结果的虚部取负,s(9)结果的虚部为s(1)结果的实部;
s(26)结果的实部为s(2)结果的虚部取负,s(10)结果的虚部为s(2)结果的实部;
s(27)结果的实部为s(3)结果的虚部取负,s(11)结果的虚部为s(3)结果的实部;
……
s(32)结果的实部为s(8)结果的虚部取负,s(16)结果的虚部为s(8)结果的实部;
当k为3时:
s(9)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(10)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(11)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(16)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(17)到s(24)结果值分别和s(1)到s(8)中的各值对应相等,即s(17)=s(1),s(18)=s(2),……,s(24)=s(8);
s(25)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(26)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(27)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(32)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
当k为4时:
s(9)结果的实部为s(1)结果的虚部取负,s(9)结果的虚部为s(1)结果的实部;
s(10)结果的实部为s(2)结果的虚部取负,s(10)结果的虚部为s(2)结果的实部;
s(11)结果的实部为s(3)结果的虚部取负,s(11)结果的虚部为s(3)结果的实部;
……
s(16)结果的实部为s(8)结果的虚部取负,s(16)结果的虚部为s(8)结果的实部;
s(17)结果的实部为s(1)结果的实部取负,s(9)结果的虚部为s(1)结果的虚部取负;
s(18)结果的实部为s(2)结果的实部取负,s(10)结果的虚部为s(2)结果的虚部取负;
s(19)结果的实部为s(3)结果的实部取负,s(11)结果的虚部为s(3)结果的虚部取负;
……
s(24)结果的实部为s(8)结果的实部取负,s(16)结果的虚部为s(8)结果的虚部取负;
s(25)结果的实部为s(1)结果的虚部,s(9)结果的虚部为s(1)结果的实部取负;
s(26)结果的实部为s(2)结果的虚部,s(10)结果的虚部为s(2)结果的实部取负;
s(27)结果的实部为s(3)结果的虚部,s(11)结果的虚部为s(3)结果的实部取负;
……
s(32)结果的实部为s(8)结果的虚部,s(16)结果的虚部为s(8)结果的实部取负;
即,上述规律以4为周期进行循环,当k取值5-8的时候重复上述k取值1-4时的规律,k取值9-12的时候也重复上述k取值1-4时的规律,……,依次类推,能够得到k取9-32之间值的各累加项的值。
5.一种导航接收机的基带数据处理系统,其特征在于,所述系统包含:
数字下变频处理模块,用于对基带处理单元接收的射频数据进行下变频处理;
本地信号产生模块,用于产生本地载波信号;
相关器,用于基于下变频处理输出的信号和本地载波信号进行相关处理,得到一批共M个相关值;
DFT运算模块,用于依次将各个时刻相关器输出的M个相关值进行DFT运算,在“N*t”时间段内共计算得到N个DFT运算结果;
其中,所述N为进行DFT运算的点数;
DFT结果存储模块,用于存储N个累加项的值和DFT结果值,进而可进行相干积累以及非相干积累;
择大判断处理模块,用于对非相干积累结果进行择大处理,输出基带信号的处理结果;
其中,所述DFT运算模块进一步包含:若干复乘法器和DFT结果查询模块;
所述复乘法器用于计算前L个累加项的复乘结果值,其中L小于N;
所述DFT结果查询模块,用于依据前L个累加项的结果值估计后“N-L”个累加项的值,所述估计策略为:依据tf_gen的公式确定的系数的对称性,采用前N/4个复乘法结果值表征后3*N/4个结果值,即当乘以各累加项中的系数时能够通过系数对称性得到;其中,所述对称性指:所有系数为一系列的余弦值和正弦值,且所有的余弦值和正弦值位于一个单位圆上,此时能够用某个象限的值来表示其他三个象限的值。
CN201310631536.9A 2013-11-28 2013-11-28 一种导航接收机的基带数据处理方法及系统 Active CN103616703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310631536.9A CN103616703B (zh) 2013-11-28 2013-11-28 一种导航接收机的基带数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310631536.9A CN103616703B (zh) 2013-11-28 2013-11-28 一种导航接收机的基带数据处理方法及系统

Publications (2)

Publication Number Publication Date
CN103616703A CN103616703A (zh) 2014-03-05
CN103616703B true CN103616703B (zh) 2015-11-18

Family

ID=50167407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310631536.9A Active CN103616703B (zh) 2013-11-28 2013-11-28 一种导航接收机的基带数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN103616703B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104993844B (zh) * 2015-06-29 2017-10-13 和芯星通科技(北京)有限公司 一种频域搜索方法及装置
CN108318900B (zh) * 2017-12-29 2021-04-23 中国科学院光电研究院 一种周期脉冲增强导航信号的高精度频率捕获方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561484A (zh) * 2009-05-11 2009-10-21 北京航空航天大学 一种gnss信号伪码捕获方法
CN102645661A (zh) * 2012-04-20 2012-08-22 中国科学院计算技术研究所 Gps软件接收机中的跟踪环路信号处理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561484A (zh) * 2009-05-11 2009-10-21 北京航空航天大学 一种gnss信号伪码捕获方法
CN102645661A (zh) * 2012-04-20 2012-08-22 中国科学院计算技术研究所 Gps软件接收机中的跟踪环路信号处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于ARM的GPS/BD2组合接收机设计与实现;王亚平 等;《电子测量技术》;20121231;第35卷(第12期);第67-70页 *
高灵敏度接收机跟踪环路设计方案;王千喜 等;《现代电子技术》;20130601;第36卷(第11期);第89-91,94页 *

Also Published As

Publication number Publication date
CN103616703A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
CN101561484B (zh) 一种gnss信号伪码捕获方法
CN112910498B (zh) Pmf-fft测控信号捕获装置和方法
CN102540217A (zh) 一种在fpga中实现glonass卫星信号的快速捕获系统
CN105577229A (zh) Cpu辅助gpu实现扩频信号快速捕获方法
CN106842144A (zh) 并行多相结构数字脉压方法
CN103616703B (zh) 一种导航接收机的基带数据处理方法及系统
CN106093981A (zh) 基于优化并行码相位搜索的gps捕获电路
Zheng A software-based frequency domain parallel acquisition algorithm for GPS signal
CN103197328A (zh) 一种基于2ms数据存储的高动态卫星接收机快速捕获方法
CN114839654A (zh) 一种应用于导航系统的多相并行快速捕获系统及方法
CN103837878A (zh) 一种gnss卫星信号捕捉方法
CN111679123B (zh) 适用于多模调制体制的符号边沿与频率估计方法与系统
Ahamed et al. Fast acquisition of GPS signal using Radix-2 and Radix-4 FFT algorithms
CN105741313A (zh) 一种基于fpga的快速实时动目标检测系统
CN110018500B (zh) 一种基于圆周移位的北斗卫星信号捕获方法
US20120274512A1 (en) Signal Processing Method, Device and System
CN102035567B (zh) 可变长度数字扩频信号快速相关处理方法
Yang et al. A efficient design of a real-time FFT architecture based on FPGA
Leclère et al. Implementing super-efficient FFTs in Altera FPGAs
Wang et al. Parallelized cyclostationary feature detection on a software defined radio processor
CN202119913U (zh) 用于全球卫星导航系统的捕获装置的fft处理器模块
CN109870712B (zh) 一种对扩频码多普勒效应的消除方法
Zhao et al. Optimized FFT Algorithm and its Application to Fast GPS Signal Acquisition
Shivaramaiah et al. Application of mixed-radix FFT algorithms in multi-band GNSS signal acquisition engines
Zhao et al. Improved fast fourier transform processing on fast acquisition algorithms for GPS signals

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant