非流水线式快速傅立叶转换处理器及其运算控制方法与流程

文档序号:11177104阅读:343来源:国知局
非流水线式快速傅立叶转换处理器及其运算控制方法与流程

本发明是有关于一种快速傅立叶转换处理器,且特别是有关于一种非流水线式快速傅立叶转换处理器及其运算控制方法。



背景技术:

由于具有传输效率或频谱效率高、抗多径干扰能力强、信号通道估计性能良好、适于移动接收等优势,地面数字多媒体/电视广播系统(dtmb)逐渐成为中国的数字多媒体/电视传输标准。并且,3780点傅立叶转换(fft)和逆傅立叶转换(ifft)模块已成为中国地面数字多媒体/电视广播系统的重要模块之一。由于上述模块无法直接利用成熟的基2(base-2)和基4(base-4)等演算法进行转换,因此3780点傅立叶转换和逆傅立叶转换模块需要一个具有好的计算效率和合理的硬件资源的演算法和硬件电路实现方法。



技术实现要素:

本发明提供一种非流水线式快速傅立叶转换处理器及其运算控制方法,非流水线式快速傅立叶转换处理器可降低的硬件成本。

本发明的非流水线式快速傅立叶转换处理器,包括一控制逻辑电路、一第一处理核心及一第二处理核心。第一处理核心耦接控制逻辑电路。第二处理核心耦接控制逻辑电路及第一处理核心。控制逻辑电路分别提供一第一控制指令以及一第二控制指令至第一处理核心及第二处理核心。第一处理核心接收多个同相运算数据及来自第二处理核心之多个正交中间数据,且受控于第一控制指令以依据这些同相运算数据及这些正交中间数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,并且依序提供多个同相中间数据及多个同相转换数据。第二处理核心接收多个正交运算数据及这些同相中间数据,且受控于第二控制指令以依据这些正交运算数据及这些同相中间数据进行3点、4点、5点、7点及9点快速傅立叶转换,并且依序提供这些正交中间数据及多个正交转换数据。

本发明的非流水线式快速傅立叶转换处理器的运算控制方法,包括下列步骤。透过一控制逻辑电路分别提供一第一控制指令以及一第二控制命令至一第一处理核心及一第二处理核心。透过第一控制指令控制第一处理核心,且第一处理核心依据多个同相运算数据及来自第二处理核心的多个正交中间数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,以依序提供多个同相中间数据及多个同相转换数据。透过第二控制指令控制第二处理核心,且第二处理核心依据多个正交运算数据及这些同相中间数据进行3点、4点、5点、7点及9点快速傅立叶转换,且依序提供这些正交中间数据及多个正交转换数据。

基于上述,由于非流水线式快速傅立叶转换处理器不需要缓存中间结果,本发明非流水线式快速傅立叶转换处理器及其运算控制方法,可减少大量的存储器使用。并且,本发明的第一处理核心及第二处理核心是完全重复使用,亦即第一处理核心及第二处理核心都可以进行3点、4点、5点、7点及9点快速傅立叶转换,因此可节省电路的逻辑门数目。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。

附图说明

图1为依据本发明一实施例的非流水线式快速傅立叶转换处理器的系统示意图。

图2为依据本发明一实施例的第一处理核心及第二处理核心的系统示意图。

图3为依据本发明一实施例的第一处理核心执行同相运算数据的5点快速傅立叶转换的运算控制时序示意图。

图4为依据本发明一实施例的第二处理核心执行正交运算数据的5点快速傅立叶转换的运算控制时序示意图。

图5为依据本发明一实施例的非流水线式快速傅立叶转换处理器的运算控制方法的流程图。

附图标记说明

100:非流水线式快速傅立叶转换处理器

110:状态主控电路

120:输入输出控制电路

130:储存单元

140:地址映射电路

150:第一缓存电路

160:第一处理核心

170:第二处理核心

180:控制逻辑电路

190:第二缓存电路

210:第一加法器阵列

220:第一乘法器阵列

230:第一寄存器组

240:第二加法器阵列

250:第二乘法器阵列

260:第二寄存器组

a11、a21:第一加法器

a11、a21:第一相加结果

a12、a22:第二加法器

a12、a22:第二相加结果

a13、a23:第三加法器

a13、a23:第三相加结果

a14、a24:第四加法器

a14、a24:第四相加结果

a15、a25:第五相加结果

a16、a26:第六相加结果

a17、b27:第七相加结果

a18、a28:第八相加结果

b11、b21:第一相减结果

b12、b22:第二相减结果

b13、b23:第三相减结果

b14、b24:第四相减结果

b15、b25:第五相减结果

b16、b26:第六相减结果

b17、b27:第七相减结果

b18、b28:第八相减结果

b19、b29:第九相减结果

cm1:第一控制指令

cm2:第二控制指令

d1~d3780:输入数据

dib:同相中间数据

doi:同相运算数据

doq:正交运算数据

dqb:正交中间数据

dti:同相转换数据

dtq:正交转换数据

i1、q1:第一运算数据

i2、q2:第二运算数据

i3、q3:第三运算数据

i4、q4:第四运算数据

i5、q5:第五运算数据

ib1:第一同相中间数据

ib2:第二同相中间数据

it1:第一同相转换数据

it2:第二同相转换数据

it3:第三同相转换数据

it4:第四同相转换数据

it5:第五同相转换数据

m11、m21:第一相乘结果

m11、m21:第一乘法器

m12、m22:第二相乘结果

m12、m22:第二乘法器

m13、m23:第三相乘结果

m13、m23:第三乘法器

m14、m24:第四相乘结果

m15、m25:第五相乘结果

qb1:第一正交中间数据

qb2:第二正交中间数据

qt1:第一正交转换数据

qt2:第二正交转换数据

qt3:第三正交转换数据

qt4:第四正交转换数据

qt5:第五正交转换数据

r11、r21:第一寄存器

r12、r22:第二寄存器

r13、r23:第三寄存器

r14、r24:第四寄存器

r15、r25:第五寄存器

r16、r26:第六寄存器

步骤s510、s520、s530:

具体实施方式

图1为依据本发明一实施例的非流水线式快速傅立叶转换处理器的系统示意图。请参照图1,在本实施例中,非流水线式快速傅立叶转换处理器100包括状态主控电路110、输入输出控制电路120、储存单元130、地址映射电路140、第一缓存电路150、第一处理核心160、第二处理核心170、控制逻辑电路180及第二缓存电路190。

状态主控电路110耦接输入输出控制电路120及地址映射电路140,以控制输入输出控制电路120及地址映射电路140的数据读取及数据传送的动作。输入输出控制电路120耦接储存单元130及状态主控电路110,并且接收3780点输入数据d1~d3780,以受控于状态主控电路110储存或读取3780点输入数据d1~d3780于储存单元130。地址映射电路140耦接储存单元130及状态主控电路110,受控于状态主控电路110读取储存单元130,以提供同相运算数据doi及正交运算数据doq,进而储存同相转换数据dti及正交转换数据dtq于储存单元130。

第一缓存电路150耦接地址映射电路140、第一处理核心160及第二处理核心170,以缓存同相运算数据doi及正交运算数据doq。第一处理核心160耦接第一缓存电路150、第二处理核心170及控制逻辑电路180,以接收来自第一缓存电路150的同相运算数据doi、来自第二处理核心170之多个正交中间数据dqb及控制逻辑电路180提供的第一控制指令cm1。第二处理核心170耦接第一缓存电路150、第一处理核心160及控制逻辑电路180,以接收来自第一缓存电路150的正交运算数据doq、来自第一处理核心160之多个同相中间数据dib及控制逻辑电路180提供的。

在本实施例中,是利用质数因数演算法(primefactoralgorithm,pfa)将3780点(对应3780点输入数据d1~d3780)分解成35点和108点,再分别将35点分解成5点和7点;108点分解成4点和27点,最后将27点分解成9点和3点。换言之,透过质数因数演算法,第一处理核心160及第二处理核心170执行3点、4点、5点、7点及9点快速傅立叶转换就可以转换完3780点输入数据d1~d3780。其中,3、4、5及7为互质,因此不需要旋转因数,但是3及9不互质,因此需要27个(亦即9×3)旋转因数。

因此,第一处理核心160会受控于第一控制指令cm1以依据同相运算数据doi及正交中间数据dqb依序进行3点、4点、5点、7点及9点快速傅立叶转换,并且依序提供多个同相中间数据dib及多个同相转换数据dti;同样地,第二处理核心170也会受控于第二控制指令cm2以依据正交运算数据doq及同相中间数据dib进行3点、4点、5点、7点及9点快速傅立叶转换,并且依序提供正交中间数据dqb及多个正交转换数据dtq。其中,第一处理核心160及第二处理核心170可利用winogradsmall-n算法进行3点、4点、5点、7点及9点快速傅立叶转换。

第二缓存电路190耦接地址映射电路140、第一处理核心160及第二处理核心170,以缓存同相转换数据dti及正交转换数据dtq。

依据上述,由于非流水线式快速傅立叶转换处理器100不需要缓存中间结果,可减少大量的存储器使用。并且,本发明的第一处理核心160及第二处理核心170是完全重复使用,亦即第一处理核心160及第二处理核心170都可以进行3点、4点、5点、7点及9点快速傅立叶转换,因此可节省非流水线式快速傅立叶转换处理器100的逻辑门数目。

图2为依据本发明一实施例的第一处理核心及第二处理核心的系统示意图。请参照图1及图2,在本实施例中,第一处理核心160包括第一加法器阵列210、第一乘法 器阵列220及第一寄存器组230。第一寄存器组230耦接控制逻辑电路180,且受控于第一控制指令cm1依序提供同相中间数据dib至第二处理核心170及输出同相转换数据dti。

第一加法器阵列210耦接控制逻辑电路180及第一寄存器组230,且接收同相运算数据doi及正交中间数据dqb。第一加法器阵列受控于第一控制指令cm1对同相运算数据doi、正交中间数据dqb及第一寄存器组230的数据进行加法运算,并且将相加结果储存于第一寄存器组230中。第一乘法器阵列220耦接控制逻辑电路180及第一寄存器组230,且受控于第一控制指令cm1对第一寄存器230的数据进行乘法运算,并且将相乘结果储存于第一寄存器组230中。

第二处理核心170包括第二加法器阵列240、第二乘法器阵列250及第二寄存器组260。第二寄存器组260耦接控制逻辑电路180,且受控于第二控制指令cm2依序提供正交中间数据dqb至第一处理核心160及输出正交转换数据dtq。第二加法器阵列240耦接控制逻辑电路180及第二寄存器组260,且接收正交运算数据doq及同相中间数据dib。第二加法器阵列240受控于第二控制指令cm2对正交运算数据doq、同相中间数据dib及第二寄存器260的数据进行加法运算,并且将相加结果储存于第二寄存器组260中。

第二乘法器阵列250耦接控制逻辑电路180及第二寄存器组260,且受控于第二控制指令cm2对第二寄存器260的数据进行乘法运算,并且将相乘结果储存于第二寄存器组260中。

图3为依据本发明一实施例的第一处理核心执行同相运算数据的5点快速傅立叶转换的运算控制时序示意图。请参照图2及图3,在本实施例中,每一行(row)代表一个资源,每一列(column)代表一个运算时脉期间,每一列的运算及储存动作则对应一个第一控制指令cm1,并且第一处理核心160执行同相运算数据doi的5点快速傅立叶转换。

同相运算数据doi包括第一运算数据i1、第二运算数据i2、第三运算数据i3、第四运算数据i4及第五运算数据i5,正交中间数据dqb包括第一正交中间数据qb1及第二正交中间数据qb2,第一加法器阵列210包括第一加法器a11、第二加法器a12、第三加法器a13及第四加法器a14,第一乘法器阵列220包括第一乘法器m11、第二乘法器m12、第三乘法器m13,第一寄存器组230包括第一寄存器r11、第二寄存器r12、第三寄存器r13、第四寄存器r14、第五寄存器r15及第六寄存器r16。

在第一运算时脉期间(标记为“0”),第一加法器a11将第二运算数据i2与第五运算数据i5的第一相加结果a11储存于第一寄存器r11,第二加法器a12将第二运算数据i2减去第五运算数据i5后的第一相减结果b11储存于第二寄存器r12,第三加法器a13将第三运算数据i3与第四数据i4的第二相加结果a12储存于第三寄存器r13,第四加法器a14将第三运算数据i3减去第四数据i4后的第二相减结果b12储存于第四寄存器r14。

在第二运算时脉期间(标记为“1”),第一加法器a11将第二寄存器r12的第一相减结果b11与第四寄存器r14的第二相减结果b12的第三相加结果a13储存于第一寄存器r11,第二加法器a12将第一寄存器r11的第一相加结果a11减去第三寄存器r13的第二相加结果a12后的第三相减结果b13储存于第二寄存器r12,第三加法器a13将第一寄存器r11的第一相加结果a11与第三寄存器r13的第二相加结果a12的第四相加结果a14储存于第三寄存器r13,第一乘法器m11将第二寄存器r12的第一相减结果b11乘以786的第一相乘结果m11储存于第四寄存器r14,第二乘法器m12将第四寄存器r14的第二相减结果b12乘以186的第二相乘结果m12储存于第五寄存器r15。

在第三运算时脉期间(标记为“2”),第一加法器a11将第一运算数据i1与第三寄存器r13的第四相加结果a14的第五相加结果a15储存于第一寄存器r11,第一乘法器m11将第一寄存器r11的第三相加结果a13乘以486的第三相乘结果m13储存于第二寄存器r12,第二乘法器m12将第二寄存器r12的第三相减结果b13乘以286的第四相乘结果m14储存于第三寄存器r13,第三乘法器m13将第三寄存器r13的第四相加结果a14乘以128的第五相乘结果m15储存于第六寄存器r16。

在第四运算时脉期间(标记为“3”),第一加法器a11将第一运算数据i1减去第六寄存器r16的第五相乘结果m15后的第四相减结果b14储存于第二寄存器r12,第二加法器a12将第二寄存器r12的第三相乘结果m13减去第五寄存器r15的第二相乘结果m12后的第五相减结果b15储存于第四寄存器r14,第三加法器a13将第四寄存器r14的第一相乘结果m11减去第二寄存器r12的第三相乘结果m13的第六相减结果b16储存于第五寄存器r15。其中,第五相减结果b15及第六相减结果b16被提供以作为同相中间数据qib的第一同相中间数据ib1及第二同相中间数据ib2。

在第五运算时脉期间(标记为“4”),第一加法器a11将第二寄存器r12的第四相减结果b14与第三寄存器r13的第四相乘结果m14的第六相加结果a16储存于第二寄 存器r12,第二加法器a12将第二寄存器r12的第四相减结果b14减去第三寄存器r13的第四相乘结果m14后的第七相减结果b17储存于第三寄存器r13。

在第六运算时脉期间(标记为“5”),第一加法器a11将第二寄存器r12的第六相加结果a16与第一正交中间数据qb1的第七相加结果a17储存于第二寄存器r12,第二加法器a12将第三寄存器r13的第七相减结果b17与第二正交中间数据qb2的第八相加结果a18储存于第三寄存器r13,第三加法器a13将第三寄存器r13的第七相减结果b17减去第二正交中间数据qb2后的第八相减结果b18储存于第四寄存器r14,第四加法器a14将第二寄存器r12的第六相加结果a16减去第一正交中间数据qb1后的第九相减结果b19储存于第四寄存器r14。

其中,在第六运算时脉期间后,第五相加结果a15、第七相加结果a17、第八相加结果a18、第八相减结果b18及九相减结果b19被提供以作为同相转换数据dti中的第一同相转换数据it1、第二同相转换数据it2、第三同相转换数据it3、第四同相转换数据it4及第五同相转换数据it5。并且,第一运算时脉期间(标记为“0”)、第二运算时脉期间(标记为“1”)、第三运算时脉期间(标记为“2”)、第四运算时脉期间(标记为“3”)、第五运算时脉期间(标记为“4”)、第六运算时脉期间(标记为“5”)为依序排列。

图4为依据本发明一实施例的第二处理核心执行正交运算数据的5点快速傅立叶转换的运算控制时序示意图。请参照图2至图4,在本实施例中,每一行(row)代表一个资源,每一列(column)代表一个运算时脉期间,每一列的运算及储存动作则对应一个第二控制指令cm2,并且第二处理核心170执行正交运算数据doq的5点快速傅立叶转换。

正交运算数据doq包括第一运算数据q1、第二运算数据q2、第三运算数据q3、第四运算数据q4及第五运算数据q5,同相中间数据dib包括第一同相中间数据ib1及第二同相中间数据ib2,第一加法器阵列210包括第一加法器a21、第二加法器a22、第三加法器a23及第四加法器a24,第一乘法器阵列220包括第一乘法器m21、第二乘法器m22、第三乘法器m23,第一寄存器组230包括第一寄存器r21、第二寄存器r22、第三寄存器r23、第四寄存器r24、第五寄存器r25及第六寄存器r26。

在第一运算时脉期间(标记为“0”),第一加法器a21将第二运算数据q2与第五运算数据q5的第一相加结果a21储存于第一寄存器r21,第二加法器a22将第二运算数据q2减去第五运算数据q5后的第一相减结果b21储存于第二寄存器r22,第三 加法器a23将第三运算数据q3与第四数据q4的第二相加结果a22储存于第三寄存器r23,第四加法器a24将第三运算数据q3减去第四数据q4后的第二相减结果b22储存于第四寄存器r24。

在第二运算时脉期间(标记为“1”),第一加法器a21将第二寄存器r22的第一相减结果b21与第四寄存器r24的第二相减结果b22的第三相加结果a23储存于第一寄存器r21,第二加法器a22将第一寄存器r21的第一相加结果a21减去第三寄存器r23的第二相加结果a22后的第三相减结果b23储存于第二寄存器r22,第三加法器a23将第一寄存器r21的第一相加结果a21与第三寄存器r23的第二相加结果a22的第四相加结果a24储存于第三寄存器r23,第一乘法器m21将第二寄存器r22的第一相减结果b21乘以786的第一相乘结果m21储存于第四寄存器r24,第二乘法器m22将第四寄存器r24的第二相减结果b22乘以186的第二相乘结果m22储存于第五寄存器r25。

在第三运算时脉期间(标记为“2”),第一加法器a21将第一运算数据q1与第三寄存器r23的第四相加结果a24的第五相加结果a25储存于第一寄存器r21,第一乘法器m21将第一寄存器r21的第三相加结果a23乘以486的第三相乘结果m23储存于第二寄存器r22,第二乘法器m22将第二寄存器r22的第三相减结果b23乘以286的第四相乘结果m24储存于第三寄存器r23,第三乘法器m23将第三寄存器r23的第四相加结果a24乘以128的第五相乘结果m25储存于一第六寄存器r26。

在第四运算时脉期间(标记为“3”),第一加法器a21将第一运算数据q1减去第六寄存器r26的第五相乘结果m25后的第四相减结果b24储存于第二寄存器r22,第二加法器a22将第二寄存器r22的第三相乘结果m23减去第五寄存器r25的第二相乘结果m22后的第五相减结果b25储存于第四寄存器r24,第三加法器a23将第四寄存器r24的第一相乘结果m21减去第二寄存器r22的第三相乘结果m23的第六相减结果b26储存于第五寄存器r25。其中,第五相减结果b25及第六相减结果b26被提供以作为正交中间数据dqb的第一正交中间数据qb1及第二正交中间数据qb2。

在第五运算时脉期间(标记为“4”),第一加法器a21将第二寄存器r22的第四相减结果b24与第三寄存器r23的第四相乘结果m24的第六相加结果a26储存于第二寄存器r22,第二加法器a22将第二寄存器r22的第四相减结果b24减去第三寄存器r23的第四相乘结果m24后的第七相减结果b27储存于第三寄存器r23。

在第六运算时脉期间(标记为“5”),第一加法器a21将第二寄存器r22的第六相加结果a26减去第一同相中间数据ib1后的第八相减结果b28储存于第二寄存器r22,第二加法器a22将第三寄存器r23的第七相减结果b27减去第二同相中间数据ib2后的第九相减结果b29储存于第三寄存器r23,第三加法器a23将第三寄存器r23的第七相减结果b27与第二同相中间数据ib2的第七相加结果a27储存于第四寄存器r24,第四加法器a24将第二寄存器r22的第六相加结果a26与第一同相中间数据ib1的第八相加结果a28储存于第四寄存器r24。

其中,在第六运算时脉期间后,第五相加结果a25、第八相减结果b28、第九相减结果b29、第七相加结果a27及第八相加结果a28被提供以作为正交转换数据dtq中的第一正交转换数据qt1、第二正交转换数据qt2、第三正交转换数据qt3、第四正交转换数据qt4及第五正交转换数据qt5。并且,第一运算时脉期间(标记为“0”)、第二运算时脉期间(标记为“1”)、第三运算时脉期间(标记为“2”)、第四运算时脉期间(标记为“3”)、第五运算时脉期间(标记为“4”)、第六运算时脉期间(标记为“5”)为依序排列。

图5为依据本发明一实施例的非流水线式快速傅立叶转换处理器的运算控制方法的流程图。请参照图1,在本实施例中,运算控制方法包括下列步骤。首先,会透过一控制逻辑电路分别提供一第一控制指令以及一第二控制命令至一第一处理核心及一第二处理核心(步骤s510)。接着,透过第一控制指令控制第一处理核心,且第一处理核心依据多个同相运算数据及来自第二处理核心的多个正交中间数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,以依序提供多个同相中间数据及多个同相转换数据(步骤s520)。最后,透过第二控制指令控制第二处理核心,且第二处理核心依据多个正交运算数据及这些同相中间数据进行3点、4点、5点、7点及9点快速傅立叶转换,且依序提供这些正交中间数据及多个正交转换数据(步骤s530)。其中,步骤s510、s520及s530的顺序为用以说明,本发明实施例不以此为限。并且,步骤s510、s520及s530的细节可参照图1、图2、图3及图4实施例所示,在此则不再赘述。

综上所述,本发明非流水线式快速傅立叶转换处理器及其运算控制方法,由于非流水线式快速傅立叶转换处理器不需要缓存中间结果,可减少大量的存储器使用。并且,本发明的第一处理核心及第二处理核心是完全重复使用,亦即第一处理核心及第 二处理核心都可以进行3点、4点、5点、7点及9点快速傅立叶转换,因此可节省电路的逻辑门数目。

虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求所界定者为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1