本帖最后由 我爱辉叔叔 于 2020-10-15 18:58 编辑
1系统结构框图 提高FFT运算速度的途径是并行和流水,FFT算法有四种典型的硬件结构:递归结构、级联结构、并行结构和阵列结构。FFT运算速度的提高是以付出相应的硬件量为代价的,选择不同的FFT运算结构,即是在运算速度和硬件开销间进行折中。比较这四种FFT结构:递归机构占用最少的资源,控制简单,处理速度最慢,级联结构资源消耗一般,流水性能好,处理速度快,并行结构和阵列结构资源消耗大,控制复杂,处理速度很快,但工程实现困难。根据本系统的特点,本系统选择递归结构。 由于采用流水线结构,数据的存储和运算同时进行, RAM_A和RAM_B可称为乒乓RAM,当有一块用于当前级输入运算数据伺服(读数据时),其乒乓RAM用于该级结果的存储(写数据)。当该级蝶形迭代结束后,这两块RAM交换功能。
2、碟形单元 蝶形运算是FFT的核心运算单元。对于基2的FFT运算,一个蝶形运算完成一个两点的FFT。BUTTCORE从RAMA(或RAMC)中读取两个14位复数A和B,同时从ROM中读取相应的旋转因子W,计算完成后的数据写入RAMB中。完成一个蝶形运算需要6个CLK。式(1)和式(2)为一个BUTTCORE的计算公式,从式中我们可以看出BUTTCORE由一个复数乘法器和两个复数加法器组成。
|