本发明专利技术公开了一种实现FFT及IFFT运算的装置和方法,该装置包括FFT/IFFT控制单元,用于将两路待运算数据和旋转因子输入ALU运算单元,并将ALU输出计算结果分别存储到对应的RAM中,以及利用状态机控制FFT/IFFT每级蝶形运算的切换;ALU运算单元,用于对两路待运算数据分别进行FFT/IFFT蝶形运算;RAM读/写控制单元,用于对所述多个RAM进行读和写控制,其中,所述多个RAM存储ALU运算单元每级FFT/IFFT蝶形运算后的结果;旋转因子读取单元,用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元中的存储地址。应用本发明专利技术提供装置提高了现有技术中FFT及IFFT的速度。
【技术实现步骤摘要】
本专利技术涉及通信技术及信号处理领域,尤其涉及一种实现FFT及IFFT运算的装置和方法。
技术介绍
现实环境中的无线信道具有两大特点:时变特性和衰落特性,由于无线信号的各个反射波的延时不同,在UE端接收的信号实际上是多径信号的叠加。根据扰码的特性,延时在一个码片之内的两径信号互相关值不为零,且不同步的OVSF(Orthogonal Variable Spreading Factor正交可变扩频因子)码之间也不完全正交,所以不同路径的无线信号之间存在着相互干扰。在HSDPA中,由于HS-PDSCH采用多码传输,扩频因子固定且较低,信噪比较高,所以相对噪声的影响来说码间的干扰十分突出,已经成为影响性能的关键因素。在传统的RAKE接收机中,一般假设多径无线信号的相对延时大于码片间隔,由于大于一个码片的信号互不相关,所以多径信号的叠加将带来增益。但由协议3GPP TS25.101可以看出,在HSDPA中假设存在不可分离的多径,多径信号之间则存在严重的码间干扰,会使信号产生变形从而误判,所以使用传统的RAKE接收机的性能将会恶化。为此3GPP R6为HSDPA推荐了3种高级接收机:1:具有接收分集的rake接收机(增强类型一);2:单均衡器接收机(增强类型二);3:具有接收分集的均衡器接收机(增强类型三);采用双天线rake接收机在理想相干合并的情况下将产生3db的增益。但实际上天线间有一定的相关性,这与频段的选择有关,通常认为两个天线的间距等于半波长时,两个天线完全不相关。使用线性最小均方根误差(MMSE)接收机带来的增益,主要来自于均衡无线信道的时延拓展,均衡器实现了等效下行正交,从而使本小区的干扰更小。应用上述几种rake接收机都需要对大量的数据进行处理,如果所有的数据处理全部在时域去完成的话,硬件的数据处理量会非常大,而在频域中处理硬件处理的数据量相对要小,所以对处理的数据进行由时域到频域的转换,同时兼顾到运算速度与硬件资源的充分利用,现有技术中FFT/IFFT处理装置都是将多路数据串行处理,从而导致数据处理速度慢。
技术实现思路
本专利技术提供一种实现FFT及IFFT运算的装置和方法,用于提高现有技术中FFT及IFFT运算的速度。一种实现FFT及IFFT运算的装置,包括FFT控制单元、ALU运算单元、RAM读/写控制单元、多个RAM、旋转因子存储单元和旋转因子读取单元:FFT/IFFT控制单元,用于将两路待运算数据和旋转因子输入ALU运算单元,并将-->ALU输出计算结果分别存储到对应的RAM中,以及利用状态机控制FFT/IFFT每级蝶形运算的切换;ALU运算单元,用于对两路待运算数据分别进行FFT/IFFT蝶形运算;RAM读/写控制单元,用于对所述多个RAM进行读和写控制,其中,所述多个RAM存储ALU运算单元每级FFT/IFFT蝶形运算后的结果;旋转因子读取单元,用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元中的存储地址。一种实现FFT及IFFT运算的方法,包括:输入两路待运算数据和运算所需的旋转因子,调用ALU运算单元分别对两路待运算数据进行多级FFT/IFFT蝶形运算,并将每级蝶形运算后的两路数据分别存储到对应的RAM中,其中,利用状态机控制每级FFT/IFFT蝶形运算的切换。应用本专利技术实施例所提供的装置,充分的利用整个系统中的硬件资源,提高FFT/IFFT的运算速度。附图说明图1为本专利技术实施例一种实现FFT及IFFT运算的装置的结构图;图2为本专利技术实施例FFT控制单元状态机图;图3为本专利技术实施例双口RAM读操作时序图;图4为本专利技术实施例双口RAM写操作时序图;图5为本专利技术实施例从ROM中读取旋转因子的操作时序图;图6为本专利技术实施例一种FFT及IFFT运算方法的流程图。具体实施方式本专利技术实施例提供一种实现FFT及IFFT运算的装置,包括:FFT/IFFT控制单元,用于将两路待运算数据和旋转因子输入ALU运算单元,并将ALU输出计算结果分别存储到对应的RAM中,以及利用状态机控制FFT/IFFT每级蝶形运算的切换;ALU运算单元,用于对两路待运算数据分别进行FFT/IFFT蝶形运算;RAM读/写控制单元,用于对所述多个RAM进行读和写控制,其中,所述多个RAM存储ALU运算单元每级FFT/IFFT蝶形运算后的结果;旋转因子读取单元,用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元中的存储地址。下面结合说明书附图对本专利技术的具体实施方式进行详细说明。如图1所示,本专利技术实施例一种实现FFT及IFFT运算的装置,该装置包括FFT控制单元101、ALU运算单元102、RAM读/写控制单元103、多个RAM104、旋转因子存储单元105和旋转因子读取单元106:FFT/IFFT控制单元101,用于将两路待运算数据和旋转因子输入ALU运算单元102,并将ALU输出计算结果分别存储到对应的RAM104中,以及利用状态机控制FFT/IFFT每级蝶形运算的切换;该FFT/IFFT控制单元101实现FFT/IFFT每级运算的整体控制。ALU运算单元102,用于对两路待运算数据分别进行FFT/IFFT蝶形运算;-->其中,该ALU运算单元独立设置在该装置外,进行FFT/IFFT运算时,FFT/IFFT控制单元101调用该ALU运算单元102进行FFT/IFFT运算。RAM读/写控制单元103,用于对多个RAM104进行读/写控制,其中,所述RAM104存储ALU运算单元102每级FFT/IFFT蝶形运算后的结果;旋转因子读取单元106,用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元105中的存储地址。其中,ALU运算单元102进行蝶形运算时,所述RAM104读写控制单元103从所述RAM104中读取数据进行蝶形运算,并将ALU运算单元102每级蝶形运算后的数据写入RAM104的对应地址中,在本专利技术实施例中RAM读写控制单元103按照蝶形结为单位从RAM104中读取数据以及将多级运算后的数据写入该RAM104中,其中,读地址(ramrdaddr)计算公式为:第一个点的读地址为ramrdaddr=(group-1)<<i+T,第二个点读地址为ramrdaddr=(group-1)*M+but_dis tan ce+T:写地址(ramwraddr)计算公式为:第一个点的写地址ramwraddr=(groupwr-1)<<i+Twr,第二个点的写地址ramwraddr=(groupwr-1)<<i+but_dis tan ce+Twr;其中,group为蝶形结计数,M为2的i次方,i为运算级数,T和Twr为2的6-i次方,but_distance为蝶形结中两点的间隔,并且,该读地址和写地址的计算用组合逻辑实现。另外,对于蝶形运算的旋转因子,在本专利技术实施例中所述旋转因子读取单元106105用于按照蝶形结为单位从所述旋转因子存储单元105中读取旋转因子,读地址(romrdaddr)计算公式为:romrdaddr=26-i×T或romrdaddr=T<<26-i,其中T,26-i为常量。在本专利技术实施例中,本专利技术实施例最优化实施例是选用两个双口RAM实现多个RA本文档来自技高网...
【技术保护点】
一种实现FFT及IFFT运算的装置,其特征在于,包括FFT控制单元、ALU运算单元、RAM读/写控制单元、多个RAM、旋转因子存储单元和旋转因子读取单元:FFT/IFFT控制单元,用于将两路待运算数据和旋转因子输入ALU运算单元,并将ALU输出计算结果分别存储到对应的RAM中,以及利用状态机控制FFT/IFFT每级蝶形运算的切换;ALU运算单元,用于对两路待运算数据分别进行FFT/IFFT蝶形运算;RAM读/写控制单元,用于对所述多个RAM进行读和写控制,其中,所述多个RAM存储ALU运算单元每级FFT/IFFT蝶形运算后的结果;旋转因子读取单元,用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元中的存储地址。
【技术特征摘要】
1.一种实现FFT及IFFT运算的装置,其特征在于,包括FFT控制单元、ALU运算单元、RAM读/写控制单元、多个RAM、旋转因子存储单元和旋转因子读取单元:FFT/IFFT控制单元,用于将两路待运算数据和旋转因子输入ALU运算单元,并将ALU输出计算结果分别存储到对应的RAM中,以及利用状态机控制FFT/IFFT每级蝶形运算的切换;ALU运算单元,用于对两路待运算数据分别进行FFT/IFFT蝶形运算;RAM读/写控制单元,用于对所述多个RAM进行读和写控制,其中,所述多个RAM存储ALU运算单元每级FFT/IFFT蝶形运算后的结果;旋转因子读取单元,用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元中的存储地址。2.如权利要求1所述的装置,其特征在于,其中所述ALU运算单元独立设置在该装置外,进行FFT/IFFT运算时,FFT/IFFT控制单元还用于调用该ALU运算单元进行FFT/IFFT蝶形运算。3.如权利要求1所述的装置,其特征在于,所述多个RAM为两个双口RAM,则所述RAM读写控制单元用于对所述双口RAM进行读和写控制,包括按照蝶形结为单位从所述双口RAM中读取数据以及将每级蝶形运算后的数据写入所述双口RAM,其中,读地址(ramrdaddr)计算公式为:第一个点的读地址为ramrdaddr=(group-1)<<i+T,第二个点读地址为ramrdaddr=(group-1)*M+but_dis tan ce+T;写地址(ramwraddr)计算公式为:第一个点的写地址ramwraddr=(groupwr-1)<<i+Twr,第二个点的写地址ramwraddr=(groupwr-1)<<i+but_dis tan ce+Twr;其中,group为蝶形结计数,M为2的i次方,i为运算级数,T和Twr为2的6-i次方,but_distance为蝶形结中两点的间隔。4.如权利要求3所述的装置,其特征在于,所述RAM读写控制单元还用于用组合逻辑实现读地址和写地址的计算。5.如权利要求3或4任一权项所述的装置,其特征在于,所述旋转因子读取单元用于计算每级蝶形运算所需的旋转因子在旋转因子存储单元中的存储地址,包括旋转因子读取...
【专利技术属性】
技术研发人员:王经纬,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。