- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基4FFT算法的FPGA实现 传统基2FFT的算法 以按时间抽取基2算法为例: 设N(N= ) 为正整数, A 、B 为时间序列, A’ 、B’ 为频率序列, 为旋转因子,如右图1 可知其基本迭代运算为: 设 则代入 (1-1)式得: 由1-1式可以看出来基2按时间抽取的FFT蝶形单元运 算需要一次复数乘法运算、两次复数加(减)法运算 由1-2式可以看出4次实数乘法运算和6次实数加(减)法运算。 传统的基-2对于 个点,有 次迭代运算, 每次迭代运算包含N/2个蝶形单元。 基-4算法原理 我们也同样采用按时间抽取的方式讲解基-4算 法的蝶形单元。 设A、B 、C 、D 为时间序列,A’、B’、C’、D’ 为频率序列, 为旋转因子,则蝶形 单元运算表达式为式1-3: 基-4蝶形单元信号流图如下: 由1-3式可以看出,基-4蝶形单元需要三个复数 乘法器及十二个复数加法(减)器,而且对于 N= 有 次迭代运算,每次迭代运算 包含N/4次蝶形运算,每个基-4的蝶形单元与四个 基-2蝶形相比较,减少一次复数乘法,在相同N点 的FFT运算过程中,基-4运算的迭代运算和每次迭 代包含的蝶形单元要少于基-2FFT算法,可以看出 基-4算法的研究可以大大提高FFT运算的速度,更 加发挥FFT运算快的优势 。 基-4算法的模块实现 FFT模块的构成: 1:旋转因子乘法器;2:基-4蝶形运算器; 3:地址产生器; 4:控制信号产生器 5:中间变量存放组 本文设计的FFT模块的划分图如图1-3,图中 各个模块在中央控制单元的管理下并行工作。 在图1-3中,运算模块为基-4运算模块,控制模块产生 所有的控制信号、存储器1和2的读写地址、写使能、 运算模块的启动信号因子表的读写地址等信号。 存储器1作为当前输入标志对应输入N点数据缓 冲器,存储器2作为中间变量结果存储器,用于 存储运算模块计算出各个通道的结果。 举例:外部输入为N点数据段流和启动信号,一方 面,外部数据存入存储器1中,同时通过控制模块的 控制,读出存储器1中的前段N点数据和ROM表中的 因子及相关控制信号送入运算核心模块进行各个Pass 运算,每个Pass运算的输出都存入存储器2中,最后一个 Pass的计算结果存入存储器2中,启动并在下一个启动 头到来后,输出计算结果。 FFT硬件实现 1:旋转因子乘法器的实现 FFT设计一个旋转因子存储单元可以提高FFT的 计算速度,因此需要合理的设计旋转因子的存 储单元,在FFT硬件设计中占重要地位。本文采用 一种高效的算法来实现存储旋转因子。 设复数旋转因子乘法器R+ jI=(X+ jY) (C+ jS) 因为C、S可以预先计算的,并可以存储在一个表 中。所以我们可以存储下面三个系数: C、C+S、C-S 有了这3个预先计算的因子,我们可以首先计算: E=X-Y和Z=C*E=C*(X-Y) 然后用: R=(C-S)*Y+Z I=(C+S)*X-Z 计算最后乘积,我们可以验证这种算法的 正确性: R=(C-S)*Y+Z=(C-S)*Y+C(X-Y) =CY-SY+CX-CY=CX-SY I=(C+S)*X-Z=(C-Z)*X-C(X-Y) =CX+SX-CX+CY=SX+C 该运算只需要将C、C+S、C-S三个系数存在 表中,在通过查表计算出旋转因子的实部和虚 部,选用一个地址发生器来通过调用不同的地 址来调用旋转因子的实部和虚部。 本文设计了一个512*16的ROM,如图1-4,把C、 C+S、C-S,分别存储在ROM中,这样蝶形单 元运算就可以直接调用旋转因子实部和虚部, 大大提高了FFT运算速度。 2:蝶形运算单元设计: 已知基-4的蝶形单元运算如式1-3,设式1-3的 复数数据为:
文档评论(0)