论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
因此,从均方根意义上看,数据(实数或复数)复级都增加(2的平方根)倍。其次,再考虑复数的最大模。由(2)式可以证明[5]。
max{|Xm(i)|,|Xm(j)|}≤max{|Xm 1(i)|,|Xm 1(j)|}≤2max{|Xm(i)|,|Xm(j)|}
因此,复数数组的最大模是非减的。所以,对于DITFFT,其每一级的蝶形运算之后数值都会增加1 (2的平方根)≈2.414倍。在每一次运算完成之后,须将结果右移2bits以满足要求。
2 系统实现
系统原理如图1所示,整个FFT运算处理单元分为三部分:存储单元(两个输入/运算存储器、一个输出存储器及旋转因子存储器)、蝶形运算单元、地址产生器。
2.1 存储器
本系统实时接收前端CCD相机的图像。为保证CCD相机采集图像的准确率,图像的每一行、每一帧之间都必须有一定的时间间隔,故采用两个存储单元作为输入数据和中间数据的暂存单元(如图1所示),以节省时间实现实时处理。当系统工作时,将图像存入存储器、计算上一次采集的图像、将存储器中的结果输出,这三个工作同时进行,用简单的流水方式减少存储数据所需的时间。旋转因子则预先存储在器件的内置ROM中。根据级数不同选用不同的因子。
2.2 蝶形运算单元
一个基-2蝶形运算由一个复乘和两个复加(减)组成,采用完全并行运算,进一步分解为四个实数乘法,六个实数加(减)法,分三级并行完成,加上前后输入输出的数据锁存,共需要6个时钟周期。32点的FFT需要16×5=80个基-2的蝶形运算,一幅图像一共是32行32列,不考虑不需要做乘法的蝶形