首页> 中国专利> 一种用FPGA芯片实现的快速高精度频率测量方法

一种用FPGA芯片实现的快速高精度频率测量方法

摘要

本发明涉及一种应用FPGA芯片实现的快速高精度频率测量方法,属于数字信号处理领域。本方法在FPGA芯片里添加了FFT模块、Rife模块、ROM模块;将输入信号分为三路,对其中的两路输入信号做频移,另外一路不做频移,在Rife的基础上,比较FFT运算结果的实部绝对值和虚部绝对值来确定频谱最大值,分别得到三个频率测量结果,最后选择最大值作为最终频率测量值。本方法有效提高了对固定长度接收信号的频率测量精度,加快了处理速度,提高了系统的实时性。

著录项

  • 公开/公告号CN102353838A

    专利类型发明专利

  • 公开/公告日2012-02-15

    原文格式PDF

  • 申请/专利权人 南京航空航天大学;

    申请/专利号CN201110179724.3

  • 发明设计人 王旭东;

    申请日2011-06-30

  • 分类号G01R23/16;

  • 代理机构南京经纬专利商标代理有限公司;

  • 代理人许方

  • 地址 210016 江苏省南京市白下区御道街29号

  • 入库时间 2023-12-18 04:21:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-17

    未缴年费专利权终止 IPC(主分类):G01R23/16 授权公告日:20130619 终止日期:20170630 申请日:20110630

    专利权的终止

  • 2013-06-19

    授权

    授权

  • 2012-03-28

    实质审查的生效 IPC(主分类):G01R23/16 申请日:20110630

    实质审查的生效

  • 2012-02-15

    公开

    公开

说明书

技术领域

本发明涉及一种应用FPGA芯片实现的快速高精度频率测量的方法,属于数 字信号处理领域。

背景技术

频率测量是电子侦察、雷达、通信等工程领域中一个重要问题。在不同的信 噪比条件下,不同方法所得到的频率测量精度各不相同,但是,无论采用哪种频 率测量方法,其频率测量的均方根误差(RMSE)都不会小于一个下限:克拉美- 罗界[3](CLRB)。文献[3]给出的最大似然频率测量方法(ML)能够达到此界限, 因此被称为最优测量。但是,ML法要进行一维搜索,运算量很大,实时处理性 能差,不便于工程实现。文献[4]给出的频率测量方法,虽然速度很快,但是在 信噪比比较低时(小于6dB)性能很差,无法达到工程应用要求。文献[5]给出 的频率测量方法是对ML方法的一种近似解,性能接近CLRB,但在较低信噪比时 会出现解的发散现象,计算量也较大,不易硬件实现。

文献[1]给出的频率测量方法,在对输入信号进行一次FFT运算后,利用最 大谱线及其左边或右边的一根次大谱线进行插值来确定真实频率位置,即Rife 方法。该方法只需要一次FFT运算,因此,运算量小,容易硬件实现。Rife方 法在量化频率中心区域的频率测量误差很小,接近CLRB,但是在FFT量化频率 附近的误差却较大。

这里给出的MRife方法通过对输入信号进行频谱搬移,使得信号的频率始终 位于量化频率的中心区域,提高了频率测量精度。MRife方法频率测量精度大大 提高,当SNR>0dB时方法频率测量的均方根误差接近CLRB,且在整个频带内性 能平稳。

发明内容

本发明所要解决的技术问题是针对上述背景技术的不足,提供了一种应用 FPGA芯片实现的快速高精度频率测量的方法。本发明通过对输入信号进行频谱 搬移,使得信号的频率始终位于量化频率的中心区域,提高了频率测量精度。本 方法测量频率的精度大大提高,当SNR>0dB时方法频率测量的均方根误差接近 CLRB,且在整个频带内性能平稳。

本发明为实现上述发明目的采用如下技术方案:

一种应用FPGA芯片实现的快速高精度频率测量的方法,包括如下步骤:

步骤1,将输入信号分成并行的三路,第一路输入信号平移-1/3FFT量化 频率,第二路输入信号平移1/3FFT量化频率,第三路输入信号不做频移;

步骤2,对每一路输入信号做FFT运算,确定最大谱线值|X(k0)|、次大谱 线值|X(k0+r)|、最大谱线值对应的信号频率k0以及平移系数r的取值,具体包 括如下步骤:

步骤2-1,定义输入信号x(n),对x(n)做FFT运算;

其中,x(n)=aej(2πfcnΔt+Φ0)+v(n)n=0,1,L,N-1                                        (1)

a为振幅、fc为初始频率、Ф0为初相,Δt为采样间隔、N为样本数, 的实部和虚部相互独立且都服从N(0,σ2)分布,σ2是常数 表示噪声方差;

步骤2-2-1,比较频谱上所有信号频率对应的谱线值;

当信号频率处在量化频率中心区域时,取实部绝对值的最大值作为量化频率 中心区域最大谱线值;

当信号频率处在非量化频率中心区域时,取虚部绝对值的最大值作为非量化 频率中心区域最大谱线值;

步骤2-2-2,比较量化频率中心区域的最大谱线值和非量化频率中心区域的 最大谱线值,取大者作为整个频谱的最大谱线值;

步骤2-2-3,取最大谱线值对应的信号频率作为k0

步骤2-2-4,重复步骤2-2-1至步骤2-2-2确定次大谱线值;

步骤2-3,确定平移系数r的值,当|X(k0+r)|<|X(k0-r)|时,r=-1,否则, r=1;

步骤3,按照以下方法分别计算每一路输入信号的频率插值δ1,根据δ1的取 值范围确定最终频率测量值具体包括如下步骤:

步骤3-1,采用以下公式计算频率插值δ1

δ1=|X(k0+r)||X(k0+r)|+|X(k0)|---(2)

步骤3-2,当δ1∈[1/3,1/2]时,用Rife方法得到测量频率值记该测量 频率值为最终频率测量值

步骤3-3,当δ1∈[0,1/3]时,将信号平移r/3倍量化频率后用Rife方法计算 频率插值δ1;然后根据重新计算得到的频率插值δ1进行以下操作:

步骤3-3-1,当δ1∈[1/3,1/2]时,用Rife方法得到频率测量值再用频 率测量值减去r/3倍量化频率作为最终频率测量值

步骤3-3-2,当δ1∈[0,1/3]时,将r取反,返回步骤3-3;

步骤4,比较步骤3计算得到的三路输入信号的最终频率测量值取最大 值作为最后的测量频率。

所述应用FPGA芯片实现的快速高精度频率测量的方法中,所述步骤3中用 Rife方法得到频率测量值的计算公式如下:

fc=1T(k0+r|X(k0+r)||X(k0)|+|X(k0+r)|)---(3)

其中,FFT变换周期T=Δt*N。

本发明采用上述技术方案,具有以下有益效果:

(1)通过对FFT运算后的谱线进行平移插值操作,能够有效提高对固定长 度接收信号的频率测量精度。

(2)采用FPGA对方法进行并行化处理,通过3路并行FFT、平移、插值, 可实现高速频率测量,加快了处理速度,提高了系统的实时性。

附图说明

图1为用FPGA芯片实现本方法的RTL图。

图2为平移系数r=1时的频谱示意图。

图3为Rife方法和MRife方法在SNR=-3dB时测量频率均方根误差的仿真曲 线比较图。

图4为Rife方法和MRife方法在SNR=0dB时测量频率均方根误差的仿真曲 线比较图。

图5为Rife方法和MRife方法在SNR=3dB时测量频率均方根误差的仿真曲 线比较图。

图6为MRife方法的时序仿真波形图。

图7为MRife方法在时间标尺处放大的时序仿真波形图。

图8为用FPGA芯片实现本方法的流程图。

具体实施方式

下面结合附图对发明的技术方案进行详细说明:

本方法是在Rife方法的基础上改进得到的,现命名本方法为MRife方法(修 正Rife方法)。

如图1所示,在FPGA芯片上添加三个FFT模块、三个Rife模块、两个ROM 模块。FFT模块完成FFT运算,Rife模块完成Rife算法,ROM模块用于存放输 入信号平移所需复指数的实部和虚部。

如图8所示:一种应用FPGA芯片实现的快速高精度频率测量的方法,包括 如下步骤:

一种应用FPGA芯片实现的快速高精度频率测量的方法,包括如下步骤:

步骤1,将输入信号分成并行的三路,第一路输入信号平移-1/3FFT量化 频率,第二路输入信号平移1/3FFT量化频率,第三路输入信号不做频移;

步骤2,对每一路输入信号做FFT运算,确定最大谱线值|X(k0)|、次大谱 线值|X(k0+r)|、最大谱线值对应的信号频率k0以及平移系数r的取值,具体包 括如下步骤:

步骤2-1,定义输入信号x(n),对x(n)做FFT运算;

其中,x(n)=aej(2πfcnΔt+Φ0)+v(n)n=0,1,L,N-1                                     (1)

a为振幅、fc为初始频率、Ф0为初相,Δt为采样间隔、N为样本数, 的实部和虚部相互独立且都服从N(0,σ2)分布,σ2是常数 表示噪声方差;

步骤2-2-1,比较频谱上所有信号频率对应的谱线值;

当信号频率处在量化频率中心区域时,取实部绝对值的最大值作为量化频率 中心区域最大谱线值;

当信号频率处在非量化频率中心区域时,取虚部绝对值的最大值作为非量化 频率中心区域最大谱线值;

步骤2-2-2,比较量化频率中心区域的最大谱线值和非量化频率中心区域的 最大谱线值,取大者作为整个频谱的最大谱线值;

步骤2-2-3,取最大谱线值对应的信号频率作为k0

步骤2-2-4,重复步骤2-2-1至步骤2-2-2确定次大谱线值;

步骤2-3,确定平移系数r的值,当|X(k0+r)|<|X(k0-r)|时,r=-1,否则, r=1;

步骤3,按照以下方法分别计算每一路输入信号的频率插值δ1,根据δ1的取 值范围确定最终频率测量值具体包括如下步骤:

步骤3-1,采用以下公式计算频率插值δ1

δ1=|X(k0+r)||X(k0+r)|+|X(k0)|---(2)

步骤3-2,当δ1∈[1/3,1/2]时,用Rife方法得到测量频率值记该测量 频率值为最终频率测量值

步骤3-3,当δ1∈[0,1/3]时,将信号平移r/3倍量化频率后用Rife方法计算 频率插值δ1;然后根据重新计算得到的频率插值δ1进行以下操作:

步骤3-3-1,当δ1∈[1/3,1/2]时,用Rife方法得到频率测量值再用频 率测量值减去r/3倍量化频率作为最终频率测量值

步骤3-3-2,当δ1∈[0,1/3]时,将r取反,返回步骤3-3;

步骤4,比较步骤3计算得到的三路输入信号的最终频率测量值取最大 值作为最后的测量频率。

所述的应用FPGA芯片实现的快速高精度频率测量的方法中,所述步骤3中 用Rife方法得到频率测量值的计算公式如下:

fc=1T(k0+r|X(k0+r)||X(k0)|+|X(k0+r)|)---(3)

其中,FFT变换周期T=Δt*N。

现在对Rife方法和MRife方法做如下仿真实验:鉴于Rife方法通过对FFT 运算结果取模来确定频谱最大值,MRife方法比较FFT运算结果的实部绝对值和 虚部绝对值来确定频谱最大值,分别在MATLAB中对Rife方法和MRife方法做 MonteCaro仿真。

Rife方法和MRife方法在不同信噪比时测量频率均方根误差的仿真:按照公 式(1)定义的输入信号,各参数设置为:信号长度N=256,信号幅度 (SNR为输入信噪比),信号频率fc=fs/4+Δfc,Δfc取 [-fs/(2N),fs/(2N)]区间等间隔的80个频率点,采样频率fs=200MHz,信号初 始相位Ф0取[0,2π]区间均匀分布的随机数,噪声均值为0,方差σ2=0.5。对每 个频率点做1000次MonteCaro仿真。Rife方法和MRife方法在SNR=-3dB、 SNR=0dB、SNR=3dB时测量频率均方根误差的仿真曲线比较图如图3、图4、图5 所示。图中CLRB(克拉美-罗界)由公式(5)确定。

CLRB=12σ2a2T2N(N2-1)/(2π)---(5)

本发明采用ALTERA公司的STRATIX系列FPGA器件中的EP1S25F780 C5芯片; 在QuartusII4.2中进行编程、综合、布局布线和时序仿真;FFT模块可通过配 置ALTERA公司FFT核的参数来完成设计,其他模块采用VHDL硬件描述语言来实 现。

在QuartusII软件中建立工程,将设计好的各模块添加到工程中,经综合、 布局布线后的资源使用情况如表1所示。可见,应用EP1S25F785C5芯片能够在 一片FPGA内实现并行结构的MRife方法。虽然消耗的逻辑单元和DSP模块都比 较多,但是这种并行、流水的处理方式,加快了处理速度,提高了系统的实时性, 适合在雷达、电子对抗等对处理实时性要求非常高的领域。

表1MRife方法FPGA资源消耗表

  Processing status   Fitting Successful   Chip name   MRife   Device for compilation   EP1S25F780C5   Total logic elements   19,764/25,660(77%)   Total pins   105/598(17%)   Total memory bits   120,832/l,944,576(6%)   DSP block 9-bit elements   70/80(87%)   Total PLLs   0/6(0%)

对进过改进的FGPA芯片构成的频率测量系统做如下时序仿真:

在QuartusII软件中进行布局布线,得到设计的延迟模型,再用MATLAB软 件生成仿真所需的向量文件(*.vec文件)。系统输入信号为两段频率分别为 65.1/N*fs和109.5/N*fs的单音复信号(N=256,fs=200MHz),fs为采样频率。两 段信号长度都为256点,SNR=-3dB。data_real_in、data_imag_in分别表示输 入信号的实部和虚部,位宽16bit。系统时钟信号为clk,复位信号为reset。 系统输出信号为k0,r和deta,其中k0和r的含义与(2)式中的一致,r的高、 低电平代表取正、取负。deta的含义为修正Rife方法的最终修正量,位宽为 16bit,用来表示16位无符号定点小数。MRife方法的时序仿真波形如图6所示, 时间标尺处的放大图形如图7所示。时序仿真表明,设计最高运行速度可达 200MHz,数据不堆积,能够实现并行、流水、实时处理。由于硬件实现时量化误 差的影响,频率测量精度略低于Matlab仿真结果。与图7对应的理论值、Matlab 仿真结果、FPGA运算结果分别为:65.1(109.5)、65.131(109.528)、65.134 (109.529),单位都是1/N*fs,括号内的数字代表第二段仿真数据。

由仿真结果可见;

(1)MRife方法能够改善原始Rife方法的性能,改进效果非常好;

(2)MRife方法的均方根误差(RMSE)变化很小,这种比较FFT运算结果的实 部绝对值和虚部绝对值来确定频谱最大值的方法是有效可行的;

(3)当SNR>0dB时,在整个量化频率范围内都能够接近CLRB。

(4)本方法消耗的逻辑单元和DSP模块都比较多,但是这种并行、流水的处理 方式,加快了处理速度,提高了系统的实时性,适合在雷达、电子对抗等对处理 实时性要求非常高的领域。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号