
Citation: | Fenhua WANG, Bin XIE, Huatao WANG. Design of Fast Differential Frequency Measurement System Based on FPGA[J]. Journal of Electronics & Information Technology, 2019, 41(1): 187-194. doi: 10.11999/JEIT180243 |
For the problem of high precision frequency measurement of dynamic signals with high fundamental frequency and small frequency change value in electronic measurement, a method of differential frequency measurement is introduced. A novel dynamic adjustable multi-stage frequency-difference circuit structure is proposed. The fast differential frequency measurement system based on FPGA is used to design the Fast Fourier Transform (FFT) algorithm on the FPGA to realize the data processing function of the system. The simulation and experimental results show that the structure of the multi-stage differential frequency circuit can be designed with high precision frequency, and the result can be obtained when the spectrum analysis is carried out. The system can realize the fast FFT operation. Compared with the MATLAB software platform, the system has obvious advantages in the efficiency of data processing. The structure of the FFT model can be dynamically adjusted to meet the requirements of FFT operation of different scale points, and the system performance index can meet the requirements of data acquisition system.
在通信、自动化等领域,经常需要对两个或者多个频率信号进行处理,以实现频率的调制与解调[1]。在对频率输出的传感器测量中,常遇到的一个问题是如何高精度测量小频率增量信号。频率型传感器由被测参量引起的频率变化一般远小于中心频率,为了能够充分发挥传感器的特性,要求频率测量系统能够实现高精度、小频率增量信号的频率测量,对测量系统的分辨率要求较高,一般优于10–6 [2]。使用频率计直接测量的方法在低频信号上具有较好的性能,但在高频信号上的性能较差。例如在测量振荡器的输出时,由于受到电路噪声或其他干扰因素的影响振荡器输出的信号是不规则的正弦曲线,若使用频率计直接测量,则会给测量结果带来很大的误差。而采用差频方法可以减小这些影响。差频检测技术是电子测量中比较常用的方法。通过对频率信号进行差频处理,可以使频率信号的抗干扰能力提高,同时获得较高的测量精度,因此在多种测量系统中,尤其是在微量检测系统中被广泛应用[3,4]。常见的差频测量方法有两种,分别为采用模拟电路和数字电路实现。文献[5]利用模拟电路设计了差频电路,能够得到较好的测量性能,但不足之处是模拟电路结构相对复杂,设计难度大,且成本较高;采用数字电路实现差频的方法因电路简单、成本低、可靠性高,因而常被研究应用[6]。
本文在上述研究的基础上,一方面提出了一种使用多级差频电路实现高精度频率测量的方法,并运用Multisim软件仿真对其进行可行性验证。另一方面,基于FPGA实现了多级差频电路,并以差频测量应用为背景,设计了一套基于FPGA的快速差频测量系统,在FPGA上运用快速傅里叶变换(FFT)算法实现了系统的数据处理功能,通过设计实验验证了快速差频测量系统的性能,实验结果表明,与MATLAB软件平台相比,该系统在数据处理效率上有明显的优势。
D触发器实现差频的具体条件和做法是:设两列方波
23<fckfin<2,且fckfin≠1 |
(1) |
那么D触发器的输出信号的频率满足:
fout=fin−fck |
(2) |
对于测量基频较高而频率变化值较小的高频信号,如果直接使用单级差频电路,则存在难以选取准确的差频基准频率信号问题,而使用多级差频电路可以解决此问题。单个差频电路在满足差频条件的情况下,理论上产生的测量误差非常小[7],因此多级差频电路可以为实现高精度频率测量提供一种新的方案。
多级差频电路结构图如图1所示。多级差频电路的思想是将预设的多个差频电路进行级联,先对待测高频信号进行第1级差频运算,此时使用的差频基准信号依据高频信号频率数值的高位部分选取;然后将第1级差频运算结果输入到第2级差频电路进行运算,此时使用的差频基准信号依据第1级差频运算结果的高位部分选取,之后的每一级差频电路都进行如此操作;根据多级差频电路输出的结果可以计算出待测信号的频率值为
在Multisim软件中,选用触发器74LS74N作为差频器件,其内部由D触发器组成。差频电路原理图如图2所示,XFG1为方波信号源,用于模拟待测频率信号;XFG2, XFG3, XFG4, XFG5为各级差频电路的基准频率信号;XFC1为数字式频率计,XSC1为示波器,R1和C1组成了一个低通滤波电路,用来滤除差频输出信号中的高频干扰。
通过调整多级差频电路的级数和各级的基准频率信号,可以得到差频电路不同的仿真结果。如图3显示的是XFG1模拟待测频率值为fin=60.99543 MHz信号;XFG2, XFG3, XFG4, XFG5分别选取频率值为f1=60 MHz, f2=0.90 MHz, f3=90 kHz, f4=5 kHz作为各级差频电路的基准频率信号的4级差频结果,4级差频输出的理论值为(fin–f1–f2–f3–f4=430 Hz),而在仿真电路中测得的输出值为428.35 Hz,相对误差为0.38%,可知在满足差频条件的前提下,合理地选取多级差频电路的级数和各级的基准频率,能够得到较为准确的测量结果。
系统主要包括信号整形模块、多级差频电路、信号调理单元、数据采集模块、FFT模块和UART通信模块,系统原理框图如图4所示。信号整形模块对两个源信号进行整形,得到满足差频条件的方波;多级差频电路依据本文第2节内容进行设计,其中可根据实际需要选取差频电路的级数;信号调理单元包括分压电路、钳位电路、运算放大器和1阶低通滤波电路;数据采集模块主要是对AD芯片进行控制,以及将采集到的多组数据存储到SDRAM中;FFT模块是系统数据处理部分的核心,SDRAM存储的采集数据按规则依次传输到FFT模块中进行快速傅里叶变换运算,并将运算结果通过UART通信的方式发送到上位机,进而对数据处理后的结果进行保存及后续的分析。
在数字电路设计中,FPGA以其强大的逻辑功能、高效的处理速度和内部大量的可配置RAM资源等优势得到了广泛的应用[8—10]。本文通过在FPGA上设计FFT算法来实现系统的数据处理功能,其中FFT的运算速度和占用的存储单元是设计中需要重点考虑的方面。相比于单片机或DSP,采用FPGA实现FFT算法避免了使用外部存储器,FPGA内嵌RAM使得FFT计算中数据的存储变得方便快捷,并且其内嵌的RAM块能很好地实现数据流的“乒乓操作”,进而可以提升FFT的运算速度[11—14]。
在正常工作模式下,FFT模块需要从数据存储区获取数据进行运算,数据传输过程的乒乓操作流程如图5所示。乒乓操作的处理流程为:AD采集的输入数据流通过一个2选1数据选择器将数据流等时分配到两个数据缓冲区FIFO_1和FIFO_2,在第1个时钟缓冲周期,将输入数据流缓存到FIFO_1中;在第2个时钟缓冲周期,通过数据选择器的切换,将输入数据流缓存到FIFO_2中,同时将FIFO_1中第1个周期的数据通过数据选择器送入SDRAM_1中进行存储;在第3个时钟缓冲周期,输入数据流通过数据选择器缓存到FIFO_1中,同时将FIFO_2中第2个周期的数据通过数据选择器送入到SDRAM_2,将SDRAM_1中上一周期的数据通过数据选择器缓存到FIFO_4;在第4个时钟缓冲周期,输入数据流通过数据选择器缓存到FIFO_2中,同时将FIFO_1中第3个周期的数据通过数据选择器送入到SDRAM_1, SDRAM_2中上一周期的数据通过数据选择器缓存到FIFO_3, FIFO_4中上一周期的数据通过数据选择器送入FFT运算单元进行运算处理,如此循环。
本文采用按时间抽取的基-2 FFT算法[15,16]来实现FFT,并设计了最多可进行512路并行FFT运算结构,利用该结构实现的FFT模块可稳定工作在50 MHz时钟下,通过合理利用FPGA芯片内部资源从而提高FFT的运算速度。
(1) 时间抽取法基-2 FFT:设长度为
X[k]=N−1∑n=0x[n]W2mkN,0≤k≤N−1 |
(3) |
将
X[k]=N/2−1∑m=0x[2m]W2mkN+N/2−1∑m=0x[2m+1]W(2m+1)kN,0≤k≤N−1 |
(4) |
根据式(5)和式(6)的定义:
W2mkN=e−j2πN2mk=WmkN/2 |
(5) |
WmkN/2=Wm(N/2+k)N/2 |
(6) |
可以将
X[k]=N/2−1∑m=0x[2m]WmkN/2+N/2−1∑m=0x[2m+1]WmkN/2 |
(7) |
X[k+N2]=N/2−1∑m=0x[2m]WmkN/2−WkNN/2−1∑m=0x[2m+1]WmkN/2,0≤k≤N/2−1 |
(8) |
由式(7)和式(8)可知,输入数据
(2) FFT模块结构设计:FFT模块主要是通过配置FPGA内部的RAM资源实现,FFT模块的结构设计如图7所示。一路16位浮点数据通过I/O接口串行输入,在地址产生单元的控制下根据FFT选择控制信号将输入的数据按序存放到多个RAM中,同时控制蝶形运算单元分别读取存放数据的RAM和存放旋转因子的RAM,然后进行蝶形运算,并将运算结果保存至RAM。
为了验证本文设计的快速差频测量系统的实际性能,实验装置包括ATF20E函数信号发生器、CNT-91计数器/时间间隔测量仪/分析仪、AD7705芯片、Cyclone IV FPGA开发板及一台计算机,其中FPGA开发板时钟为100 MHz,计算机的处理器为Interl(R) Core (TM) i5-3230M、主频为2.6 GHz。函数信号发生器用于模拟产生待差频的两路频率信号,数字示波器用于观测差频电路的输出结果,AD芯片和FPGA开发板共同实现系统数据采集功能,计算机用于配置FPGA参数及存储后续数据处理的结果。
表1为使用FPGA内部D触发器设计3级差频电路的实验测量数据。分析实验结果可知,当fck/fin<2/3或fck/fin>2时,测量的误差很大,差频条件不成立;当2/3<fck/fin<2时,相对误差较小;但当fck/fin在大小两个方向接近等于1时,相对误差较大,fck/fin 等于1.0时,达到了8.19%,随着fck/fin大于1,相对误差又减小;在fck/fin等于2的附近,相对误差又开始增大。由实验结果可见,用D触发器实现差频测量时,能够达到较高的频率测量精度,在满足差频条件2/3<fck/fin<2且fck/fin≠1内相对误差不大于0.0045%。
fin=35.00005 kHz | 理论频差(kHz) | 实测频差(kHz) | 绝对误差(Hz) | 相对误差(%) | |
fck/fin | fck (kHz) | ||||
0.660011 | 23.100414 | 11.899636 | 11.200800 | 698.836 | 5.872751 |
0.663334 | 23.216715 | 11.783335 | 11.433400 | 349.935 | 2.969745 |
0.666668 | 23.333414 | 11.666636 | 11.666700 | 0.064 | 0.000549 |
0.670002 | 23.450113 | 11.549937 | 11.549900 | 0.037 | 0.000320 |
0.673337 | 23.566816 | 11.433234 | 11.433200 | 0.034 | 0.000297 |
0.733337 | 25.666827 | 9.333223 | 9.333200 | 0.023 | 0.000246 |
0.800003 | 28.000136 | 6.999914 | 6.999600 | 0.314 | 0.004486 |
0.866672 | 30.333548 | 4.666502 | 4.666500 | 0.002 | 0.000043 |
0.933337 | 32.666858 | 2.333192 | 2.333200 | 0.008 | 0.000343 |
0.980003 | 34.300166 | 0.699884 | 0.699890 | 0.006 | 0.000857 |
0.990003 | 34.650168 | 0.349882 | 0.349894 | 0.012 | 0.003430 |
1.000003 | 35.000172 | 0.000122 | 0.000132 | 0.010 | 8.196721 |
1.020004 | 35.700174 | 0.700124 | 0.700109 | 0.015 | 0.002142 |
1.200004 | 42.000206 | 7.000156 | 7.000034 | 0.122 | 0.001743 |
1.400005 | 49.000243 | 14.000193 | 14.000069 | 0.124 | 0.000886 |
1.600006 | 56.000277 | 21.000227 | 21.000000 | 0.227 | 0.001081 |
1.800007 | 63.000318 | 28.000268 | 28.000140 | 0.128 | 0.000457 |
1.980007 | 69.300355 | 34.300305 | 34.300280 | 0.025 | 0.000073 |
1.990099 | 69.653570 | 34.653520 | 34.530000 | 123.520 | 0.356443 |
2.000010 | 70.000463 | 35.000413 | 34.640000 | 360.410 | 1.029739 |
2.010011 | 70.350470 | 35.350420 | 34.880000 | 470.420 | 1.330734 |
2.020011 | 70.700478 | 35.700428 | 35.000000 | 700.428 | 1.961960 |
在满足差频条件的前提下,用函数信号发生器模拟产生多组两路不同频率的输入信号。一方面对差频测量系统的测量结果准确性进行验证,另一方面通过对比差频测量数据分别在FPGA硬件平台和在MATLAB软件平台上进行FFT运算的频谱分析结果及时间消耗等关键性指标,验证差频测量系统在数据处理上的性能。
(1) 差频测量系统频谱分析结果:用频率为9.995360 MHz的信号对差频测量系统进行测试,其中多级差频电路结构选取4级,理想的多级差频输出结果应为360 Hz。图8和图9分别为在FPGA硬件平台上和在MATLAB软件平台上差频测量数据频谱分析的结果。由图8可知,多差频测量系统的实际测量输出为350 Hz,最终的测量结果为9.995350 MHz,误差为10 Hz。对比图8和图9可知,在FPGA硬件平台上与在MATLAB软件平台上分别对差频测量数据进行FFT运算,得到的频谱图高度相似,二者的相对误差为0.88%,通过频谱图估计二者差频测量系统的信噪比(SNR)分别为67.84 dB和68.27 dB,无杂散动态范围(SFDR)分别为63.7 dBFS和66.7 dBFS,对系统SNR和SFDR的估计值都大于60 dB,信号频谱纯净,系统性能指标能够满足数据采集系统的要求。
(2) 差频测量系统时间性能分析:表2是基于差频测量系统和MATLAB软件平台进行数据处理时的时间消耗记录。分析表2可知,当采样频率不满足采样定理,进行FFT频谱分析时会出现频率混叠现象,导致误差较大,无法得到正确有用的频谱信息;当采样频率满足采样定理时,随着采样点数和采样频率的变化,频谱分析结果的误差也具有一定差异。FFT的分辨率越高,频谱分析结果的误差呈现降低趋势。因此,合理地选择采样点数和采样频率,可以得到更高精度的结果。但由于FFT点数太多易带来计算上的困难,而且在条件受限场合不可能随意增加观测时间;在实际使用时需要权衡所需的精度和实现复杂度等问题。在数据处理的时间消耗上差频测量系统远低于MATLAB软件平台,并且在进行小点数的FFT运算时,前者比后者的运算效率更高。虽然随着FFT运算点数增加,差频测量系统的运算效率略有下降,但相比于MATLAB软件平台仍有较大的优势,因此本文设计的差频测量系统能够实现快速的FFT运算,并且可动态调整FFT模型的结构来适应不同规模点数FFT运算的需求。
点数 | 采样频率/待测频率 | 分辨率(Hz) | 相对误差(%) | 时间消耗 | ||
差频测量系统t1×10–6 (s) | MATALB t2 (s) | t2/t1 | ||||
64 | 1.5 | 8.44 | 65.12 | 1.7911 | 0.0728 | 40645.41 |
2.5 | 14.06 | 2.77 | 1.7911 | 0.0729 | 40701.25 | |
3.5 | 19.69 | 4.59 | 1.7912 | 0.0729 | 40698.97 | |
128 | 1.5 | 4.22 | 71.11 | 3.1821 | 0.0824 | 25894.85 |
2.5 | 7.03 | 1.44 | 3.1823 | 0.0825 | 25924.65 | |
3.5 | 9.84 | 2.51 | 3.1921 | 0.0824 | 25813.73 | |
256 | 1.5 | 2.11 | 68.87 | 5.4661 | 0.0927 | 16959.08 |
2.5 | 3.52 | 1.24 | 5.4654 | 0.0928 | 16979.54 | |
3.5 | 4.92 | 1.35 | 5.4657 | 0.0928 | 16978.61 | |
512 | 1.5 | 1.05 | 71.12 | 10.9351 | 0.1084 | 9913.03 |
2.5 | 1.76 | 1.02 | 10.9332 | 0.1083 | 9905.61 | |
3.5 | 2.46 | 1.12 | 10.9411 | 0.1084 | 9907.60 |
(3) 量化位数对FFT的影响:差频测量系统的频谱分析是通过FPGA实现的,在FFT硬件实现中存储数据的存储器字长是有限的,在误差允许情况下一般采用固定字长的定点量化方法来实现FFT。同时本文分别采用16位、32位、64位的有符号定点格式,对512点的FFT进行了处理,得到的信噪比结果如表3所示。分析表3可知,保持FFT点数不变,随着量化位数的增加,最终系统的信噪比会变大,能够提升系统的抗噪性能。
量化位数 | 信噪比(dB) |
16 | 27.10 |
32 | 67.83 |
64 | 98.43 |
差频采用间接法测量,闸门次数为n,在n个闸门内计数器的总计数值为N。其中,CNT-91计数器对待测频率的测量得到真值为ft,通过计算fck–fin=nf0/N;待测频率fin=fck–(fck–fin);测量时间TM=NT0=N/f0;相对误差σ=|fin–ft|/ft;频率分辨率R=Tck/TM。在上述条件及计算方式下,对两级差频测量系统输出的测量结果如表4所示,实验中fck=172.00104 kHz, f0=8.00042 MHz;系统最大的相对误差为5.55×10–6,分辨率为5.82×10–6。造成各频率点上分辨率不相等的原因是闸门个数构成的总测量时间不相等。
ft (kHz) | 闸门个数 | 计数器计数值 | fck–fin (Hz) | fin (Hz) | 相对误差(×10–6) | 分辨率(×10–6) |
170.00039 | 2000 | 7999371 | 2000.26227 | 170000.7777 | 2.2808 | 5.81575 |
170.20039 | 1800 | 7999165 | 1800.28240 | 170200.7576 | 2.1598 | 5.81619 |
170.40039 | 1600 | 7999747 | 1600.13460 | 170400.9054 | 3.0246 | 5.81629 |
170.60038 | 1400 | 7998135 | 1400.39997 | 170600.6418 | 1.5345 | 5.81673 |
170.80039 | 1200 | 7998931 | 1200.22338 | 170800.8166 | 2.4978 | 5.81521 |
171.00039 | 1000 | 7987647 | 1001.59909 | 170999.4409 | 5.5502 | 5.81764 |
实验中频率测量的误差主要包括信号发生器输出的波动误差、时基误差、差频电路的误差。差频电路本身能够减小计量误差,以此降低计量过程对系统频率测量精度影响的相对大小。时基误差是时基晶体振荡器的实际频率与其标称频率的不同所导致的误差,会被直接转化为测量误差。晶体振荡器的不稳定性会直接影响测频时参考时基的不稳定性,从而引起测量误差。本文中采用的信号发生器的频率准确度为±5 ppm,而采用FPGA的晶振的频率准确度也为±5 ppm,因此系统测量频率时本身的偏差相对较小。通过实验验证可知,本文设计的差频测量系统在测量微小频率变化问题上具有一定的参考意义,能够满足小频率增量信号测量对系统的分辨率为10–6的基本要求,并且系统测量相对误差小于10–6,能够较好地适用于小频率增量信号测量需求。
本文提出了一种多级差频电路结构,并设计了基于FPGA的快速差频测量系统。在FPGA上运用快速傅里叶变换(FFT)算法实现了系统的数据处理功能,通过设计实验验证了快速差频测量系统的性能。在Multisim软件中进行差频电路仿真研究,验证了其理论上的可行性,并对硬件差频测量系统进行了实验测试,测试结果表明,系统在满足差频条件2/3<fck/fin<2且fck/fin≠1时,测量的相对误差不大于0.0045%;且处理速度远超MATLAB软件平台,并能够动态调整FFT模型的结构来适应不同规模点数FFT运算的需求。分析了量化位数对FFT的影响以及系统测量产生的误差,通过实验验证可知,本文设计的差频测量系统在测量微小频率变化问题上具有一定的参考意义,能够提供一种测量精度较高、数据处理速度快且数据处理模型结构可动态调整的测量方案。
李存龙, 陈伟民, 章鹏, 等. 采用差频技术的正弦调制型微波测距系统研究[J]. 电子测量与仪器学报, 2014, 28(1): 17–21. doi: 10.13382/j.jemi.2014.01.003
LI Cunlong, CHEN Weimin, Zhang Peng, et al. Research on sinusoidal modulation microwave ranging system based on heterodyne technique[J]. Journal of Electronic Measurement and Instrument, 2014, 28(1): 17–21. doi: 10.13382/j.jemi.2014.01.003
|
冯冠平. 谐振传感理论及器件[M]. 北京: 清华大学出版社, 2008: 35–40.
FENG Guanping. Resonant Sensor Theory and Device[M]. Beijing: Tsinghua University Press, 2008: 35–40.
|
樊养余, 李利品, 党瑞荣. 基于随机共振的任意大频率微弱信号检测方法研究[J]. 仪器仪表学报, 2013, 34(3): 566–572. doi: 10.3969/j.issn.0254-3087.2013.03.013
FAN Yangyu, LI Lipin, and Dang Ruirong. Study on high frequency weak signal detection method based on stochastic resonance[J]. Chinese Journal of Scientific Instrument, 2013, 34(3): 566–572. doi: 10.3969/j.issn.0254-3087.2013.03.013
|
王盟盟, 董瑞芳, 项晓, 等. 基于外差检测原理的绝对测距性能理论研究[J]. 仪器仪表学报, 2016, 37(8): 1861–1868. doi: 10.3969/j.issn.0254-3087.2016.08.018
WANG Mengmeng, DONG Ruifang, XIANG Xiao, et al. Theoretical research for absolute distance measurement based on heterodyne detection principle[J]. Chinese Journal of Scientific Instrument, 2016, 37(8): 1861–1868. doi: 10.3969/j.issn.0254-3087.2016.08.018
|
刘婉茹, 叶建芳, 孙一萍. 基于Multisim乘法器混频电路的仿真研究[J]. 微型电脑应用, 2016, 32(10): 48–50. doi: 10.3969/j.issn.1007-757X.2016.10.014
LIU Wanru, YE Jianfang, and SUN Yiping. Simulation and study of multiplier mixer circuit based on multism[J]. Microcomputer Applications, 2016, 32(10): 48–50. doi: 10.3969/j.issn.1007-757X.2016.10.014
|
LIN Ningning, MENG Xiaofeng, and NIE Jing. Dew point calibration system using a quartz crystal sensor with a differential frequency method[J]. Sensors, 2016, 16(11): 1944–1948. doi: 10.3390/s16111944
|
程坤, 黄庆安, 秦明, 等. 一种简单实用的差频方法原理研究及应用[J]. 电子器件, 2006, 29(2): 473–475. doi: 10.3969/j.issn.1005-9490.2006.02.046
CHENG Kun, HUANG Qingan, QIN Ming, et al. Simple method of improving the differential frequency using D flip-flop[J]. Chinese Journal of Electron Devices, 2006, 29(2): 473–475. doi: 10.3969/j.issn.1005-9490.2006.02.046
|
徐洋洋. 基于FPGA的多通道大容量FIFO设计[J]. 电子测量技术, 2017, 40(8): 193–197. doi: 10.19651/j.cnki.emt.2017.08.043
XU Yangyang. Design of multi-channel FIFO with mass storage facility based on FPGA[J]. Electronic Measurement Technology, 2017, 40(8): 193–197. doi: 10.19651/j.cnki.emt.2017.08.043
|
梁晨, 赵邦信. 基于FPGA和DDR3 SDRAM的大规模查找表设计与实现[J]. 电子器件, 2017, 40(4): 849–855. doi: 10.3969/j.issn.1005-9490.2017.04.014
LIANG Chen and ZHAO Bangxin. Design of large-scale look-up table based on FPGA and DDR3 SDRAM[J]. Chinese Journal of Electron Devices, 2017, 40(4): 849–855. doi: 10.3969/j.issn.1005-9490.2017.04.014
|
梁华国, 孙红云, 孙骏, 等. 一种基于FPGA的微处理器软错误敏感性分析方法[J]. 电子与信息学报, 2017, 39(1): 245–249. doi: 10.11999/JEIT.160225
LIANG Huaguo, SUN Hongyun, SUN Jun, et al. FPGA-based soft error sensitivity analysis method for microprocessor[J]. Journal of Electronics &Information Technology, 2017, 39(1): 245–249. doi: 10.11999/JEIT.160225
|
WANG Jiawei, YU Le, and YANG Haigang. FPGA based multi-channel variable-length FFT implementation[J]. Journal of Terahertz Science and Electronic Information Technology, 2017, 15(3): 469–474. doi: 10.11805/TKYDA201703.0469
|
陈杰男, 费超, 袁建生, 等. 超高速全并行快速傅里叶变换器[J]. 电子与信息学报, 2016, 38(9): 2410–2414. doi: 10.11999/JEIT160036
CHEN Jienan, FEI Chao, YUAN Jiansheng, et al. An ultra-high-speed fully-parallel fast fourier transform design[J]. Journal of Electronics &Information Technology, 2016, 38(9): 2410–2414. doi: 10.11999/JEIT160036
|
CHEN Jiyang, YUAN Wulei, YUAN Xipeng, et al. Configurable floating-point FFT accelerator on FPGA based multiple-rotation CORDIC[J]. Chinese Journal of Electronics, 2016, 25(6): 1063–1070. doi: 10.1049/cje.2016.08.002
|
黄志洪, 李威, 杨立群, 等. 一种基于与非锥簇架构 FPGA 输入交叉互连设计优化方法[J]. 电子与信息学报, 2016, 38(9): 2397–2404. doi: 10.11999/JEIT151216
HUANG Zhihong, LI Wei, YANG Liqun, et al. An input crossbar optimization method for and-inveter cone based FPGA[J]. Journal of Electronics &Information Technology, 2016, 38(9): 2397–2404. doi: 10.11999/JEIT151216
|
苏斌, 刘畅, 潘志刚. 基于FPGA的高速浮点FFT/IFFT处理器设计与实现[J]. 中国科学院大学学报, 2015, 32(2): 259–263. doi: 10.7523/j.issn.2095-6134.2015.02.016
SU Bin, LIU Chang, and PAN Zhigang. Design and implementation on high-speed floating points FFT processor based on FPGA[J]. Journal of University of Chinese Academy of Sciences, 2015, 32(2): 259–263. doi: 10.7523/j.issn.2095-6134.2015.02.016
|
施佺, 韩赛飞, 黄新明, 等. 面向全同态加密的有限域FFT算法FPGA设计[J]. 电子与信息学报, 2018, 40(1): 57–62. doi: 10.11999/JEIT170312
SHI Quan, HAN Saifei, HUANG Xinming, et al. Design of finite field FFT for fully homomorphic encryption based on FPGA[J]. Journal of Electronics &Information Technology, 2018, 40(1): 57–62. doi: 10.11999/JEIT170312
|
fin=35.00005 kHz | 理论频差(kHz) | 实测频差(kHz) | 绝对误差(Hz) | 相对误差(%) | |
fck/fin | fck (kHz) | ||||
0.660011 | 23.100414 | 11.899636 | 11.200800 | 698.836 | 5.872751 |
0.663334 | 23.216715 | 11.783335 | 11.433400 | 349.935 | 2.969745 |
0.666668 | 23.333414 | 11.666636 | 11.666700 | 0.064 | 0.000549 |
0.670002 | 23.450113 | 11.549937 | 11.549900 | 0.037 | 0.000320 |
0.673337 | 23.566816 | 11.433234 | 11.433200 | 0.034 | 0.000297 |
0.733337 | 25.666827 | 9.333223 | 9.333200 | 0.023 | 0.000246 |
0.800003 | 28.000136 | 6.999914 | 6.999600 | 0.314 | 0.004486 |
0.866672 | 30.333548 | 4.666502 | 4.666500 | 0.002 | 0.000043 |
0.933337 | 32.666858 | 2.333192 | 2.333200 | 0.008 | 0.000343 |
0.980003 | 34.300166 | 0.699884 | 0.699890 | 0.006 | 0.000857 |
0.990003 | 34.650168 | 0.349882 | 0.349894 | 0.012 | 0.003430 |
1.000003 | 35.000172 | 0.000122 | 0.000132 | 0.010 | 8.196721 |
1.020004 | 35.700174 | 0.700124 | 0.700109 | 0.015 | 0.002142 |
1.200004 | 42.000206 | 7.000156 | 7.000034 | 0.122 | 0.001743 |
1.400005 | 49.000243 | 14.000193 | 14.000069 | 0.124 | 0.000886 |
1.600006 | 56.000277 | 21.000227 | 21.000000 | 0.227 | 0.001081 |
1.800007 | 63.000318 | 28.000268 | 28.000140 | 0.128 | 0.000457 |
1.980007 | 69.300355 | 34.300305 | 34.300280 | 0.025 | 0.000073 |
1.990099 | 69.653570 | 34.653520 | 34.530000 | 123.520 | 0.356443 |
2.000010 | 70.000463 | 35.000413 | 34.640000 | 360.410 | 1.029739 |
2.010011 | 70.350470 | 35.350420 | 34.880000 | 470.420 | 1.330734 |
2.020011 | 70.700478 | 35.700428 | 35.000000 | 700.428 | 1.961960 |
点数 | 采样频率/待测频率 | 分辨率(Hz) | 相对误差(%) | 时间消耗 | ||
差频测量系统t1×10–6 (s) | MATALB t2 (s) | t2/t1 | ||||
64 | 1.5 | 8.44 | 65.12 | 1.7911 | 0.0728 | 40645.41 |
2.5 | 14.06 | 2.77 | 1.7911 | 0.0729 | 40701.25 | |
3.5 | 19.69 | 4.59 | 1.7912 | 0.0729 | 40698.97 | |
128 | 1.5 | 4.22 | 71.11 | 3.1821 | 0.0824 | 25894.85 |
2.5 | 7.03 | 1.44 | 3.1823 | 0.0825 | 25924.65 | |
3.5 | 9.84 | 2.51 | 3.1921 | 0.0824 | 25813.73 | |
256 | 1.5 | 2.11 | 68.87 | 5.4661 | 0.0927 | 16959.08 |
2.5 | 3.52 | 1.24 | 5.4654 | 0.0928 | 16979.54 | |
3.5 | 4.92 | 1.35 | 5.4657 | 0.0928 | 16978.61 | |
512 | 1.5 | 1.05 | 71.12 | 10.9351 | 0.1084 | 9913.03 |
2.5 | 1.76 | 1.02 | 10.9332 | 0.1083 | 9905.61 | |
3.5 | 2.46 | 1.12 | 10.9411 | 0.1084 | 9907.60 |
量化位数 | 信噪比(dB) |
16 | 27.10 |
32 | 67.83 |
64 | 98.43 |
ft (kHz) | 闸门个数 | 计数器计数值 | fck–fin (Hz) | fin (Hz) | 相对误差(×10–6) | 分辨率(×10–6) |
170.00039 | 2000 | 7999371 | 2000.26227 | 170000.7777 | 2.2808 | 5.81575 |
170.20039 | 1800 | 7999165 | 1800.28240 | 170200.7576 | 2.1598 | 5.81619 |
170.40039 | 1600 | 7999747 | 1600.13460 | 170400.9054 | 3.0246 | 5.81629 |
170.60038 | 1400 | 7998135 | 1400.39997 | 170600.6418 | 1.5345 | 5.81673 |
170.80039 | 1200 | 7998931 | 1200.22338 | 170800.8166 | 2.4978 | 5.81521 |
171.00039 | 1000 | 7987647 | 1001.59909 | 170999.4409 | 5.5502 | 5.81764 |
fin=35.00005 kHz | 理论频差(kHz) | 实测频差(kHz) | 绝对误差(Hz) | 相对误差(%) | |
fck/fin | fck (kHz) | ||||
0.660011 | 23.100414 | 11.899636 | 11.200800 | 698.836 | 5.872751 |
0.663334 | 23.216715 | 11.783335 | 11.433400 | 349.935 | 2.969745 |
0.666668 | 23.333414 | 11.666636 | 11.666700 | 0.064 | 0.000549 |
0.670002 | 23.450113 | 11.549937 | 11.549900 | 0.037 | 0.000320 |
0.673337 | 23.566816 | 11.433234 | 11.433200 | 0.034 | 0.000297 |
0.733337 | 25.666827 | 9.333223 | 9.333200 | 0.023 | 0.000246 |
0.800003 | 28.000136 | 6.999914 | 6.999600 | 0.314 | 0.004486 |
0.866672 | 30.333548 | 4.666502 | 4.666500 | 0.002 | 0.000043 |
0.933337 | 32.666858 | 2.333192 | 2.333200 | 0.008 | 0.000343 |
0.980003 | 34.300166 | 0.699884 | 0.699890 | 0.006 | 0.000857 |
0.990003 | 34.650168 | 0.349882 | 0.349894 | 0.012 | 0.003430 |
1.000003 | 35.000172 | 0.000122 | 0.000132 | 0.010 | 8.196721 |
1.020004 | 35.700174 | 0.700124 | 0.700109 | 0.015 | 0.002142 |
1.200004 | 42.000206 | 7.000156 | 7.000034 | 0.122 | 0.001743 |
1.400005 | 49.000243 | 14.000193 | 14.000069 | 0.124 | 0.000886 |
1.600006 | 56.000277 | 21.000227 | 21.000000 | 0.227 | 0.001081 |
1.800007 | 63.000318 | 28.000268 | 28.000140 | 0.128 | 0.000457 |
1.980007 | 69.300355 | 34.300305 | 34.300280 | 0.025 | 0.000073 |
1.990099 | 69.653570 | 34.653520 | 34.530000 | 123.520 | 0.356443 |
2.000010 | 70.000463 | 35.000413 | 34.640000 | 360.410 | 1.029739 |
2.010011 | 70.350470 | 35.350420 | 34.880000 | 470.420 | 1.330734 |
2.020011 | 70.700478 | 35.700428 | 35.000000 | 700.428 | 1.961960 |
点数 | 采样频率/待测频率 | 分辨率(Hz) | 相对误差(%) | 时间消耗 | ||
差频测量系统t1×10–6 (s) | MATALB t2 (s) | t2/t1 | ||||
64 | 1.5 | 8.44 | 65.12 | 1.7911 | 0.0728 | 40645.41 |
2.5 | 14.06 | 2.77 | 1.7911 | 0.0729 | 40701.25 | |
3.5 | 19.69 | 4.59 | 1.7912 | 0.0729 | 40698.97 | |
128 | 1.5 | 4.22 | 71.11 | 3.1821 | 0.0824 | 25894.85 |
2.5 | 7.03 | 1.44 | 3.1823 | 0.0825 | 25924.65 | |
3.5 | 9.84 | 2.51 | 3.1921 | 0.0824 | 25813.73 | |
256 | 1.5 | 2.11 | 68.87 | 5.4661 | 0.0927 | 16959.08 |
2.5 | 3.52 | 1.24 | 5.4654 | 0.0928 | 16979.54 | |
3.5 | 4.92 | 1.35 | 5.4657 | 0.0928 | 16978.61 | |
512 | 1.5 | 1.05 | 71.12 | 10.9351 | 0.1084 | 9913.03 |
2.5 | 1.76 | 1.02 | 10.9332 | 0.1083 | 9905.61 | |
3.5 | 2.46 | 1.12 | 10.9411 | 0.1084 | 9907.60 |
量化位数 | 信噪比(dB) |
16 | 27.10 |
32 | 67.83 |
64 | 98.43 |
ft (kHz) | 闸门个数 | 计数器计数值 | fck–fin (Hz) | fin (Hz) | 相对误差(×10–6) | 分辨率(×10–6) |
170.00039 | 2000 | 7999371 | 2000.26227 | 170000.7777 | 2.2808 | 5.81575 |
170.20039 | 1800 | 7999165 | 1800.28240 | 170200.7576 | 2.1598 | 5.81619 |
170.40039 | 1600 | 7999747 | 1600.13460 | 170400.9054 | 3.0246 | 5.81629 |
170.60038 | 1400 | 7998135 | 1400.39997 | 170600.6418 | 1.5345 | 5.81673 |
170.80039 | 1200 | 7998931 | 1200.22338 | 170800.8166 | 2.4978 | 5.81521 |
171.00039 | 1000 | 7987647 | 1001.59909 | 170999.4409 | 5.5502 | 5.81764 |