一种反馈装置的制作方法

文档序号:22532503发布日期:2020-10-17 01:25阅读:159来源:国知局
一种反馈装置的制作方法

本实用新型涉及电子通信技术领域,尤其涉及的是一种反馈装置。



背景技术:

快速离散傅里叶变换(fft)/快速反傅里叶变换(ifft)是离散傅里叶变换(dft)/离散反傅里叶变换(idft)的快速实现方式,是数字信号处理中常用的技术。

由于dft和idft定义的运算过程非常相似,fft和ifft可以采用相同的电路结构和实现方法。

cooley和tukey发明了fft算法,fft的基本思想是将原有n点序列分解成两个或更多的较短序列并重新组合成原序列的dft,使间接算法的运算次数比直接计算dft的运算次数少得多,从而提高dft的计算速度。

fft/ifft的分解运算,按照分解的短序列的个数s,可以将fft/ifft算法可以分为若干种,一般称为基-s算法。

例如,基2fft算法可以将n点dft运算分解成个2点dft运算过程;基4fft算法可以将n点dft运算分解成个4点dft运算过程;基8fft算法可以将n点dft运算分解成个8点dft运算过程。

理论上分解运算的基s越大,分解算法的效率越高,但实际上由于8点及以上的dft运算模块需要复数乘法器,而且s越大,对应的dft运算模块的复数乘法器越多,所以8点及以上的dft分解算法实际上需要的复数乘法器数量并不少,工程中极少采用,目前的fft/ifft处理器基本都是采用基2或者基4的分解算法。

当前fft处理器的硬件实现结构包括递归结构、流水线结构和全并行结构。

递归结构又叫共享内存结构,所占硬件资源最少,只有一个运算处理单元,但所需运算时间较长,不能连续处理fft计算请求,只适应于偶尔需要fft运算的场合;流水线结构采用多级运算单元,前一级运算单元将结果送入下一级运算单元后可计算下一次fft而无需等待fft运算完成,流水线结构可连续计算前后数据不重叠的n点fft;对于前后数据重叠的连续fft计算,只能采用全并行结构,该结构每一级运算针对点数n设置对应的运算单元,每一级运算时延可低至单个系统时钟周期,可实现任意n点fft的连续计算,但占用硬件资源巨大。

实际应用中需要作任意n点fft连续计算的场合非常少,所以采用流水线设计fft处理器最为普遍。

上述fft处理器的流水线结构主要有3类:单路延时转接器结构(single-pathdelaycommutator,sdc)、多路延时转接器结构(multi-pathdelaycommutator,mdc)和单路延时反馈转接器结构(single-pathdelayfeedback,sdf)。

对应地,采用基2算法的fft处理器流水线结构包括r2sdc、r2sdf、r2mdc等三种结构;采用基4算法的fft处理器流水线结构包括r4sdc、r4sdf、r4mdc等三种结构。

因为基2sdc(r2sdc)结构在基2蝶形分解运算时与r2sdf相比没有优势,所以基2fft处理器主要采用基2mdc(r2mdc)和基2sdf(r2sdf)结构。基2mdc和基2sdf结构都具有控制简单易于实现的特点,占用的电路资源也相差不大,其中基2sdf结构需要的存储器少一点,而基2mdc结构的计算时延更短一些。

但基2mdc和基2sdf结构共同的缺点是复数乘法器的利用率较低(只有50%),因此整个fft处理器需要的复数乘法器数量较多。

由于fft/ifft运算由复数乘法和复数加法/减法运算构成,乘法运算远比加法/减法运算复杂,因此fft处理器的电路规模主要由复数乘法器决定,基2mdc和基2sdf结构的主要缺陷就是复数乘法器利用率过低导致电路资源占用较大。

基4mdc(r4mdc)结构是基4分解算法的三种流水线实现结构中最简单的,但其缺点也非常明显,就是4路延时转接器结构需要独立的复数乘法器、蝶形运算器bf(butterfly)和存储单元,这些硬件电路单元的利用率低(只有25%),因此采用r4mdc结构的fft处理器所需要的各种硬件电路单元数量比基2mdc和基2sdf结构还要多,是一种低效率的单通道fft处理器实现结构。

基4sdf(r4sdf)结构是一种相对高效率的fft处理器实现结构,因为串行的数据流可以充分的使用复数乘法器,使复数乘法器利用效率达到(75%),而整个fft处理器所需要的复数乘法器是r2mdc和r2sdf结构的一半;r4sdf结构所需要的存储器空间与r2sdf相当,比r2mdc结构要少三分之一;但r4sdf最大的缺陷在于所需要的复数加法器的数量较大,是r2sdf所需复数加法器数量的2倍。

相比r4sdf结构的不足,r4sdc结构可以有效减少(62.5%)复数加法器,所需复数乘法器的数量也和r4sdf结构一致,但是r4sdc结构所需要的存储器容量相比r4sdf结构增加了(100%),而且r4sdc结构控制逻辑电路非常复杂,实现相对不易。

因此,现有技术还有待于改进和发展。



技术实现要素:

本实用新型要解决的技术问题在于,针对现有技术的上述缺陷,提供一种反馈装置,旨在解决现有fft/ifft处理器中的基4sdf和基4sdc结构占用较多复数加法器/减法器的问题。

本实用新型解决技术问题所采用的技术方案如下:

一种反馈装置,其中,所述装置包括基4级联运算模块;所述基4级联运算模块包括:旋转因子产生单元、复数乘法器、延迟交换单元、蝶形运算单元以及输出交换单元;所述复数乘法器分别连接所述旋转因子产生单元和延迟交换单元,所述延迟交换单元分别连接所述蝶形运算单元、复数乘法器和输出交换单元,所述输出交换单元连接所述蝶形运算单元和延迟交换单元;

所述旋转因子产生单元用于产生所述基4级联运算模块所需要的旋转因子;

所述复数乘法器用于计算串行输入数据与对应旋转因子的积,并将计算得到的输出数据传输至延迟交换单元;

所述延迟交换单元用于将所述复数乘法器计算得到的输出数据和输出交换单元输出的反馈数据延迟预设时间后并调整输出数据的顺序,再分别传输至蝶形运算单元和输出交换单元;

所述蝶形运算单元用于对所述延迟交换单元的输出数据进行蝶形运算,并将运算结果传输至输出交换单元;

所述输出交换单元从蝶形运算单元的运算结果以及延迟交换单元传输的数据中选择数据输出并反馈给延迟交换单元。

进一步的,所述的反馈装置,其中,所述延迟交换单元包括第一数据选择器、第二数据选择器、第三数据选择器、第一数据延迟器、第二数据延迟器和第三数据延迟器;

所述第一数据选择器分别连接所述复数乘法器、输出交换单元、第一数据延迟器和第二数据延迟器;

所述第二数据选择器分别连接所述复数乘法器、第三数据延时器和蝶形运算单元;

所述第三数据选择器分别连接所述第二数据延迟器、输出交换单元和第三数据延迟器;

所述第一数据延迟器分别连接所述第一数据选择器和蝶形运算单元;

所述第二数据延迟器分别连接所述输出交换单元、第一数据选择器和第三数据选择器;

所述第三数据延迟器分别连接所述第二数据选择器、第三数据选择器和输出交换单元;

所述第一数据选择器用于从所述复数乘法器、输出交换单元或第二数据延迟器的输出数据中选择数据传输至第一数据延迟器中;

所述第二数据选择器用于从所述复数乘法器或第三数据延时器的输出数据中选择数据输出至蝶形运算器中;

所述第三数据选择器用于从所述第二数据延迟器或输出交换单元的输出数据中选择数据传输至第三数据延迟器中;

所述第一数据延迟器用于将所述第一数据选择器选择的数据延迟第一有效时钟周期后传输至蝶形运算单元;

所述第二数据延迟器用于将所述输出交换单元的输出数据延迟第二有效时钟周期后传输至第一数据选择器和第三数据选择器;

所述第三数据延迟器用于将所述第三数据选择器选择的数据延迟第三有效时钟周期后传输至第二数据选择器和输出交换单元。

进一步的,所述的反馈装置,其中,所述延迟交换单元还包括延迟交换状态控制器;

所述延迟交换状态控制器用于根据预设的切换控制指令,分别控制所述第一数据选择器、第二数据选择器和第三数据选择器在不同时刻选择对应的输入数据。

进一步的,所述的反馈装置,其中,所述蝶形运算单元包括复数加法器和复数减法器;

所述复数加法器用于对输入数据分别进行分时加法运算后传输至输出交换单元;

所述复数减法器用于对输入数据分别进行分时减法运算后传输至输出交换单元;

所述复数加法器连接延迟交换单元和输出交换单元;

所述复数减法器连接延迟交换单元和输出交换单元。

进一步的,所述的反馈装置,其中,所述输出交换单元包括第四数据选择器、第五数据选择器和常数乘法器;

所述第四数据选择器分别连接所述蝶形运算单元和延迟交换单元;

所述第五数据选择器分别连接所述蝶形运算单元、常数乘法器和延迟交换单元;

所述常数乘法器分别连接所述蝶形运算单元和第五数据选择器;

所述第四数据选择器用于从所述蝶形运算单元或延迟交换单元的输出数据中选择数据作为计算结果输出;

所述第五数据选择器用于从所述蝶形运算单元或常数乘法器的输出数据中选择数据反馈给延迟交换单元;

所述常数乘法器用于对输入数据的实部和虚部作旋转和取补运算,并将运算结果传输至第五数据选择器。

进一步的,所述的反馈装置,其中,所述输出交换单元还包括输出交换状态控制器;

所述输出交换状态控制器用于根据预设的切换控制指令,分别控制所述第四数据选择器、第五数据选择器在不同时刻选择对应的输入数据。

有益效果:本实用新型提供一种反馈装置,所述装置包括基4级联运算模块;所述基4级联运算模块包括:旋转因子产生单元、复数乘法器、延迟交换单元、蝶形运算单元以及输出交换单元;所述复数乘法器分别连接所述旋转因子产生单元和延迟交换单元,所述延迟交换单元分别连接蝶形运算单元、复数乘法器和输出交换单元,所述输出交换单元连接所述蝶形运算单元和延迟交换单元;本实用新型在充分利用复数乘法器的基础上,通过使用双延迟反馈结构电路以及巧妙设计数据延迟缓存通道,使得复数加法器/减法器的使用效率得到有效提高,所需要的复数加法器数量明显减少,电路效率得到显著提升;有效解决了基4sdf和基4sdc结构占用较多复数加法器/减法器的问题。

附图说明

图1是本实用新型中一种反馈装置中基4级联运算模块的外部接口示意图;

图2是本实用新型中一种反馈装置中的基4级联运算模块的内部结构示意图;

图3是本实用新型中一种反馈装置中的基4级联运算模块中蝶形运算单元的外部接口示意图;

图4是本实用新型中一种反馈装置中的基4级联运算模块中延迟交换单元的外部接口示意图;

图5是本实用新型中一种反馈装置中的基4级联运算模块中延迟交换单元的内部结构示意图;

图6是本实用新型中一种反馈装置中的基4级联运算模块中延迟交换单元的工作示意图;

图7是本实用新型中一种反馈装置中的基4级联运算模块中输出交换单元的外部接口示意图;

图8是本实用新型中一种反馈装置中的基4级联运算模块中输出交换单元的内部结构示意图;

图9是本实用新型中一种反馈装置中的基4级联运算模块中输出交换单元的工作示意图。

具体实施方式

为使本实用新型的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本实用新型进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本实用新型,并不用于限定本实用新型。

本实用新型所涉及的反馈装置,鉴于常见流水线结构中基4mdc、基4sdf和基4sdc结构的缺陷,创新性的提出基4算法的单路径双延迟反馈(radix4singlepath-doubledelayfeedback,r4sp-ddf)结构,在充分利用复数乘法器(利用率75%,与r4sdf和r4sdc结构相同)的基础上,通过使用双延迟反馈结构电路以及巧妙设计数据延迟缓存通道,使得bf2(复数加法器)的使用效率提高(100%),有效解决了基4sdf和基4sdc结构占用较多复数加法器/减法器的问题。相比较r4sdf结构,复数加法器的数量减少(75%),与r4sdc结构相比,复数加法器的数量也减少(33%)。

鉴于上述基4的分解算法的几种fft/ifft处理器实现结构(r4sdf/r4sdc/r4mdc)都存在复数加法器利用率较低的缺陷,本实用新型对fft运算的基4分解算法进一步分解,令:

则fft/ifft处理器的输出序列x(k)可以进一步分解表示成:

根据上述分解过程,基4级联运算模块实现的基4分解运算,大致可以分解成4次加法运算(e+g,f+j)和4次减法运算(e-g,f-j)实现,即基4级联运算模块实现的基4分解运算可以分解成4次加法运算、4次减法运算和1次(-j)乘法运算实现。由于fft/ifft处理器的电路中实部和虚部是分离计算的,因此纯虚数(-j)的复数乘法器只需要作简单的数据交换和求补码处理;而4次加法运算和4次减法运算可以通过复数加法器/减法器分时逐个计算实现,这样复数加法器/减法器的利用效率可以得到有效提高(到100%)。

请参见图1,图1是本实用新型中一种反馈装置中基4级联运算模块的外部接口示意图。

本实用新型实施例所提供的基4级联运算模块的外部接口包括输入接口和输出接口,其中,输入接口包括:

reset,clock,in_datasync,in_dataena,in_datai和in_dataq,其中reset和clock是全局复位与全局时钟信号,in_datai和in_dataq是串行输入数据,in_datai是输入数据实部(i分部)而in_dataq是输入数据虚部(q分部);in_dataena是数据使能信号,只有当in_dataena为有效时,输入的in_datai和in_dataq才是有效的;in_datasync是帧同步信号,in_datasync只在数据帧的第一个数据输入时有效,其他时候in_datasync均无效;

输出接口包括:

out_datasync、out_datavalid、out_datai和out_dataq,其中out_datai和out_dataq是串行数据输出,out_datai对应于计算结果的实部(i分部)而out_dataq对应于计算结果的虚部(q分部);out_datavalid是数据输出有效信号,只有当out_datavalid为有效时,输出结果的out_datai和out_dataq才是有效的;out_datasync是帧同步信号,out_datasync只在帧数据的第一个数据输出时有效,其他时候out_datasync均输出无效电平。

请参见图2,所述装置包括基4级联运算模块;所述基4级联运算模块包括:延迟交换单元10、蝶形运算单元20、输出交换单元30、旋转因子产生单元40和复数乘法器50;所述复数乘法器50分别连接旋转因子产生单元40和延迟交换单元10,所述延迟交换单元10分别连接所述蝶形运算单元20、复数乘法器50和输出交换单元30,所述输出交换单元30连接所述蝶形运算单元20和延迟交换单元10;

所述旋转因子产生单元40用于产生所述基4级联运算模块所需要的旋转因子;

所述复数乘法器50用于计算串行输入数据与对应旋转因子的积,并将计算得到的输入数据传输至延迟交换单元10。

所述延迟交换单元10用于将所述复数乘法器50计算得到的输出数据和输出交换单元输出的反馈数据延迟预设时间后并调整输出数据的顺序,再分别传输至蝶形运算单元20和输出交换单元30;

所述蝶形运算单元20用于对所述延迟交换单元10的输出数据进行蝶形运算,并将运算结果传输至输出交换单元30;

所述输出交换单元30从蝶形运算单元20的运算结果以及延迟交换单元10传输的数据中选择数据输出并反馈给延迟交换单元10。

在本实施例中,所述旋转因子产生单元40主要是只读存储器(rom存储器),保存了基4级联运算模块中所需要的旋转因子与当前基4级联运算模块中的串行输入数据一起输入复数乘法器50相乘,复数乘法器50负责计算串行输入数据与对应旋转因子的积,并将计算的结果送入到延迟交换单元10,其中串行输入数据indata是复数,包括实部(in_datai)和虚部(in_dataq),应理解的是,旋转因子产生单元40也可以由硬件电路计算获得,本实用新型对此不作限定。

更具体的,所述延迟交换单元10是一个三输入三输出的交换电路,三个输入通道分别对应于基4级联运算模块的串行输入数据通道(indata)以及输出交换单元30的两个延迟反馈数据接口(fb+和fb-),延迟交换单元10通过延迟交换状态控制器17使得三个输入端口的数据正确的交换到三个输出数据端口;延迟交换单元10的a1和a2输出端口的数据将送入蝶形运算单元20的两个输入端口,延迟交换单元10的a3输出端口的数据将送入输出交换单元30;蝶形运算单元20的两个数据输入端口皆来自于延迟交换单元10,完成蝶形运算后的结果送入输出交换单元30的b1和b2端口;输出交换单元30也是一个三输入三输出的交换电路,通过输出交换状态控制器34把延迟交换单元10和蝶形运算单元20输入的3个端口的数据合理分配到3个输出端口,输出交换单元30的第一个输出端口对应于基4级联运算模块的输出数据通道(outdata),输出交换单元30的另外2个输出数据端口(fb+和fb-)对应于基4级联运算模块的双延迟反馈路径,这两个端口的数据将反馈给延迟交换单元10的两个输入端口。

进一步地,请参见图3,所述蝶形运算单元20包括复数加法器21和复数减法器22;所述复数加法器21用于对输入数据分别进行分时加法运算;所述复数减法器50用于对输入数据分别进行分时减法运算;所述复数加法器21连接延迟交换单元10和输出交换单元30;所述复数减法器22连接延迟交换单元10和输出交换单元30。

在本实施例中,复数加法器21和复数减法器22为提高使用效率采用分时工作的模式,有时运算输入来自复数乘法器50的输出(计算),有时运算输入来自复数加法器21和复数减法器22的反馈(计算e+g,f+j,e-g,f-j),延时交换单元负责复数加法器21和复数减法器22输入数据的延时交换调度,复数乘法器50的输出数据(即串行输入数据乘以旋转因子)和复数加法器21/复数减法器22反馈数据通过延时交换单元在数据通道和时序上的交换调度,输出2路复数数据流分别送入复数加法器21/复数减法器22,保证复数加法器21/复数减法器22高速有效的分时计算;因为复数加法器21/复数减法器22的分时工作模式,其输出结果有时需要反馈给延时交换单元用于下一轮计算(e、f、g、h),有时可以直接输出作为本级基4级联运算模块的输出串行序列(e+g,f+j),有时因为基4级联运算模块间是单数据路径连接所以需要反馈到延时交换单元延后作为本级基4级联运算模块的输出串行序列(e-g,f-j)。

请参见图4和图5,延迟交换单元10是一个三输入三输出的小型交换电路,每个数据输入/输出端口都对应于一路复数数据输入/输出,即每一路输入/输出都包括数据的实部(i支路)和虚部(q支路),所述延迟交换单元10包括第一数据选择器11、第二数据选择器12、第三数据选择器13、第一数据延迟器14、第二数据延迟器15和第三数据延迟器16;

所述第一数据选择器11分别连接所述复数乘法器50、输出交换单元30、第一数据延迟器14和第二数据延迟器15;

所述第二数据选择器12分别连接所述复数乘法器50、第三数据延时器16和蝶形运算单元20;

所述第三数据选择器13的分别连接第二数据延迟器15、输出交换单元30和第三数据延迟器16;

所述第一数据延迟器14分别连接第一数据选择器11和蝶形运算单元20;

所述第二数据延迟器15分别连接输出交换单元30、第一数据选择器11和第三数据选择器13;

所述第三数据延迟器16分别连接第二数据选择器12、第三数据选择器13和输出交换单元30;

所述第一数据选择器11用于从输入数据中选择数据传输到第一数据延迟器中14;

所述第二数据选择器12用于从输入数据中选择对应的数据输出到蝶形运算器中20;

所述第三数据选择器13用于从输入数据中选择对应的数据传输到第三数据延迟器16中;

所述第一数据延迟器14用于将输入数据延迟第一有效时钟周期后传输至蝶形运算单元20;

所述第二数据延迟器15用于将输入数据延迟第二有效时钟周期后传输至第一数据选择器11和第三数据选择器13;

所述第三数据延迟器16用于将输入数据延迟第三有效时钟周期后传输至第二数据选择器12和输出交换单元30。

其中,第一数据延迟器可以将输入数据延迟m/2个有效时钟周期再输出,第二和第三数据延迟器则表示该延迟器可以将输入数据延迟m/4个有效时钟周期再输出,m=2n×2-im为基4级联运算模块的数据循环周期,n为fft运算的长度。第一数据选择器是三输入的数据选择器,第二数据选择器和第三数据选择器是二输入的数据选择器。第一数据选择器负责从3路输入数据中为延时交换单元的a1输出端口(与基4级联运算模块中蝶形运算单元20相连接)选择合适的数据。第一数据选择器的3路输入数据来自于延迟交换单元10的indata、fb+和fb-,三个数据输入端口,分别对应于基4级联运算模块中复数乘法器50的输出以及蝶形运算单元20的输出(通过输出交换单元30以及2路反馈通道)。第二数据选择器负责从2路输入数据中为延迟交换单元10的a2输出端口(与基4级联运算模块中蝶形运算单元20相连接)选择合适的数据。第二数据选择器的2路输入数据一路来自于延迟交换单元10的indata数据输入端口(对应于基4级联运算模块中复数乘法器50的输出)、另外一路来自于第三数据选择器的输出(还需要通过第二数据延迟器)。第三数据选择器负责从2路输入数据中为延迟交换单元10的a3输出端口(在基4级联运算模块中直通输出交换单元30的in_c端口)选择合适的数据。第三数据选择器的2路输入数据分别对应于延迟交换单元10的fb+数据输入端口(即复数加法器21输出对应的反馈通道)和fb-数据输入端口(即复数减法器22输出对应的反馈通道)。

具体的,下面结合图5和图6对延迟交换单元10的工作过程做进一步说明,延迟交换单元10是一个复杂的有限状态机电路,工作状态包括等待状态、启动状态a、启动状态b、启动状态c、循环处理状态a、循环处理状态b、循环处理状态c、循环处理状态d、退出状态a、退出状态b、退出状态c、退出状态d等共计12个状态,不同状态下,延迟交换单元10的三个数据选择器和三个数据延迟器的工作状态定义如下:

等待状态(m/2个数据周期):第一数据选择器、第二数据选择器、第三数据选择器关闭,均无数据输出;第二数据延迟器和第三数据延迟器均无数据;输出端口a1/a2/a3均无输出;基4级联运算模块中的复数加法器21/复数减法器22不工作;与两路反馈路径相连的输入端口fb+和fb-均无数据输入。

启动状态a(m/2个数据周期):第一数据选择器选通来自于indata端口的数据(即基4级联运算模块中复数乘法器50的输出),输入数据依次进入数据延迟器第一数据延迟器;第二数据选择器和第三数据选择器关闭;第二数据延迟器和第三数据延迟器均无数据;输出端口a1/a2/a3均无输出;基4级联运算模块中的复数加法器21/复数减法器22不工作;与两路反馈路径相连的输入端口fb+和fb-均无数据输入。

启动状态b(m/4个数据周期):第二数据选择器选通来自于indata端口的数据(即基4级联运算模块中复数乘法器50的输出),输入数据通过第二数据选择器输出到a2端口送至基4级联运算模块中复数加法器21/复数减法器22的加数/减数端口;与此同时,启动状态a进入第一数据延迟器的输入数据的前m/4个数据从延迟器逐个输出通过a1端口送至基4级联运算模块中复数加法器21/复数减法器22的被加数/被减数端口;复数加法器21/复数减法器22逐个计算e/f,共计计算m/4次;复数加法器21/复数减法器22的计算结果通过两路反馈通道送至fb+/fb-端口,同时第一数据选择器选通来自于fb+端口的数据(即复数加法器21输出对应的反馈通道),复数加法器21的计算结果e依次进入数据延迟器第一数据延迟器,而复数减法器22的计算结果f依次进入第二数据延迟器;此阶段第三数据选择器关闭,无数据输出,第三数据延迟器无数据,a3端口无数据输出。

启动状态c(m/4个数据周期):第二数据选择器选通来自于indata端口的数据(即基4级联运算模块中复数乘法器50的输出),输入数据通过第二数据选择器输出到a2端口送至基4级联运算模块中复数加法器21/复数减法器22的加数/减数端口;与此同时,启动状态a进入第一数据延迟器的输入数据的后m/4个数据也从延迟器逐个输出通过a1端口送至基4级联运算模块中复数加法器21/复数减法器22的被加数/被减数端口;复数加法器21/复数减法器22逐个计算g/h,共计计算m/4次;复数加法器21/复数减法器22的计算结果通过输出交换单元30和两路反馈通道送至fb+/fb-端口,与此同时第三数据选择器选通来自于fb+端口的数据(即复数加法器21输出对应的反馈通道),复数加法器21的计算结果g依次进入第三数据延迟器,而复数减法器22的计算结果h通过输出交换单元30转变成j后依次进入第二数据延迟器;与此同时,第一数据选择器选通与第二数据延迟器相连接的端口,启动状态b进入该数据延迟器的f此时从第二数据延迟器输出,通过第一数据选择器依次进入数据第一数据延迟器,a3端口无数据输出。

循环处理状态a(m/4个数据周期):启动状态b或者循环处理状态c进入第一数据延迟器的数据e逐个输出到a1端口并送至复数加法器21/复数减法器22的被加数/被减数端口;第二数据选择器选通与第二数据延迟器相连接的端口,启动状态c或者循环处理状态d进入第三数据延迟器的g此时从第三数据延迟器输出,通过第二数据选择器和a2输出端口被送至复数加法器21/复数减法器22的加数/减数端口;复数加法器21/复数减法器22逐个计算(e+g)/(e-g),共计计算m/4次;复数加法器21的结果(e+g)被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块,而复数减法器22的结果(e-g)通过反馈通道送至延时交换单元的fb-端口,并依次进入第二数据延迟器;与反馈通道相连的输入端口fb+的数据不被选通,可直接丢弃;与此同时,启动状态c或者循环处理状态d进入第二数据延迟器的数据j依次输出,此时第三数据选择器选通与数据延迟器delay(m/4)相连接的端口,j依次进入第三数据延迟器;与此同时,下一个循环的输入数据依次从indata端口输入,第一数据选择器此时选通indata端口的数据,下一个循环的输入数据开始进入第一数据延迟器;a3端口的输出数据会被输出交换单元30丢弃。

循环处理状态b(m/4个数据周期):启动状态c或者循环处理状态d进入第一数据延迟器的数据f逐个输出到a1端口并送至复数加法器21/复数减法器22的被加数/被减数端口;第二数据选择器选通与第三数据延迟器相连接的端口,循环处理状态a进入第三数据延迟器的j此时从第三数据延迟器输出,通过第二数据选择器和a2输出端口被送至复数加法器21/复数减法器22的加数/减数端口;复数加法器21/复数减法器22逐个计算(f+j)/(f-j),共计计算m/4次;复数加法器21的结果(f+j)被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块,而复数减法器22的结果(f-j)通过反馈路径送至延时交换单元的fb-端口,并依次进入第二数据延迟器;与反馈路径相连的输入端口fb+的数据不被选通,可直接丢弃;与此同时,循环处理状态a进入第二数据延迟器的数据(e-g)依次输出,此时第三数据选择器选通与第二数据延迟器相连接的端口,(e-g)依次进入第三数据延迟器;与此同时,下一个循环的输入数据依次从indata端口输入,第一数据选择器此时选通indata端口的数据,下一个循环的输入数据开始进入第一数据延迟器;此阶段a3端口的输出数据会被输出交换单元30丢弃。

循环处理状态c(m/4个数据周期):循环处理状态a和循环处理状态b依次进入第一数据延迟器的数据(下一个循环)逐个输出到a1端口并送至复数加法器21/复数减法器22的被加数/被减数端口;与此同时第二数据选择器选通来自于indata端口的数据(也是下一个循环的数据),输入数据通过第二数据选择器输出到a2端口送至基4级联运算模块中复数加法器21/复数减法器22的加数/减数端口;复数加法器21/复数减法器22逐个计算下一个循环的e/f,共计计算m/4次;复数加法器21/复数减法器22的计算结果通过两路反馈通道送至fb+/fb-端口,同时第一数据选择器选通来自于fb+端口的数据,复数加法器21的计算结果(下一个循环的)e依次进入第一数据延迟器,而复数减法器22的计算结果(下一个循环的)f依次进入第二数据延迟器;第三数据选择器选通与第二数据延迟器相连接的端口,循环处理状态b进入第二数据延迟器的数据(当前循环的)(f-j)依次输出,通过第三数据选择器进入第三数据延迟器;与此同时,循环处理状态b进入第三数据延迟器的数据(当前循环的)(e-g)依次输出,通过a3端口送至输出交换单元30的in_c端口,并被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块。

循环处理状态d(m/4个数据周期):循环处理状态a和循环处理状态b依次进入数据延迟器第一数据延迟器的数据(下一个循环)逐个输出到a1端口并送至复数加法器21/复数减法器22的被加数/被减数端口;与此同时第二数据选择器选通来自于indata端口的数据(也是下一个循环的数据),输入数据通过第二数据选择器输出到a2端口送至基4级联运算模块中复数加法器21/复数减法器22的加数/减数端口;复数加法器21/复数减法器22逐个计算下一个循环的g/h,共计计算m/4次;复数加法器21/复数减法器22的计算结果通过两路反馈通道送至fb+/fb-端口,与此同时第三数据选择器选通来自于fb+端口的数据(即复数加法器21输出对应的反馈通道),复数加法器21的计算结果(下一个循环的)g依次进入第三数据延迟器,而复数减法器22的计算结果(下一个循环的)h通过输出交换单元30转变成j后依次进入第二数据延迟器;与此同时,第一数据选择器选通与第二数据延迟器相连接的端口,循环处理状态c进入第二数据延迟器的(下一个循环的)f此时从第二数据延迟器输出,通过第一数据选择器依次进入第一数据延迟器;与此同时,循环处理状态c进入第三数据延迟器的数据(当前循环的)(f-j)依次输出,通过a3端口送至输出交换单元30的in_c端口,并被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块。

退出状态a(m/4个数据周期):循环处理状态c进入数据延迟器第一数据延迟器的数据e逐个输出到a1端口并送至复数加法器21/复数减法器22的被加数/被减数端口;第二数据选择器选通与第三数据延迟器相连接的端口,循环处理状态d进入第三数据延迟器的g此时从第三数据延迟器输出,通过第二数据选择器和a2输出端口被送至复数加法器21/复数减法器22的加数/减数端口;复数加法器21/复数减法器22逐个计算(e+g)/(e-g),共计计算m/4次;复数加法器21的结果(e+g)被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块,而复数减法器22的结果(e-g)通过反馈通道送至延时交换单元的fb-端口,并依次进入第二数据延迟器;与反馈通道相连的输入端口fb+的数据不被选通,可直接丢弃;与此同时,循环处理状态d进入第二数据延迟器的数据j依次输出,此时第三数据选择器选通与第二数据延迟器相连接的端口,j依次进入第三数据延迟器;与此同时,第一数据选择器关闭,无输入数据进入第一数据延迟器;a3端口的输出数据会被输出交换单元30丢弃。

退出处理状态b(m/4个数据周期):循环处理状态d进入第一数据延迟器的数据f逐个输出到a1端口并送至复数加法器21/复数减法器22的被加数/被减数端口;第二数据选择器选通与第三数据延迟器相连接的端口,退出状态a进入第三数据延迟器的j此时从第三数据延迟器输出,通过第二数据选择器和a2输出端口被送至复数加法器21/复数减法器22的加数/减数端口;复数加法器21/复数减法器22逐个计算(f+j)/(f-j),共计计算m/4次;复数加法器21的结果(f+j)被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块,而复数减法器22的结果(f-j)通过反馈通道送至延迟交换单元10的fb-端口,并依次进入第二数据延迟器;与反馈通道相连的输入端口fb+的数据不被选通,可直接丢弃;与此同时,退出状态a进入第二数据延迟器的数据(e-g)依次输出,此时第三数据选择器选通与第二数据延迟器相连接的端口,(e-g)依次进入第三数据延迟器;与此同时,第一数据选择器关闭,无数据进入第一数据延迟器;此阶段a3端口的输出数据会被输出交换单元30丢弃。

退出处理状态c(m/4个数据周期):第一数据延迟器无数据输出;第二数据选择器关闭;复数加法器21/复数减法器22停止工作;第一数据选择器关闭;第三数据选择器选通与第二数据延迟器相连接的端口,退出状态b进入第二数据延迟器的数据(f-j)依次输出,通过第三数据选择器进入第三数据延迟器;与此同时,退出状态b进入第三数据延迟器的数据(e-g)依次输出,通过a3端口送至输出交换单元30的in_c端口,并被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块。

退出处理状态d(m/4个数据周期):第一数据延迟器无数据输出;第二数据选择器关闭;复数加法器21/复数减法器22停止工作;第三数据选择器关闭;第一数据选择器关闭;退出状态c进入第三数据延迟器delay(m/4)的数据(f-j)依次输出,通过a3端口送至输出交换单元30的in_c端口,并被输出交换单元30作为本级基4级联运算模块的输出送至下一级基4级联运算模块。

需要说明的是,延迟交换单元10的工作状态跳转控制由延迟交换状态控制器17负责,其中,延迟交换状态控制器17根据预设的切换控制指令,分别控制第一数据选择器11、第二数据选择器12和第三数据13选择器在不同时刻选择对应的输入数据。具体的,12个状态之间的跳转如图6所示:在没有fft计算数据(包括中间计算结果)输入之前,延迟交换单元10停留在等待状态,当接收到新一帧数据的时候,延迟交换单元10从等待状态跳转到启动状态a,然后依次跳转到启动状态b和启动状态c,启动状态完成了延迟交换单元10内部所有的数据延迟器的填充;然后依次跳转到循环处理状态a、循环处理状态b、循环处理状态c、循环处理状态d,每遍历一次循环处理的四个状态可处理一个循环的m个数据;每次循环处理状态d快结束的时候,延迟交换状态控制器会检测是否当前帧数据尚未计算完毕或者还有下一帧数据要处理,如果是则跳转到循环处理状态a继续工作;否则跳转到退出状态a,并依次遍历退出状态b和退出状态c,完成当前帧最后一个循环的数据处理,最后跳回到等待状态,等待下一帧计算数据的输入。由于启动状态a、启动状态b、启动状态c、循环处理状态a、循环处理状态b、循环处理状态c、循环处理状态d、退出状态a、退出状态b、退出状态c、退出状态d等11个工作状态每次处理的数据个数是固定的,所以延迟交换状态控制器17可以由计数器和简单逻辑判断电路实现。

请参见图7和图8,输出交换单元30是一个三输入三输出的小型交换电路,每个数据输入/输出端口都对应于一路复数数据输入/输出,即每一路输入/输出都包括数据的实部(i支路)和虚部(q支路),所述输出交换单元30包括第四数据选择器31、第五数据选择器32和常数乘法器33;

所述第四数据选择器31分别连接所述蝶形运算单元20和延迟交换单元10;

所述第五数据选择器32分别连接所述蝶形运算单元20、常数乘法器33和延迟交换单元10;

所述常数乘法器33分别连接所述蝶形运算单元20和第五数据选择器32;

所述第四数据选择器31用于从所述蝶形运算单元20或延迟交换单元10的输出数据中选择数据作为计算结果输出;

所述第五数据选择器32用于从所述蝶形运算单元20或常数乘法器33的输出数据中选择数据反馈给延迟交换单元10;

所述常数乘法器33用于对输入数据的实部和虚部作旋转和取补运算,并将运算结果传输至第五数据选择器32。

在本实施例中,输出交换单元30共有3个输入端口in_a/in_b/in_c和3个输出端口out_data/fb+/fb-;输入端口in_a/in_b和基4级联运算模块的复数加法器21/复数减法器22输出端相连接,in_c端口和延迟交换单元10的输出端口a3相连接;输出端口out_data直接作为基4级联运算模块的数据输出端口,输出端口fb+/fb-通过2路反馈路径和延迟交换单元10的输入端口fb+/fb-互联。

进一步地,整个交换单元由第四数据选择器/第五数据选择器和常数乘法器(-j)组成;第四数据选择器和第五数据选择器是二输入数据选择器,第四数据选择器从in_a端口或in_c端口选择合适的数据送至输出端口outdata,第五数据选择器从从in_b端口或常数乘法器(-j)的输出端口选择合适的数据送至输出端口fb-;常数乘法器(-j)负责将in_b端输入的数据h转换成j(j=h×(-j))。常数乘法器(-j)不需要任何硬件乘法器,只需要对输入复数数据的实部(i支路)和虚部(q支路)作旋转和取补运算。

具体的,下面结合图8和图9对输出交换单元30的工作过程做进一步说明,输出交换单元30是一个有限状态机电路,工作状态包括关闭状态、计算输出状态、反馈输出状态a、反馈输出状态b等4个状态,不同状态下,输出交换单元30的两个数据选择器和常数乘法器的工作状态定义如下:

关闭状态:当前状态下,第四数据选择器和第五数据选择器关闭,outdata端口无输出数据,fb-端口无输出数据,fb+端口输出的数据延迟交换单元10会自动丢弃。

计算输出状态:该状态对应于基4级联运算模块的加法器/减法器计算(e+g)/(e-g)和(f+j)/(f-j)的时刻(共计计算m/2次),第四数据选择器选通in_a端口的数据(e+g)和(f+j),将数据(e+g)和(f+j)通过outdata端口输出作为本级基4级联运算模块的输出送至下一级基4级联运算模块;与此同时,第五数据选择器选通in_b端口的数据(e-g)和(f-j),将数据(e-g)和(f-j)通过fb-端口和反馈路径送至延迟交换单元10的fb-输入端口,数据(e-g)和(f-j)将在延迟交换单元10缓存等待输出;此时in_a端口的数据(e+g)和(f+j),也会通过fb+端口和反馈路径送至延迟交换单元10的fb+输入端口,但延迟交换单元10会自动丢弃这部分数据。

反馈输出状态a:该状态共计计算m/4次,第四数据选择器选通in_c端口,此前缓存在延迟交换单元10的(前一个循环的)数据(e-g),通过outdata端口输出作为本级基4级联运算模块的输出送至下一级基4级联运算模块;与此同时,第五数据选择器选通in_b端口的数据f,将数据f通过fb-端口和反馈路径送至延迟交换单元10的fb-输入端口,数据f将在延迟交换单元10缓存等待下一次计算;此时in_a端口的数据e,也会通过fb+端口和反馈路径送至延迟交换单元10的fb+输入端口,数据e将在延迟交换单元10缓存等待下一次计算。

反馈输出状态b:该状态共计计算m/4次,第四数据选择器选通in_c端口,此前缓存在延迟交换单元10的(前一个循环的)数据(f-j),通过outdata端口输出作为本级基4级联运算模块的输出送至下一级基4级联运算模块;与此同时,基4级联运算模块的减法器的计算结果h被送至输入端口in_b,常数乘法器(-j)将h转换成j输出(j=h×(-j)),第五数据选择器选通常数乘法器(-j)的输出数据j,将数据j通过fb-端口和反馈路径送至延迟交换单元10的fb-输入端口,数据j将在延迟交换单元10缓存等待下一次计算;此时in_a端口的数据g,也会通过fb+端口和反馈路径送至延迟交换单元10的fb+输入端口,数据g将在延迟交换单元10缓存等待下一次计算。

需要说明的是,输出交换单元30的工作状态跳转控制由输出交换状态控制器34负责,其中,所述输出交换状态控制器34根据预设的切换控制指令,分别控制第四数据选择器31、第五数据选择器32在不同时刻选择对应的输入数据。具体的,4个状态之间的跳转如图9所示:在基4级联运算模块的加法器/减法器没有向输出交换单元30输入数据的时候,输出交换单元30停留在关闭状态,当新一帧数据输入的时候,输出交换单元30从关闭状态跳转到计算输出状态,然后依次跳转到反馈输出状态a和反馈输出状态b,每遍历一次计算输出状态/反馈输出状态a/反馈输出状态b可输出一个循环的m个数据;每次反馈输出状态b快结束的时候,输出交换状态控制器会检测是否当前帧数据尚未输出完毕或者还有下一帧数据要处理,如果是则跳转到计算输出状态继续工作;否则跳回到关闭状态,等待下一帧数据的输入。由于计算输出状态、反馈输出状态a、反馈输出状态b等3个工作状态每次处理的数据个数是固定的,所以输出交换状态控制器可以由计数器和简单逻辑判断电路实现。

综上所述,本实用新型提供一种反馈装置,所述装置包括基4级联运算模块;所述基4级联运算模块包括:旋转因子产生单元、复数乘法器、延迟交换单元、蝶形运算单元以及输出交换单元;所述复数乘法器分别连接所述旋转因子产生单元和延迟交换单元,所述延迟交换单元分别连接蝶形运算单元、复数乘法器和输出交换单元,所述输出交换单元连接所述蝶形运算单元和延迟交换单元;本实用新型在充分利用复数乘法器的基础上,通过使用双延迟反馈结构电路以及巧妙设计数据延迟缓存通道,使得复数加法器/减法器的使用效率得到有效提高,所需要的复数加法器数量明显减少,电路效率得到显著提升;有效解决了基4sdf和基4sdc结构占用较多复数加法器/减法器的问题。

应当理解的是,本实用新型的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本实用新型所附权利要求的保护范围。

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