1.一种基于FPGA的频谱分割FFT方法,其特征在于,包括以下步骤:步骤1,通过采集设备获取实时矢量信号的时域的原始数据;
步骤2,设置频谱分割FFT模型的参数:通过输入的配置信号FFTconfig进行参数设置,信号FFTconfig位宽为8位,其中低4位为设置的每路信号的点数L,计算方法为2的低4位相对应的十进制数的幂次方;高4位为通道数M;
步骤3,将获取的矢量信号的时域的原始数据输入频谱分割FFT模型中,所述频谱分割FFT模型是基于二维分解的FFT和将离散傅里叶变换DFT转换为循环卷积算法设计的,首先将多路时域数据同时进行第一次的横向的频谱变换,再将数据乘以对应的校正因子,接着将再次进行纵向的通道数点数的频谱变换,将通道数M的DFT变换矩阵分解为3个矩阵相乘:,其中矩阵 、 中仅包含0,1,‑1元素, 为对角矩阵;
步骤4,输出矢量信号的频域数据;
步骤3中,所述频谱分割FFT模型将正整数N点的FFT分解为两个正整数R和C的乘积,将一维数据转换为二维数据,公式为:,
其中 、 分别为二维数据的频域的横坐标和纵坐标,、别为二维数据的时域的横坐标和纵坐标, , , , ; 为矫正因子,为横向频域变换的旋转因子, 为纵向频域变换的旋转因子, 为最终的频域分割成的连续且不重叠的完整的频域信号;
步骤3中,所述频谱分割FFT模型包括数据分路模块、多路FFT模块、矫正角度存储模块、矢量旋转模块和矩阵变换模块;
所述数据分路模块连接多路FFT模块,所述多路FFT模块和矫正角度存储模块连接向量旋转模块,所述向量旋转模块连接矩阵变换模块;
所述数据分路模块将获取的矢量时域数据采用改进的分路方式,将采样到的时域矢量信号输入到深度为M的先进先出的数据缓存器,由非对称输入输出进行分组处理,将获取的矢量信号均分成M路;
所述多路FFT模块将多路数据信号计算得到中间的频域信号;
所述矫正角度存储模块将矫正因子的旋转角度存储在块随机存取存储器,多路FFT模块输出有效频域信号反馈给矫正角度存储模块作为启动信号,并且将多路频域信号经过延迟与矫正角度同时输出;
所述矢量旋转模块利用坐标旋转数字计算方法将多路的矢量数据同时旋转,达到复数乘法的效果;
所述矩阵变换模块将多路已经乘以矫正因子的数据纵向再次进行频谱变换,将多路独立的信号结果进行矩阵变换得到一个频域分割但连续不重叠的完整的多路频域信号。
2.根据权利要求1所述的方法,其特征在于,步骤3中,所述多路FFT模块对每一路数据分配一个独立的FFT的计算单元,通过并行处理,两个以上行的FFT能够同时计算,并且将所有并行计算结束的数据直接流水线输出。
3.根据权利要求2所述的方法,其特征在于,步骤3中,所述矫正角度存储模块在上位机提前计算矫正因子的旋转角度,并存储到块随机存取存储器中,矫正因子的指数为旋转角度的计算公式,矫正因子的计算公式为 ,其中 和 分别为二维数据的频域的纵坐标和时域的横坐标,N为FFT计算的总点数,e表示自然常数,j是虚数单位。
4.根据权利要求3所述的方法,其特征在于,步骤3中,所述矢量旋转模块根据第一次将数据放入多路FFT模块的计算完成信号并与所述矫正角度存储模块的数据同时输出对齐,然后利用坐标旋转数字计算方法进行矢量数据的旋转矫正。
5.根据权利要求4所述的方法,其特征在于,步骤3中,所述矩阵变换模块将多路已经乘以矫正因子的数据纵向再次进行频谱变换,将多路独立的信号结果进行矩阵变换得到一个完整的频域信号,支持通道数M=2、3、5、8,FFT支持的总点数 ,其中;取值为3 14;,,, 分别表示2、3、5、8通道数是否被选择的参数,如果~为2路数据则 =1,否则a为0,如果为3路数据则b=1,否则b为0,如果为5路数据则c=1,否则c为0,如果为8路数据则d=1,否则d为0; 为第一次频谱变换2次幂的指数;各通道数据需要加入延迟单元来满足同时性,矩阵变换中复乘器的延迟为4个时钟周期,复数加法器的延迟为1个时钟周期,由此计算出2、3、5、8路的延迟分别为3、9、9、8个时钟周期;二路数据为蝶形运算,三路数据、五路数据、八路数据的矩阵变换依次为 、 、 : ,
,
。
6.根据权利要求5所述的方法,其特征在于,步骤3中, 2、3、5、8路的矩阵变换模块中形成资源复用设计的多路混合数据结构,首先将矢量旋转后的数据输入所述多路混合数据结构,当数据的并行度小于8时,没有数据的端口需要将输入数据置0,然后将数据进行重排,经过两个以上二选一的数据选择得到不同通路的正确数据路径,并且由 对角矩阵中的元素来配置乘法器的一端输入,最终将输出数据再次重新排列来实现不同通道数的纵向频域变换。
7.一种根据如权利要求1 6任一项所述的方法实现的基于FPGA的频谱分割FFT装置,其~特征在于,包括数据分路模块、多路FFT模块、矫正角度存储模块、矢量旋转模块和矩阵变换模块;
所述数据分路模块连接多路FFT模块,所述多路FFT模块和所述矫正角度存储模块连接所述向量旋转模块,向量旋转模块连接所述矩阵变换模块;
所述数据分路模块是将获取的矢量时域数据进行分组处理,将获取的矢量信号均分成M路,M代表通道数;
所述多路FFT模块是将多路数据信号计算得到中间的频域信号;
所述矫正角度存储模块是将矫正因子的旋转角度存储在BRAM;
所述矢量旋转模块是将多路的矢量数据同时旋转;
所述矩阵变换模块是将多路独立的信号结果矩阵变换得到一个完整的频域信号。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的方法的步骤。