一种基于FPGA的时频域变换算法实现方法技术

技术编号:37330183 阅读:18 留言:0更新日期:2023-04-21 23:08
本发明专利技术涉及一种基于FPGA的时频域变换算法实现方法,基于FPGA的时频域变换算法包括短时傅里叶正变换和逆变换,短时傅里叶正变换实现方法包括:获取时域变换信号及变换参数;将时域变换信号分为四组数据;对四组数据同时进行短时傅里叶正变换得到四组正变换数据;短时傅里叶逆变换实现方法包括:对四组正变换数据的信号处理数据同时进行傅里叶逆变换得到四组逆变换数据;针对每组逆变换数据,每次傅里叶逆变换后对变换数据进行截位并乘以汉明窗;对每组截位加窗数据进行补零相加后除以经过幂次后移位相加的汉明窗,得到逆变换时域数据。该方法充用较小的资源实现了时频域变换的硬件算法实现,同时极大的缩短了算法耗时。同时极大的缩短了算法耗时。同时极大的缩短了算法耗时。

【技术实现步骤摘要】
一种基于FPGA的时频域变换算法实现方法


[0001]本专利技术属于信号处理
,具体涉及一种基于FPGA的时频域变换算法实现方法。

技术介绍

[0002]在信号处理领域中,干扰体制的复杂化导致抗干扰手段也逐渐走向精细化。时频域变换是有效认知、识别与对抗干扰的一种手段,但采用傅里叶变换将数据变换到频域已经不足以有效对抗日渐复杂的干扰类型,短时傅里叶变换可以有效提取出信号频率变化与时间的关系,可以在时频域进行各种抗干扰算法的研究,是现代抗干扰技术的主流研究方向。时频域变换主要包括短时傅里叶正变换与短时傅里叶逆变换。
[0003]短时傅里叶正变换(short

time Fourier transform,STFT)和短时傅里叶逆变换(inverse short

time Fourier transform,ISTFT),本质上都是一种加窗的傅里叶变换,其最大的优点就是可以通过该算法得到信号频率随时间的变化关系,但是其巨大的运算量以及运算的复杂性让其在硬件实现上比较困难,需要消耗大量的资源,时频域变换过程会进行滑窗处理,但是基于FPGA的硬件实现方法中对于该类算法不能充分利用代码其并行性高的特点进行算法实现,导致在硬件算法实现过程中需要消耗大量的时间,难以兼顾资源消耗与满足时间消耗。

技术实现思路

[0004]为了解决现有技术中存在的上述问题,本专利技术提供了一种基于FPGA的时频域变换算法实现方法。本专利技术要解决的技术问题通过以下技术方案实现:本专利技术实施例提供了一种基于FPGA的时频域变换算法实现方法,所述FPGA的时频域变换算法包括短时傅里叶正变换和短时傅里叶逆变换,其中,所述短时傅里叶正变换实现方法包括步骤:获取时域变换信号及变换参数,所述变换参数包括信号长度、汉明窗、汉明窗窗长、短时傅里叶变换滑窗时的步进长度、傅里叶变换长度和经过幂次后移位相加的汉明窗;依据所述信号长度和所述步进长度将所述时域变换信号分为四组数据;利用所述汉明窗、所述汉明窗窗长和所述傅里叶变换长度对所述四组数据同时进行短时傅里叶正变换,得到四组正变换数据;所述短时傅里叶逆变换实现方法包括步骤:对所述四组正变换数据的信号处理数据同时按照所述傅里叶变换长度进行傅里叶逆变换,得到四组逆变换数据;针对每组逆变换数据,依据所述汉明窗窗长对每次傅里叶逆变换后的数据进行截位,并将截位后的数据乘以所述汉明窗,得到四组截位加窗数据;根据所述信号长度对每组截位加窗数据分别进行补零,并将四组补零数据进行相加,再将相加结果除以所述经过幂次后移位相加的汉明窗,得到逆变换时域数据。
[0005]在本专利技术的一个实施例中,所述信号长度、所述汉明窗窗长、所述步进长度、所述傅里叶变换长度均为2的整数次幂;所述傅里叶变换长度大于或等于所述汉明窗窗长。
[0006]在本专利技术的一个实施例中,所述步进长度为所述汉明窗窗长的一半。
[0007]在本专利技术的一个实施例中,所述汉明窗的计算公式为:;其中,表示汉明窗的第个点,表示汉明窗长度。
[0008]在本专利技术的一个实施例中,所述经过幂次后移位相加的汉明窗的获取方法为:将所述汉明窗进行二次幂计算;将二次幂计算数据向后移位若干次,移位距离依次为:0、、、

、,得到移位数据,其中,表示信号长度,表示步进长度,表示汉明窗长度;将移位后数据按列相加,得到所述经过幂次后移位相加的汉明窗。
[0009]在本专利技术的一个实施例中,依据所述信号长度和所述步进长度将所述时域变换信号分为四组数据,包括:将所述时域变换信号中第1个数据至第个数据作为第一组数据;将所述时域变换信号中第个数据至第个数据、第个数据至第个数据中的任一组数据作为第二组数据,另一组数据作为第三组数据;将所述时域变换信号中第个数据至第个数据作为第四组数据;其中,表示信号长度,表示步进长度。
[0010]在本专利技术的一个实施例中,利用所述汉明窗、所述汉明窗窗长和所述傅里叶变换长度对所述四组数据同时进行短时傅里叶正变换,得到四组正变换数据,包括:对每组数据以所述汉明窗窗长为单位依次获取待变换数据,将每次获取的待变换数据与所述汉明窗进行点乘,然后将点乘数据以所述傅里叶变换长度为单位进行短时傅里叶正变换,并且所述四组数据同时进行短时傅里叶正变换,得到所述四组正变换数据,其中,所述短时傅里叶正变换的公式为:;;
;其中,表示第组数据,表示第组,表示第个点的待变换数据,表示傅里叶变换长度,表示信号长度,表示汉明窗窗长,表示汉明窗。
[0011]在本专利技术的一个实施例中,对所述四组正变换数据的信号处理数据同时按照所述傅里叶变换长度进行傅里叶逆变换,得到四组逆变换数据,包括:对每组信号处理数据以所述傅里叶变换长度为单位依次进行傅里叶逆变换,并且四组信号处理数据同时进行傅里叶逆变换,得到所述四组逆变换数据;其中,所述傅里叶逆变换的公式为:;;;其中,表示第组,表示第个点数据,表示傅里叶变换长度,表示信号长度,表示汉明窗窗长,表示信号处理数据。
[0012]在本专利技术的一个实施例中,针对每组逆变换数据,依据所述汉明窗窗长对每次傅里叶逆变换后的数据进行截位,并将截位后的数据乘以所述汉明窗,得到四组截位加窗数据,包括:针对每组逆变换数据,对每次傅里叶逆变换后的数据从第一个数据开始按照所述汉明窗窗长进行截位,并将截位后的数据乘以所述汉明窗,得到所述四组截位加窗数据。
[0013]在本专利技术的一个实施例中,根据所述信号长度对每组截位加窗数据分别进行补零,并将四组补零数据进行相加,再将相加结果除以所述经过幂次后移位相加的汉明窗,得到逆变换时域数据,包括:对每组截位加窗数据进行补零直至数据长度达到所述信号长度,其中,补零方式为:在第一组截位加窗数据的后面补充个0,补齐至点;在第二组截位加窗数据或者第三组截位加窗数据的前面补充个0,后面补充个0,补齐至点;在第三组截位加窗数据的前面补充个0,后面补充个0,补齐至点;在第四组截位加窗数据的前面补充个0,补齐至点;其中,表示信号长度,表示傅里叶变换长度;将所述四组补零数据按列进行相加,得到所述相加结果;
将所述相加结果除以所述经过幂次后移位相加的汉明窗,得到所述逆变换时域数据。
[0014]与现有技术相比,本专利技术的有益效果:1、本专利技术的实现方法依据信号长度和步进长度将时域变换信号分为四组数据,并且在进行短时傅里叶正变换时四组数据同时进行,在进行傅里叶逆变换时四组信号处理数据也同时进行,使得在硬件实现过程中所消耗时间缩短为原来的4倍,大大缩短了算法的运行时间,且运算算法相近,可重复代码,既提高了算法运行速度又减小了工作量;同时,每组数据由于计算量的减小,所消耗资源也会减小,既兼顾了运算时间又减小了资源的消耗;2、本专利技术将时频域变换的步进长度设置为汉明窗窗长的一半,在保证时频域变换性能、保证精度的同时有效减小了运算次数与运算后的数据量,有效提高了运算效率与并行度,保证算法的有效性。
附图说明
[0015]图1为本专利技术实施例提供的一种基于FPGA的时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的时频域变换算法实现方法,其特征在于,所述FPGA的时频域变换算法包括短时傅里叶正变换和短时傅里叶逆变换,其中,所述短时傅里叶正变换实现方法包括步骤:获取时域变换信号及变换参数,所述变换参数包括信号长度、汉明窗、汉明窗窗长、短时傅里叶变换滑窗时的步进长度、傅里叶变换长度和经过幂次后移位相加的汉明窗;依据所述信号长度和所述步进长度将所述时域变换信号分为四组数据;利用所述汉明窗、所述汉明窗窗长和所述傅里叶变换长度对所述四组数据同时进行短时傅里叶正变换,得到四组正变换数据;所述短时傅里叶逆变换实现方法包括步骤:对所述四组正变换数据的信号处理数据同时按照所述傅里叶变换长度进行傅里叶逆变换,得到四组逆变换数据;针对每组逆变换数据,依据所述汉明窗窗长对每次傅里叶逆变换后的数据进行截位,并将截位后的数据乘以所述汉明窗,得到四组截位加窗数据;根据所述信号长度对每组截位加窗数据分别进行补零,并将四组补零数据进行相加,再将相加结果除以所述经过幂次后移位相加的汉明窗,得到逆变换时域数据。2.根据权利要求1所述的基于FPGA的时频域变换算法实现方法,其特征在于,所述信号长度、所述汉明窗窗长、所述步进长度、所述傅里叶变换长度均为2的整数次幂;所述傅里叶变换长度大于或等于所述汉明窗窗长。3.根据权利要求1所述的基于FPGA的时频域变换算法实现方法,其特征在于,所述步进长度为所述汉明窗窗长的一半。4.根据权利要求1所述的基于FPGA的时频域变换算法实现方法,其特征在于,所述汉明窗的计算公式为:;其中,表示汉明窗的第个点,表示汉明窗长度。5.根据权利要求1所述的基于FPGA的时频域变换算法实现方法,其特征在于,所述经过幂次后移位相加的汉明窗的获取方法为:将所述汉明窗进行二次幂计算;将二次幂计算数据向后移位若干次,移位距离依次为:0、、、

、,得到移位数据,其中,表示信号长度,表示步进长度,表示汉明窗长度;将移位后数据按列相加,得到所述经过幂次后移位相加的汉明窗。6.根据权利要求1所述的基于FPGA的时频域变换算法实现方法,其特征在于,依据所述信号长度和所述步进长度将所述时域变换信号分为四组数据,包括:将所述时域变换信号中第1个数据至第个数据作为第一组数据;
将所述时域变换信号中第个数据至第个数据、第个数据至第个数据中的任一组数据作为第二组数据,另一组数据作为第三组数据;将所述时域变换信号中第个数据至第个数据作为第四组数据;其中,表示信号长度,表示...

【专利技术属性】
技术研发人员:全英汇冯浩轩赵佳琪吴耀君段丽宁
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1