用于全球卫星导航系统的捕获装置的fft处理器模块的制作方法

文档序号:5915031阅读:83来源:国知局
专利名称:用于全球卫星导航系统的捕获装置的fft处理器模块的制作方法
技术领域
本实用新型属于卫星导航领域,具体的说,涉及用于全球卫星导航系统的捕获装置的技术领域。
背景技术
全球卫星导航系统是一种全天候的导航系统,它在可用性、连续性和完好性方面的保障将远比单一模式的导航系统好。它采用直接序列扩频(DSSQ技术,每颗卫星将要发送的资料比特流与一个PRN码进行扩频编码并采用BPSK (Binary Phase Shift Keying,二进制相移键控)方式调制为模拟波形。PRN码是一个周期性的伪随机噪声序列,具有伪随机噪声序列的自相关和互相关特性。捕获装置是全球卫星导航接收机基带系统的核心模块之一。它主要完成本地 PRN码与卫星基带信号的相关功能。捕获装置的捕获方法主要有两种方法,一种是串行搜索,另一种是使用FFT进行并行搜索。由于并行搜索可以同时搜索到码相位和载波的多普勒频移,故已广泛的应用于数字接收机。并行搜索中的快速傅立叶变换(Fast Fourier Transform, FFT)是实现离散傅立叶变换的一种高效算法,它利用旋转因子的对称性原理, 能够大大减小离散傅立叶变换的运算量。现有的捕获装置中的FFT处理器模块主要用于进行快速傅立叶变换的运算,其结构原理如图1所示,它主要由基-4蝶形运算单元,控制单元,只读存储器单元,随机存储器单元以及多路选择器组成。其中只读存储器单元用来存储旋转因子的数值, 基-4蝶形运算单元是FFT处理器的核心部件,传统的FFT处理器的基-4蝶形运算单元的结构如图2所示,它主要由硬件乘法器,分路器和加法器组成。图中A、B、C、D分别代表进行基-4蝶形运算的四个数据,而f^、Wf、巧“表示的是进行基-4蝶形运算的旋转因子, 而A’、B’、C’、D’为经过基-4运算后的数据。传统基-4蝶形运算单元采用硬件乘法器来实现复数的乘法操作,所以其对应的只读存储器单元中需要存储旋转因子的实部和虚部, 这大大增加了系统对存储资源的消耗。在全球卫星导航接收机中,现有的FFT处理器模块在进行处理时,由于北斗系统, GPS和GL0NASS系统的码长不同,因此需要分别配置对应的FFT处理器模块,这就进一步增加了接收机的存储资源消耗。

实用新型内容本实用新型的目的是为了克服现有的用于全球卫星导航系统的捕获装置的FFT 处理器模块占用存储资源过多的不足,提出了用于全球卫星导航系统的捕获装置的FFT处理器模块。为了实现上述目的,本实用新型的技术方案是用于全球卫星导航系统的捕获装置的FFT处理器模块,包括控制单元、只读存储器单元、随机存储器单元、多路选择器单元, 其特征在于,还包括输入预处理单元、基于CORDIC算法的蝶形运算单元、输出处理单元和倒序输出单元;所述控制单元分别与只读存储器单元、随机存储器单元、输入预处理单元、输出处理单元和倒序输出单元连接,用于控制上述单元的工作时序;所述只读存储器单元包括一个ROM地址产生器和一个ROM存储器,所述ROM地址产生器的输入端与控制单元连接用于接收控制单元传输过来的控制信号,所述ROM地址产生器的输出端与ROM存储器连接用于产生ROM存储器的读取地址,所述ROM存储器与输入预处理单元连接用于输出ROM存储器中存储的数据;所述随机存储器单元包括RAM地址产生器,第一 RAM存储器(RAM-I)和,第二 RAM 存储器(RAM-幻和一个选择器,RAM地址产生器的输入端与控制单元连接用于接收控制单元产生的控制信号,所述RAM地址产生器的输出端与选择器的输入端相连,选择器的输出端与第一 RAM存储器和第二 RAM存储器连接,在一次运算中,选择器将选择任一个RAM存储器进行工作,它将RAM地址产生器产生的RAM存储器的读取地址传递给被选择的工作中的 RAM存储器,选择器的另一个输入端与输出处理单元的输出端连接,用来接收每一级运算后输出的中间数据并将其存入工作中的那个RAM存储器中去。第一 RAM存储器和第二 RAM 存储器的输出端与多路选择器的输入端相连,在一次运算中多路选择器只将工作中的那块 RAM存储器的输入数据进行输出,所述多路选择器的输出端连接至输入预处理单元,将读取出的数据送入输入预处理单元中去,另一个输出端连接至倒序处理单元;所述多路选择器单元的输入端连接随机存储器单元中的RAM-I和RAM-2的输出, 用于接收RAM中读出的数据,多路选择器的输出端分别连接至输入预处理单元和倒序输出单元;所述输入预处理单元的输入端接收控制单元产生的控制信号以及多路选择器单元和只读存储器单元输出的数据,其输出端连接基于CORDIC的蝶形运算单元,将预处理后的数据送入基于CORDIC的蝶形运算单元中去;所述基于CORDIC算法的蝶形运算单元的输入端接收输入预处理单元输出的相关数据,它包括只读存储器单元中产生的基于CORDIC算法的蝶形运算单元所需要的旋转因子的角度值和随机存储器单元中的时域数据或运算中间数据,基于CORDIC算法的蝶形运算单元的输出端与输出处理单元的输入端连接,将运算后的数据输入送入输出处理单元;所述输出处理单元的输入端与基于CORDIC算法的蝶形运算单元的输出端相连, 它将运算后的中间数据进行处理,输出处理单元的另一个输入端与控制单元相连,用于接收控制信号,输出处理单元的一个输出端连接随机存储器单元的选择器,它将运算的中间数据输出至随机存储器单元的选择器;所述倒序输出单元的输入端连接至多路选择器单元,当一次FFT运算完成后,多路选择器根据控制单元产生的控制信号,将数据输入至倒序处理单元,倒序输出单元的另一个输入是控制单元产生的,倒序处理单元根据控制单元产生的控制信号进行相关的处理,输出为整个FFT处理器运算后的输出结果。本实用新型的有益效果是采用本实用新型的FFT处理器模块,可以有效的减少系统的存储资源的使用量,由于本实用新型采用了 CORDIC算法,所以FFT处理器模块中的 ROM不需要存储旋转因子而只需要存储旋转因子的角度,这样可以大大的节省存储资源。例如使用16位来表示数据,则传统FFT处理器各需要16位存储旋转因子的实部和虚部值,但是CORDIC算法只需要16位来存储旋转因子的角度值即可,可以节省1/2的存储资源,进行 1024点运算的情况下,可以节省10MX16bit的存储资源。

图1为现有的捕获装置中的FFT处理器模的结构示意图。图2为传统的FFT处理器的基-4蝶形运算单元的结构示意图。图3为本实用新型的用于全球卫星导航系统的捕获装置的FFT处理器模块的结构示意图。图4为本实用新型的基于CORDIC的蝶形运算单元的结构示意图。图5为本实用新型的基于CORDIC算法的蝶形运算单元的基于CORDIC算法的乘法器的结构示意图。图6为本实用新型的捕获的装置的结构示意图。
具体实施方式

以下结合附图和具体的实施例对本实用新型做进一步的说明。如图3所示,用于全球卫星导航系统的捕获装置的FFT处理器模块,包括控制单元、只读存储器单元(ROM、ROM地址产生器)、随机存储器单元(RAMI、RAM2、RAM地址产生器,选择器)、多路选择器单元,其特征在于,还包括输入预处理单元、基于CORDIC算法的蝶形运算单元、输出处理单元和倒序输出单元;所述控制单元分别与只读存储器单元、随机存储器单元、输入预处理单元、输出处理单元和倒序输出单元连接,用于控制上述单元的工作时序;所述只读存储器单元包括一个ROM地址产生器和一个ROM存储器,所述ROM地址产生器的输入端与控制单元连接用于接收控制单元传输过来的控制信号,所述ROM地址产生器的输出端与ROM存储器连接用于产生ROM存储器的读取地址,所述ROM存储器与输入预处理单元连接用于输出ROM存储器中存储的数据;所述随机存储器单元包括RAM地址产生器,第一 RAM存储器(RAM-I)和,第二 RAM 存储器(RAM-幻和一个选择器,RAM地址产生器的输入端与控制单元连接用于接收控制单元产生的控制信号,所述RAM地址产生器的输出端与选择器的输入端相连,选择器的输出端与第一 RAM存储器和第二 RAM存储器连接,在一次运算中,选择器将选择任一个RAM存储器进行工作,它将RAM地址产生器产生的RAM存储器的读取地址传递给被选择的工作中的 RAM存储器,选择器的另一个输入端与输出处理单元的输出端连接,用来接收每一级运算后输出的中间数据并将其存入工作中的那个RAM存储器中去。第一 RAM存储器和第二 RAM 存储器的输出端与多路选择器的输入端相连,在一次运算中多路选择器只将工作中的那块 RAM存储器的输入数据进行输出,所述多路选择器的输出端连接至输入预处理单元,将读取出的数据送入输入预处理单元中去,另一个输出端连接至倒序处理单元;所述多路选择器单元的输入端连接随机存储器单元中的RAM-I和RAM-2的输出, 用于接收RAM中读出的数据,多路选择器的输出端分别连接至输入预处理单元和倒序输出单元;所述输入预处理单元的输入端接收控制单元产生的控制信号以及多路选择器单元和只读存储器单元输出的数据,其输出端连接基于CORDIC的蝶形运算单元,将预处理后的数据送入基于CORDIC的蝶形运算单元中去;所述基于CORDIC算法的蝶形运算单元的输入端接收输入预处理单元输出的相关数据,它包括只读存储器单元中产生的基于CORDIC算法的蝶形运算单元所需要的旋转因子的角度值和随机存储器单元中的时域数据或运算中间数据,基于CORDIC算法的蝶形运算单元的输出端与输出处理单元的输入端连接,将运算后的数据输入送入输出处理单元;所述输出处理单元的输入端与基于CORDIC算法的蝶形运算单元的输出端相连, 它将运算后的中间数据进行处理,输出处理单元的另一个输入端与控制单元相连,用于接收控制信号,输出处理单元的一个输出端连接随机存储器单元的选择器,它将运算的中间数据输出至随机存储器单元的选择器;所述倒序输出单元的输入端连接至多路选择器单元,当一次FFT运算完成后,多路选择器根据控制单元产生的控制信号,将数据输入至倒序处理单元,倒序输出单元的另一个输入是控制单元产生的,倒序处理单元根据控制单元产生的控制信号进行相关的处理,输出为整个FFT处理器运算后的输出结果。下面通过一个具体的实施例对上述方案的工作过程做详细的描述控制单元首先产生初始化信号,需要进行FFT运算的时域数据输入至RAM-I或RAM-2中的一个进行初始化;输入完成后,控制单元产生一个第一级运算的指示信号分别输入至RAM地址产生器, ROM地址产生器,输入预处理单元和输出处理单元,此时RAM地址产生器和ROM地址产生器将按照第一级运算的地址规律产生需要的地址;第一级运算结束后,FFT处理器模块进入第二级运算,控制单元首先产生第二级运算的指示信号给RAM地址产生器,ROM地址产生器,输入预处理单元和输出处理单元,则整个FFT处理器模块将按照第二级来进行运算;依此步骤,当FFT处理器模块完成第五级的运算后,控制单元将产生输出结果的控制信号给倒序输出单元,倒序输出单元将从随机存储器单元读出的数据进行倒序处理后输出。如图4所示,上述基于CORDIC的蝶形运算单元包括基于CORDIC算法的乘法器,加法器,减法器以及交换实部和虚部并取反单元,基于CORDIC的蝶形运算单元使用了三个基于CORDIC算法的乘法器来完成旋转因子的相乘操作,使用四个加法器和四个减法器来完成蝶形运算的加减操作。采用本文提出的基于CORDIC的蝶形运算单元进行FFT运算,不需要进行复数乘法操作,只需要进行3次旋转和8次复数加法即可完成一次基4FFT单元的运算。图中C_re,C_im, B_re, B_im, D_re, D_im分别代表输入数据的实部与虚部,Phase_c, Phase_b, Phased分别代表进行运算的旋转因子的角度值,其中A路的数据不需要进行乘法的操作。基于CORDIC的蝶形运算单元的结构如图4所示,基于CORDIC的蝶形运算单元总共有四个运算通路A路、B路、C路、D路。其中B路、C路和D路需要首先和旋转因子相乘, 三路的数据首先经过一个基于CORDIC算法的乘法器,其中B路和D路的基于CORDIC算法的乘法器的输出端分别与B路的加法器和D路的第一减法器相连,而C路的基于CORDIC算法的乘法器的输出端分别和A路第一加法器和C路的减法器相连。A路第一加法器和B路加法器的输出端连接至A路第二加法器与B路减法器,C路减法器的输出端连接至C路加法器和D路第二减法器,D路第一减法器的输出端连接至交换实部和虚部并取反单元,交换实部和虚部并取反单元的输出端连接至C路加法器和D路第二减法器,A路和C路加法器与B路和D路第二减法器的输出即为经过一级蝶形运算后的输出A’、B’、C’、D’。基于CORDIC的蝶形运算单元的数学表达式为
权利要求1.用于全球卫星导航系统的捕获装置的FFT处理器模块,包括控制单元、只读存储器单元、随机存储器单元、多路选择器单元,其特征在于,还包括输入预处理单元、基于CORDIC 算法的蝶形运算单元、输出处理单元和倒序输出单元;所述控制单元分别与只读存储器单元、随机存储器单元、输入预处理单元、输出处理单元和倒序输出单元连接,用于控制上述单元的工作时序;所述只读存储器单元包括一个ROM地址产生器和一个ROM存储器,所述ROM地址产生器的输入端与控制单元连接用于接收控制单元传输过来的控制信号,所述ROM地址产生器的输出端与ROM存储器连接用于产生ROM存储器的读取地址,所述ROM存储器与输入预处理单元连接用于输出ROM存储器中存储的数据;所述随机存储器单元包括RAM地址产生器,第一 RAM存储器(RAM-I)和,第二 RAM存储器(RAM-幻和一个选择器,RAM地址产生器的输入端与控制单元连接用于接收控制单元产生的控制信号,所述RAM地址产生器的输出端与选择器的输入端相连,选择器的输出端与第一 RAM存储器和第二 RAM存储器连接,在一次运算中,选择器将选择任一个RAM存储器进行工作,它将RAM地址产生器产生的RAM存储器的读取地址传递给被选择的工作中的RAM 存储器,选择器的另一个输入端与输出处理单元的输出端连接,用来接收每一级运算后输出的中间数据并将其存入工作中的那个RAM存储器中去。第一 RAM存储器和第二 RAM存储器的输出端与多路选择器的输入端相连,在一次运算中多路选择器只将工作中的那块RAM 存储器的输入数据进行输出,所述多路选择器的输出端连接至输入预处理单元,将读取出的数据送入输入预处理单元中去,另一个输出端连接至倒序处理单元;所述多路选择器单元的输入端连接随机存储器单元中的RAM-I和RAM-2的输出,用于接收RAM中读出的数据,多路选择器的输出端分别连接至输入预处理单元和倒序输出单元;所述输入预处理单元的输入端接收控制单元产生的控制信号以及多路选择器单元和只读存储器单元输出的数据,其输出端连接基于CORDIC的蝶形运算单元,将预处理后的数据送入基于CORDIC的蝶形运算单元中去;所述基于CORDIC算法的蝶形运算单元的输入端接收输入预处理单元输出的相关数据,它包括只读存储器单元中产生的基于CORDIC算法的蝶形运算单元所需要的旋转因子的角度值和随机存储器单元中的时域数据或运算中间数据,基于CORDIC算法的蝶形运算单元的输出端与输出处理单元的输入端连接,将运算后的数据输入送入输出处理单元;所述输出处理单元的输入端与基于CORDIC算法的蝶形运算单元的输出端相连,它将运算后的中间数据进行处理,输出处理单元的另一个输入端与控制单元相连,用于接收控制信号,输出处理单元的一个输出端连接随机存储器单元的选择器,它将运算的中间数据输出至随机存储器单元的选择器;所述倒序输出单元的输入端连接至多路选择器单元,当一次FFT运算完成后,多路选择器根据控制单元产生的控制信号,将数据输入至倒序处理单元,倒序输出单元的另一个输入是控制单元产生的,倒序处理单元根据控制单元产生的控制信号进行相关的处理,输出为整个FFT处理器运算后的输出结果。
2.根据权利要求1所述的用于全球卫星导航系统的捕获装置的FFT处理器模块,其特征在于,所述基于CORDIC的蝶形运算单元包括基于CORDIC算法的乘法器,加法器,减法器以及交换实部和虚部并取反单元,基于CORDIC的蝶形运算单元使用了三个基于CORDIC算法的乘法器来完成旋转因子的相乘操作,使用四个加法器和四个减法器来完成蝶形运算的加减操作;上述各原件组成四个运算通路:A路、B路、C路、D路。其中B路、C路和D路需要首先和旋转因子相乘,三路的数据首先经过一个基于CORDIC算法的乘法器,其中B路和 D路的基于CORDIC算法的乘法器的输出端分别与B路的加法器和D路的第一减法器相连, 而C路的基于CORDIC算法的乘法器的输出端分别和A路第一加法器和C路的减法器相连。 A路第一加法器和B路加法器的输出端连接至A路第二加法器与B路减法器,C路减法器的输出端连接至C路加法器和D路第二减法器,D路第一减法器的输出端连接至交换实部和虚部并取反单元,交换实部和虚部并取反单元的输出端连接至C路加法器和D路第二减法器,A路和C路加法器与B路和D路第二减法器的输出即为经过一级蝶形运算后的输出A’、 B,、C,、D,。
3.根据权利要求2所述的用于全球卫星导航系统的捕获装置的FFT处理器模块,其特征在于,上述基于CORDIC算法的蝶形运算单元的基于CORDIC算法的乘法器采用流水线结构,分为χ、,y、ζ三个运算通道,χ运算通道对应于C_im、B_im、D_im,y运算通道对应于C_ re、B_re、D_re,ζ运算通道对应于Wiase_c、Wiase_b、Phase_d,根据数据精度的要求确定流水线的级数,每一级运算都是由三个加法器、两个移位器和一个判决器组成,其中每一级的移位器的移位数相当于当前级数减1,每一级χ路加法器的输入为本级Χ路数据以及本级Χ 路移位器的输出,其中χ路移位器的输入为本级y路的数据,同样每一级y路加法器的输入为本级y路数据和本级y路移位器的输出,其中y路移位器的输入为本级χ路的数据,ζ路加法器的输入为旋转因子的角度值和每一级预定的微旋转角度,ζ路加法器的输出端连接本级的判决器,判决器根据ζ路加法器输出的结果进行判决,判决器的输出端连接本级χ路和y路的加法器以及下一级ζ路的加法器,判决器选择加法器进行加法或者减法运算,每一级χ路加法器的输出连接至下一级χ路加法器与下一级y路移位器。
专利摘要本实用新型涉及用于全球卫星导航系统的捕获装置的FFT处理器模块,包括控制单元、只读存储器单元、随机存储器单元、多路选择器单元,其特征在于,还包括输入预处理单元、基于CORDIC算法的蝶形运算单元、输出处理单元和倒序输出单元;所述控制单元分别与只读存储器单元、随机存储器单元、输入预处理单元、输出处理单元和倒序输出单元连接,用于控制上述单元的工作时序。本实用新型的有益效果是采用本实用新型的FFT处理器模块,可以有效的减少系统的存储资源的使用量。
文档编号G01S19/35GK202119913SQ20112018089
公开日2012年1月18日 申请日期2011年5月31日 优先权日2011年5月31日
发明者何春, 宗竹林, 徐小良, 武鹏, 田忠, 陆永彩 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1