一种矢量运算核以及矢量处理器的制造方法

文档序号:6512553阅读:270来源:国知局
一种矢量运算核以及矢量处理器的制造方法
【专利摘要】本发明公开了一种矢量运算核和矢量处理器,矢量运算核采用两个三输入加法器与四个数据取反器,使输入加法器的数据能够灵活地取反。矢量处理器中除了设有上述的矢量运算核外,还包括控制单元,控制矢量运算核中的选择器和取反器,本发明的矢量处理器可以实现同时支持基2,基3,基5快速傅里叶里种的蝴蝶运算。本发明的矢量运算核可以广泛应用于多模兼容的移动终端芯片中的可编程矢量处理器设计中。
【专利说明】—种矢量运算杨以及矢量处理器

【技术领域】
:
[0001]本发明属于芯片设计中的矢量处理器(vector processor)领域,具体涉及一种实现快速傅里叶(Fast-Fourier Transform)中的蝴蝶运算的矢量运算器。

【背景技术】
:
[0002]目前通信协议有GSM、UMTS、WLAN、TD-SCDMA和LTE等等多种模式,采用原有的ASIC设计方法来实现多模兼容的移动终端芯片必然面临面积大且缺乏灵活性等等缺点。当前的SDR (软件无线电software-defined rad1)技术是解决目前多模通信终端芯片设计问题的极具潜力的技术。可编程矢量处理器(programmable vector processor)是SDR技术的核心架构。为了支持多模基带的处理,矢量处理器必须能每秒执行数G操作,并且作为移动终端需要满足功耗在几百mW左右。
[0003]其中的运算单元是矢量处理器的核心运算部分,其性能决定了整个处理器性能,其功耗也占到处理器近一半的功耗,其设计和实现非常关键。
[0004]矢量运算器可以有很多结构,可以实现一般乘法、加法、乘加,还可以实现复数乘法、加法、乘加,以及特定快速傅里叶的蝴蝶运算,这些都取决于矢量运算器的结构。但是现有一般的方案都只能进行基2快速傅里叶中的蝴蝶运算,无法直接完成基3快速傅里叶中的蝴蝶运算。或者可以通过多组复数加与复数累加的指令组合来完成基3快速傅里叶中的蝴蝶运算,但是增加了指令的数量,运算效率较低,同时也提高了编程的难度,编程效率也大大降低。分析上述现有技术主要原因是在于传统的矢量运算器在进行复数的蝶形运算时,不能灵活地对乘法结果进行取反运算,使得每条蝶形支路只能进行固定的乘加或乘减,所以只能完成基2快速傅里叶里的蝴蝶运算。


【发明内容】

:
[0005]本发明解决的技术问题之一是提出了一种矢量运算核,可以灵活的实现各种蝴蝶运算。
[0006]本发明解决的技术问题之一是提出了一种矢量处理器,可以实现同时支持基2,基3,基5快速傅里叶中的蝴蝶运算。
[0007]本发明提出的矢量运算核,包括:第一运算支路和第二运算支路;所述第一运算支路包括:输入端1、2、3,乘法器7, 二选一选择器9,取反器11、12,三输入加法器15和输出端17 ;所述第二运算支路包括:输入端4、5、6,乘法器8,二选一选择器10,取反器13、14,三输入加法器16和输出端18 ;所述取反器11、12、13、14用于控制其输出数据的符号;输入端I的数据输入到选择器9的一个选择输入端上,输入端2、3的数据输入到乘法器7的两个输入端上,乘法器7的输出数据分成两个支路分别输入到取反器11、13的输入端上;输入端6的数据输入到选择器10的一个选择输入端上,输入端4、5的数据输入到乘法器8的两个输入端上,乘法器8的输出数据分成两个支路分别输入到取反器12、14的输入端上;选择器9,取反器11、12的输出数据分别输入到加法器15的三个输入端上;选择器10,取反器13、14的输出数据分别输入到加法器16的三个输入端上;加法器15的输出数据分成两个支路分别输入到输出端17上和选择器9的另一个选择输入端上;加法器16的输出数据分成两个支路分别输入到输出端18上和选择器10的另一个选择输入端上。
[0008]进一步的,在输入端I和选择器9之间,输入端6和选择器10之间分别设有一个寄存器;在乘法器7、8的输出端,加法器15、16的输出端上分别设有一个寄存器。
[0009]本发明提出的本发明提出的矢量处理器,包括:控制单元以及上述的矢量运算核;所述控制单元用于控制所述矢量运算核中的选择器9、10的输入有效端,还用于控制所述矢量运算核中的取反器11、12、13、14的输出数据符号。
[0010]采用本发明的矢量运算核与现有的矢量运算核相比,由于少用了一个两输入加法器,将两个两输入加法器用三输入加法器替换,使得芯片的面积与功耗方面均有所减少。采用本发明的矢量处理器可以同时支持基2,基3,基5快速傅里叶中的蝴蝶运算;在同时计算基2蝴蝶运算的两条支路时,由于将乘法运算的次数减少一半,大大降低了电路功耗。

【专利附图】

【附图说明】
:
[0011]图1是现有技术中的一种矢量运算核的原理框图;
[0012]图2是现有技术中的另一种矢量运算核的原理框图;
[0013]图3是本发明提出的矢量运算核的原理框图;
[0014]图4是本发明基2快速傅里叶运算的实部运算图;
[0015]图5是本发明基2快速傅里叶运算的虚部运算图;
[0016]图6a是本发明基3快速傅里叶运算的实部运算第一次运算图;
[0017]图6b是本发明基3快速傅里叶运算的实部运算第二次运算图;
[0018]图7a是本发明基3快速傅里叶运算的虚部运算第一次运算图;
[0019]图7b是本发明基3快速傅里叶运算的虚部运算第二次运算图;
[0020]图8a是本发明基5快速傅里叶运算的X2,X3实部运算第一次运算图;
[0021]图Sb是本发明基5快速傅里叶运算的X2,X3实部运算第二次运算图;
[0022]图Sc是本发明基5快速傅里叶运算的X2,X3实部运算第三次运算图;
[0023]图8d是本发明基5快速傅里叶运算的X2,X3实部运算第四次运算图;
[0024]图9a是本发明基5快速傅里叶运算的X2,X3虚部运算第一次运算图;
[0025]图9b是本发明基5快速傅里叶运算的X2,X3虚部运算第二次运算图;
[0026]图9c是本发明基5快速傅里叶运算的X2,X3虚部运算第三次运算图;
[0027]图9d是本发明基5快速傅里叶运算的X2,X3虚部运算第四次运算图;
[0028]图1Oa是本发明基5快速傅里叶运算的X4,X5实部运算第一次运算图;
[0029]图1Ob是本发明基5快速傅里叶运算的X4,X5实部运算第二次运算图;
[0030]图1Oc是本发明基5快速傅里叶运算的X4,X5实部运算第三次运算图;
[0031]图1Od是本发明基5快速傅里叶运算的X4,X5实部运算第四次运算图;
[0032]图1la是本发明基5快速傅里叶运算的X4,X5虚部运算第一次运算图;
[0033]图1lb是本发明基5快速傅里叶运算的X4,X5虚部运算第二次运算图;
[0034]图1lc是本发明基5快速傅里叶运算的X4,X5虚部运算第三次运算图;
[0035]图1ld是本发明基5快速傅里叶运算的X4,X5虚部运算第四次运算图。【具体实施方式】:
[0036]下面结合附图,并通过具体实施例详细说明本发明技术方案的实现方式。
[0037]图1为现有技术中的一种矢量运算核的架构,该架构为传统的矢量运算核架构,由两个乘法器和两个加法器组成。图2为现有技术中另一种矢量运算核的架构,该矢量运算核由两个乘法器和三个加法器组成。这两种现有的矢量运算核构建的矢量处理器都没有办法同时实现支持基2,基3,基5快速傅里叶中的蝴蝶运算。
[0038]图3为本发明提出的矢量运算核架构,采用两个三输入加法器与四个数据取反器,使输入加法器的数据能够灵活地取反,用该矢量运算核构建的矢量处理器可以实现同时支持基2,基3,基5快速傅里叶里种的蝴蝶运算。图3显示了矢量运算核的基本架构。为了简化描述,图中只显示该运算核用了两阶来实现,即分成3级流水线实现。在实际的硬件实现时,该运算核可以采用不同的阶数来实现。其所需要的实现阶数取决于其最高操作频率和所采用的工艺,比如时钟频率要求800M,那么该运算核用三阶,即分成4级流水线实现,而假如时钟频率要求200M,那么该运算核就可以分成I级流水线实现。即根据时钟频率要求划分流水阶数,本申请只是以3级流水线为例子进行说明。
[0039]如图3所示,矢量运算核中包括第一运算支路和第二运算支路。其中第一运算支路包括:输入端1、2、3,乘法器7,二选一选择器9,取反器11、12,三输入加法器15和输出端17 ;第二运算支路包括:输入端4、5、6,乘法器8,二选一选择器10,取反器13、14,三输入加法器16和输出端18。取反器11、12、13、14可以根据运算的需要灵活的进行取反操作。
[0040]输入端I的数据输入到选择器9的一个选择输入端上,输入端2、3的数据输入到乘法器7的两个输入端上,乘法器7的输出数据分成两个支路分别输入到取反器11、13的输入端上;输入端6的数据输入到选择器10的一个选择输入端上,输入端4、5的数据输入到乘法器8的两个输入端上,乘法器8的输出数据分成两个支路分别输入到取反器12、14的输入端上;选择器9,取反器11、12的输出数据分别输入到加法器15的三个输入端上;选择器10,取反器13、14的输出数据分别输入到加法器16的三个输入端上;加法器15的输出数据分成两个支路分别输入到输出端17上和选择器9的另一个选择输入端上;加法器16的输出数据分成两个支路分别输入到输出端18上和选择器10的另一个选择输入端上。
[0041]在一种实施例中,在输入端I和选择器9之间,输入端6和选择器10之间分别设有一个寄存器;在乘法器7、8的输出端,加法器15、16的输出端上分别设有一个寄存器。如图3所示,共设置了 6个寄存器。
[0042]上述的矢量运算核可以作为矢量处理器的核心运算部分,此时矢量处理器至少包括:控制单元以及权利要求1或2所述的矢量运算核;控制单元用于控制矢量运算核中的选择器9、10的输入有效端,还用于控制矢量运算核中的取反器11、12、13、14的输出数据符号。由于矢量运算核的功耗一般占到矢量处理器近一半,由于上述矢量运算核减少了运算次数和运算器件,所以采用了上述矢量运算核的矢量处理器的功耗将大大降低。
[0043]以下分别以基2,基3,基5快速傅里叶中的蝴蝶运算为例,具体说明本发明矢量处理器的运算处理过程:
[0044]一、基2快速傅里叶中的蝴蝶运算实现
[0045]基2FFT蝴蝶运算可以描述如下:
[0046]X1=C+AB (la)
[0047]X2=C-AB (lb)
[0048]其中,A,B和C都是复数矢量,B是旋转因子,XI,X2为基2快速傅里叶蝴蝶运算输出矢量。
[0049]设
[0050]A=Ar+j Ai
[0051]B=Br+j Bi
[0052]C=Cr+j Ci
[0053]Xl=Xlr+j Xli
[0054]X2=X2r+j X2i
[0055]则公式(la)、(lb)可改写为:
[0056]Xlr=Cr+[Ar*Br - Ai*Bi]
[0057]X2r=Cr-[Ar*Br - Ai*Bi] (2)
[0058]Xli=Ci+[Ar*Bi+Ai*Br]
[0059]X2i=C1-[Ar*Bi+Ai*Br] (3)
[0060]其中公式(2)为X1、X2的实部运算式,公式(3)为X1、X2的虚部运算式。
[0061]如图4所示的实部运算图,图中实线标示数据流向,输入端1、2、3、4、5、6分别输入Cr、Ar、Br、A1、B1、Cr数据,取反器11、14控制其输出数据的符号为正,取反器12、13控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出Xl的实部运算结果Xlr,输出端18输出X2的实部运算结果X2r。
[0062]如图5所示的虚部运算图,图中实线标示数据流向,输入端1、2、3、4、5、6分别输入C1、Ar、B1、A1、Br、Ci数据,取反器11、12控制其输出数据的符号为正,取反器13、14控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出Xl的虚部运算结果Xli,输出端18输出X2的虚部运算结果X2i。
[0063]二、基3快速傅里叶中的蝴蝶运算实现
[0064]基3FFT蝴蝶运算可以描述如下:
[0065]X1=A+B+C(4a)
[0066]X2=A+B*wl+C*w2(4b)
[0067]X3=A+B*conj(wl)+C*conj(w2) (4c)
[0068]其中,A,B和C都是复数矢量,wl, w2是旋转因子,XI,X2, X3为基3快速傅里叶蝴蝶运算输出矢量。
[0069]设
[0070]A=Ar+j Ai
[0071]B=Br+j Bi
[0072]C=Cr+j Ci
[0073]Wl=Wlr+j Wli
[0074]W2=W2r+j W2i
[0075]Xl=Xlr+j Xli
[0076]X2=X2r+j X2i
[0077]X3=X3r+j X3i
[0078]则(4a)、(4b)、(4c)可改写为:
[0079]Xlr=Ar+Br+Cr
[0080]Xli=Ai+Bi+Ci (5)
[0081]X2r=Ar+[Br*fflr - Bi*Wli] + [Cr*W2r_Ci*W2i]
[0082]X3r=Ar+[Br*fflr+Bi*ffIi]+[Cr*W2r+Ci*W2i] (6)
[0083]X2i=Ai+[Br*ffIi+Bi*ffIr]+[Cr*W2i+Ci*W2r]
[0084]X3i=Ai+[-Br*ffIi+Bi*ffIr]+[-Cr*W2i+Ci*W2r] (7)
[0085]式(5)的实现可以通过加法和累加指令完成,本发明的优化主要针对式(6),式
(7)。
[0086]如图6所示的实部运算中包括两次运算过程,图6a为第一次运算图,图6b为第二次运算图,图中实线标示数据流向。第一次运算中输入端1、2、3、4、5、6分别输入Ar、Br、Wlr、B1、Wl1、Ar数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W2r、C1、W2i数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第一次运算中输出的运算结果输入有效,选择器10选择输出端18第一次运算中输出的运算结果输入有效;输出端17输出的第二次运算结果作为X2的实部运算结果X2r,输出端18输出的第二次运算结果作为X3的头部运算结果X3r。
[0087]如图7所示的虚部运算中包括两次运算过程,图7a为第一次运算图,图7b为第二次运算图。第一次运算中输入端1、2、3、4、5、6分别输入A1、Br、Wl1、B1、Wlr、Ai数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W21、C1、W2r数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第一次运算中输出的运算结果输入有效,选择器10选择输出端18第一次运算中输出的运算结果输入有效;输出端17输出的第二次运算结果作为X2的虚部运算结果X2i,输出端18输出的第二次运算结果作为X3的虚部运算结果X3i。
[0088]三、基5快速傅里叶中的蝴蝶运算实现
[0089]基5FFT蝴蝶运算可以描述如下:
[0090]X1=A+B+C+D+E (8a)
[0091]X2=A+B*wl+C*w2+D*w3+E*w4
[0092](8b)
[0093]X3=A+B*conj (wl)+C*conj (w2)+D*conj (w3)+E*conj (w4)
[0094](8c)
[0095]X4=A+B*w3+C*wl+D*w4+E*w2
[0096](8d)
[0097]X5=A+B*conj (w3)+C*conj (wl)+D*conj (w4)+E*conj (w2)
[0098](8e)
[0099]其中,A, B, C,D和E都是复数矢量,wl, w2, w3, w4是旋转因子,XI,X2, X3, X4, X5为基5快速傅里叶蝴蝶运算输出矢量。
[0100]设
[0101]A=Ar+j Ai
[0102]B=Br+j Bi
[0103]C=Cr+j Ci
[0104]D=Dr+j Di
[0105]E=Er+j Ei
[0106]Wl=Wlr+j Wli
[0107]W2=W2r+j W2i
[0108]W3=W3r+j W3i
[0109]W4=W4r+j W4i
[0110]Xl=Xlr+j Xli
[0111]X2=X2r+j X2i
[0112]X3=X3r+j X3i
[0113]X4=X4r+j X4i
[0114]X5=X5r+j X5i
[0115]则公式(8a)、(8b)、(8c)、(8d)、(8e)可改写为:
[0116]XI r=Ar+Br+Cr+Dr+Er
[0117]Xli=Ai+Bi+Ci+Di+Ei
[0118](9)
[0119]X2r=Ar+[Br*fflr - Bi*ffli] + [Cr*W2r-Ci*W2i]
[0120]+[Dr*W3r - D i *W3 i] + [Er*W4r_E i *W4 i]
[0121]X3r=Ar+[Br*fflr+Bi*ffli] + [Cr*W2r+Ci*W2i]
[0122]+[Dr*W3r+Di *W3 i] + [Er*W4r+Ei *W4 i]
[0123](10)
[0124]X2i=Ai+ [Br*ffli+Bi*fflr] + [Cr*W2i+Ci*W2r]
[0125]+ [Dr*W3i+Di*W3r] + [Er*W4i+Ei*W4r]
[0126]X3i=Ai+[-Br*ffli+Bi*fflr] + [-Cr*W2i+Ci*W2r]
[0127]+[-Dr*W3i+Di*W3r] + [_Er*W4i+Ei*W4r]
[0128](11)
[0129]X4r=Ar+[Br*W3r - Bi*W3i] + [Cr*Wlr_Ci*Wli]
[0130]+[Dr*W4r - D i *W4 i] + [Er*W2r_E i *W2 i]
[0131]X5r=Ar+[Br*W3r+Bi*W3i] + [Cr*fflr+Ci*ffli]
[0132]+[Dr*W4r+Di *W4 i] + [Er*W2r+Ei *W2 i]
[0133](12)
[0134]X4i=Ai+[Br*W3i+Bi*W3r] + [Cr*ffli+Ci*fflr]
[0135]+[Dr*W4i+Di*W4r] + [Er*W2i+Ei*W2r]
[0136]X5i=Ai+[-Br*W3i+Bi*W3r] + [-Cr*ffli+Ci*fflr]
[0137]+[-Dr*W4i+Di*W4r] + [_Er*W2i+Ei*W2r]
[0138](13)
[0139]由式(9),(10),(11),(12),(13)可以看出,其处理的方式与式(5),(6),(7)类似。具体的处理过程:式(9)采用加法和累加指令完成。
[0140]式(10)处理见图8,包括四次运算,分别为运算图图8a、图8b、图8c和图8d,图中实线标示数据流向。第一次运算中输入端1、2、3、4、5、6分别输入Ar、Br、Wlr、B1、Wl1、Ar数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W2r、C1、W2i数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第一次运算中输出的运算结果输入有效,选择器10选择输出端18第一次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W3r、D1、W3i数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第二次运算中输出的运算结果输入有效,选择器10选择输出端18第二次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W4r、E1、W4i数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第三次运算中输出的运算结果输入有效,选择器10选择输出端18第三次运算中输出的运算结果输入有效;输出端17输出的第四次运算结果作为X2的实部运算结果X2r,输出端18输出的第四次运算结果作为X3的实部运算结果X3r。
[0141]式(11)处理见图9,包括四次运算,分别为运算图图8a、图8b、图8c和图8d,图中实线标示数据流向。第一次运算中输入端1、2、3、4、5、6分别输入A1、Br、Wl1、B1、Wlr、Ai数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W21、C1、W2r数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第一次运算中输出的运算结果输入有效,选择器10选择输出端18第一次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W31、D1、W3r数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第二次运算中输出的运算结果输入有效,选择器10选择输出端18第二次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W41、E1、W4r数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第三次运算中输出的运算结果输入有效,选择器10选择输出端18第三次运算中输出的运算结果输入有效;输出端17输出的第四次运算结果作为X2的虚部运算结果X2i,输出端18输出的第四次运算结果作为X3的虚部运算结果X3i。
[0142]式(12)处理见图10,包括四次运算,分别为运算图图8a、图8b、图8c和图8d,图中实线标示数据流向。第一次运算中输入端1、2、3、4、5、6分别输入Ar、Br、W3r、B1、W31、Ar数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、Wlr、C1、Wli数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第一次运算中输出的运算结果输入有效,选择器10选择输出端18第一次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W4r、D1、W4i数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第二次运算中输出的运算结果输入有效,选择器10选择输出端18第二次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W2r、E1、W2i数据,取反器11、13、14控制其输出数据的符号为正,取反器12控制其输出数据的符号为负,选择器9选择输出端17第三次运算中输出的运算结果输入有效,选择器10选择输出端18第三次运算中输出的运算结果输入有效;输出端17输出的第四次运算结果作为X4的实部运算结果X4r,输出端18输出的第四次运算结果作为X5的实部运算结果X5r。
[0143]式(13)处理见图11,包括四次运算,分别为运算图图8a、图8b、图8c和图8d,图中实线标示数据流向。第一次运算中输入端1、2、3、4、5、6分别输入A1、Br、W31、B1、W3r、Ai数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输入端I的数据输入有效,选择器10选择输入端6的数据输入有效,输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、Wl1、C1、Wlr数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第一次运算中输出的运算结果输入有效,选择器10选择输出端18第一次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W41、D1、W4r数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第二次运算中输出的运算结果输入有效,选择器10选择输出端18第二次运算中输出的运算结果输入有效,输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W21、E1、W2r数据,取反器11、12、14控制其输出数据的符号为正,取反器13控制其输出数据的符号为负,选择器9选择输出端17第三次运算中输出的运算结果输入有效,选择器10选择输出端18第三次运算中输出的运算结果输入有效;输出端17输出的第四次运算结果作为X4的虚部运算结果X4i,输出端18输出的第四次运算结果作为X5的虚部运算结果X5i。
[0144]以上所述实施例,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种矢量运算核,其特征在于,包括:第一运算支路和第二运算支路;所述第一运算支路包括:输入端1、2、3,乘法器7, 二选一选择器9,取反器11、12,三输入加法器15和输出端17 ;所述第二运算支路包括:输入端4、5、6,乘法器8,二选一选择器10,取反器13、14,三输入加法器16和输出端18 ;所述取反器11、12、13、14用于控制其输出数据的符号; 输入端I的数据输入到选择器9的一个选择输入端上,输入端2、3的数据输入到乘法器7的两个输入端上,乘法器7的输出数据分成两个支路分别输入到取反器11、13的输入端上;输入端6的数据输入到选择器10的一个选择输入端上,输入端4、5的数据输入到乘法器8的两个输入端上,乘法器8的输出数据分成两个支路分别输入到取反器12、14的输入端上;选择器9,取反器11、12的输出数据分别输入到加法器15的三个输入端上;选择器10,取反器13、14的输出数据分别输入到加法器16的三个输入端上;加法器15的输出数据分成两个支路分别输入到输出端17上和选择器9的另一个选择输入端上;加法器16的输出数据分成两个支路分别输入到输出端18上和选择器10的另一个选择输入端上。
2.根据权利要求1所述的矢量运算核,其特征在于,在输入端I和选择器9之间,输入端6和选择器10之间分别设有一个寄存器;在乘法器7、8的输出端,加法器15、16的输出端上分别设有一个寄存器。
3.一种矢量处理器,其特征在于,包括:控制单元以及权利要求1或2所述的矢量运算核;所述控制单元用于控制所述矢量运算核中的选择器9、10的输入有效端,还用于控制所述矢量运算核中的取反器11、12、13、14的输出数据符号。
4.根据权利要求3所述的矢量处理器,当用于实现以下的基2快速傅里叶蝴蝶运算的实部运算时:
X1=C+AB
X2=C-AB 其中,A,B和C都是复数矢量,B是旋转因子,XI,X2为基2快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
Xl=Xlr+j Xli
X2=X2r+j X2i X1、X2的实部运算结果为,
Xlr=Cr+[Ar*Br - Ai*Bi]
X2r=Cr-[Ar*Br - Ai*Bi], 其特征在于,输入端1、2、3、4、5、6分别输入Cr、Ar、Br、A1、B1、Cr数据,所述取反器11、14控制其输出数据的符号为正,所述取反器12、13控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出Xl的实部运算结果Xlr,所述输出端18输出X2的实部运算结果X2r。
5.根据权利要求3或4所述的矢量处理器,当用于实现以下的基2快速傅里叶蝴蝶运算的虚部运算时:
X1=C+AB
X2=C-AB 其中,A,B和C都是复数矢量,B是旋转因子,XI,X2为基2快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
Xl=Xlr+j Xli
X2=X2r+j X2i X1、X2的虚部运算结果为,
Xli=Ci+[Ar*Bi+Ai*Br]
X2i=C1-[Ar*Bi+Ai*Br], 其特征在于,输入端1、2、3、4、5、6分别输入C1、AiNB1、A1、BiNCi数据,所述取反器11、12控制其输出数据的符号为正,所述取反器13、14控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出?而17输出Xl的虚部运算结果Xli,所述输出纟而18输出X2的虚部运算结果X2i。
6.根据权利要求3所述的矢量处理器,当用于实现以下的基3快速傅里叶蝴蝶运算的X2、X3实部运算时:
X1=A+B+C
X2=A+B*w I +Ow2
X3=A+B*conj(wl)+C*conj (w2) 其中,A,B和C都是复数矢量,wl, w2是旋转因子,XI,X2,X3为基3快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
Wl=Wlr+j Wli
W2=W2r+j W2i
Xl=Xlr+j Xli
X2=X2r+j X2i
X3=X3r+j X3i X1、X2、X3的头部、虚部运算结果为,
Xlr=Ar+Br+Cr
Xli=Ai+Bi+Ci
X2r=Ar+[Br*Wlr - Bi*Wli] + [Cr*W2r_Ci*W2i]
X3r=Ar+[Br*Wlr+Bi*Wli]+[Cr*W2r+Ci*W2i]
X2i=Ai+[Br*Wli+Bi*Wlr]+[Cr*W2i+Ci*W2r]
X3i=Ai+[-Br*Wli+Bi*Wlr]+[-Cr*W2i+Ci*W2r], 其特征在于,包括两次运算过程;第一次运算中输入端1、2、3、4、5、6分别输入Ar、Br、Wlr、B1、Wl1、Ar数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W2r、C1、W2i数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第一次运算中输出的运算结果输入有效,所述选择器10选择输出端18第一次运算中输出的运算结果输入有效;所述输出端17输出的第二次运算结果作为X2的实部运算结果X2r,所述输出端18输出的第二次运算结果作为X3的实部运算结果X3r。
7.根据权利要求3或6所述的矢量处理器,当用于实现以下的基3快速傅里叶蝴蝶运算的X2、X3虚部运算时:
X1=A+B+C
X2=A+B*wl+C*w2
X3=A+B*conj(wl)+C*conj (w2) 其中,A,B和C都是复数矢量,wl,w2是旋转因子,,XI,X2,X3为基3快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
Wl=Wlr+j Wli
W2=W2r+j W2i
Xl=Xlr+j Xli
X2=X2r+j X2i
X3=X3r+j X3i X1、X2、X3的头部、虚部运算结果为,
Xlr=Ar+Br+Cr
Xli=Ai+Bi+Ci
X2r=Ar+[Br*Wlr - Bi*Wli] + [Cr*W2r_Ci*W2i]
X3r=Ar+[Br*Wlr+Bi*Wli]+[Cr*W2r+Ci*W2i]
X2i=Ai+[Br*Wli+Bi*Wlr]+[Cr*W2i+Ci*W2r]
X3i=Ai+[-Br*Wli+Bi*Wlr]+[-Cr*W2i+Ci*W2r], 其特征在于,包括两次运算过程;第一次运算中输入端1、2、3、4、5、6分别输入A1、Br、Wl1、B1、Wlr、Ai数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W21、C1、W2r数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第一次运算中输出的运算结果输入有效,所述选择器10选择输出端18第一次运算中输出的运算结果输入有效;所述输出端17输出的第二次运算结果作为X2的虚部运算结果X2i,所述输出纟而18输出的弟.__次运算结果作为X3的虚部运算结果X3i。
8.根据权利要求3所述的矢量处理器,当用于实现以下的基5快速傅里叶蝴蝶运算的X2、X3实部运算时:
X1=A+B+C+D+E X2=A+B*wl+Ow2+D*w3+E*w4
X3=A+B*conj(wl)+C*conj(w2)+D*conj(w3)+E*conj (w4)
Χ4=Α+Β^3+Οψ I +D^w4+E;!<w2
X5=A+B*conj(w3)+C*conj (wl)+D*conj (w4)+E*conj (w2) 其中,A,B,C,D和E都是复数矢量,wl, w2,w3,w4是旋转因子,XI,X2,X3,X4,X5为基5快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
D=Dr+j Di
E=Er+j Ei
Wl=Wlr+j Wli
W2=W2r+j W2i
W3=W3r+j W3i
W4=W4r+j W4i
Xl=Xlr+j Xli
X2=X2r+j X2i
X3=X3r+j X3i
X4=X4r+j X4i
X5=X5r+j X5i X1、X2、X3、X4、X5的实部、虚部运算结果为,
XIr=Ar+Br+Cr+Dr+Er
Xli=Ai+Bi+Ci+Di+Ei
X2r=Ar+[Br*fflr - Bi*Wli] + [Cr*W2r_Ci*W2i]
+ [Dr*W3r - D i *ff3 i] + [Er*ff4r-E i *ff4 i]
X3r=Ar+[Br*fflr+Bi*ffli]+[Cr*W2r+Ci*W2i]
+ [Dr*W3r+Di *W3 i] + [Er*W4r+Ei *W4 i]
X2i=Ai+[Br*ffli+Bi*fflr]+[Cr*W2i+Ci*W2r]
+ [Dr*W3i+Di*W3r] + [Er謂4 i+Ei*W4r]
X3i=Ai+[-Br*ffli+Bi*fflr]+[-Cr*W2i+Ci*W2r]
+[-Dr*W3i+Di*W3r]+[_Er*W4i+Ei*W4r]
X4r=Ar+[Br*W3r - Bi*W3i] + [Cr*Wlr_Ci*Wli]
+ [Dr*W4r - D i *ff4 i] + [Er*ff2r-E i *ff2 i]
X5r=Ar+[Br*W3r+Bi*W3i]+[Cr*fflr+Ci*ffli]
+ [Dr*W4r+Di *W4 i] + [Er*W2r+Ei *W2 i]
X4i=Ai+[Br*W3i+Bi*W3r]+[Cr轉Ii+Ci轉Ir]
+ [Dr謂4 i+Di*W4r] + [Er*W2i+Ei*W2r]
X5i=Ai+[-Br*W3i+Bi*W3r]+[-Cr*ffli+Ci*fflr]
+[-Dr*W4i+Di*W4r]+[_Er*W2i+Ei*W2r], 其特征在于,包括四次运算过程;第一次运算中输入端1、2、3、4、5、6分别输入Ar、Br、Wlr、B1、Wl1、Ar数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W2r、C1、W2i数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第一次运算中输出的运算结果输入有效,所述选择器10选择输出端18第一次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W3r、D1、W3i数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第二次运算中输出的运算结果输入有效,所述选择器10选择输出端18第二次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W4r、E1、W4i数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第三次运算中输出的运算结果输入有效,所述选择器10选择输出端18第三次运算中输出的运算结果输入有效;所述输出端17输出的第四次运算结果作为X2的实部运算结果X2r,所述输出端18输出的第四次运算结果作为X3的实部运算结果X3r。
9.根据权利要求3所述的矢量处理器,当用于实现以下的基5快速傅里叶蝴蝶运算的X2、X3虚部运算时:
X1=A+B+C+D+E
X2=A+B*wl+C*w2+D*w3+E*w4
X3=A+B*conj (wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4=A+B*w3+C*wI+D*w4+E*w2
X5=A+B*conj (w3)+C*conj (wl)+D*conj(w4)+E*conj (w2) 其中,A, B, C,D和E都是复数矢量,wl,w2,w3,w4是旋转因子,XI, X2, X3, X4, X5为基5快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
D=Dr+j Di
E=Er+j Ei
Wl=Wlr+j Wli
W2=W2r+j W2i
W3=W3r+j W3i
W4=W4r+j W4i
Xl=Xlr+j Xli
X2=X2r+j X2i
X3=X3r+j X3i
X4=X4r+j X4i
X5=X5r+j X5i X1、X2、X3、X4、X5的实部、虚部运算结果为,
XIr=Ar+Br+Cr+Dr+Er
Xli=Ai+Bi+Ci+Di+Ei
X2r=Ar+[Br*fflr - Bi*Wli] + [Cr*W2r_Ci*W2i]
+ [Dr*W3r - D i *ff3 i] + [Er*ff4r-E i *ff4 i]
X3r=Ar+[Br*fflr+Bi*ffli]+[Cr*W2r+Ci*W2i]
+ [Dr*W3r+Di *W3 i] + [Er*W4r+Ei *W4 i]
X2i=Ai+[Br*ffli+Bi*fflr]+[Cr*W2i+Ci*W2r]
+ [Dr*W3i+Di*W3r] + [Er謂4 i+Ei*W4r]
X3i=Ai+[-Br*ffli+Bi*fflr]+[-Cr*W2i+Ci*W2r]
+[-Dr*W3i+Di*W3r]+[_Er*W4i+Ei*W4r]
X4r=Ar+[Br*W3r - Bi*W3i] + [Cr*Wlr_Ci*Wli]
+ [Dr*W4r - D i *ff4 i] + [Er*ff2r-E i *ff2 i]
X5r=Ar+[Br*W3r+Bi*W3i]+[Cr*fflr+Ci*ffli]
+ [Dr*W4r+Di *W4 i] + [Er*W2r+Ei *W2 i]
X4i=Ai+[Br*W3i+Bi*W3r]+[Cr轉Ii+Ci轉Ir]
+ [Dr謂4 i+Di*W4r] + [Er*W2i+Ei*W2r]
X5i=Ai+[-Br*W3i+Bi*W3r]+[-Cr*ffli+Ci*fflr]
+[-Dr*W4i+Di*W4r]+[_Er*W2i+Ei*W2r], 其特征在于,包括四次运算过程;第一次运算中输入端1、2、3、4、5、6分别输入A1、Br、Wl1、B1、Wlr、Ai数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、W21、C1、W2r数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第一次运算中输出的运算结果输入有效,所述选择器10选择输出端18第一次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W3 1、D1、W3r数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第二次运算中输出的运算结果输入有效,所述选择器10选择输出端18第二次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W41、E1、W4r数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第三次运算中输出的运算结果输入有效,所述选择器10选择输出端18第三次运算中输出的运算结果输入有效;所述输出端17输出的第四次运算结果作为X2的虚部运算结果X2i,所述输出端18输出的第四次运算结果作为X3的虚部运算结果X3i。
10.根据权利要求3所述的矢量处理器,当用于实现以下的基5快速傅里叶蝴蝶运算的X4、X5实部运算时:
X1=A+B+C+D+E
X2=A+B*wl+C*w2+D*w3+E*w4
X3=A+B*conj (wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4=A+B*w3+C*wI+D*w4+E*w2
X5=A+B*conj (w3)+C*conj(wl)+D*conj(w4)+E*conj(w2) 其中,A, B, C,D和E都是复数矢量,wl,w2,w3,w4是旋转因子,XI, X2, X3, X4, X5为基5快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
D=Dr+j Di
E=Er+j Ei
Wl=Wlr+j Wli
W2=W2r+j W2i
W3=W3r+j W3i
W4=W4r+j W4i
Xl=Xlr+j Xli
X2=X2r+j X2i
X3=X3r+j X3i
X4=X4r+j X4i
X5=X5r+j X5i X1、X2、X3、X4、X5的实部、虚部运算结果为,
XIr=Ar+Br+Cr+Dr+Er
Xli=Ai+Bi+Ci+Di+Ei
X2r=Ar+[Br*fflr - Bi*Wli] + [Cr*W2r_Ci*W2i]
+ [Dr*W3r - D i *ff3 i] + [Er*ff4r-E i *ff4 i]
X3r=Ar+[Br*fflr+Bi*ffli]+[Cr*W2r+Ci*W2i]
+ [Dr*W3r+Di *W3 i] + [Er*W4r+Ei *W4 i]
X2i=Ai+[Br*ffli+Bi*fflr]+[Cr*W2i+Ci*W2r]
+ [Dr*W3i+Di*W3r] + [Er謂4 i+Ei*W4r]
X3i=Ai+[-Br*ffli+Bi*fflr]+[-Cr*W2i+Ci*W2r]
+[-Dr*W3i+Di*W3r]+[_Er*W4i+Ei*W4r]
X4r=Ar+[Br*W3r - Bi*W3i] + [Cr*Wlr_Ci*Wli]
+ [Dr*W4r - D i *ff4 i] + [Er*ff2r-E i *ff2 i]
X5r=Ar+[Br*W3r+Bi*W3i]+[Cr*fflr+Ci*ffli]
+ [Dr*W4r+Di *W4 i] + [Er*W2r+Ei *W2 i]
X4i=Ai+[Br*W3i+Bi*W3r]+[Cr轉Ii+Ci轉Ir]
+ [Dr謂4 i+Di*W4r] + [Er*W2i+Ei*W2r]
X5i=Ai+[-Br*W3i+Bi*W3r]+[-Cr*ffli+Ci*fflr]
+[-Dr*W4i+Di*W4r]+[_Er*W2i+Ei*W2r], 其特征在于,包括四次运算过程;第一次运算中输入端1、2、3、4、5、6分别输入Ar、Br、W3r、B1、W31、Ar数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、Wlr、C1、Wli数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第一次运算中输出的运算结果输入有效,所述选择器10选择输出端18第一次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入01'、141'、0丨、14丨数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第二次运算中输出的运算结果输入有效,所述选择器10选择输出端18第二次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W2r、E1、W2i数据,所述取反器11、13、14控制其输出数据的符号为正,所述取反器12控制其输出数据的符号为负,所述选择器9选择输出端17第三次运算中输出的运算结果输入有效,所述选择器10选择输出端18第三次运算中输出的运算结果输入有效;所述输出端17输出的第四次运算结果作为X4的实部运算结果X4r,所述输出端18输出的第四次运算结果作为X5的实部运算结果X5r。
11.根据权利要求3或8或9或10所述的矢量处理器,当用于实现以下的基5快速傅里叶蝴蝶运算的X4、X5虚部运算时:
X1=A+B+C+D+E
X2=A+B*wl+C*w2+D*w3+E*w4
X3=A+B*conj (wl)+C*conj(w2)+D*conj(w3)+E*conj(w4)
X4=A+B*w3+C*wI+D*w4+E*w2
X5=A+B*conj (w3)+C*conj(wl)+D*conj(w4)+E*conj(w2) 其中,A, B, C,D和E都是复数矢量,wl,w2,w3,w4是旋转因子,XI,X2,X3,X4,X5为基5快速傅里叶蝴蝶运算输出矢量;进行实部虚部分解后,
A=Ar+j Ai
B=Br+j Bi
C=Cr+j Ci
D=Dr+j Di
E=Er+j Ei
Wl=Wlr+j Wli
W2=W2r+j W2i
W3=W3r+j W3i
W4=W4r+j W4i
Xl=Xlr+j Xli
X2=X2r+j X2i
X3=X3r+j X3i
X4=X4r+j X4i
X5=X5r+j X5i X1、X2、X3、X4、X5的实部、虚部运算结果为,
XIr=Ar+Br+Cr+Dr+Er
Xli=Ai+Bi+Ci+Di+Ei
X2r=Ar+[Br*fflr - Bi*Wli] + [Cr*W2r_Ci*W2i]
+ [Dr*W3r - D i *ff3 i] + [Er*ff4r-E i *ff4 i]
X3r=Ar+[Br*fflr+Bi*ffli]+[Cr*W2r+Ci*W2i]
+ [Dr*W3r+Di *W3 i] + [Er*W4r+Ei *W4 i]
X2i=Ai+[Br*ffli+Bi*fflr]+[Cr*W2i+Ci*W2r]
+ [Dr*W3i+Di*W3r] + [Er謂4 i+Ei*W4r]
X3i=Ai+[-Br*ffli+Bi*fflr]+[-Cr*W2i+Ci*W2r]
+[-Dr*W3i+Di*W3r]+[_Er*W4i+Ei*W4r]
X4r=Ar+[Br*W3r - Bi*W3i] + [Cr*Wlr_Ci*Wli]
+ [Dr*W4r - D i *ff4 i] + [Er*ff2r-E i *ff2 i]
X5r=Ar+[Br*W3r+Bi*W3i]+[Cr*fflr+Ci*ffli]
+ [Dr*W4r+Di *W4 i] + [Er*W2r+Ei *W2 i]
X4i=Ai+[Br*W3i+Bi*W3r]+[Cr轉Ii+Ci轉Ir]
+ [Dr謂4 i+Di*W4r] + [Er*W2i+Ei*W2r]
X5i=Ai+[-Br*W3i+Bi*W3r]+[-Cr*ffli+Ci*fflr]
+[-Dr*W4i+Di*W4r]+[_Er*W2i+Ei*W2r], 其特征在于,包括四次运算过程;第一次运算中输入端1、2、3、4、5、6分别输入A1、Br、W31、B1、W3r、Ai数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输入端I的数据输入有效,所述选择器10选择输入端6的数据输入有效,所述输出端17输出的运算结果作为第二次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第二次运算中选择器10的数据选择输入;第二次运算中输入端2、3、4、5分别输入Cr、Wl1、C1、Wlr数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第一次运算中输出的运算结果输入有效,所述选择器10选择输出端18第一次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第三次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第三次运算中选择器10的数据选择输入;第三次运算中输入端2、3、4、5分别输入Dr、W41、D1、W4r数据,所述取反器11、12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第二次运算中输出的运算结果输入有效,所述选择器10选择输出端18第二次运算中输出的运算结果输入有效,所述输出端17输出的运算结果作为第四次运算中选择器9的数据选择输入,所述输出端18输出的运算结果作为第四次运算中选择器10的数据选择输入;第四次运算中输入端2、3、4、5分别输入Er、W21、E1、W2r数据,所述取反器11、.12、14控制其输出数据的符号为正,所述取反器13控制其输出数据的符号为负,所述选择器9选择输出端17第三次运算中输出的运算结果输入有效,所述选择器10选择输出端18第三次运算中输出的运算结果输入有效;所述输出端17输出的第四次运算结果作为X4的虚部运算结果X4i,所述输出端18输出的第四次运算结果作为X5的虚部运算结果X5i。
【文档编号】G06F17/14GK104462016SQ201310433489
【公开日】2015年3月25日 申请日期:2013年9月22日 优先权日:2013年9月22日
【发明者】华力, 林文琼 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1