一种基于位串架构的蝶形运算单元、fft处理器及方法

文档序号:9844076阅读:624来源:国知局
一种基于位串架构的蝶形运算单元、fft处理器及方法
【技术领域】
[0001] 本发明涉及数字通信领域,特别涉及一种基于位串架构的蝶形运算单元、FFT处理 器及方法。
【背景技术】
[0002] 快速傅里叶变换(FFT)广泛应用在数字信号处理领域,特别是作为0FDM系统的核 心技术之一,被广泛应用在802.11 &、802.16、048与0¥8-1'等标准中,并将成为下一代无线通 信技术的基础。已有FFT的VLSI实现大致可以分为基于存储器(Memory-Based)实现与基于 流水线(Pipeline-Based)。基于存储器的结构的设计有双存储器(Ping-Pong RAM)与缓存 存储(Cache-Memory)等众多结构。
[0003] 但上述传统技术也存在着一些缺陷,图1所示是现有技术的一种蝶形运算单元,由 于数据运算和存储字长固定,传统设计只能处理数据字长固定的数据,其处理功能单一,其 处理数据的L个字长比特在同一时钟并行输入、输出,因此需要分解FFT并反复迭代计算,导 致设计逻辑复杂,处理时钟数较多,同时传统技术为了降低硬件面积,难以支持很大点数的 FFT计算。

【发明内容】

[0004] 为了解决这些潜在问题,本发明的目的在于克服现有技术中所存在的上述不足, 提供一种设计逻辑简单、处理时钟较少、很好的支持大点数FFT计算的基于位串架构的蝶形 运算单元。
[0005] 为了实现上述发明目的,本发明采用的技术方案是:
[0006] -种基于位串架构的蝶形运算单元,包括时延补偿器、乘法器、第一加法器、减法 器,
[0007] 所述时延补偿器连接所述第一加法器、所述减法器,用于对输入的数据进行延时, 以匹配所述乘法器的输出延时;
[0008] 所述乘法器连接所述第一加法器、所述减法器,用于将输入其中的数据与对应的 旋转因子进行乘法运算;
[0009] 所述第一加法器用于根据所述时延补偿器输出的数据和所述乘法器输出的数据 相加后输出第一结果,每个计算周期内首次运算时,所述第一加法器的进位标志位设置为 〇;
[0010] 所述减法器用于根据所述时延补偿器输出的数据和所述乘法器输出的数据相减 后输出第二结果;
[0011] 任意一个时钟周期,所述时延补偿器、所述乘法器均只接收一个比特的数据输入。
[0012] 进一步地,所述加法器、减法器均由一位全加器组成。
[0013] 进一步地,所述减法器包括取反器、第二加法器,所述乘法器输出端连接所述取反 器输入端,所述取反器输出端连接所述第二加法器,所述第二加法器的进位标志位在每个 计算周期第一个时钟周期置为1,其他时钟周期置为前一时钟周期第二加法器的进位输出。
[0014] 进一步地,所述乘法器由多个一位全加器构成,所述一位全加器的个数与一位全 加器之间的连接方式由旋转因子确定,所述乘法器逐比特地完成输入序列与旋转因子的常 系数乘法。
[0015] 进一步地,所述旋转因子使用CSD序列进行表示。
[0016] 本发明同时提供一种基于位串架构的FFT处理器,包括多个如本发明的一种基于 位串架构的蝶形运算单元。
[0017] 本发明还提供一种基于位串架构的蝶形运算FFT处理方法,利用分解算法将FFT分 解到多级运算单元阵列,并利用所述串行计算与存储的运算单元阵列实现对FFT的全部点 数并行计算。
[0018] 进一步地,所述基于位串架构的蝶形运算FFT处理方法包括:
[0019]对2m点的FFT,将其分解至2点,并建立m级蝶形运算阵列,每级阵列包括N/2个如权 利要求1-5任一项所述的蝶形运算单元,其中m=log2N,N是每个周期的采样点个数;
[0020]确定每个所述蝶形运算单元的乘法器中的旋转因子参数;
[0021 ]确定每个延时补偿器的延迟时间参数;
[0022] 确定处理字长并据此确定电路计算周期;
[0023] 根据上述参数设计每个蝶形运算单元,并按照CTA分解算法对所述的每个蝶形运 算单元进行连接。
[0024] 进一步地,还包括,根据所述字长确定对所述蝶形运算单元中的进位符进行更新 的时间。
[0025] 与现有技术相比,本发明的有益效果
[0026] 1、本发明的一种基于位串架构的蝶形运算单元通过采用全并行流水结构,任意一 个时钟周期均只接收一个比特的数据输入,一个字长周期就可以完成全部点数的FFT的计 算,大幅度减少了时钟处理;同时,由于本发明采用逐比特数据处理,对于不同字长的数据 处理需要,只更改控制逻辑而不需改变硬件结构,从而可以支持多种字长数据的计算。
[0027] 2、现有技术完成FFT控制逻辑与计算结构较为复杂,本发明的一种基于位串架构 的FFT通过将全并行FFT中的运算单元和存储单元转换为一位全加器和一位寄存器,从而很 好的降低了结构复杂度和运算复杂度,并提高了计算运行效率。
【附图说明】
[0028] 图1是现有技术的一种蝶形运算单元结构框图。
[0029] 图2是本发明的一个实施例示出的一种基于位串架构的蝶形运算单元结构框图。
[0030] 图3是本发明的一个实施例示出的乘法器设计流程框图。
[0031]图4是本发明的一个实施例示出的FFT处理器的流程框图。
[0032]图5是本发明的一个实施例示出的长度为2NAFFT处理器的流程框图。
[0033]图6是本发明的一个实施例示出的长度为2NAFFT处理器的结构框图。
[0034]图7是本发明的一个实施例示出的8点FFT实施示例图。
[0035]图8是本发明的一个实施例示出的8点FFT的乘法器实施示例图。
[0036]附图标记:201-乘法器、202-时延补偿器、203-第一加法器、204-减法器、205-取反 器、206-第二加法器。
【具体实施方式】
[0037]下面结合【具体实施方式】对本发明作进一步的详细描述。但不应将此理解为本发明 上述主题的范围仅限于以下的实施例,凡基于本
【发明内容】
所实现的技术均属于本发明的范 围。
[0038] 实施例1:
[0039]图2是本发明的一个实施例示出的一种基于位串架构的蝶形运算单元结构框图, 包括时延补偿器202、乘法器201、第一加法器203、减法器204,
[0040] 所述时延补偿器202连接所述第一加法器203、所述减法器204,用于对输入的数据 进行延时,以匹配所述乘法器201的输出延时;
[0041] 所述乘法器201连接所述第一加法器203、所述减法器204,用于将输入其中的数据 与对应的旋转因子进行乘法运算;
[0042]所述第一加法器203用于根据所述时延补偿器输出的数据和所述乘法器输出的数 据相加后输出第一结果,每个计算周期内首次运算时,所述第一加法器203的进位标志位设 置为〇,其他时钟周期置为前一时钟周期第一加法器的进位输出;
[0043]所述减法器204用于根据所述时延补偿器202输出的数据和所述乘法器201输出的 数据相减后输出第二结果;
[0044]任意一个时钟周期,所述时延补偿器202、所述乘法器201均只接收一个比特的数 据输入。
[0045] 设数据可表示为x = aL-iaL-2"_aiao,其中最高位aL-i为符号位,在每个时钟数据逐比 特串行输入,第一个时钟先输入最低位ao,然后逐位输入至第L个时钟输入ai-i,在第L+1个 时钟输入下一个数据的最低位。数据输入后分别进入乘法器201和时延补偿器202。乘法器 完成对旋转因子的常系数乘法后,数据也是逐比特输入加法器203与减法器204,完成加法 和减法后数据再逐比特输出。
[0046 ] 进一步地,所述加法器、减法器均由一位全加器组成。
[0047] 一位全加器逻辑运算简单,便于设计,构成的加法器、减法器结构简单。
[0048] 进一步地,所述减法器204包括取反器205、第二加法器206,所述乘法器201输出端 连接所述取反器205输入端,所述取反器205输出端连接所述第二加法器206,在每个计算周 期内首次运算时,所述第二加法器206的进位标志位设置为1,其他时钟周期置为前一时钟 周期第二加法器206的进位输出。
[0049]时延补偿器202用于对乘法器输出延迟补偿,由于乘法器201将会带来1/拍时钟的 处理迟滞,为了保证数据在输入加法器203和减法器204之前对齐,需要额外补偿延迟。加法 器203为基于单比特全加器实现的串入串出单比特加法器,其中输入为两路加数与一路低 位进位,输出为和与向高位的进位。计算第一个比特时进位初始化为"0",第二时刻开始将 输出的进位延迟反馈回进位输入。减法器204为基于单比特全加器实现的减法器,与加法器 203的不同之处在于为了将减数转换为补码,在该路将数字取反,同时初始的进位为"1"。
[0050]取反器将减法运算的减数转化为补码,在进行减法运算时,在每个计算周期的第 一个时钟运算时,第二加法器的进位标志位需要设置为"1",其他时钟周期置为前一时钟周 期第二加法器的进位输出。
[0051]本发明的一种基于位串架构的蝶形运算单元通过采用全并行流水结构,任意一个 时钟周期均只接收一个比特的数据输入,一个计算周期就可以完成全部点数的FFT的计算, 大幅度减少了时钟处理;同时,由于本发明采用逐比特数据处理,对于不同字长的数据处理 需要,只更改控制逻辑而不需改变硬件结构,从而可以支持多种字长数据的计算。
[0052] 进一步地,所述乘法器由多个一位全加器构成,所述一位全加器的个数与一位全 加器之间的连接方式由旋转因子确定,所述乘法器逐比特地完成输入序列与旋转因子的常 系数乘法。
[0053] 进一步地,所述旋转因子使用CSD序列进行表示。
[0054] 旋转因子的CSD(正则有符号系数)数表示为
唭中最高位cl' -i 为整数位,其余位为小数位,由于乘法可以表达成移位加形式
即每一个非零的(^41(1 = 0到1/-1),其将对应输入序列右移i位再求和。基于串行的计算 过程,是先从右移位数最多的序列的最低比特开始,和移位次多的序列对应相加,数据利用 比特加法器单比特处理,然后当下一个移位序列的最低位到达时,再添加一个比特加法器 或减法器来进行之前的计算结果与这一序列的计算,这样循环至最后i = L'时终止。图3所 示是本发明的一个实施例示出的乘法器设计流程框图,其步骤包括:
[0055]步骤301:首先设置抽头延迟线模型,延迟数为1/。
[0056]步骤302:将需要的旋转因子转换为定长的CSD数表示,设长度为1/,则
[0057] 步骤303:设置遍历CSD数的下标循环变量i。
[0058]步骤304:从i = 0开始,由旋转因子CSD数的低位co向高位读取,每次读一位,然后i = i+l〇
[0059] 步骤305:判断Ci是否是非零位。若是,跳到步骤309,若
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1