CN112835073A - 一种用于卫星信号捕获的fft处理器 - Google Patents

一种用于卫星信号捕获的fft处理器 Download PDF

Info

Publication number
CN112835073A
CN112835073A CN202110161047.6A CN202110161047A CN112835073A CN 112835073 A CN112835073 A CN 112835073A CN 202110161047 A CN202110161047 A CN 202110161047A CN 112835073 A CN112835073 A CN 112835073A
Authority
CN
China
Prior art keywords
module
fft
serial
twiddle factor
complex multiplication
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.)
Pending
Application number
CN202110161047.6A
Other languages
English (en)
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.)
Chongqing Starnav Systems Co ltd
Original Assignee
Chongqing Starnav Systems Co ltd
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 Chongqing Starnav Systems Co ltd filed Critical Chongqing Starnav Systems Co ltd
Priority to CN202110161047.6A priority Critical patent/CN112835073A/zh
Publication of CN112835073A publication Critical patent/CN112835073A/zh
Pending legal-status Critical Current

Links

Images

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/24Acquisition or tracking or demodulation of signals transmitted by the system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供了一种用于卫星信号捕获的FFT处理器,包括串并转换模块,用于把输入数据进行缓存并分组输出;旋转因子产生模块,用于产生混合基FFT运算所需的旋转因子;第一FFT模块,用于根据对应的旋转因子和串并转换模块输出的数据进行FFT运算;第一复数乘法模块,用于用串并转换模块输出的数据与对应的旋转因子进行复数乘法运算;第二FFT模块,用于根据对应的旋转因子和的第一复数乘法模块输出的计算结果进行FFT运算;并串转换模块,用于把第一FFT模块和第二FFT模块输出的计算结果进行顺序转变,实现串行输出;FFT控制模块,用于控制串并转换模块、旋转因子产生模块和并串转换模块运行;该处理器设计结构简易、算法复杂度较低、节约硬件资源、运算速率高。

Description

一种用于卫星信号捕获的FFT处理器
技术领域
本发明涉及数字信号处理技术领域,尤其涉及一种用于卫星信号捕获的FFT处理器。
背景技术
中国“北斗”、美国GPS、俄罗斯GLONASS和欧盟GALILEO等全球导航卫星系统(GNSS,Global Navigation Satellite System)的卫星中,为实现信号捕获,一般采用以下四种伪码捕获算法:滑动相关捕获算法、匹配滤波捕获算法、并行频率捕获算法和并行码相位捕获算法。其中滑动相关捕获算法捕获所需时间最长,在扩频码较长的情况下,难以实现伪码的快速捕获;匹配滤波算法虽然捕获时间短,但实现复杂,只适合较短伪码的捕获;并行频率捕获算法和并行码相位捕获算法均利用了快速傅里叶运算(FFT,Fast FourierTransformation),捕获时间较短,但是目前常用的FFT处理器存在以下问题:旋转因子产生复杂,实时运算性能较差;蝶形网络结构与地址转换控制复杂,模块可移植性差,硬件实现困难;蝶形单元级联个数多,乘法器与存储器较多,内存访问频繁,导致硬件资源消耗大。因此,有必要对FFT处理器进行改进。
发明内容
为解决以上背景技术中的至少一个问题,本申请实施例的目的在于提供一种用于卫星信号捕获的FFT处理器。
本申请实施例提供一种用于卫星信号捕获的FFT处理器,包括:
串并转换模块,用于把输入数据进行缓存,并把所述输入数据分组输出;
旋转因子产生模块,用于产生混合基FFT运算所需的旋转因子;
第一FFT模块,用于根据对应的旋转因子和所述串并转换模块输出的数据进行FFT运算,并输出计算结果;
第一复数乘法模块,用于用所述串并转换模块输出的数据与对应的旋转因子进行复数乘法运算,并输出计算结果;
第二FFT模块,用于根据所述对应的旋转因子和所述的第一复数乘法模块输出的计算结果进行FFT运算,并输出计算结果;
并串转换模块,用于把所述第一FFT模块和第二FFT模块输出的计算结果进行顺序转变,实现串行输出;
FFT控制模块,用于控制所述串并转换模块、旋转因子产生模块和并串转换模块运行。
所述的用于卫星信号捕获的FFT处理器中,所述输入数据为64点的输入数据,所述串并转换模块把所述输入数据分为8组数据;
所述旋转因子包括128点混合基FFT运算所需的第一旋转因子和第二旋转因子;
所述第一复数乘法模块,用于用所述串并转换模块输出的数据与所述第二旋转因子进行复数乘法运算;
所述第一FFT模块和第二FFT模块均为64点FFT模块,所述第一FFT模块用于根据所述第一旋转因子和所述串并转换模块输出的数据进行64点FFT运算,所述第二FFT模块用于根据所述第一旋转因子和所述的第一复数乘法模块输出的计算结果进行64点FFT运算。
所述的用于卫星信号捕获的FFT处理器中,所述第一FFT模块和第二FFT模块均包括:
蝶形运算模块,用于把64点基8FFT运算分解为两级基8蝶形运算,以实现64点基8FFT运算;
第二复数乘法模块,用于将第一级基8蝶形运算结果和第一旋转因子进行复数乘法运算;
存储转换模块,用于把第二复数乘法模块的运算结果进行缓存和地址转换后再分成8组数据输入所述蝶形运算模块进行第二级基8蝶形运算。
所述的用于卫星信号捕获的FFT处理器中,所述串并转换模块在把所述输入数据进行分组时,从所述输入数据中以8个数为间隔提取8个数组成一组数据。
所述的用于卫星信号捕获的FFT处理器中,所述旋转因子产生模块通过以下方式产生旋转因子:
根据旋转因子的相位映射系数在预设的查找表中查询得到所旋转因子的是实部的近似值所对应的余弦函数量化系数和虚部的近似值所对应的正弦函数量化系数。
所述的用于卫星信号捕获的FFT处理器中,所述蝶形运算模块采用三维基2FFT运算来实现基8蝶形运算。
所述的用于卫星信号捕获的FFT处理器中,所述第一复数乘法模块和第二复数乘法模块采用以下公式进行复数乘法运算:
(a+jb)(c+jb)=c(a+b)-b(c+d)+j[(a+b)c-a(c-d)]
其中,a、c分别是两个复数的实部,b、d分别是两个复数的虚部。
有益效果:
本申请实施例提供的一种用于卫星信号捕获的FFT处理器,与现有技术相比,具有以下优点:设计结构简易,节省基2运算模块从而降低了算法复杂度,节约硬件资源,提高了处理器运算速率,模块移植性佳。
附图说明
图1为本申请实施例提供的用于卫星信号捕获的FFT处理器的结构示意图。
图2为旋转因子三角函数对称关系示意图。
图3为基8蝶形运算单元的示意图。
图4为示例性的复数乘法器的结构图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,本申请实施例提供一种用于卫星信号捕获的FFT处理器,包括:
串并转换模块1,用于把输入数据进行缓存,并把输入数据分组输出;
旋转因子产生模块2,用于产生混合基FFT运算所需的旋转因子;
第一FFT模块3,用于根据对应的旋转因子和串并转换模块1输出的数据进行FFT运算,并输出计算结果;
第一复数乘法模块4,用于用串并转换模块1输出的数据与对应的旋转因子进行复数乘法运算,并输出计算结果;
第二FFT模块5,用于根据对应的旋转因子和的第一复数乘法模块4输出的计算结果进行FFT运算,并输出计算结果;
并串转换模块6,用于把第一FFT模块3和第二FFT模块5输出的计算结果进行顺序转变,实现串行输出;
FFT控制模块7,用于控制串并转换模块1、旋转因子产生模块2和并串转换模块6运行。
对于N点离散傅里叶变换以及旋转因子表达式分别表示如下:
Figure 827053DEST_PATH_IMAGE001
(1)
Figure 72090DEST_PATH_IMAGE002
(2)
其中,x(n)为第n个输入数据,X(k)为转换后的第k个计算结果数据,
Figure 55089DEST_PATH_IMAGE003
为旋转因子。
对于128点时域序列x(n)的离散傅里叶变换定义为:
Figure 873135DEST_PATH_IMAGE004
(3)
传统的128点FFT运算方法中,会先对待运算的128点时域输入序列x(n)的序号n和频域输出序列X(k)的序号k进行8×8×2混合基数值表达分解:
Figure 890769DEST_PATH_IMAGE005
从而(3)式可重写为:
Figure 244390DEST_PATH_IMAGE006
(4)
进而可把(4)式简化为:
Figure 432795DEST_PATH_IMAGE007
进而,在传统的128点FFT运算方法中,一般是先进行64点FFT运算,乘以旋转因子
Figure 38220DEST_PATH_IMAGE008
后再进行2点FFT运算。
而事实上,由于旋转因子具有周期性和可约性,利用旋转因子的周期性和可约性可把(1)式转换为:
Figure 503836DEST_PATH_IMAGE009
(5)
其中,
Figure 920036DEST_PATH_IMAGE010
,按频域输出序列X(k)序号k的奇偶可将上式分解为
Figure 80890DEST_PATH_IMAGE011
(6)
Figure 349061DEST_PATH_IMAGE012
(7)。
当N=128时,(6)、(7)式可转换为:
Figure 793817DEST_PATH_IMAGE013
(8)
Figure 895766DEST_PATH_IMAGE015
(9)
从而,若利用(8)、(9)式进行128点FFT运算时,可取64点时域输入序列x(n)并在末尾补零64点x(n+64)组成128点进行FFT运算,可节约64次加减法运算,从而降低算法的复杂度。这种在时域输入序列x(n)并在末尾补零的方法会引起以下效果:第一,对于其他不规则的点数,可以对其补零可使数据点调整为2的整数次幂,以便于使用FFT;第二,对原数据起到了做插值的作用,克服“栅栏”效应,使谱的外观平滑。因此,补零不会对最终结果产生影响,而且基于优化后128点FFT处理器还可以节省硬件资源。本申请中,把这种利用(8)、(9)式进行128点FFT运算的方法称为混合基FFT运算方法。
以下,以128点FFT处理器为例进行进一步说明,该FFT处理器能够实现上述的128点混合基FFT运算功能。
在一些实施方式中,见图1,该用于卫星信号捕获的FFT处理器为128点FFT处理器;输入数据为64点的输入数据,串并转换模块1把输入数据分为8组数据;
旋转因子包括128点混合基FFT运算所需的第一旋转因子
Figure 668550DEST_PATH_IMAGE016
和第二旋转因子
Figure 100930DEST_PATH_IMAGE017
第一复数乘法模块4,用于用串并转换模块1输出的数据与第二旋转因子
Figure 541139DEST_PATH_IMAGE017
进行复数乘法运算;
第一FFT模块3和第二FFT模块5均为64点FFT模块,第一FFT模块3用于根据第一旋转因子
Figure 548409DEST_PATH_IMAGE016
和串并转换模块1输出的数据进行64点FFT运算,第二FFT模块5用于根据第一旋转因子
Figure 933123DEST_PATH_IMAGE016
和第一复数乘法模块4输出的计算结果进行64点FFT运算。
在本实例中,第一FFT模块3和第二FFT模块5进行的64点FFT运算均为64点基8FFT运算。
具体的,第一FFT模块3和第二FFT模块5均包括:
蝶形运算模块9,用于把64点基8FFT运算分解为两级基8蝶形运算,以实现64点基8FFT运算;
第二复数乘法模块8,用于将第一级基8蝶形运算结果和第一旋转因子进行复数乘法运算;
存储转换模块10,用于把第二复数乘法模块的运算结果进行缓存和地址转换后再分成8组数据(得到8*8数组)输入蝶形运算模块进行第二级基8蝶形运算。
从而,第一FFT模块3实际上是完成了式(8)的运算工作,第二FFT模块5是完成式(9)的运算工作。
其中,串并转换模块1在把输入数据进行分组时(分成8组),从输入数据中以8个数为间隔提取8个数组成一组数据。具体的,提取输入的64个数据中的第1、9、17、25、33、41、49、57号数据组成第一组数据,提取输入的64个数据中的第2、10、18、26、34、42、50、58号数据组成第二组数据,提取输入的64个数据中的第3、11、19、27、35、43、51、59号数据组成第三组数据,依次类推,直到得到8组数据。以便进入64点 FFT模块并行处理,以提高处理速度。
在一些优选的实施方式中,旋转因子产生模块2通过以下方式产生旋转因子:
根据旋转因子的相位映射系数在预设的查找表中查询得到所旋转因子的是实部的近似值所对应的余弦函数量化系数和虚部的近似值所对应的正弦函数量化系数。
按照三角函数对称性,可预先形成旋转因子的查找表,将实际需要计算的旋转因子减少到可复用的16组,在FFT蝶形运算中通过地址控制器对旋转因子进行读取,从而节约了旋转因子计算与存储空间。
如图2中,可看出旋转因子三角函数的对称关系,将三角函数的一个周期均匀分割为32个区间,各区间的三角函数值具有对称性和相关性,一区间的数值可以表示为区间数值的函数。在算法固定的FFT运算中,旋转因子是固定的己知常数,且一般使用移位加算法操作代替乘法器完成旋转因子相乘,以达到减小功耗的目的。根据移位加算法,任意小数可以用2的负次幂叠加逼近。
在本实例中,将图2中三角函数的半个周期[0:π]等分为16个区间,按区间设置相位映射系数,从而预设的查找表包括以下的正余弦函数量化系数查找表,表中包括16个相位映射系数(0-15),以及对应的正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp);
Figure 808675DEST_PATH_IMAGE018
预设的查找表对应以下近似值映射表,表中包括各种余弦函数量化系数和正弦函数量化系数组合下的实部近似值(即cos(2nkπ/64)的近似值)和虚部近似值(即sin(2nkπ/64)的近似值),其中,余弦函数量化系数为实部近似值的8倍,正弦函数量化系数是虚部近似值的8倍;
Figure 713177DEST_PATH_IMAGE019
旋转因子产生模块2在产生旋转因子时,先计算相位映射系数,然后根据旋转因子的相位映射系数在正余弦函数量化系数查找表中查询得到对应的正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)。再把该正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)输入给复数乘法模块,来实现对近似值映射表中对应的实部近似值和虚部近似值的乘法,即正余弦函数量化系数是对应实虚部近似值放大8倍。
具体过程如下:
其中,第一旋转因子
Figure 907660DEST_PATH_IMAGE020
当2nkπ/64∈[0:π]时:
0~π分成16等份即π/16,对应的相位映射系数即为(2nkπ/64)÷(π/16)=nk/2,四舍五入取整后得到最终的相位映射系数nk/2∈[1:16];
根据计算得到的最终的相位映射系数在正余弦函数量化系数查找表中查询得到对应的正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)。然后把该正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)输入给复数乘法模块,来实现对近似值映射表中对应的实部近似值和虚部近似值的乘法。
当2nkπ/64∈[π:2π]时,根据对称性正余弦函数符号取反:
0~π分成16等份即π/16,对应的相位映射系数即为(2nkπ/64)÷(π/16)=nk/2,四舍五入取整后得到的相位映射系数nk/2∈[16:32],然后减去16得到最终的相位映射系数nk/2-16∈[1:16];
根据计算得到的最终的相位映射系数在正余弦函数量化系数查找表中查询得到对应的正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp),并对正余弦函数量化系数符号取反,然后把该正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)输入给复数乘法模块,来实现对近似值映射表中对应的实部近似值和虚部近似值的复数乘法。
同理第二旋转因子
Figure 389457DEST_PATH_IMAGE021
当2nπ/128∈[0:π]时:
0~π分成16等份即π/16,对应的相位映射系数即为(2nπ/128)÷(π/16)=n/4,四舍五入取整后得到最终的相位映射系数n/4∈[1:16];
根据计算得到的最终的相位映射系数在正余弦函数量化系数查找表中查询得到对应的正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp),然后把该正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)输入给复数乘法模块,来实现对近似值映射表中对应的实部近似值和虚部近似值的复数乘法。
当2nπ/128∈[π:2π]时,根据对称性正余弦函数符号取反:
0~π分成16等份即π/16,对应的相位映射系数即为(2nπ/128)÷(π/16)=n/4,四舍五入取整后得到的相位映射系数n/4∈[16:32],然后减去16得到最终的相位映射系数n/4-16∈[1:16];
根据计算得到的最终的相位映射系数在正余弦函数量化系数查找表中查询得到对应的正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp),并对正余弦函数量化系数符号取反,然后把该正弦函数量化系数(sin_tmp)和余弦函数量化系数(cos_tmp)输入给复数乘法模块,来实现对近似值映射表中对应的实部近似值和虚部近似值的复数乘法。
例如,第一旋转因子
Figure 944067DEST_PATH_IMAGE016
的nk值表如下所示:
Figure 827709DEST_PATH_IMAGE022
其中第8组数对应的第一旋转因子的实部近似值和虚部近似值的取值如下表所示,至于第8组数中0、7、14、21、28、35、42、49对应的第一旋转因子的产生顺序是0、28、14、42、7、35、21、49是为了方便图3所示第一级蝶形运算单元倒叙输出顺序A、E、C、G、B、F、D、H的结果在第二复数乘法模块中直接进行复数乘运算。
Figure 691629DEST_PATH_IMAGE023
例如49÷2≈25,25-16=9,查询得到9对应的Cos_temp=-2与Sin_temp=8,再对正余弦函数量化系数符号取反得Cos_temp=2与Sin_temp=-8,最终输入给复数乘法模块来实现对实部近似值为0.25、虚部近似值为-1的复数乘法,如上表中所示。
其中第2组数对应的第一旋转因子的实部近似值和虚部近似值的取值如下表所示,至于第2组数中0、1、2、3、4、5、6、7的产生顺序是0、4、2、6、1、5、3、7是为了方便图3所示第一级基8蝶形运算单元倒叙输出顺序A、E、C、G、B、F、D、H的结果第二复数乘法模块中直接进行复数乘运算。
Figure 536088DEST_PATH_IMAGE024
其中以cos_temp=+7时的
Figure 753443DEST_PATH_IMAGE025
(此为小数在硬件中的实现方式)为例,与之相乘操作可以由一组移位器和减法器实现;在复数乘法模块中利用
Figure 383269DEST_PATH_IMAGE026
通过移位加近似乘来实现对旋转因子0.875近似值的乘法,相较之前的移位加的形式,简化后的运算减少了大量加减运算,减少额外逻辑资源损耗而大大提高了运算效率。同理可实现第二旋转因子
Figure 168823DEST_PATH_IMAGE027
的查表。
在一些优选实施方式中,蝶形运算模块9采用三维基2FFT运算来实现基8蝶形运算。
对于64点FFT的逻辑实现,具体如下:
Figure 625212DEST_PATH_IMAGE028
(10)
分别用8进制来表示输入时间变量n和输出频率变量k可得:
Figure 770891DEST_PATH_IMAGE029
(11)
将式(11)分解为两级基8蝶形运算,即
Figure 363547DEST_PATH_IMAGE030
其中,
Figure 54422DEST_PATH_IMAGE031
的整数,
Figure 889785DEST_PATH_IMAGE032
为64个数按照8*8排列矩阵,即经过串并转换后的8行8列数据,
Figure 448942DEST_PATH_IMAGE033
分别为第一级、第二级基8内乘旋转因子,
Figure 302629DEST_PATH_IMAGE034
为第一级基8蝶形运算后所需进行相乘的旋转因子。第二级蝶形运算结果
Figure 413673DEST_PATH_IMAGE035
为第一级蝶形运算结果
Figure 844655DEST_PATH_IMAGE036
乘以旋转因子后的基8FFT运算结果。
具体的,可利用图3所示的基8蝶形运算单元来实现三维基2FFT运算。当
Figure 82869DEST_PATH_IMAGE037
,对应的旋转因子为
Figure 915696DEST_PATH_IMAGE038
,可以采用图4所示的结构对复数乘法器进行实现,该复数乘法器仅消耗2个乘法器以及2个加(减)法器。并且利用
Figure 964686DEST_PATH_IMAGE039
通过移位加近似乘来实现对旋转因子0.7071近似值的乘法。
在一些实施方式中,第一复数乘法模块4和第二复数乘法模块8均采用以下公式进行复数乘法运算:
(a+jb)(c+jb)=c(a+b)-b(c+d)+j[(a+b)c-a(c-d)]
其中,a、c分别是两个复数的实部,b、d分别是两个复数的虚部。
对于普通的旋转因子乘法,有公式:
Figure 23908DEST_PATH_IMAGE040
;直接计算需要四次实数乘法和两次实数加法,而采用上述的优化运算方式,则只需要三次实数乘法与三次实数加法即可实现一次复数乘法,在实际电路中相同字长的乘法器面积远大于加(减)法器面积,因此实现优化后复数乘法器能够节约硬件资源。
综上,该用于卫星信号捕获的FFT处理器与现有技术相比,具有以下优点:
1.实现了优化128点混合基算法,节省了基2运算模块从而降低了算法复杂度;
2. 利用三角函数对称性灵活复用近似计算的任意旋转因子,提高了旋转因子产生效率,同时通过优化移位加算法操作实现免乘运算,减少了复数运算单元,在保证精度下达到减小处理器功耗的目的,64点FFT模块中第二级基8FFT复用了蝶形运算模块,节约了硬件资源,提高了处理器运算速率;
3. 针对传统的移位加乘实现方式,进行了近似取值,大大减少了复数加减运算次数,提高了处理器运算速率;
4. 通过补零和两个并行64点基8蝶形运算模块实现快速傅里叶变换硬件实现,具有设计结构简易、运算水平高且模块移植性佳等特点。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,其方案与本发明实质上相同。

Claims (7)

1.一种用于卫星信号捕获的FFT处理器,其特征在于,包括:
串并转换模块,用于把输入数据进行缓存,并把所述输入数据分组输出;
旋转因子产生模块,用于产生混合基FFT运算所需的旋转因子;
第一FFT模块,用于根据对应的旋转因子和所述串并转换模块输出的数据进行FFT运算,并输出计算结果;
第一复数乘法模块,用于用所述串并转换模块输出的数据与对应的旋转因子进行复数乘法运算,并输出计算结果;
第二FFT模块,用于根据所述对应的旋转因子和所述的第一复数乘法模块输出的计算结果进行FFT运算,并输出计算结果;
并串转换模块,用于把所述第一FFT模块和第二FFT模块输出的计算结果进行顺序转变,实现串行输出;
FFT控制模块,用于控制所述串并转换模块、旋转因子产生模块和并串转换模块运行。
2.根据权利要求1所述的用于卫星信号捕获的FFT处理器,其特征在于,所述输入数据为64点的输入数据,所述串并转换模块把所述输入数据分为8组数据;
所述旋转因子包括128点混合基FFT运算所需的第一旋转因子和第二旋转因子;
所述第一复数乘法模块,用于用所述串并转换模块输出的数据与所述第二旋转因子进行复数乘法运算;
所述第一FFT模块和第二FFT模块均为64点FFT模块,所述第一FFT模块用于根据所述第一旋转因子和所述串并转换模块输出的数据进行64点FFT运算,所述第二FFT模块用于根据所述第一旋转因子和所述的第一复数乘法模块输出的计算结果进行64点FFT运算。
3.根据权利要求2所述的用于卫星信号捕获的FFT处理器,其特征在于,所述第一FFT模块和第二FFT模块均包括:
蝶形运算模块,用于把64点基8FFT运算分解为两级基8蝶形运算,以实现64点基8FFT运算;
第二复数乘法模块,用于将第一级基8蝶形运算结果和第一旋转因子进行复数乘法运算;
存储转换模块,用于把第二复数乘法模块的运算结果进行缓存和地址转换后再分成8组数据输入所述蝶形运算模块进行第二级基8蝶形运算。
4.根据权利要求2所述的用于卫星信号捕获的FFT处理器,其特征在于,所述串并转换模块在把所述输入数据进行分组时,从所述输入数据中以8个数为间隔提取8个数组成一组数据。
5.根据权利要求2所述的用于卫星信号捕获的FFT处理器,其特征在于,所述旋转因子产生模块通过以下方式产生旋转因子:
根据旋转因子的相位映射系数在预设的查找表中查询得到所旋转因子的是实部的近似值所对应的余弦函数量化系数和虚部的近似值所对应的正弦函数量化系数。
6.根据权利要求3所述的用于卫星信号捕获的FFT处理器,其特征在于,所述蝶形运算模块采用三维基2FFT运算来实现基8蝶形运算。
7.根据权利要求3所述的用于卫星信号捕获的FFT处理器,其特征在于,所述第一复数乘法模块和第二复数乘法模块采用以下公式进行复数乘法运算:
(a+jb)(c+jb)=c(a+b)-b(c+d)+j[(a+b)c-a(c-d)]
其中,a、c分别是两个复数的实部,b、d分别是两个复数的虚部。
CN202110161047.6A 2021-02-05 2021-02-05 一种用于卫星信号捕获的fft处理器 Pending CN112835073A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110161047.6A CN112835073A (zh) 2021-02-05 2021-02-05 一种用于卫星信号捕获的fft处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110161047.6A CN112835073A (zh) 2021-02-05 2021-02-05 一种用于卫星信号捕获的fft处理器

Publications (1)

Publication Number Publication Date
CN112835073A true CN112835073A (zh) 2021-05-25

Family

ID=75932287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110161047.6A Pending CN112835073A (zh) 2021-02-05 2021-02-05 一种用于卫星信号捕获的fft处理器

Country Status (1)

Country Link
CN (1) CN112835073A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115544438A (zh) * 2022-11-28 2022-12-30 南京创芯慧联技术有限公司 数字通信系统中的旋转因子生成方法、装置和计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093801A (en) * 1990-07-06 1992-03-03 Rockwell International Corporation Arrayable modular FFT processor
CN102364456A (zh) * 2011-10-18 2012-02-29 广州晶锐信息技术有限公司 64点fft计算器
CN103198055A (zh) * 2013-01-29 2013-07-10 西安空间无线电技术研究所 一种分裂基fft结构设计方法
CN105095152A (zh) * 2015-08-04 2015-11-25 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种可配置的128点fft装置
CN112100568A (zh) * 2020-06-29 2020-12-18 北京理工大学 定点傅里叶变换fft处理器及处理方法
CN112231626A (zh) * 2020-10-19 2021-01-15 南京宁麒智能计算芯片研究院有限公司 一种fft处理器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093801A (en) * 1990-07-06 1992-03-03 Rockwell International Corporation Arrayable modular FFT processor
CN102364456A (zh) * 2011-10-18 2012-02-29 广州晶锐信息技术有限公司 64点fft计算器
CN103198055A (zh) * 2013-01-29 2013-07-10 西安空间无线电技术研究所 一种分裂基fft结构设计方法
CN105095152A (zh) * 2015-08-04 2015-11-25 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种可配置的128点fft装置
CN112100568A (zh) * 2020-06-29 2020-12-18 北京理工大学 定点傅里叶变换fft处理器及处理方法
CN112231626A (zh) * 2020-10-19 2021-01-15 南京宁麒智能计算芯片研究院有限公司 一种fft处理器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115544438A (zh) * 2022-11-28 2022-12-30 南京创芯慧联技术有限公司 数字通信系统中的旋转因子生成方法、装置和计算机设备

Similar Documents

Publication Publication Date Title
He et al. A new approach to pipeline FFT processor
Despain Fourier transform computers using CORDIC iterations
Shin et al. A high-speed four-parallel radix-2 4 FFT/IFFT processor for UWB applications
Lee et al. Balanced binary-tree decomposition for area-efficient pipelined FFT processing
US20070266070A1 (en) Split-radix FFT/IFFT processor
Garrido et al. Feedforward FFT hardware architectures based on rotator allocation
Garrido et al. Hardware architectures for the fast Fourier transform
Wang et al. Novel memory reference reduction methods for FFT implementations on DSP processors
Kanders et al. A 1 million-point FFT on a single FPGA
Bisina et al. Optimized estimation of power spectral density
WO2002091221A3 (en) Address generator for fast fourier transform processor
CN112835073A (zh) 一种用于卫星信号捕获的fft处理器
Takala et al. Scalable FFT processors and pipelined butterfly units
Cui-xiang et al. Some new parallel fast Fourier transform algorithms
Bansal et al. Memory-efficient Radix-2 FFT processor using CORDIC algorithm
Kumar et al. Implementation of Area Efficient Pipelined R2 2 SDF FFT Architecture
Yang et al. A efficient design of a real-time FFT architecture based on FPGA
Wang et al. An implementation of pipelined radix-4 FFT architecture on FPGAs
Patyk et al. Hardware-efficient twiddle factor generator for mixed radix-2/3/4/5 FFTs
Moon et al. Area-efficient memory-based architecture for FFT processing
Qu et al. High Real‐Time Design of Digital Pulse Compression Based on FPGA
Jones A Comparison of Two Recent Approaches, Exploiting Pipelined FFT and Memory-Based FHT Architectures, for Resource-Efficient Parallel Computation of Real-Data DFT
Alaqeeli et al. Hardware implementation for fast convolution with a pn code using field programmable gate array
Dawwd et al. Reduced Area and Low Power Implementation of FFT/IFFT Processor.
CN112149046A (zh) 一种基于并行时分复用技术的fft处理器及处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination