CN110245322B - 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 - Google Patents
一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 Download PDFInfo
- Publication number
- CN110245322B CN110245322B CN201910382105.0A CN201910382105A CN110245322B CN 110245322 B CN110245322 B CN 110245322B CN 201910382105 A CN201910382105 A CN 201910382105A CN 110245322 B CN110245322 B CN 110245322B
- Authority
- CN
- China
- Prior art keywords
- paths
- hilbert
- parallel data
- data
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 51
- 230000004927 fusion Effects 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 12
- 239000013589 supplement Substances 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 102000001690 Factor VIII Human genes 0.000 claims 1
- 108010054218 Factor VIII Proteins 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 9
- 238000004891 communication Methods 0.000 abstract description 6
- 238000011426 transformation method Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000021615 conjugation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于硬件实现高速数据流实时Hilbert变换的方法和系统,属于通信和数字信号处理技术领域。本发明采用并行流水线方式实现Hilbert变换方法,多路并行处理提高信号处理速度,流水线处理保证信号实时处理;并在Hilbert变换内部,通过级数融合方式降低运算量。本发明采用重叠分块的硬件架构,先确定Hilbert变换窗口L和重叠窗口△L;第1周期,输入N2路并行信号前端补△L路0组成L=△L+N2路并行信号进行L点Hilbert变换,并取L路变换前信号的最后△L路信号缓存,用于下一周期;第2周期及以后,取上一周期缓存的△L路信号和前端输入的N2路信号,组成L路并行信号进行L点Hilbert变换;每次Hilbert变换结果只取第△L/2+1个到第△L/2+N2个有效结果输出,从而抑制Hilbert变换的边缘效应。
Description
技术领域
本发明属于通信和数字信号处理技术领域,更具体地,涉及一种基于硬件实现高速数据流实时Hilbert变换的方法和系统。
背景技术
随着通信系统对速度和容量要求的提高,相干探测技术成为下一代光通信系统的关键技术,但是在传统的相干光接收机中每个偏振方向上光信号的接收都需要1个光混频器、4个光探测器和2个模数转换器(ADC)。其结构复杂,成本高,功耗大,无法满足中短距离通信如光接入网、城域网和数据中心的成本诉求。近几年,Kramers-Kronig(KK)接收机进入人们的视线,其优点是每个偏振方向只需要一个光探测器和一个ADC就可以实现信号检测,结构简单、成本低并且功耗小。KK接收机内部包含数字信号处理器(DSP),DSP采用KK检测算法来重建信号光场。KK检测算法中关键的一步是要对数据流进行实时希尔伯特(Hilbert)变换。
以往无论是基于FPGA或ASIC芯片设计的Hilbert变换模块,其内部多采用串行FFT/IFFT方法或者串行FIR滤波器的方法,并且不具备实时信号处理能力。其中,对于点数为L的FFT/IFFT方法,如果采用基-4FFT,完成Hilbert总共要2log4L+1级结构,每一级包含L/4个蝶形结构,每个蝶形结构需要4个旋转因子进行复乘运算。这样的Hilbert变换模块处理速率较低、计算量大,且仅适用于数字图像这类数据块大小有限的对象,无法用于通信系统中高速数据流的实时Hilbert变换。理想的Hilbert变换的窗口无限大,但实际上Hilbert变换窗口有限。有限的Hilbert变换结果相对于理想情况会发生明显劣化,即有限窗口的Hilbert变换引入边缘效应。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术无法实现实时Hilbert变换、存在边缘效应的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种基于硬件实现高速数据流实时Hilbert变换的方法,所述方法以流水线方式进行以下步骤:
S1.高速数据流以传输速度f传输,并在硬件全局时钟f0下实时转换为N1路并行数据流,其中,N1=f/f0;
S2.在Hilbert变换的时钟f1下,N1路并行数据流实时转换为N2路并行数据流,其中,f1=f/N2,N2为有效Hilbert窗口;
S3.对于最早进入Hilbert变换的N2路并行数据,其前端补充△L个0,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据;对于之后进入Hilbert变换的N2路并行数据,其前端补充上次Hilbert变换前的L路并行数据的后端△L路数据,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据;其中,重叠Hilbert窗口△L=L-N2,L为Hilbert变换窗口;
S4.丢弃变换后的L路并行数据前端的△L/2路数据和后端的△L/2路数据,得到N2路并行数据,将其作为对应的有效的Hilbert变换结果。
具体地,折中考虑Hilbert变换误码率和硬件资源消耗,选取合适的Hilbert变换窗口L,L应满足L=4n,n为正整数;折中考虑误码率和硬件资源利用率,选取合适的有效Hilbert窗口N2。
具体地,以Hilbert变换窗口无限大时对应的误码率为基准,找出误码率尽可能接近基准且运算量尽可能小的L,为最终Hilbert变换窗口L。
第二方面,本发明实施例提供了一种基于硬件实现高速数据流实时Hilbert变换的系统,所述系统包括第一存储模块(1)、第二存储模块(2)、第三存储模块(3)、变换模块(4)和第五存储模块(5);
第一存储模块(1)用于接收并缓存传输速度为f的高速数据流,所述高速数据流在硬件全局时钟f0下实时转换为N1路并行数据流,输出N1路并行数据流到第二存储模块(2),其中,N1=f/f0;
第二存储模块(2)用于接收并存储第一存储模块(1)输出的N1路并行数据流,其在Hilbert变换的时钟f1下,实时转换为N2路并行数据流,输出到变换模块(4),其中,f1=f/N2,N2为有效Hilbert窗口;
第三存储模块(3)用于接收并存储变换模块(4)输出的本次Hilbert变换前的L路并行数据的后端△L路数据,同时输出上次存储的△L路数据到变换模块(4);
变换模块(4)用于接收第二存储模块(2)输出的N2路并行数据流和第三存储模块(3)输出的△L路数据,组成L路并行数据,并完成L点Hilbert变换;对于最早进入变换模块(4)的N2路并行数据,其前端补充△L个0,组成L路并行数据,进行L点Hilbert变换,得到Hilbert变换后的L路并行数据,将其输出到第五存储模块(5),再将本次Hilbert变换前的L路并行数据的后端△L路数据输出到第三存储模块(3);对于之后进入变换模块(4)的N2路并行数据,其前端补充上次Hilbert变换前的L路并行数据的后端△L路数据,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据,将其输出到第五存储模块(5),将本次Hilbert变换前的L路并行数据的后端△L路数据输出到第三存储模块(3),其中,△L=L-N2,L为Hilbert变换窗口;
第五存储模块(5)用于接收变换模块(4)输出的L路并行数据,丢弃该L路并行数据前端的△L/2路数据和后端的△L/2路数据,得到N2路并行数据,将其作为对应的有效的Hilbert变换结果。
具体地,所述变换模块采用L路并行化的2log4 L-1级融合网络结构,实现L路并行数据的L点Hilbert变换,每级融合网络结构包括重排序、旋转和加减运算,各级融合网络结构的重排序方式和旋转因子不同。
具体地,每级融合网络结构采用L/4个4点蝶形结构实现旋转和加减运算,每个4点蝶形结构的输入数据依次为a1、a2、a3和a4,旋转因子依次为b1、b2、b3和b4,输入数据as分别与旋转因子bs相乘,完成旋转依次输出cs,s取值1、2、3和4;加减运算中,d1=c1+c2+c3+c4,d2=c1-j*c2-c3+j*c4,d3=c1-c2+c3-c4,d4=c1+j*c2-c3-j*c4;4点蝶形结构依次输出结果为d1、d2、d3和d4。
具体地,对于前m+1级融合网络结构来说,第i级融合网络结构中第j个4点蝶形结构,i取值1~m+1,j取值1~L/4,b取值1~4i-1,对于其旋转因子分别为和对于后m级融合网络结构来说,第i级融合网络结构中第j个4点蝶形结构,i取值m+2~2m+1,j取值1~L/4,b取值1~4i-m-1,对于其旋转因子分别为和其中,级数m=log4L-1,旋转因子
具体地,判断第i级融合网络结构中第j个4点蝶形结构的4个旋转因子若存在旋转因子等于±1或者±j,则省略与其对应的复数乘法运算;若存在两个旋转因子满足角度对称性,则先做加减运算再做旋转,在加减运算中先合并同类项再做乘法完成旋转。
具体地,对于2m+1级融合网络结构来说,第i级融合网络结构中第j个4点蝶形结构,i取值1~2m+1,j取值1~L/4,该级输入的L路并行数据中第4j-3个、第4j-2个、第4j-1个和第4j个数据作为第j个4点蝶形结构的输入数据,经过4点蝶形结构运算输出的4个连续数据再经过重排序,依次作为第i+1级网络结构的第j个、第j+L/4个、第j+L/2个和第j+3L/4个输入数据,其中,级数m=log4L-1。
第三方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的基于硬件实现高速数据流实时Hilbert变换的方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1.本发明采用并行流水线的方式实现Hilbert变换,多路同时处理提高信号处理速度,流水线结构保证信号实时处理,但并行化结构增加了硬件资源消耗。针对此问题,可以在Hilbert变换内部通过级数融合方式降低运算量,最终在资源足够情况下,实现高速实时Hilbert变换。
2.本发明采用重叠分块的硬件架构,首先确定Hilbert变换的窗口L,重叠窗口△L,第1周期,输入N2路并行信号前端补△L个0组成L=△L+N2路并行信号进行L点Hilbert变换,并取L路变换前的信号中最后△L路输入信号缓存,用于下一周期,第2周期及以后,取上一周期缓存的△L路信号和前端输入的N2路信号,组成L路并行信号进行L点Hilbert变换;每次Hilbert变换结果只取中间第△L/2+1个到第△L/2+N2个有效结果输出,从而能够满足重叠取数的需求,并可以与任何其他功能模块完成输入和输出端的接口对接,实现Hilbert变换,且能够抑制有限窗口(即分块)引起的边缘效应。
附图说明
图1为本发明实施例提供的一种基于硬件实现高速数据流实时Hilbert变换的方法流程图;
图2为本发明实施例提供的一种基于硬件实现高速数据流实时Hilbert变换的系统结构示意图;
图3为本发明实施例提供的L路并行化的2log4L-1级网络结构示意图;
图4(1)为理论离线Hilbert变换处理结果与高速数据流实时Hilbert变换处理结果示意图;图4(2)为理论离线Hilbert变换处理的结果与高速数据流实时Hilbert变换处理结果的绝对误差曲线图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,一种基于硬件实现高速数据流实时Hilbert变换的方法,所述方法以流水线方式进行以下步骤:
S1.高速数据流以传输速度f传输,并在硬件全局时钟f0下实时转换为N1路并行数据流,其中,N1=f/f0;
S2.在Hilbert变换的时钟f1下,N1路并行数据流实时转换为N2路并行数据流,其中,f1=f/N2,N2为有效Hilbert窗口;
S3.对于最早进入Hilbert变换的N2路并行数据,其前端补充△L个0,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据;对于之后进入Hilbert变换的N2路并行数据,其前端补充上次Hilbert变换前的L路并行数据的后端△L路数据,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据;其中,重叠Hilbert窗口△L=L-N2,L为Hilbert变换窗口;
S4.丢弃变换后的L路并行数据前端的△L/2路数据和后端的△L/2路数据,得到N2路并行数据,将其作为对应的有效的Hilbert变换结果。
步骤S1.高速数据流以传输速度f传输,并在硬件全局时钟f0下实时转换为N1路并行数据流,其中,N1=f/f0。
数字信号处理系统中,高速数据流的传输速度可达GHz量级。为了实现高速数据流实时Hilbert变换,Hilbert变换系统的处理速度应与高速数据流的传输速度保持一致。由于FPGA的工作频率在MHz量级,因此,Hilbert变换系统采用并行处理模式。假定高速数据流的传输速度为f,FPGA全局时钟的工作频率为f0,此时,初始数字信号并行路数N1满足N1=f/f0。
基于确定的硬件(例如,FPGA、ASIC或者DSP)实现高速数据流实时Hilbert变换时,该硬件的全局时钟f0是确定的,假定高速数据流以传输速度f传输,则将该高速数据流转换为并行路数N1=f/f0。
步骤S2.在Hilbert变换的时钟f1下,N1路并行数据流实时转换为N2路并行数据流,其中,f1=f/N2,N2为有效Hilbert窗口。
FPGA不同模块(尤指Hilbert变换的时钟f1)的时钟均由FPGA全局时钟f0倍频或者分频产生,为了保证时钟的稳定性并简化时钟管理,模块的时钟f1与全局时钟f0的倍数关系应尽可能接近,f1满足f1=f0*N1/N2。
Hilbert变换采用基-4 FFT/IFFT实现,因此,Hilbert变换的窗口L应满足L=4n,n为正整数。Hilbert变换系统的误码率BER与Hilbert变换窗口L成反比,硬件资源消耗与Hilbert变换窗口L成正比。折中考虑误码率和硬件资源消耗,选取合适的Hilbert变换窗口L。
优选地,以Hilbert变换窗口无限大时对应的误码率为基准,找出误码率尽可能接近基准且运算量尽可能小的L,为最终Hilbert变换窗口L。
对于窗口为L的Hilbert变换,误码率与有效Hilbert窗口N2成正比,硬件资源利用率与有效Hilbert窗口N2成正比,N2越大,误码率越高,系统性能越差,硬件资源利用率越高。折中考虑误码率和硬件资源利用率,选取合适的有效Hilbert窗口N2,重叠Hilbert窗口△L=L-N2。
本发明采用并行流水线的方式实现Hilbert变换,其原理是多路同时处理提高信号处理速度,流水线结构保证信号实时处理。但并行化结构增加了硬件资源消耗,解决该问题的方法是在Hilbert变换内部通过级数融合方式降低运算量。其效果是最终在资源足够情况下,实现高速实时Hilbert变换。
如图2所示,一种基于硬件实现高速数据流实时Hilbert变换的系统,所述系统包括第一存储模块1、第二存储模块2、第三存储模块3、变换模块4和第五存储模块5:
第一存储模块1用于接收并缓存传输速度为f的高速数据流,所述高速数据流在硬件全局时钟f0下实时转换为N1路并行数据流,输出N1路并行数据流到第二存储模块2,其中,N1=f/f0;
第二存储模块2用于接收并存储第一存储模块1输出的N1路并行数据流,其在Hilbert变换的时钟f1下,实时转换为N2路并行数据流,输出到变换模块4,其中,f1=f/N2,N2为有效Hilbert窗口;
第三存储模块3用于接收并存储变换模块4输出的本次Hilbert变换前的L路并行数据的后端△L路数据,同时输出上次存储的△L路数据到变换模块4;
变换模块4用于接收第二存储模块2输出的N2路并行数据流和第三存储模块3输出的△L路数据,组成L路并行数据,并完成L点Hilbert变换;对于最早进入变换模块4的N2路并行数据,其前端补充△L个0,组成L路并行数据,进行L点Hilbert变换,得到Hilbert变换后的L路并行数据,将其输出到第五存储模块5,将本次Hilbert变换前的L路并行数据的后端△L路数据输出到第三存储模块3;对于之后进入变换模块4的N2路并行数据,其前端补充上次Hilbert变换前的L路并行数据的后端△L路数据,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据,将其输出到第五存储模块5,将本次Hilbert变换前的L路并行数据的后端△L路数据输出到第三存储模块3,其中,△L=L-N2,L为Hilbert变换窗口;
第五存储模块5用于接收变换模块4输出的L路并行数据,丢弃该L路并行数据前端的△L/2路数据和后端的△L/2路数据,得到N2路并行数据,将其作为对应的有效的Hilbert变换结果。
本发明采用L路并行化的2log4L-1级融合网络结构,实现L路并行数据的Hilbert变换。每级网络结构包括重排序、旋转和加减运算,其中,旋转和加减运算由L/4个4点蝶形结构实现。但是各级网络结构的重排序方式和旋转因子不同。
本发明每级网络结构中,4点蝶形结构的4个输入信号首先完成旋转再完成加减运算。旋转是指4个输入信号与4个旋转因子相乘。旋转得到的4个结果经过加减运算作为4点蝶形结构的输出结果。每个4点蝶形结构的输入数据依次为a1、a2、a3和a4,旋转因子依次为b1、b2、b3和b4,输入数据as分别与旋转因子bs相乘,完成旋转依次输出cs,s取值1、2、3和4;加减运算中,d1=c1+c2+c3+c4,d2=c1-j*c2-c3+j*c4,d3=c1-c2+c3-c4,d4=c1+j*c2-c3-j*c4;4点蝶形结构依次输出结果为d1、d2、d3和d4。
Hilbert变换的窗口L确定之后,可计算得到整个变换系统的总级数2m+1,其中,m=log4L-1。对于本发明提出的基于硬件实现高速数据流实时Hilbert变换的系统的前m+1级网络结构来说,第i级网络结构中第j个4点蝶形结构,i取值1~m+1,j取值1~L/4,b取值1~4i-1,对于其旋转因子分别为和其中,
对于本发明提出的基于硬件实现高速数据流实时Hilbert变换的系统的后m级网络结构来说,第i级网络结构中第j个4点蝶形结构,i取值m+2~2m+1,j取值1~L/4,b取值1~4i-m-1,对于其旋转因子分别为和其中,
判断第i级网络结构中第j个4点蝶形结构的4个旋转因子若存在旋转因子等于±1或者±j,则省略与其对应的复数乘法运算;若存在两个旋转因子满足角度对称性,则可先做加减运算再做旋转,在加减运算中先合并同类项再做乘法完成旋转。该方法利用旋转因子的特殊性简化计算,降低硬件资源消耗。
对于输入的L路输入信号,首先进行第一级运算,由于输入信号为实数且第一级的旋转因子所以第一级运算不存在复数乘法,在硬件中具体表现为不需要复数乘法模块,只需要进行简单的加减法。在每一级计算中,特殊角度的旋转因子可以利用角度的对称性而简化运算,如4点蝶形结构内,旋转因子实部或者虚部的绝对值相同,则可先做加减运算再做旋转,在加减运算中先合并同类项再做乘法完成旋转,从而减少乘法运算;旋转因子的实部为0或者虚部为0,同样地相应减少了乘法运算次数。
对于本发明提出的基于硬件实现高速数据流实时Hilbert变换的系统的2m+1级网络结构来说,第i级网络结构中第j个4点蝶形结构,i取值1~2m+1,j取值1~L/4,该级输入的L路并行数据中第4j-3个、第4j-2个、第4j-1个和第4j个数据作为第j个4点蝶形结构的输入数据,经过4点蝶形结构运算输出的4个连续数据再经过重排序,依次作为第i+1级网络结构的第j个、第j+L/4个、第j+L/2个、第j+3L/4个输入数据。
现有技术中L路并行数据的Hilbert变换的实现,需要log4L级FFT+1级频域处理+log4L级IFFT。具体地,在FFT和IFFT之间的频域处理级,对Hilbert变换的第log4L级输出的信号在第log4L+1级做以下处理:零频元素不变,正频元素乘2,负频元素置0;再将处理后的信号取共轭,将其作为第log4L+2级的输入。
例如,L=256时,现有技术需要4+1+4级网络结构,分别命名为1、2、3、4、5、6、7、8、9。而本发明提出的系统只需要3+1+3级网络结构,分别命名为1、2、3、4、5、6、7。本发明将现有技术的4、5、6级网路结构进行融合,得到本发明的第4级网络结构。
现有技术中第3级的L路并行数据输入到第4级,经过处理输出L路并行信号,将其输入到第5级,对正频数据进行乘2处理,零频数据保持不变,负频数据置0,输出L路并行信号,将其输入到第6级,进行共轭和加减运算。而在本发明中,第3级的L路并行数据输入到第4级(融合级),先进行共轭,舍去L/2-1路负频数据的计算,只进行其他的L/2+1路数据的计算,该计算融合了正频数据等效于乘2操作的左移一位处理和现有技术第6级的加减运算。
本发明中融合级的处理方式减少了在现有技术中第log4L级中负频数据的计算和第log4 L+2级输入中负频数据的计算,总共节省了3L/4次复数乘法。
该网络结构中最后一级运算得到复数信号,而本发明的Hilbert变换仅需要该信号的虚部,因此,可以在最后一级的加减运算中省略实部的计算,从而减少了一半原网络结构中最后一级的加减法运算量。
Hilbert变换的复数乘法本来是旋转因子和输入信号相乘,本发明先将旋转因子扩展一定的倍数,将其从浮点型转化为整型,便于硬件实现,扩展倍数的选取需要结合精度和硬件资源消耗综合考虑。根据扩展后的旋转因子,对输入信号进行移位相加处理,得到乘法结果,从而减少了硬件中算术乘法单元的使用。
本发明采用一种重叠分块的硬件架构抑制边缘效应。重叠分块硬件架构的原理是首先确定Hilbert变换的窗口L、重叠窗口△L。第1周期,输入N2路并行信号前端补△L个0组成L=△L+N2路并行信号进行L点Hilbert变换;并取L路变换前的信号中最后△L路输入信号缓存,用于下一周期。第2周期及以后,取上一周期缓存的△L路信号和前端输入的N2路信号,组成L路并行信号进行L点Hilbert变换,每次Hilbert变换结果只取第△L/2+1个到第△L/2+N2个有效结果输出。其效果是第一、硬件架构的缓存模式能够满足重叠取数的需求,可以与任何其他功能模块完成输入和输出端的接口对接;第二、实现Hilbert变换;第三、性能上表现为抑制有限窗口(即分块)引起的边缘效应。
在本发明的实施例中,为了达到20Gbps QPSK信号处理的速度要求,充分发挥FPGA的处理数据的性能,FPGA中采用全局时钟为312.5MHz,此时高速数据流以20GHz的传播速度进入Hilbert变换系统,首先转换为N1=20GHz/312.5MHz=64路并行流水线架构。为了抑制边缘效应,并综合考虑Hilbert变换的误码率和硬件资源消耗,选取Hilbert变换窗口L=256;综合考虑Hilbert变换的误码率和硬件资源利用率,在选定L=256情况下,选取有效Hilbert窗口N2=192;计算重叠Hilbert窗口△L=256-192=64,Hilbert变换的时钟f1=f0*N1/N2=312.5*64/192MHz。
如图3所示,256路并行路数的Hilbert变换包含2log4256-1=7级融合网络结构,每一级网络结构包含64个4点蝶形结构。在时钟f1下,每个时钟周期经过Hilbert变换输出192个并行有效数据,此时数据的总吞吐量为192*f1=192*(312.5*64/192MHz)=20GHz。因此,该Hilbert变换的硬件系统实现了与高速数据流传输速度匹配的数据处理速度,满足了实时性要求。
如图4(1)所示,任取高速数据流中200个连续数据,横轴给出数据流序列标号,纵轴给出与之对应的本发明的实时Hilbert变换结果和理论离线的Hilbert变换结果。从图中可以看出两者结果基本重合。如图4(2)所示,经过本发明的高速数据流实时Hilbert变换处理的结果与实际理论值的绝对误差在-0.2~1.2之间,基本验证了本发明系统功能的有效性和系统性能的稳定性。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于硬件实现高速数据流实时Hilbert变换的方法,其特征在于,所述方法以流水线方式进行以下步骤:
S1.高速数据流以传输速度f传输,并在硬件全局时钟f0下实时转换为N1路并行数据流,其中,N1=f/f0;
S2.在Hilbert变换的时钟f1下,N1路并行数据流实时转换为N2路并行数据流,其中,f1=f/N2,N2为有效Hilbert窗口;
S3.对于最早进入Hilbert变换的N2路并行数据,其前端补充△L个0,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据;对于之后进入Hilbert变换的N2路并行数据,其前端补充上次Hilbert变换前的L路并行数据的后端△L路数据,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据;其中,重叠Hilbert窗口△L=L-N2,L为Hilbert变换窗口;
S4.丢弃变换后的L路并行数据前端的△L/2路数据和后端的△L/2路数据,得到N2路并行数据,将其作为对应的有效的Hilbert变换结果。
2.如权利要求1所述的方法,其特征在于,选取能够兼顾Hilbert变换误码率和硬件资源消耗的Hilbert变换窗口L,L应满足L=4n,n为正整数;选取能够兼顾误码率和硬件资源利用率的有效Hilbert窗口N2。
3.如权利要求2所述的方法,其特征在于,以Hilbert变换窗口无限大时对应的误码率为基准,找出误码率接近基准且运算量尽可能小的L,为最终Hilbert变换窗口L。
4.一种基于硬件实现高速数据流实时Hilbert变换的系统,其特征在于,所述系统包括第一存储模块(1)、第二存储模块(2)、第三存储模块(3)、变换模块(4)和第五存储模块(5);
第一存储模块(1)用于接收并缓存传输速度为f的高速数据流,所述高速数据流在硬件全局时钟f0下实时转换为N1路并行数据流,输出N1路并行数据流到第二存储模块(2),其中,N1=f/f0;
第二存储模块(2)用于接收并存储第一存储模块(1)输出的N1路并行数据流,其在Hilbert变换的时钟f1下,实时转换为N2路并行数据流,输出到变换模块(4),其中,f1=f/N2,N2为有效Hilbert窗口;
第三存储模块(3)用于接收并存储变换模块(4)输出的本次Hilbert变换前的L路并行数据的后端△L路数据,同时输出上次存储的△L路数据到变换模块(4);
变换模块(4)用于接收第二存储模块(2)输出的N2路并行数据流和第三存储模块(3)输出的△L路数据,组成L路并行数据,并完成L点Hilbert变换;对于最早进入变换模块(4)的N2路并行数据,其前端补充△L个0,组成L路并行数据,进行L点Hilbert变换,得到Hilbert变换后的L路并行数据,将其输出到第五存储模块(5),再将本次Hilbert变换前的L路并行数据的后端△L路数据输出到第三存储模块(3);对于之后进入变换模块(4)的N2路并行数据,其前端补充上次Hilbert变换前的L路并行数据的后端△L路数据,组成L路并行数据,进行L点Hilbert变换,得到变换后的L路并行数据,将其输出到第五存储模块(5),将本次Hilbert变换前的L路并行数据的后端△L路数据输出到第三存储模块(3),其中,△L=L-N2,L为Hilbert变换窗口;
第五存储模块(5)用于接收变换模块(4)输出的L路并行数据,丢弃该L路并行数据前端的△L/2路数据和后端的△L/2路数据,得到N2路并行数据,将其作为对应的有效的Hilbert变换结果。
5.如权利要求4所述的系统,其特征在于,所述变换模块采用L路并行化的2log4L-1级融合网络结构,实现L路并行数据的L点Hilbert变换,每级融合网络结构包括重排序、旋转和加减运算,各级融合网络结构的重排序方式和旋转因子不同。
6.如权利要求5所述的系统,其特征在于,每级融合网络结构采用L/4个4点蝶形结构实现旋转和加减运算,每个4点蝶形结构的输入数据依次为a1、a2、a3和a4,旋转因子依次为b1、b2、b3和b4,输入数据as分别与旋转因子bs相乘,完成旋转依次输出cs,s取值1、2、3和4;加减运算中,d1=c1+c2+c3+c4,d2=c1-j*c2-c3+j*c4,d3=c1-c2+c3-c4,d4=c1+j*c2-c3-j*c4;4点蝶形结构依次输出结果为d1、d2、d3和d4。
9.如权利要求6所述的系统,其特征在于,对于2m+1级融合网络结构来说,第i级融合网络结构中第j个4点蝶形结构,i取值1~2m+1,j取值1~L/4,该级输入的L路并行数据中第4j-3个、第4j-2个、第4j-1个和第4j个数据作为第j个4点蝶形结构的输入数据,经过4点蝶形结构运算输出的4个连续数据再经过重排序,依次作为第i+1级网络结构的第j个、第j+L/4个、第j+L/2个和第j+3L/4个输入数据,其中,级数m=log4L-1。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的基于硬件实现高速数据流实时Hilbert变换的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910382105.0A CN110245322B (zh) | 2019-05-09 | 2019-05-09 | 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910382105.0A CN110245322B (zh) | 2019-05-09 | 2019-05-09 | 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245322A CN110245322A (zh) | 2019-09-17 |
CN110245322B true CN110245322B (zh) | 2020-10-16 |
Family
ID=67883947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910382105.0A Active CN110245322B (zh) | 2019-05-09 | 2019-05-09 | 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110245322B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328958B (zh) * | 2020-11-10 | 2024-06-21 | 河海大学 | 一种基于基-64的二维fft架构的优化数据重排方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841976A (zh) * | 2005-03-29 | 2006-10-04 | 华为技术有限公司 | 一种传输实时并行数据流的方法及系统 |
CN101454772A (zh) * | 2006-04-28 | 2009-06-10 | 高通股份有限公司 | 多端口混合基fft |
JP2010045672A (ja) * | 2008-08-15 | 2010-02-25 | Nippon Telegr & Teleph Corp <Ntt> | 信号受信装置及び方法 |
CN102169476A (zh) * | 2011-04-14 | 2011-08-31 | 哈尔滨工业大学 | 一种基于灰色理论的希尔伯特-黄变换端点效应抑制方法 |
CN104184691A (zh) * | 2013-05-24 | 2014-12-03 | 北京邮电大学 | 相干光ofdm系统收端高速数据并行处理的结构和方法 |
CN104349260A (zh) * | 2011-08-30 | 2015-02-11 | 中国科学院微电子研究所 | 低功耗wola滤波器组及其综合阶段电路 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9814394B2 (en) * | 2011-11-02 | 2017-11-14 | Seno Medical Instruments, Inc. | Noise suppression in an optoacoustic system |
CN104361068B (zh) * | 2014-11-06 | 2017-06-16 | 华中科技大学 | 一种数据去重过程中的并行分块方法与系统 |
CN105955705B (zh) * | 2016-04-27 | 2019-02-26 | 南京大学 | 一种可重构的多通道检测算法加速器 |
-
2019
- 2019-05-09 CN CN201910382105.0A patent/CN110245322B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841976A (zh) * | 2005-03-29 | 2006-10-04 | 华为技术有限公司 | 一种传输实时并行数据流的方法及系统 |
CN101454772A (zh) * | 2006-04-28 | 2009-06-10 | 高通股份有限公司 | 多端口混合基fft |
JP2010045672A (ja) * | 2008-08-15 | 2010-02-25 | Nippon Telegr & Teleph Corp <Ntt> | 信号受信装置及び方法 |
CN102169476A (zh) * | 2011-04-14 | 2011-08-31 | 哈尔滨工业大学 | 一种基于灰色理论的希尔伯特-黄变换端点效应抑制方法 |
CN104349260A (zh) * | 2011-08-30 | 2015-02-11 | 中国科学院微电子研究所 | 低功耗wola滤波器组及其综合阶段电路 |
CN104184691A (zh) * | 2013-05-24 | 2014-12-03 | 北京邮电大学 | 相干光ofdm系统收端高速数据并行处理的结构和方法 |
Non-Patent Citations (4)
Title |
---|
A Configurable Floating-Point Discrete Hilbert Transform Processor for Accelerating the Calculation of Filter in Katsevich Formula;WANG XU et al;《WSEAS Transactions on Communications》;20121130;全文 * |
Method to increase the working frequency of digital carrier synchronization module for high-speed digital coherent optical receivers;Li, Jiamin et al;《Optical Engineering》;20170430;全文 * |
利用加窗FFT和IFFT实现Hilbert变换;魏国 等;《电力系统及其自动化学报》;20110430;全文 * |
并行数据FFT_IFFT处理器的设计;万红星 等;《北京理工大学学报》;20060430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110245322A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102439877B (zh) | 载波频率恢复方法和光内差相干接收机 | |
CN101458329B (zh) | 时域并行采样率变换方法 | |
CN110245322B (zh) | 一种基于硬件实现高速数据流实时Hilbert变换的方法和系统 | |
CN101217355A (zh) | 基于低密度奇偶校验译码软判决信息的迭代定时同步方法 | |
CN102739317B (zh) | 一种多级相位估计方法和装置 | |
WO2017000406A1 (zh) | 频偏相偏处理方法及装置、存储介质 | |
CN103369326A (zh) | 适于高性能视频编码标准hevc的变换编码器 | |
CN115344236B (zh) | 多项式乘法运算方法、多项式乘法器、设备及介质 | |
CN105515627B (zh) | 一种大规模mimo检测方法及检测装置 | |
Ajay et al. | Analysis on SAR signal processing for high-performance flexible system design using signal processing | |
TWI434536B (zh) | 通訊系統接收器及其解碼方法 | |
CN110096672A (zh) | 基于fpga的低成本流水线型fft处理器实现方法 | |
CN110705196B (zh) | 一种基于随机计算的无误差加法器 | |
Börjeson et al. | VLSI implementations of carrier phase recovery algorithms for M-QAM fiber-optic systems | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
CN101360087A (zh) | 基带成形srrc数字滤波器的低复杂度实现装置及方法 | |
CN110677138A (zh) | 基于无误差概率计算的fir滤波器 | |
CN110492946B (zh) | 一种采用单探测器的光场重建与色散补偿系统与方法 | |
CN110135067B (zh) | 一种双时间步方法下的直升机流场重叠混合网格并行方法 | |
CN103488611B (zh) | 基于IEEE802.11.ad协议的FFT处理器 | |
US9960856B2 (en) | System and method for optical receiver | |
CN113824662B (zh) | 载波同步方法、装置、电子设备及计算机可读介质 | |
CN103873120A (zh) | 一种基于宽度优先搜索的多天线系统并行检测方法 | |
CN107193784B (zh) | 高精度低硬件复杂度的sinc插值实现方法及系统 | |
US20230179315A1 (en) | Method for Disseminating Scaling Information and Application Thereof in VLSI Implementation of Fixed-Point FFT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |