首页 / 专利库 / 数学与统计 / 快速傅立叶变换 / 基于余数系统的快速傅立叶变换系统

基于余数系统的快速傅立叶变换系统

阅读:525发布:2020-05-11

专利汇可以提供基于余数系统的快速傅立叶变换系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于余数系统的快速 傅立叶变换 系统,其通过特定的余数基,将传统的基于二进制补码数值表征系统的 快速傅立叶变换 的运算和存储单元划分为多个并行独立的数据通道,以减小系统复杂度和关键路径时延。基于此,本发明公开的基于余数系统的FFT运算结构包括映射与解映射模 块 、余数系统与二进制系统转换模块、基于余数系统的基X的FFT运算单元,以及用于RNS整数的符号检测和数值缩放模块。基于该原理,本发明以2048点FFT为例设计了其基于余数系统的实现结构。,下面是基于余数系统的快速傅立叶变换系统专利的具体信息内容。

1.一种基于余数系统的快速傅立叶变换系统,余数基为{m1,m2,…,mL},其特征在于,该系统包含:
映射模,输出数据至余数系统转换器,将二进制补码系统的整数映射到余数系统表示范围中,使在余数系统中正负整数表示与二进制补码系统一致;
基于余数系统的多通道基X快速傅立叶变换运算单元,包含L个模mi蝶形运算单元,用于存储计算中间结果和旋转因子的余数化的存储单元,余数系统整数符号检测和数值缩放模块以及用于同旋转因子相乘的L个模mi乘法器,该变换运算单元由余数系统的余数系统转换器获取数据,运算完成后输出数据至余数系统的二进制转化模块;
解映射模块,将余数系统二进制转化模块转换的结果映射到与二进制补码系统一致的整数表示范围内,使在余数系统中正负整数表示与二进制补码系统一致。
2.根据权利要求1所述的基于余数系统的快速傅立叶变换系统,其特征在于,余数系统转换器中所采用的余数基个数决定了基于余数系统的基X快速傅立叶变换运算单元的独立运算通道个数,每个独立运算通道均由模加法器、模乘法器、存储器和控制逻辑构成,其乘法器、加法器和存储通道按特定的余数基{m1,m2,…,mL}将其划分为L个独立计算的余数通道,各通道运算的基本操作为模加法和模乘法运算。
3.如权利要求1所述的基于余数系统的快速傅立叶变换系统,其特征在于根据所选择的余数基{m1,m2,…,mL}的动态范围M,若输入二进制整数为负数,则将输入加M作为映射结果,否则直接将输入作为映射结果,使之在进行B2R转换前余数系统的正负整数表示与二进制补码系统正负整数表示范围一致。
4.如权利要求1所述的基于余数系统的快速傅立叶变换系统,其特征在于根据所选择的余数基{m1,m2,…,mL}的动态范围M,若输入的余数系统整数为负数,则输入减去M作为解映射结果,否则直接将输入作为解映射结果,使之在进行R2B转换后二进制补码系统的正负整数表示与余数系统正负整数表示范围一致。
5.如权利要求1所述的基于余数系统的快速傅立叶变换系统,其特征在于,该系统是一个2048点快速傅立叶变换运算,由基于余数系统的1级基2快速傅立叶变换运算和5级基4快速傅立叶变换运算单元构成,余数基为{128,127,63}。
6.如权利要求5所述的基于余数系统的快速傅立叶变换系统,其特征在于按照所选择的余数基{128,127,63}将传统快速傅立叶变换运算单元中的基于二进制补码数值表征系统的复数乘法器划分为L通道的复数模乘法器。
7.如权利要求5所述的基于余数系统的快速傅立叶变换系统,其特征在于按照所选择的余数基{128,127,63}将传统快速傅立叶变换运算单元中的基于二进制补码数值表征系统的加法器划分为L通道的模加法器。
8.如权利要求7所述的基于余数系统的快速傅立叶变换系统,其特征在于一个复数模乘法器由4个普通模乘法器、1个模加法器和1个模减法器构成。
9.如权利要求5所述的基于余数系统的快速傅立叶变换系统,其特征在于在特定余数基{128,127,63}下通过余数系统符号检测模块确定余数系统所表示整数的正负特性,若为负数则输出逻辑“1”,否则输出逻辑“0”。
10.如权利要求5所述的基于余数系统的快速傅立叶变换系统,其特征在于在特定余数基{128,127,63}下结合余数系统整数的符号特性,对余数系统整数进行2的幂次方常数除法,即数值缩放。

说明书全文

基于余数系统的快速傅立叶变换系统

技术领域

[0001] 本发明属于信号处理领域,具体地说,涉及用于通信及信号处理中的基于余数系统(RNS)的快速傅立叶变换(FFT)的实现结构。

背景技术

[0002] 傅立叶分析是信号处理中的基本方法之一,快速傅立叶变换是离散傅立叶变换(DFT)的快速算法,它根据DFT的奇、偶、虚、实等特性对其算法进行改进获得的。1965年,Cooley和Tukey提出了计算离散傅里叶变换(DFT)的快速算法,将DFT的运算量减少了几个数量级。从此,对快速傅里叶变换(FFT)算法的研究便不断深入,根据对序列分解与选取方法的不同而产生了FFT的多种算法,例如基2、基4、混合基算法等。虽然FFT并非新的傅立叶变换理论发现,但它的出现极大地推动了数字信号处理理论和数字系统的发展,在通信及信号处理设备中得到了广泛应用。
[0003] 随着现代通信和信号处理算法复杂度的日益提高,对诸如FFT的信号处理单元在速度和功耗上要求越来越高。然而,过去几十年来,VLSI电路性能的提升主要来自于集成度的不断提高。随着器件特征尺寸的减小和集成度的增加,将带来更加突出的信号和功率管理问题,功耗、速度和面积是未来VLSI设计中面临的重要问题,大规模的并行处理技术将是VLSI设计中的主要方法。
[0004] 传统的FFT运算单元的VLSI实现均基于二进制权重数值表征系统,其特点是成熟、简单,但随着处理位宽的增大,其基本运算单元——乘法器和加法器的复杂度增加,关键路径长度增加,从而降低了系统的工作频率。余数系统是一种并行数值表征系统,它利用几个互为质数的余数基可将FFT中基本的乘加运算划分为几个独立、并行的处理通道,以减小各处理通道的复杂度和关键路径长度。基于RNS的FFT运算在算法的最前端考虑系统的并行实现,它以改善单个运算单元的性能为目标,而非传统的以增加处理单元个数和规模来增强系统并行度。
[0005] 一个余数系统由一组给定的相互独立的余数基{m1,m2,…,mL}确定,GCD(mi,mj)=1
1(i,j∈{1,2,…,L},ij),其中GCD(mi,mj)表示mi和mj的最大公因子。对于整数X,其RNS可表示为X={x1,x2,…,xL},其中xi为X对mi的余数。例如,整数11用余数基为{3,
4,5}的RNS表示为{2,3,1}。对于基为{m1,m2,…,mL}的RNS所能表示的整数动态范围为令[0,M)范围内的整数a、b、c的RNS表示分别为{a1,a2,…,aL}、{b1,b2,…,bL}和{c1,c2,…,cL},根据高斯模运算准则,若ci=(aiΔbi)modpi,则C=P,其中“Δ”表示加、减及乘法运算。

发明内容

[0006] 本发明的任务是提供一种基于余数系统的快速傅立叶变换(FFT)系统。该系统在传统的基于二进制系统的FFT结构上加以改进,即利用一个互质的多通道余数基,将FFT中的加法器、乘法器和存储器划分为几个相互独立运算的数据通道。
[0007] 一种基于余数系统的快速傅立叶变换系统,其特征在于,该系统包含:
[0008] 映射模,输出数据至余数系统(RNS)的余数系统转换器(B2R),将二进制补码系统(TCS)的整数映射到余数系统(RNS)表示范围中,使在RNS中正负整数表示与TCS一致;
[0009] 基于RNS的多通道基X FFT运算单元,包含L个模mi蝶形运算单元,用于存储计算中间结果和旋转因子的余数化的存储单元,RNS整数符号检测和数值缩放模块以及用于同旋转因子相乘的L个模mi乘法器,该变换运算单元由余数系统的余数系统转换器获取数据,运算完成后输出数据至余数系统的二进制转化模块;
[0010] 解映射模块,将余数系统二进制转化模块R2B转换的结果映射到与二进制补码系统TCS一致的整数表示范围内,使在余数系统中正负整数表示与二进制补码系统TCS一致。
[0011] 本发明通过特定的余数基,将传统的基于二进制补码数值表征系统的快速傅立叶变换的运算和存储单元划分为多个并行独立的数据通道,以减小系统复杂度和关键路径时延。附图说明
[0012] 图1是基于RNS的FFT运算实现结构视图。
[0013] 图2是基于RNS的基X FFT运算单元视图。
[0014] 图3是TCS到RNS动态范围映射模块视图。
[0015] 图4是RNS到TCS解映射模块视图。
[0016] 图5是按照本发明实施例配置的基于RNS的2048点FFT视图。
[0017] 图6是按照本发明实施例配置的二进制系统到余数系统转换模块视图。
[0018] 图7是按照本发明实施例配置的余数系统到二进制系统转换模块视图。
[0019] 图8是按照本发明实施例配置的基2FFT运算单元视图。
[0020] 图9是按照本发明实施例配置的基2FFT运算中的蝶形运算单元视图。
[0021] 图10是按照本发明实施例配置的复数模乘法器视图。
[0022] 图11是按照本发明实施例配置的基4FFT运算单元视图。

具体实施方式

[0023] 本发明是一种用于数字系统的FFT运算的装置和方法。本发明可在通信信号处理、雷达、多媒体等系统中应用。
[0024] 图1示出了基于RNS的FFT运算实现结构。由于在同等位宽下,RNS的动态范围、有符号数表示范围与传统的二进制补码系统(TCS)不同,映射模块101完成两者的动态范围映射,使得RNS和TCS的正负数表示在数值上保持一致。二进制到余数系统转换器(B2R)102将映射后的整数转换到余数系统,其基本操作为用映射后的整数对各余数基进行模运算,取余数作为各通道的运算数据。在B2R模块中所采用的余数基个数决定了基于RNS的基X FFT运算单元103的独立运算通道个数,每个独立运算通道均由模加法器、模乘法器、存储器和控制逻辑构成。103的基X运算与采用的FFT运算分解算法有关。
[0025] 例如在本实施例中,实现2048点FFT运算,则需要完成1级基2运算和5级基4运算。余数系统的二进制转换模块(R2B)104将103的计算结果转换为二进制整数,解映射模块105根据RNS的有符号数表示范围进行调整使之与TCS相同。
[0026] 本发明给出了2048的基于RNS的FFT设计实例,采用的余数基为{128,127,63},并采用了混合基分解算法,一个N点DFT运算可表示为:
[0027]
[0028] 按照式(1)的分解算法,N=2048时,可将N依次分解为2048=2*1024,1024=4*512,512=4*128,128=4*32,32=4*8,8=4*2,即首先进行一级基2FFT运算,然后进行5级基4运算,其控制逻辑部分与采用了相同分解算法的基于TCS的FFT运算相同。在该实施例中,2048点FFT运算单元,由映射与解映射、B2R与R2B转换、1级基2FFT运算和
5级基4FFT运算单元构成,其中基2和基4FFT运算单元采用余数基{128,127,63}进行余数通道处理,以及与之对应的蝶形运算单元、模加和模乘单元构成,
[0029] 二进制到余数系统转换(B2R)模块,实现余数基为{128,127,63}的二进制整数到RNS整数转换,具体操作为求余运算,
[0030] 余数系统转换到二进制系统转换(R2B)模块,实现余数基为{128,127,63}的RNS整数到二进制整数转换,
[0031] 基2FFT运算单元,包含3个余数运算通道,每个余数运算通道分别按模128、模127、模63加法和乘法实现基2蝶形运算,相应存储器也分为3段,依次存储各余数通道计算中间值和旋转因子,
[0032] 基4FFT运算单元,包含3个余数运算通道,每个余数运算通道分别按模128、模127、模63加法和乘法实现基2蝶形运算,相应存储器也分为3段,依次存储各余数通道计算中间值和旋转因子,
[0033] 复数模128、模127和模63乘法器,各余数处理通道的基本单元,对两个RNS复整数进行模乘运算,
[0034] RNS符号检测,对余数基为{128,127,63}的RNS整数进行符号判断,若为负数则输出“1”,否则输出“0”,
[0035] RNS数值缩放,对余数基为{128,127,63}的RNS整数进行27方整除,使中间运算结果在RNS表示的动态范围内。
[0036] 在该实施例中,将FFT中的乘法和加法运算及相应的存储器通道划分为3个相互独立的运算通道,各通道的基本运算为模128乘加运算、模127乘加运算和模63乘加运算。在该实施例中,结合余数基{128,127,63}设计了映射与解映射、二进制与余数系统转换、RNS整数数值缩放以及RNS整数符号检测模块。
[0037] 图2示出了基于RNS的基X FFT运算单元。余数基为{m1,m2,…,mL},输入的RNS整数为(x1,x2,…,xL),各模mi蝶形运算单元201(i)(i=1,2,…,L)之间的运算相互独立,经运算后得到RNS整数(y1,y2,…,yL),在yi的计算过程中,各通道相互独立。存储器202用于存储输入数据和中间流运算结果。符号检测模块203完成有符号RNS整数的符号检测,将检测得到的符号信息输入到数值缩放模块204实现2的幂次方缩放,使之与TCS系统中的定点运算结果一致。只读存储器205存储所需的旋转因子,模mi复数乘法器206完成各通道的数据与旋转因子的乘法。控制逻辑207根据FFT算法生成存储器202和存储器205的读写地址及相应的蝶形运算单元控制信号。存储器202和205的存储地址与传统基于TCS的FFT运算相同,但各存储单元被余数基{m1,m2,…,mL}划分为L个通道,每个存储单元依次存放的模mi的值。若运算中需要多级FFT级联,则可将图2所示出的基本结构级联,若在某一级运算中无需乘以旋转因子,则可直接取消符号检测203、数值缩放204和复数乘法器205,将蝶形运算单元201的输出作为该级FFT运算的输出。
[0038] 图3示出了TCS到RNS动态范围映射模块。加法器301对输入的整数X加上常数M,若X的符号sign(X)为1(即为负数),则选择器302将加法器301的运算结果作为输出,否则直接将X作为输出。
[0039] 图4示出了RNS到TCS解映射模块。解映射模块与映射模块101实现的操作相反,首先经R/B转换后得到二进制无符号整数X,比较器401判断X在RNS数域范围内的符号特性。二进制补码加法器402对输入的整数X减去常数M,若X的符号sign(X)为1(即为负数),则选择器403将加法器402的运算结果作为输出,否则直接将X作为输出。
[0040] 图5是根据本实例配置的基于RNS的2048点FFT视图。本实施例中选择的余数基为{128,127,63},经映射模块501后的整数位宽为20比特,结合余数基{128,127,63}映射模块501和解映射模块507中的M取值为1024128。B2R模块502实现对输入二进制整数的模128、模127和模63运算。根据混合基分解算法,共需要1级基2FFT运算单元503和5级基4FFT运算单元504。R2B模块505将FFT运算得到的RNS整数转换为二进制整数。
[0041] 图6是根据本实施例配置的B2R模块视图。本实施例中选择的余数基为{128,127,63},经映射模块101后的整数位宽为20比特。601完成模128运算,直接取输入数据的低7比特作为该通道的余数rem128;602和603分别对输入数据最高位补1个0和4个
0,使扩展后的数据宽度分别为7和6的整数倍;N21为602输出数据的第20~14比特,N22为602输出数据的第13~7比特,N23为602输出数据的第6~0比特;N31为603输出数据的第23~18比特,N32为603输出数据的第17~12比特,N33为603输出数据的第11~
6比特,N34为603输出数据的第5~0比特。模127加法器604对N21、N22和N23进行模加运算得到该通道的余数rem127;模63加法器605对N31、N32、N33和N34进行模加运算得到该通道的余数rem63。延迟单元606为一级寄存器。
[0042] 图7是根据本实施例配置中的余数系统到二进制系统转换(R2B)单元视图。在本7 7 6
发明实施例中,先将选定的余数基排序为{2,2-1,2-1},在R2B模块中各余数通道对应的输入为x1、x2和x3。模减法器703实现 的操作,并且产生控制信号
ctr,当x2≥x1时ctr=0;当x2<x1时ctr=1。子模块701用于计算中间变量T1、T2、T3、T4、T5、T5_1,其中:
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049] 子模块702用于计算式(8):
[0050]
[0051] 模减法器704实现 运算,子模块705实现并位运算。
[0052] 图8是根据本实施例配置的基2-FFT运算单元视图。801、802和803分别为模128、模127和模63运算通道的蝶形运算单元。存储器804用于存储输入数据和中间流水运算结果。符号检测模块805完成有符号RNS整数的符号检测,将检测得到的符号信息输入到数值缩放模块806实现2的幂次方缩放,使之与TCS系统中的定点运算结果一致。只读存储器807存储所需的旋转因子,模128乘法器808、模127乘法器809和模63乘法器
410完成各通道的数据与旋转因子的乘法。控制逻辑411根据FFT算法生成存储器804和存储器410的读写地址及相应的蝶形运算单元控制信号。在本实施例中,参与运算的整数被划分为三个通道,这三个通道计算值的存取地址与TCS系统相同,并按比特顺序存放,即存储器804的19~13比特存放模128通道的数值、存储器804的12~6比特存放模127通道的数值、存储器804的5~0比特存放模63通道的数值。相应,旋转因子存储器410的19~13比特存放模128通道的数值、旋转因子存储器410的12~6比特存放模127通道的数值、旋转因子存储器410的5~0比特存放模63通道的数值。
[0053] 图9是根据本实施例配置的基2FFT运算中的蝶形运算单元视图。模加法器901为各余数运算通道的蝶形运算单元中的模加法器,其中X与该通道的余数分量有关,例如:128通道中实现模128加法运算、63通道中实现模63加法运算。选择器902根据控制逻辑
411选择输出蝶形单元的输入或模加运算结果作为蝶形运算单元的输出。
[0054] 图10是根据本实施例配置中的复数模乘法器视图。与TCS中的复数乘法器类似,1001完成特定余数运算通道的模乘法运算,最后1002和1003分别完成模减法和模加法运算。
[0055] 图11是根据本实施例配置中的基4FFT运算单元视图。基4-FFT模块每个通道均由对应余数基的两个蝶形结运算单元1101和1102以及相应的控制逻辑组成。按照每个蝶形结及与之对应的控制逻辑,将基4-FFT模块划分为两个子模块,每个子模块的运算机制与图4所示的第一级基2-FFT运算模块类似。以第二级基4-FFT运算模块中第一个蝶形结6
子模块BUTFLY_UNIT63为例,当第一级基2-FFT模块余数基为2-1的通道的输出(即410的输出)数据到达第二级第一个蝶形结子模块BUTFLY_UNIT63时,其控制逻辑根据din_dv信号,将该数据的前512个样点存入RAM中,在第513个数据到来的同时,开始读出已存在RAM中的前512个数据,送入到蝶形运算单元进行处理,根据算法结构将处理结果送往下一级且先存入RAM中。该过程周而复始,从而完成流水运算,使得可进行数据的连续处理。本实施例图1中的基4FFT运算单元104、105、106、107具有与图7所示的相同结构,但基4FFT运算单元108中无需做旋转因子相乘,即108中无图7所示的1104模块。
[0056] 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0057] 本说明书(包括任何附加权利要求摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0058] 本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈