CN106339353B - 一种支持4375点和3780点fft/ifft的处理器 - Google Patents

一种支持4375点和3780点fft/ifft的处理器 Download PDF

Info

Publication number
CN106339353B
CN106339353B CN201510404839.6A CN201510404839A CN106339353B CN 106339353 B CN106339353 B CN 106339353B CN 201510404839 A CN201510404839 A CN 201510404839A CN 106339353 B CN106339353 B CN 106339353B
Authority
CN
China
Prior art keywords
points
unit
wfta
data
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510404839.6A
Other languages
English (en)
Other versions
CN106339353A (zh
Inventor
吴历曦
葛珏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRM ICBG Wuxi Co Ltd
Original Assignee
Wuxi China Resources Semico Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi China Resources Semico Co Ltd filed Critical Wuxi China Resources Semico Co Ltd
Priority to CN201510404839.6A priority Critical patent/CN106339353B/zh
Publication of CN106339353A publication Critical patent/CN106339353A/zh
Application granted granted Critical
Publication of CN106339353B publication Critical patent/CN106339353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种实现4375点和3780点FFT/IFFT变换的方法与并行高性能处理器。在FFT/IFFT变换的第一层采用素因子算法分解4375点和3780点,完全消除了第一级间的旋转因子。底层用相同的WFTA算法,完成4375点需要的5点、7点DFT计算,以及3780点需要的3点、4点、5点、7点DFT计算。设计了配套的二维存储器阵列,以及映射关系完全没有冲突的地址生成单元,保证了各级运算过程中,数据能够以较高的并行度被读取,并严格遵循同址寻址方式被写回。本发明能够使得处理器用同样的硬件资源,支持2种不同素数点长度的FFT/IFFT变换,并获得高数据吞吐率,提高DTMB接收系统的性能。

Description

一种支持4375点和3780点FFT/IFFT的处理器
技术领域
本发明涉及一种快速傅里叶变换(Fast Fourier Transform,FFT)的方法及其处理器,尤其涉及一种支持4375点和3780点FFT/IFFT的方法及其处理器。
背景技术
地面数字电视广播经过多年的发展,已经推广使用的主要技术标准有:欧洲的DVB-T、美国的ATSC和日本的ISDB-T。在此背景下,2006年8月,中国国家标准化管理委员会颁布了中国数字电视地面广播传输系统标准GB20600-2006,即中国的DTMB。
DTMB采用时域同步正交频分复用(TDS-OFDM)技术作为其关键的传输技术,包括多载波和单载波两种模式,但均采用长度为3780的帧体来传输数字电视信号。
多载波和单载波在本质上是两种完全不同的调制技术,有各自的优点。在DTMB接收机中,多载波模式的最佳接收发生在频域,但为了实现TDS-OFDM技术,必须采用迭代消除方法,多次进行FFT/IFFT变换,才能消除由于多径导致的帧头PN序列对数据体严重的码间干扰,对信道进行准确的估计。FFT处理器占据了大量的运算时间,其数据吞吐率在很大程度上决定了DTMB接收机的性能。单载波模式的最佳接收发生在时域,但研究表明,对单载波采用SC-FDE(频域判决反馈均衡)技术,可以获得和TD-DFE(时域判决反馈)接近的性能。和多载波的迭代消除方法类似,SC-FDE同样需要通过迭代,对大量数据进行多次正向和反向快速傅里叶变换,并且迭代次数越多,越接近TD-DFE的性能。由于SC-FDE也是在频域实现的,可以复用多载波模式的硬件资源,大大简化系统复杂度,很好地融合多载波和单载波两种模式。
在DTMB系统中,进一步的研究表明,直接采用4375点的FFT/IFFT变换,可以有效避免循环迭代中的卷积和搬移操作,从而免去了由于信道估计不准造成的残余误差,降低了重构过程引入的信噪比错误平层,有效提高信道估计的收敛速度和质量。
这就需要设计一种FFT处理器,同时支持4375和3780两种长度的FFT变换,而现有的产品缺少很好的技术手段来解决这一技术难题。
发明内容
本发明的目的在于提供一种支持4375点和3780点FFT/IFFT的方法及其处理器,以解决现有技术中无法支持4375点和3780点的问题。
为了实现本发明的目的,采用以下技术方案来实现:
一种支持4375点和3780点FFT/IFFT的方法,包括分解、混序、数据运算和数据输出共四个步骤,所述的分解的步骤是:1)首先将4375点或3780点进行第一层分解,按照素因子分解为两个互素的数, 第一层分解不包含旋转因子运算;2)然后将步骤1)中得出的两个互素的数的其中一个数继续按照混合基彻底分解;3)最后将步骤1)中得出的两个互素的数的另外一个数按照素因子彻底分解。
特别地,所述的4375点的分解方式为首先分解为7×625,其中7和625互素,625继续用混合基分解为5×5×5×5。
特别地,所述的3780点的分解方式为首先分解为140×27,其中140和27互素,140继续用素因子分解算法分解为4×5×7,而27采用混合基分解为3×3×3。
特别地,进行所述的数据运算的步骤时,4375点运算和3780点运算共用点数为3点、4点、5点、7点的基本小点数DFT单元。
特别地,对4375点进行混序的步骤包括:
1)建立码位倒置的625点DFT索引表:ROM1(k)=mod(k×7,625),k的取值范围为0至624;
2)建立按时间抽取的625点DFT索引表:ROM2(k)=n1×125+n2×25+n3×5+n4,n1、n2、n3、n4的范围均为0至4;
3)对序列号为n的输入,变换后的索引号为:ROM2{ROM1([mod(n×268,625)]}+mod(n×4,7)×625;
4)按ROM2{ROM1[mod(n×268,625)]}+mod(n×4,7)×625的映射关系,产生所有4375点输入序列的写地址,将数据存放至存储器RAM的对应单元中,完成对输入序列重新排序;
5)输入序列被分为7组,每组有625个数据。
特别地,对4375点进行数据运算的方法是完成7组长度为625点的较短序列进行DFT变换和625组长度为7点的较短序列进行DFT变换,并采用同址运算读取地址;
所述的对7组长度为625点的较短序列进行DFT变换的步骤如下:
1)对组号为i,序列号为n=i×625+j,即长度为625的较短序列进行DFT变换;其中i的值为0至6,j的值为0至624,并首先对内层的j进行循环,由于625=5×5×5×5,等效为4级基为5的FFT运算;
2)按(n1×(5^L)+n2)+n3×(5^(L+1))产生读地址,读取5个数据,进入旋转因子运算单元,乘以相应的旋转因子,然后进入WFTA计算单元,完成5点WFTA运算后的结果,按同址计算方式,存放到原来的地址。其中n1为最内层的循环计数,取值0至4;L为最外层的循环计数,取值为0至3;n2、n3为中间层的循环计数,n2取值0至(5^L)-1,n3取值0至(625/5^(L+1))-1;符号^表示乘方运算;
3)组号i取值为0,按步骤1)及步骤2)完成一组625点DFT,并依此取值1至6,重复步骤1)及步骤2),共完成7组625点DFT;
所述的对625组长度为7点的较短序列进行DFT变换的步骤为:按关系n1×625+n2,产生读地址,读取7个数据,进入WFTA计算单元,做7点WFTA运算,结果按同址计算方式,存入原来地址;其中n1为最内层循环计数,取值0至6;n2为最外层循环计数,取值0至624。
特别地,对4375点进行数据输出的步骤是按关系mod(268×n,625)+mod(n×4,7)×625产生读地址,从RAM单元中输出数据,即为4375点FFT/IFFT结果。
特别地,对3780点进行混序的步骤是:
1)对长度为3780、自然顺序排序的输入序列X(n)进行分组和索引变换;建立码位倒置的540点DFT索引表:ROM3(k)=540×n2+(20×n1+4×n3+n4),其中n2为最内层循环,取值0至6;n1,n3、n4为外层循环,取值分别为n1=mod(n×11,27),n2=mod(n,5),n3=mod(n,4),n的范围为0至539;
2)按步骤1)所示的映射关系,产生所有3780点输入序列的地址,将数据存放至存储器RAM的对应单元中,完成对输入序列重新排序;
3)输入序列被分为7组,每组有540个数据。
特别地,对3780点进行数据运算的方法是完成140组长度为27点的较短序列进行DFT变换、945组长度为4点的较短序列进行DFT变换、756组长度为5点的较短序列进行DFT变换、540组长度为7点的较短序列进行DFT变换,并采用同址运算读取地址;
所述的140组长度为27点的较短序列进行DFT变换的步骤如下:
1)按20×n1+n2+540×n3产生读地址,从RAM中读取27个数据;n1为最内层循环计数,取值0至26;n2为此外层循环计数,取值0至19;n3为外层循环计数,取值0至6;由于27=3×3×3,等效为3级基为3的FFT运算;
2)建立码位倒置的27点DFT索引表:ROM4(k)=mod(k×5,27),k的取值范围为0至26;
3)建立按时间抽取的27点DFT索引表:ROM5(k)=m1×9+m2×3+m3,m1、m2、m3的取值为0到2;
4)对步骤2.1建立的序列长度为27、序列号为i的输入,变换索引号:j=ROM5[ROM4(i)];其中i为输入序列的索引号,取值为0到26;j为变换之后的索引号;
5)对重新排序后的序列,进行长度为27的混合基FFT变换;
所述的945组长度为4的较短序列进行DFT变换的步骤如下:
1)按n1+4×n2+540×n3产生读地址,从RAM中读取4个数据;其中n1为最内层循环计数,取值0至3;n2为次外层循环计数,取值为0至134;n3为外层循环计数,取值0至6;
2)将步骤3.1读取的4个数据输入WFTA计算单元,进行4点WFTA运算,结果按同址计算方式,存回原地址;
所述的756组长度为5的较短序列进行DFT变换的步骤如下:
1)按n1×4+n2+n3×20+540×n4产生读地址,从RAM中读取5个数据。n1为最内层循环计数,取值0至4;n2为次外层循环计数,取值为0至3;n3为次外层循环计数,取值0至26;n4为次外层循环计数,取值0至6;
2)将步骤4.1读取的5个数据输入WFTA计算单元,进行5点WFTA运算,结果按同址计算方式,存回原地址;
所述的540组长度为7的较短序列进行DFT变换的步骤如下:
1)按540×n1+n2产生读地址,从RAM中读取7个数据;n1为最内层循环计数,取值0至6;n2为最外层循环计数,取值0至539;
2)将步骤1)读取的7个数据输入WFTA计算单元,进行7点WFTA运算,结果按同址计算方式,存回原地址。
特别地,对3780点进行数据输出的步骤是按自然排序从RAM单元中输出数据,即为3780点FFT/IFFT结果。
一种支持4375点和3780点FFT/IFFT处理器,包括共轭系统、输入混序系统、输出混序系统、存储系统、运算地址生成系统和运算系统,所述的共轭系统包括输入共轭单元和输出共轭单元;所述的输入混序系统包括4375点输入混序单元、3780点输入混序单元;所述的输出混序系统包括4375点输出混序单元;所述的存储系统包括存储器阵列单元;所述的运算地址生成系统包括运算地址生成单元;所述的运算系统包括7个并行的WFTA运算子系统。
特别地,所述4375点输入混序单元拥有两个存储体ROM1和ROM2,ROM1和ROM2深度为625。
特别地,所述3780点输入混序单元拥有一个存储体ROM3,ROM3 深度为625。
特别地,所述4375点输出混序单元拥有两个存储体ROM4和ROM5,ROM4和ROM5深度为625。
特别地,所述的存储器阵列单元由7个互相独立的双端口存储体组成,存储体的深度深度为625,使用这种存储器的处理器具有两种方式的并行性。
特别地,所述的WFTA运算子系统由旋转因子地址生成单元、旋转因子ROM单元、旋转因子乘法器、数据缓存单元、WFTA计算单元组成; WFTA运算子系统内部所有的单元都采用流水线执行方式。
本发明的有益效果在于:本发明能够使得处理器用同样的硬件资源,支持2种不同素数点长度的FFT/IFFT变换,并且获得极高的数据吞吐率,完全满足DTMB接收机的信道均衡迭代算法的要求,提高DTMB接收系统的性能。
附图说明
图1是本发明的方法分解层次图;
图2是本发明的处理器组成框图;
图3是本发明的方法实现的流程图;
图4是本发明具体实施方式中的4375点输入混序图;
图5是本发明具体实施方式中的存储器阵列示意图;
图6是本发明具体实施方式中的4375点输出混序图。
其中,图1、图2、图3、图4、图5、图6的符号说明如下:
1、输出共轭单元,2、输入共轭单元,3、4375点输入混序单元,31、存储体ROM1,32、存储体ROM2,4、3780点输入混序单元,41、存储体ROM3,5、运算地址生成单元,6、4375点输出混序单元,61、存储体ROM4,62、存储体ROM5,7、存储器阵列单元,8、WFTA运算子系统,81、旋转因子地址单元,82、旋转因子ROM单元,83、旋转因子乘法器单元,84、数据缓存单元,85、WFTA计算单元。
具体实施方式
如图2所示,是本发明的处理器组成框图,具体是一种支持4375点和3780点FFT/IFFT处理器的组成框图,该处理器由输入共轭单元1、输出共轭单元2、4375点输入混序单元3、3780点输入混序单元4、4375点输出混序单元5、运算地址生成单元6、存储器阵列单元7、WFTA运算子系统8组成;
所述4375点输入混序单元3拥有两个存储体ROM1和ROM2,ROM1和ROM2 深度为625;
所述3780点输入混序单元4拥有一个存储体ROM3,ROM3 深度为625;
所述4375点输出混序单元5拥有两个存储体ROM4和ROM5,ROM4和ROM5深度为625;
所述的存储器阵列单元7由7个互相独立的双端口存储体组成,存储体的深度为625,使用这种存储器的处理器具有两种方式的并行性;
所述的WFTA运算子系统8,由旋转因子地址生成单元81、旋转因子ROM单元82、旋转因子乘法器83、数据缓存单元84、WFTA计算单元85组成; WFTA运算子系统8内部所有的单元都采用流水线执行方式;
输入共轭单元1对输入的数据进行共轭;4375点输入混序单元3、3780点输入混序单元4对输入的数据进行混序,完成序列索引号变换,并产生相应的写入地址,并将原始数据写入存储器阵列单元7;存储体ROM131和ROM232为4375点输入混序单元3提供存储空间;存储体ROM3,ROM3为3780点输入混序单元4提供存储空间;存储器阵列单元7完成数据输入输出及运算过程中数据的存储;WFTA运算子系统8完成数据的运算;旋转因子地址生成单元81、旋转因子ROM单元82、旋转因子乘法器83共同完成旋转因子部分的运算;WFTA计算单元85完成WFTA运算;数据缓存单元84实现WFTA运算子系统8中数据并串、串并的变化;4375点输出混序单元5对4375点运算后需要输出的数据进行混序;存储体ROM461和ROM562为4375点输出混序单元提供存储空间;输出共轭单元2对输出的数据进行共轭。
实施例一:本实施例是4375点在处理器中的实施方式:
如图1所示,其中4375点的分解方式是:首先分解为7×625,其中7和625互素,625继续用混合基分解为5×5×5×5。将4375点和3780点设为N点,第一层按照素因子分解为N1×N2,N1与N2互素;N1按照混合基分解,分解成的基是P1;N2按照素因子分解,分解成的结果是Q2,Q2可能包含有多个数;对应4375点,N1是625,N2是7,P1是5,Q2是7。以图3所示的流程完成混序以及数据运算程序的编写。
输入共轭单元1对输入的数据进行共轭。
完成共轭后,4375点输入混序单元3对输入数据进行混序,步骤如下:
1、建立码位倒置的625点DFT索引表:ROM1(k)=mod(k×7,625),k的取值范围为0至624;
2、建立按时间抽取的625点DFT索引表:ROM2(k)=n1×125+n2×25+n3×5+n4,n1、n2、n3、n4的范围均为0至4;
3、对序列号为n的输入,变换后的索引号为:ROM2{ROM1([mod(n×268,625)]}+mod(n×4,7) ×625;
4、按ROM2{ROM1[mod(n×268,625)]}+mod(n×4,7)×625的映射关系,产生所有4375点输入序列的写地址,将数据存放至存储器RAM的对应单元中,完成对输入序列重新排序;
5、输入序列被分为7组,每组有625个数据。
结合图4来说明4375点输入混序单元3完成输入数据混序的方式。在4375点输入混序单元3进行混序的过程中,存储体ROM1和ROM2为4375点输入混序单元3提供存储空间。对ROM1和ROM2进行级联,ROM1和ROM2的大小均为625,输入为数据的自然顺序取625模之后的结果,输出为存储器的写入行地址:如果输入数据的自然顺序为0,则混序之后的行为0,列为0;如果输入数据的自然顺序为1,则经过ROM1变换后的索引号为268,再经过ROM2变换后的索引号为125,最终混序之后的行为125,列为4;如果输入数据的自然顺序为2,则经过ROM1变换后的索引号为536,在经过ROM2变换后的索引号为250,最终混序之后的行为250,列为1;并以此类推,完成对所有4375点输入数据的混序。
完成混序以后,开始进行数据运算,运算地址生成单元5、存储器阵列单元7、WFTA运算子系统8合作完成数据的运算过程。
对4375点进行数据运算的方法是完成7组长度为625点的较短序列进行DFT变换和625组长度为7点的较短序列进行DFT变换,并采用同址运算读取地址;
所述的对7组长度为625点的较短序列进行DFT变换的步骤如下:
1、对组号为i,序列号为n=i×625+j,即长度为625的较短序列进行DFT变换;其中i的值为0至6,j的值为0至624,并首先对内层的j进行循环,由于625=5×5×5×5,等效为4级基-5的FFT运算;
2、按(n1×(5^L)+n2)+n3×(5^(L+1))产生读地址,读取5个数据,进入旋转因子运算单元,乘以相应的旋转因子,然后进入WFTA计算单元,完成5点WFTA运算后的结果,按同址计算方式,存放到原来的地址。其中n1为最内层的循环计数,取值0至4;L为最外层的循环计数,取值为0至3;n2、n3为中间层的循环计数,n2取值0至(5^L)-1,n3取值0至(625/5^(L+1))-1;符号^,表示乘方运算;
3、组号i取值为0,按步骤1及步骤2完成一组625点DFT;并依此取值1至6,重复步骤1)及步骤2),共完成7组625点DFT;
所述的对625组长度为7点的较短序列进行DFT变换的步骤为:按关系n1×625+n2,产生读地址,读取7个数据,进入WFTA计算单元,做7点WFTA运算,结果按同址计算方式,存入原来地址;其中n1为最内层循环计数,取值0至6;n2为最外层循环计数,取值0至624。
WFTA运算子系统8的数量为7,7个WFTA运算子系统8并行运行,用来完成上述数据运算。每个WFTA运算子系统8内部所有的单元都采用流水线执行方式。WFTA运算子系统8由旋转因子地址生成单元81、旋转因子ROM单元82、旋转因子乘法器83、数据缓存单元84、WFTA计算单元85组成;数据缓存单元84实现数据并串、串并的变化;WFTA计算单元85实现小点数的DFT,遵循Winograd算法的常用实现形式,可以表述为X=ODIx:x为输入序列,长度可以为7,也可以为3、4或者5;X为WFTA计算的输出结果,长度和输入数据长度一致;共3个矩阵,I为输入矩阵,D为对角矩阵,O为输出矩阵。对于3点、4点、5点DFT,7个WFTA计算单元85都满负荷执行;矩阵最大支持7点WFTA运算,并向下兼容长度为3点、4点、5点的WFTA运算,对于7点DFT,仅1个WFTA计算单元85工作,其余6个WFTA计算单元85处于空闲状态。
运算地址生成单元5辅助WFTA运算子系统8完成DFT运算时用来生成地址;
如图5所示,是存储器阵列单元7的结构。存储器阵列单元7由7个互相独立的双端口存储体组成,分别是RAM0至RAM6,存储体的深度是625,每次时钟周期能够完成每次7个输入数据、7个输出数据的并行读写;此种存储器通过优化存储结构,在运算过程中实现了并行访问数据,保证了数据运算可以并行执行,处理器获得极高的数据吞吐率,完全满足DTMB接收机的信道均衡迭代算法的要求。对应不同点数的DFT在存储体中存储的方式如下:处理7点DFT运算时,逐行、每次从每个存储体中读取1个数据,组成7点WFTA运算子系统的输入,计算所得结果再按原址,存回7个存储体中;处理5点DFT运算时,根据运算地址单元生成的地址,以流水线的方式,从每个存储体中分别读出5个数据,作为WFTA运算子系统的输入,结果存回原址,由于7个存储体相互独立,数据并行度同样保持为7。
完成数据运算后,如果需要按自然顺序输出,需要再次混序,由4375点输出混序单元6完成输出混序的过程,如图6所示。在完成输出混序时,按关系mod(268×n,625)+mod(n×4,7)×625产生读地址,从RAM单元中输出数据,将ROM4和ROM5中的数据进行级联,即为4375点FFT/IFFT结果。
输出共轭单元2完成共轭后,即完成了对4375点FFT/IFFT的处理。
实施例二:本实施例是3780点在处理器中运算处理的方式:
3780点的分解方式如图1所示,首先分解为140×27,其中140和27互素,140继续用素因子分解算法分解为4×5×7,而27采用混合基分解为3×3×3。将3780点设为N点,第一层按照素因子分解为N1×N2,N1与N2互素;N1按照混合基分解,分解成的基是P1;N2按照素因子分解,分解成的结果是Q2,Q2可能包含有多个数;对应3780点,N1是27,N2是140,P1是3,Q2是3、5、7。以图3所示的流程完成混序以及数据运算程序的编写。
输入共轭单元1对输入的数据进行共轭。
完成共轭后,3780点输入混序单元4对输入数据进行混序,步骤如下:
1、对长度为3780、自然顺序排序的输入序列X(n)进行分组和索引变换;建立码位倒置的540点DFT索引表:ROM3(k)=540×n2+(20×n1+4×n3+n4),其中n2为最内层循环,取值0至6;n1,n3、n4为外层循环,取值分别为n1=mod(n×11,27),n2=mod(n,5),n3=mod(n,4),n的范围为0至539;
2、按步骤1所示的映射关系,产生所有3780点输入序列的地址,将数据存放至存储器RAM的对应单元中,完成对输入序列重新排序;
3、输入序列被分为7组,每组有540个数据。
完成混序以后,开始进行数据运算,运算地址生成单元5、存储器阵列单元7、WFTA运算子系统8合作完成数据的运算过程。
对3780点进行数据运算的方法是完成140组长度为27点的较短序列进行DFT变换、945组长度为4点的较短序列进行DFT变换、756组长度为5点的较短序列进行DFT变换、540组长度为7点的较短序列进行DFT变换,并采用同址运算读取地址;
所述的140组长度为27点的较短序列进行DFT变换的步骤如下:
1、按20×n1+n2+540×n3产生读地址,从RAM中读取27个数据;n1为最内层循环计数,取值0至26;n2为此外层循环计数,取值0至19;n3为外层循环计数,取值0至6;由于27=3×3×3,等效为3级基-3的FFT运算;
2、建立码位倒置的27点DFT索引表:ROM4(k)=mod(k×5,27),k的取值范围为0至26;
3、建立按时间抽取的27点DFT索引表:ROM5(k)=m1×9+m2×3+m3,m1、m2、m3的取值为0到2;
4、对步骤1建立的序列长度为27、序列号为i的输入,变换索引号:j=ROM5[ROM4(i)];其中i为输入序列的索引号,取值为0到26;j为变换之后的索引号;
5、对重新排序后的序列,进行长度为27的混合基FFT变换;
所述的945组长度为4的较短序列进行DFT变换的步骤如下:
1.按n1+4×n2+540×n3产生读地址,从RAM中读取4个数据;其中n1为最内层循环计数,取值0至3;n2为次外层循环计数,取值为0至134;n3为外层循环计数,取值0至6;
2.将步骤3.1读取的4个数据输入WFTA计算单元,进行4点WFTA运算,结果按同址计算方式,存回原地址;
所述的756组长度为5的较短序列进行DFT变换的步骤如下:
1.按n1×4+n2+n3×20+540×n4产生读地址,从RAM中读取5个数据。n1为最内层循环计数,取值0至4;n2为次外层循环计数,取值为0至3;n3为次外层循环计数,取值0至26;n4为次外层循环计数,取值0至6;
2.将步骤4.1读取的5个数据输入WFTA计算单元,进行5点WFTA运算,结果按同址计算方式,存回原地址;
所述的540组长度为7的较短序列进行DFT变换的步骤如下:
1.按540×n1+n2产生读地址,从RAM中读取7个数据。n1为最内层循环计数,取值0至6;n2为最外层循环计数,取值0至539;
2.将步骤5.1读取的7个数据输入WFTA计算单元,进行7点WFTA运算,结果按同址计算方式,存回原地址。
在数据运算的过程中,运算地址生成单元5、存储器阵列单元7和7个并行的WFTA运算子系统8的作用和处理4375点数据时一样。
完成3780点数据运算后,无需进行混序。按自然排序,从RAM单元中输出数据,即为3780点FFT/IFFT结果。
输出共轭单元2完成共轭后,即完成了对3780点FFT/IFFT的处理。
不同于基于混合基算法实现的3780点FFT/IFFT处理器,本发明在FFT/IFFT变换的第一层采用素因子算法分解4375点和3780点,完全消除了第一级间的旋转因子。底层用相同的WFTA算法,完成4375点FFT/IFFT需要的5点、7点DFT计算,以及3780点FFT/IFFT需要的3点、4点、5点、7点DFT计算,即只要拥有支持3点、4点、5点、7点的基本WFTA计算单元,即可支持4375点和3780点的计算。设计了配套的二维存储器阵列,以及映射关系完全没有冲突的地址生成单元,保证了各级运算过程中,数据能够以较高的并行度被读取,并严格遵循同址寻址方式被写回。
以上所述的并行结构的存储阵列单元、WFTA运算子系统为处理器提供了并行计算能力。配套设计的运算地址生成单元,保证了各级计算过程中严格遵循同址寻址方式,使得这种并行能力最终得以实现。输入序列经过输入混序单元重新分组、排序之后,在FFT/IFFT各级运算的读写过程中,地址的映射关系完全无冲突,可以按原址存放规则,获得最大的数据并行度。

Claims (2)

1.一种支持4375点和3780点FFT/IFFT处理器,包括共轭系统、输入混序系统、输出混序系统、存储系统、运算地址生成系统和运算系统,其特征在于:所述的共轭系统包括输入共轭单元(1)和输出共轭单元(2);所述的输入混序系统包括4375点输入混序单元(3)、3780点输入混序单元(4);所述的输出混序系统包括4375点输出混序单元(5);所述的存储系统包括存储器阵列单元(7);所述的运算地址生成系统包括运算地址生成单元(5);所述的运算系统包括7个并行的WFTA运算子系统(8);
所述4375点输入混序单元(3)拥有两个存储体ROM1(31)和ROM2(32),ROM1(31)和ROM2(32) 深度为625;所述3780点输入混序单元(4)拥有一个存储体ROM3(41),ROM3(41) 深度为625;所述4375点输出混序单元(5)拥有两个存储体ROM4(61)和ROM5(62),ROM4(61)和ROM5(62) 深度为625;所述的存储器阵列单元(7)由7个互相独立的双端口存储体组成,存储体的深度为625,使用这种存储器的处理器具有两种方式的并行性。
2.如权利要求1所述的一种支持4375点和3780点FFT/IFFT处理器,其特征在于:所述的WFTA运算子系统(8)由旋转因子地址生成单元(81)、旋转因子ROM单元(82)、旋转因子乘法器(83)、数据缓存单元(84)、WFTA计算单元(85)组成; WFTA运算子系统(8)内部所有的单元都采用流水线执行方式。
CN201510404839.6A 2015-07-13 2015-07-13 一种支持4375点和3780点fft/ifft的处理器 Active CN106339353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510404839.6A CN106339353B (zh) 2015-07-13 2015-07-13 一种支持4375点和3780点fft/ifft的处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510404839.6A CN106339353B (zh) 2015-07-13 2015-07-13 一种支持4375点和3780点fft/ifft的处理器

Publications (2)

Publication Number Publication Date
CN106339353A CN106339353A (zh) 2017-01-18
CN106339353B true CN106339353B (zh) 2019-04-09

Family

ID=57825849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510404839.6A Active CN106339353B (zh) 2015-07-13 2015-07-13 一种支持4375点和3780点fft/ifft的处理器

Country Status (1)

Country Link
CN (1) CN106339353B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201998B (zh) * 2016-07-18 2018-06-29 晶晨半导体(上海)股份有限公司 非基2点多数据模式fft的实现方法和装置
CN108255785B (zh) * 2018-02-14 2021-02-23 中国科学院电子学研究所 一种优化fft混合基算法的对称二叉树分解方法
CN112511480B (zh) * 2020-11-10 2022-11-01 展讯半导体(成都)有限公司 二次fft或ifft变换方法及相关产品
CN114356408A (zh) * 2021-01-29 2022-04-15 展讯半导体(成都)有限公司 处理基为12倍数点dft的方法、设备、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913514A (zh) * 2006-09-14 2007-02-14 上海交通大学 3780点傅立叶变换调制方法和装置及其解调方法和装置
CN101763337A (zh) * 2008-12-25 2010-06-30 上海明波通信技术有限公司 N点fft/ifft/ifft/ifft方法和装置
CN102419741A (zh) * 2011-11-30 2012-04-18 中国传媒大学 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法
CN102880592A (zh) * 2012-10-09 2013-01-16 苏州威士达信息科技有限公司 一种顺序输出的高精度3780点fft处理装置和方法
CN103176949A (zh) * 2011-12-20 2013-06-26 中国科学院深圳先进技术研究院 实现fft/ifft变换的电路及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763338B (zh) * 2010-01-08 2012-07-11 浙江大学 一种点数可变的混合基fft/ifft实现装置及其方法
CN102214159A (zh) * 2010-11-11 2011-10-12 福州大学 一种实现3780点fft/ifft的方法及其处理器
CN102298570A (zh) * 2011-09-13 2011-12-28 浙江大学 一种点数可变的混合基 fft/ifft实现装置及其方法
CN103034621B (zh) * 2012-12-13 2015-08-19 合肥工业大学 基2×k并行fft架构的地址映射方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913514A (zh) * 2006-09-14 2007-02-14 上海交通大学 3780点傅立叶变换调制方法和装置及其解调方法和装置
CN101763337A (zh) * 2008-12-25 2010-06-30 上海明波通信技术有限公司 N点fft/ifft/ifft/ifft方法和装置
CN102419741A (zh) * 2011-11-30 2012-04-18 中国传媒大学 一种基于同址同序素因子算法的3780点离散傅里叶变换处理装置和方法
CN103176949A (zh) * 2011-12-20 2013-06-26 中国科学院深圳先进技术研究院 实现fft/ifft变换的电路及方法
CN102880592A (zh) * 2012-10-09 2013-01-16 苏州威士达信息科技有限公司 一种顺序输出的高精度3780点fft处理装置和方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
3780点FFT处理器的研究;杨旭霞等;《电路与应用》;20051231(第11期);第32-34页 *
DTMB系统中3780点FFT处理器的算法设计及FPGA实现;余飞;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20090531;第2009(年)卷(第5期);第I135-310页 *
DTMB系统中FFT处理器的复用设计;余飞等;《数字电视》;20091231;第33卷(第S1期);第28-30页 *
余飞.DTMB系统中3780点FFT处理器的算法设计及FPGA实现.《中国优秀硕士学位论文全文数据库(信息科技辑)》.2009,第2009(年)卷(第5期),第I135-310页. *
高速3780点FFT处理器的设计与实现;解春云等;《电视技术》;20121231;第36卷(第5期);第1-5页 *

Also Published As

Publication number Publication date
CN106339353A (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN106339353B (zh) 一种支持4375点和3780点fft/ifft的处理器
CN101136891B (zh) 流水线结构的3780点快速傅里叶变换处理器
KR20090018042A (ko) 파이프라인 고속 푸리에 변환 구조 및 방법
CN1909529B (zh) 3780点离散傅立叶变换处理器
Nikitopoulos et al. Massively parallel tree search for high-dimensional sphere decoders
CN101894096A (zh) 一种适用于cmmb和dvb-h/t的fft运算电路结构
CN102214159A (zh) 一种实现3780点fft/ifft的方法及其处理器
EP2144172A1 (en) Computation module to compute a multi radix butterfly to be used in DTF computation
CN103020015A (zh) 点数为非2次幂的离散傅里叶变换快速计算的实现方法
CN103248465A (zh) 一种终端处理装置以及终端处理方法
EP2144174A1 (en) Parallelized hardware architecture to compute different sizes of DFT
US20170195281A1 (en) Methods and Apparatus for Twiddle Factor Generation for Use with a Programmable Mixed-Radix DFT/IDFT Processor
EP2144173A1 (en) Hardware architecture to compute different sizes of DFT
CN111356151B (zh) 一种数据处理方法及装置、计算机可读存储介质
Nash High-throughput programmable systolic array FFT architecture and FPGA implementations
CN104360986B (zh) 一种并行化矩阵求逆硬件装置的实现方法
US11829322B2 (en) Methods and apparatus for a vector memory subsystem for use with a programmable mixed-radix DFT/IDFT processor
Liao et al. A cost-effective adaptive overlapped cluster-based MIMO detector in a frequency domain reconfigurable modem
CN105608054A (zh) 基于lte系统的fft/ifft变换装置及方法
CN102880592A (zh) 一种顺序输出的高精度3780点fft处理装置和方法
CN1823333A (zh) 重新编码的基-2流水线fft处理器
Chen et al. High throughput and hardware efficient FFT architecture for LTE application
Orozco-Galvan et al. Reconfigurable architecture based on FPGA for OFDM transmitter
Locharla et al. Implementation of MIMO data reordering and scheduling methodologies for eight‐parallel variable length multi‐path delay commutator FFT/IFFT
Wu et al. Reconfigurable Hyper-Parallel Fast Fourier Transform Processor based on Bit-Serial Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Wu Lixi

Inventor after: Ge Jue

Inventor before: Wu Lixi

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 214135 -6, Linghu Avenue, Wuxi Taihu international science and Technology Park, Wuxi, Jiangsu, China, 180

Patentee after: China Resources micro integrated circuit (Wuxi) Co., Ltd

Address before: No.180-22, Linghu Avenue, Taihu International Science and Technology Park, Wuxi 214000, Jiangsu Province

Patentee before: WUXI CHINA RESOURCES SEMICO Co.,Ltd.

CP03 Change of name, title or address