zoukankan      html  css  js  c++  java
  • FFT 算法硬件描述 (8点)

    采用基2算法(频率抽样)

    首先确定有几级DFT:

    image  N = 8 so v = 3 (级)

    image

    -0/8  0度

    -1/8  -45度

    -2/8  -90度

    -3/8  -135度

    为节约时间 0度 与-90 度 不采用 cordic (achieved by 2’s complement and BUS exchange)

    故整个三级DFT只有第一级需要两个 CORDIC

    注意 第一级是输入是real(时域采样回来的值) 第二第三极输入是real , image

    有很多方法完成这三级

    这里简单说下三个方案:

    a迭代方式:用一级模块反复计算3次

    特点:占用资源少 耗时大

    b流水线方式 :使用3个模块分别计算

    特点:占用资源大 耗时小

    c(推荐) 使用两个模块 第一个用流水方式 第二个用迭代方式 组合而成

    特点 折中了时间与空间

    12位串行数据输入 8*12并行数据输出

    image

    蝶形算法框图

    image

    image

    输入的最高位为符号位 1为负

    (cordic 算法在前一篇文章中以讲,这儿就不重复了)

    之前已经说过用同一个模块完成2,3两个DFT

    如何用同一个电路进行两个不同的运算呢?

    对输入的数据序列做如下变换 (可见两个结构就相同啦)

    image

    将输出的数据输入VECTORING CORDICimage 则可得矢量的模(即频域的模)

    最后,并行变串行输出

    image

    时间总耗:

    image

    参考资料:

    image

  • 相关阅读:
    比赛F-F Perpetuum Mobile
    HDU 1003(A
    C-C Radar Installation 解题报告
    Codeforces 18C C. Stripe
    HDU 4911 Inversion
    分蛋糕(C
    抄书(B
    深入了解Android蓝牙Bluetooth——《基础篇》
    2W 字详解 Redis 集群环境搭建实践
    漫画 | 阿姨,我不想努力了~
  • 原文地址:https://www.cnblogs.com/sleepy/p/2104703.html
Copyright © 2011-2022 走看看