基于CORDIC算法的流水线型FFT处理器设计

2012-06-29 01:37:10李靖宇许江宁曹可劲
电视技术 2012年23期
关键词:信号

李靖宇,许江宁,李 豹,曹可劲

(1.海军工程大学 导航工程系,湖北 武汉 430033;2.海军91821部队,广东 潮州 515700)

责任编辑:时 雯

快速傅里叶变换是DSP的核心技术之一,作为时域和频域转换的基本运算,是数字谱分析的必要前提,在雷达、观测、跟踪、高速图像处理、保密无线通信和数字通信等领域有广泛应用。FPGA(现场可编程门阵列)内部含有大量逻辑单元和高速RAM模块,使FFT算法可以灵活快速地实现,并具有很高的性能。针对快速信号处理的要求及FPGA器件的特点,提出了一种基于CORDIC算法的基二流水线结构的FFT处理器设计方法。

1 基二FFT算法原理分析

设序列长度是为N=2M,M为正整数。如此可以将序列x(n)分解成两组,偶数项为一组,奇数项为一组,可以得到两个N/2点的子序列,即:x1(r)=x(2r),x2(r)=x(2r+1),r=0,1,…,N/2 -1;相应地将 DFT 运算分为两组[1]。

继续照上式将序列分解,直到最后是二点的DFT为止。8点FFT蝶形图如图1所示。

图1 k=8的时间抽取FFT流图

2 基二FFT的FPGA实现

在FPGA上实现流水线型FFT处理器,其主要结构模块包括:输入的乒乓RAM模块、蝶形运算模块、旋转因子乘法模块(本文用CORDIC算法实现)、倒序输出模块、旋转相角(φ)ROM,还有信号流程控制模块和地址产生器模块。具体如图2所示。

图2 FFT硬件实现流程

2.1 RAM的乒乓读取

为了使输入数据无等待周期,采取了乒乓操作。这种结构是将输入数据流不断写入存储深度为2N的存储单元,用RAM写地址值的最高位来区分低、高存储部分,数据首先输入的低位存储区,当低N个存储单元存储满之后,数据开始存入高N个存储单元,同时开始读取低N个存储单元的数据,由于读写频率相同,低存储单元的数据读完后高存储单元已经写满,此时则开始将数据写入低存储单元,读出高存储单元。……

登录APP查看全文

猜你喜欢
信号
信号
鸭绿江(2021年35期)2021-04-19 12:24:18
完形填空二则
7个信号,警惕宝宝要感冒
妈妈宝宝(2019年10期)2019-10-26 02:45:34
孩子停止长个的信号
《铁道通信信号》订阅单
基于FPGA的多功能信号发生器的设计
电子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的联锁信号控制接口研究
《铁道通信信号》订阅单
基于LabVIEW的力加载信号采集与PID控制
Kisspeptin/GPR54信号通路促使性早熟形成的作用观察