基于修正Rife算法的正弦波频率估计及FPGA实现图文精.docx
- 文档编号:27938251
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:21
- 大小:63.26KB
基于修正Rife算法的正弦波频率估计及FPGA实现图文精.docx
《基于修正Rife算法的正弦波频率估计及FPGA实现图文精.docx》由会员分享,可在线阅读,更多相关《基于修正Rife算法的正弦波频率估计及FPGA实现图文精.docx(21页珍藏版)》请在冰豆网上搜索。
基于修正Rife算法的正弦波频率估计及FPGA实现图文精
第30卷第4期
2008年4月
文章编号:
1001—506X(2008)04—0621—04
系统工程与电子技术
SystemsEngineeringandElectronics
V01.30No.4
Apr.2008
基于修正Rife算法的正弦波频率估计及FPGA实现
王旭东,刘
摘
渝,邓振淼
(南京航空航天大学信息科学与技术学院,江苏南京210016)
要:
Rife算法的基础上,通过对输入信号进行频谱搬移,给出了一种修正Rife(MRife)算法.该算法易于
并行实现。
MonteCaro仿真表明,MRife算法具有频率估计精度高、整个量化频率范围内性能平稳等优点.当SNR(信噪比)大于0dB时,MRife算法频率估计均方根误差接近克拉芙一罗限(CRB,Cramer-Raobound)。
为了提高算法FPGA实现时的系统运行速度,提出使用FFT运算后的实/J郝代替FFT模进行插值,仿真表明对MRife算法性能影响不大。
最后,将MRife算法在单片FPGA芯片内进行了硬件设计。
布局布线后的时序仿真结果表明,该设计能够对输入数据速率为200MHz的信号进行实时频率估计,数据不堆积。
关键词:
修正Rife算法}频率估计,FPGAIFFT中图分类号:
TN
911
文献标志码:
A
Modified
Rifealgorithmforfrequencyestimationofsinusoidand
implementationinFPGA
WANGXu-dong,LIU
Yu.DENGZhen-miao
(Coll.ofInformationScience&Technology。
NanjingUniv.ofAeronautics&Astronautics。
Nanjin9210016,China)
Abstract:
Based
Rife’Smethod。
amodified—Rife(MRife)algorithmiSproposedwhichiSderivedfrom
to
on
movingthefrequencyofinputsignal.Thisalgorithmiseasy
berealizedwith
a
parallelstructure.MonteCaro
simulationresultsindicatethatMRifealgorithmhasgoodandsteadyfrequencyestimationcapacityinthewholefrequencyrange.WhentheinputSNR(signal-to-noiseratio)exceeds0dB,theRMS
can
error
ofMRifealgorithm
approachCRB(Cramer-Raobound).Inorder
to
improvesystemspeed。
onlyreal
or
imagepartoftheFFT
coefficientsiSusedwhenimplementingMRirealgorithminFPGA.Simulationresultsshowthatthissimplifica-tiondoesn’tmodifytheefficiencyofMRifealgorithmtoomacll.Finally,theMRifealgorithmisimplementedin
a
singleFPGAIC.According
even
tO
theafter-place-and-routesimulationresults,thisdesign
rate
can
achievereal—time
frequencyestimationthoughtheinputdata
is
as
faSt
as
200
MHz.Thereis
no
datadeposit.
Keywords:
modifiedRifealgorithmfrequencyestimation;fieldprogrammablegatearray;FFT
0
引言
文献[5]给出的频率估计算法是对ML算法的一种近似解,性能接近CRB,但在较低信噪比时会出现解的发散现象,计算量也较大,不易硬件实现。
文献E1]给出的频率估计算法,在对输入信号进行一次FFT运算后。
利用最大谱线及其相邻的一根次大谱线进行插值来确定真实频率位置,即Rife算法。
该算法只需要一次FFT运算,因此,运算量小,容易硬件实现。
当信号的真实频率处于两相邻量化频率之间的中心区域时,Rife算法精度很高}但是在FFT量化频率附近的误差却较大。
本文给出的MRife算法通过对输入信号进行频谱搬移,使得信号的频率始终位于两相邻量化频率之间的中心区域,提高了频率估计精度。
当SNR>0dB时,本算法频率估计的均方根误差接近CRB,且在整个频带内性能平稳。
正弦波频率估计是电子侦察、雷达、通信等领域研究的一个热门问题,也是工程实践中一个重要问题[2]。
在不同的信噪比条件下,不同算法所得到的频率估计精度各不相同,但是,无论采用哪种频率估计算法,其频率估计的均方根误差(rootmean
square
error,RMSE)都不会小于一个下
限:
克拉美一罗界(CRB)[3].文献[3]给出的最大似然
(maximumlikelihood,ML)频率估计算法,该算法能够达到
此界限,因此被称为最优估计。
但是,ML算法要进行一维搜索,运算量很大,实时处理性能差,不便于工程实现。
文献[4]给出的频率估计算法,虽然速度很快,但是在信噪比比较低时(小于6dB)性能很差,无法达到工程应用的要求。
收稿日期:
2007一03—29,修回日期:
2007—07一08.
作者简介:
王旭东(1978一),男。
博士研究生,主要研究方向为电子侦察,FPGA应用.E—mailtxudong_nuaa@163.com
・622・
系统工程与电子技术
MRife算法适宜并行运算,本文将MRife算法在FP—GA中进行了硬件设计。
FPGA布局布线后的时序仿真表明,该设计实现了对输入数据速率为200MHz的信号的实时频率估计功能。
1
护两等辫‰(3)
而锄卜“曲exP(j(号*丙2n*以))
“’
第30卷
则有蠡∈[o,1/幻.仿真发现,当魏611/3,1/23时Rife算法精度
很高,接近CRB,当南6[o,1/3]时性能下降很多。
为此,本文定义a611/3,1/2]为量化频率中心区域,当由Rife得到的频率估计结果位于此中心区域时,将其作为最终输出;否则,将原始信号
算法分析
由于FFT运算存在量化误差。
当输入信号的频率不在
1.1原始Rife算法
FFT量化频率点处时,直接用FFT运算的最大谱线位置来估计正弦输入信号的频率,将存在量化误差,其误差范围为[一,I/(2N),f/(2N)],其中,l为采样频率,N为FFT点数。
文献[1]通过利用最大谱线以及与其相邻的次大谱线进行插值,得到的频率估计算法被人们称之为Rife算法。
设被加性高斯白噪声污染的正弦波信号为
z(nA£)=口一2叫・””t・’+铆(nAf)。
r/=0。
1,…,N一1(1)式中:
a√:
、Oo分别为振幅、频率和初相,血为采样间隔,为处理方便可令At=1,N为样本数。
口(咒)是实部和虚部相互独立的、方差为2,的零均值复高斯白噪声(实部、虚部都服从N(0,0.2)分布)。
对z(卵)作FFT,最大谱线值记为X(k。
)I,次大谱线值记为IX(七。
+r)l。
则Rife算法所得到的频率估计值如式(2)所示[1]。
平移r/3倍量化频率。
平移后的信号如式(4)所示。
由于是固定平移r/3倍量化频率,所以复指数的计算可通过查表来实现,减少了计算量。
对平移后的信号再应用Rife算法进行频率估计,若所得岛∈[1/3,1/z]则将此时估计出的频率减去r/3倍量化频率,即为最终的频率估计结果;若所得南∈[o,1/3),则说明,频率移动方向错误,将式(5)中的r取反,再使用Rife算法进行频率估计,将所得结果减去r/3倍量化频率,即为最终的频率估计结果。
我们将上述频率估计方法称之为修正Rife算法,记为MRfie。
其运算步骤归纳如下.
步骤1对输入信号工(竹)做FFT运算I
步骤2计算函,若凼∈D/3,1/z3,则用式(2)定义的Rife算法进行频率估计,结束运算。
步骤3若d,∈[o,1/3),用式(4)对信号进行平移,对平移后的信号做FFT,重新计算南,若艿。
∈[1/3,1/z3,用式(2)估计频率,并将其减去H3倍量化频率作为最终频率估计值,结束运算。
步骤4若重新计算的函∈[o,1/33,则将r取反,返回步骤3。
MRife算法通过对原始信号的平移,保证了南∈[1/3,1/2],充分发挥了Rife算法在量化频率中心区域精度高的优势,使得频率估计精度大为改善。
z。
志(¨r丽*判剖高)㈤
式中:
当IX(‰+1)I<IX(‰一1)I时,,I=一1,当IX(k。
+1)I≥IX(k。
一1)I时,r=l。
图l所示为r=1时的情况。
文献[13证明当输入噪声为零时,Rife算法能够得到精确的频率估计结果。
在适当的信噪比条件下,当,r位于两个离散频率的中心区域时,Rife算法性能较好,其频率估计均方根误差接近CRB,误差远小于DFT算法;反之,当信噪比较低而且正接近量化频率点时,误差将可能大于DFT算法。
这是因为,当f位于离散频率中心区域时。
IX(k。
+r)I与IX(k。
)I很接近,这时采用式(2)的内插公式具有较高的精度;但是,当,f接近于量化频率点时。
则fX(k。
+r)I与IX(‰)I差别很大,IX(‰+r)I很小,在噪声的影响下,可能产生频率插值的方向性错误,因此频率估计精度降低。
为了
2仿真分析
2.1采用FFT模时仿真结果
对于上面介绍的修正Rife算法,在MATLAB中对其做了MonteCaro仿真。
按照式(1)定义的输入信号,各参
避免这种方向性错误,文献[6]采用取页瓦j苦寺赫的
实部的方法,虽然性能有所改进,但是需要做复数除法,因此计算量较大,不易硬件实现。
通过分析Rife算法在不同频率区域的误差特性,本文提出了一种修正方法。
朋J‰)
●I
数设置为:
信号长度N=256,信号幅度口= ̄/而蕊而
(SNR为输入信噪比),信号频率正=正/4+A,f,△,f取[一,I/(2N),,I/(2N)]区间等间隔的80个频率点,采样频率f=200MHz,信号初始相位‰取[O,2'c]区间均匀分布的随机数,噪声均值为0,方差,=0.5。
对每个频率点做
1
正
j朋t)+1)1
●
000次MonteCaro仿真,Rife算法和MRife算法在不同
IX(k.-IX
信噪比时的均方根误差(RMSE)如图2—4所示。
图中的克拉美一罗限由式(5)确定[3].
.
-。
I
图1
ko-{驴112岛时I/2
Rife算法示意图
ko+l
CRB
2√蕊而焉了E可/(2,0
厂———T£r—一
(5)
仿真结果证明了前面的理论分析.MRife算法能够改善原始Rife算法的性能,改进效果非常好,当SNR>0dB时,在整个量化频率范围内都能够接近CRB。
1.2修正Rife算法
将Rife算法的频率插值记为艿。
如式(3)所示.
第4期
壬旭东等:
基于修正Rife算法的正弦波频率估计及FPGA实现
・623・
NN
Z
工《芒
越越馨馨
苄:
Rire;"-O-:
MRife:
~:
CRLB
FFT量化频率点
FFT量化频率点FFT量化频率点
—*卜:
Rire;—e-:
MRire;一:
CRLB
+:
Rife:
--0--:
MRife:
一:
CRLB
图2均方根误差(RMSE)
图3均方根误差(RMSE)
图4均方根误差(RMSE)
,SNR=——3dB)
(SNR=0dB)
(SNR=3
dB)
‘2.2采用n丌实/虚部时仿真结果
布局布线和时序仿真。
所得设计的RTL图如图6所示.本文1,2节中介绍的修正Rife算法是建立在对FFT输系统主要由3个FFT模块,3个Rife模块,2个ROM模块出取模,再插值的基础上的。
在FPGA硬件实现时,由于取和一个判决模块组成。
3个FFT模块用来完成三路并行的模运算,需要使用CORDICE71算法对输入向量进行不断的旋FFT运算IRife模块完成Rife算法;2个ROM模块用来存转和缩放来逼近精确解。
因此,影响了FPGA硬件设计的运放平移所需复指数的实部和虚部;判决模块对三路并行计行速度。
为此,本文综合采用H叮运算后的实部或虚部来算的结果进行判决,给出最终的输出结果。
FFT模块可通实现MRife算法。
文献[8]给出了只使用FFT实部绝对值过配置AI,TERA公司FFT核的参数来完成设计,其他模
时的Rife算法的性能。
仿真表明。
由于噪声的影响。
当SNR块采用VHDL硬件描述语言来实现。
较低时,FFT实部最大绝对值的位置可能不同于其模值的最3.2
FPGA资源消耗
大值位置,而此时虚部最大绝对值的位置往往就是模值最大在QuartusⅡ软件中建立工程。
将设计好的各模块添加值位置,此时虚部最大绝对值比实部最大绝对值大许多。
因到工程中,经综合、布局布线后的资源使用情况如表l所示。
此,本文将实部绝对值、虚部绝对值的最大值进行比较,取其襄l
MRife算法FPGA资源消耗表
大者所对应的量化频率位置为岛,图5为SNR=0dB时的仿Processing
status
Fitting
successful
真结果,限于篇幅其他信噪比情况下的仿真结果从略。
与本Chip
Name。
MRife文2.1节取FFT的模值进行插值的修正Rife算法相比,均DeviceforcompilationEPlS25F780C5
方根误差(RMSE)略有增加。
可见这种取H叮实/虚部进行Total
logic
elements
19.754/25。
660(76oA)
插值的修正Rife算法性能依然是很好的。
TotaIpins
105/598(17%)TOtalmemorybits120.832/1.944。
576(6%)
1DSPblock9——bitelements
70/80(87%)1TotaIPI。
I,s
0/6(0%)
1
N
可见,应用EPlS25F785C5芯片能够在一片FPGA内Z
芒
实现并行结构的MRife算法。
虽然消耗的逻辑单元和DSP世馨
享≠}鲻豢甚}j辩棼
模块都比较多。
但是这种并行、流水的处理方式,加快了处理速度,提高了系统的实时性,适合在雷达、电子对抗等对处理实时性要求非常高的领域。
5
3.3系统时序仿真
FFT量化频率点
首先.将设计在QuartusII软件中进行布局布线,得—_卜:
Rife;—e一:
MRife;一:
CRLB
到设计的延迟模型,再用MATLAB软件生成仿真所需
图5采用FFT实/虚部仿真结果(SNR=0
dB)
的向量文件¨1<g-,vec文件)。
系统输入信号为两段频3算法FPGA硬件实现
率分别为65.1/N*工和109.5/N*,,的单音复信号(N=256,^=200MHz),两段信号长度都为256点,
3.1系统FPGA设计
SNR=一3dB,data_reaLin,data_imag_.in分别表示输入
对于本文给出的修正Rife算法。
将其在FPGA中进行信号的实部和虚部。
位宽16bit。
系统时钟信号为elk,了硬件实现。
在FPGA实现时为了提高运算速度,采用并复位信号为reset。
系统输出信号为七o。
r和deta,其中是。
行处理,将输入信号分成并行的三路.一路平移一1/3量化
和r的含义与式(2)中的一致,r的高、低电平代表取正,频率。
一路平移1/3量化频率,另一路保持不变。
再用三个取负。
deta的含义为修正Rife算法的最终修正量。
位宽FFT模块分别对这三路信号迸行FFT运算。
将三路FFT为16bit。
用来表示16位无符号定点小数。
MRife算法运算结果,采用1.2节介绍的方法计算修正量硝。
掰.西。
选的时序仿真波形如图7所示.时间标尺处的放大图形如取其中的最大者作为最终运算结果。
设计中采用AI。
一图8所示。
时序仿真表明,设计最高运行速度可达200TERA公司的STRATIX系列FPGA器件中的MHz,数据不堆积。
能够实现并行、流水、实时处理。
由EPlS25F780C5芯片,在Quartusff4.2中进行编程、综合、
于硬件实现时量化误差的影响,频率估计精度略低于
・624・
系统工程与电子技术第30卷
Matlab仿真结果。
与图7对应的理论值为65.100(109.500)、Matlab仿真结果为65.131(109.528),
FPGA运算结果为65.135(109.530),单位都是1/N*^。
括号内的数字代表第二段仿真数据。
图6
MRife算法FPGA实现RTL图
图7MRife算法FPGA时序仿真波形
图8MRife算法FPGA时序仿真波形(局部放大)
Edition)[M].杨小牛(译),北京:
电子工业出版社,2002.[3]RifeD
c,Boorstyn
4
结束语
本文在分析原始Rife算法的基础上,通过对输入信号的
RR.Single-toneparameterestimationfrom
discrete-timeobservation[J].IEEETran5.InJorm.Theory,1974,20(5)1591—598.
频谱搬移,使得待测频率始终处于Rife算法的量化频率中心区域,由此得出了一种高精度频率估计算法:
修正Rife算法(MRife)。
计算机仿真表明,MRife算法具有很高的频率估计精度。
当SNR>0dB时,其频率估计均方误差接近CRB。
[4]KaySAfastand
accurate
singlefrequencyestimatorEJ].IEEE
Tram.Acoust.SpeechSignal_Process,1989,37(12)t1987—1990.
为了便于附硬件实现,本文还提出了利用HT实/虚
Es]AbatzoglouTJ.Afastmaximumlikelihoodalgorithmforthe
frequencyestimationof
a
sinusoidbased
011
Newton’smethod
部进行频率插值的方法,MonteCam仿真表明,与利用n叮模值进行插值相比,性能下降很少,证明了算法的有效性。
最后。
我们将这种修正Rife算法在FPGA中进行了硬件实现,并给出了FPGA资源消耗情况。
在FFGA中布局布线后的时序仿真表明,设计实现了对200MHz的输人数据的实时频率估计。
[J].IEEETrans.ASSP,1985。
33(1)l77—89.[6]Quinn
B
G.EstimatingfrequencybyinterpolationusingFourier
coefficients[J].IEEETrans.SP,1994。
42(5)11264—1268.[73LinChih-Hsiu,wuAn-Yeu.MixedscalingrotationCORDIC
(MSR—CORDIC)algorithmandarchitectureforhigh-perform—
ance
vector
rotationalDSP
applications[J].IEEETrans.on
Circuits
and
SystemsJ,2005。
52(11)12385—2396.
[8]张昌菊,唐斌.单频信号快速频率估计算法比较及改进[J].电
参考文献:
[1]RifeDC,Vincent
G
讯技术,2005(I).
A.UseofthediscreteFouriertransformin
19]王旭东,刘渝.全并行结构FFT的FPGA实现口].南京航空航
天大学学报,2006,38(1),96—100.
[10]邓振淼,刘瀹.正弦波频率估计的牛顿迭代方法初始值研究
口].电子学报,2007,35(1);104—107.
themeasurementoffrequenciesandlevelsofSyst.Tech..,.,1970,49:
197—228.
tones[J].Bell
receivers(Second
[2]JamesTsui.Digitaltechniquesforwideband
基于修正Rife算法的正弦波频率估计及FPGA实现
作者:
作者单位:
刊名:
英文刊名:
年,卷(期:
引用次数:
王旭东,刘渝,邓振淼,WANGXu-dong,LIUYU,DENGZhen-miao南京航空航天大学信息科学与技术学院,江苏,南京,210016系统工程与电子技术
SYSTEMSENGINEERINGANDELECTRONICS2008,30(43次
参考文献(10条
1.RifeDC.VincentGAUseofthediscreteFouriertransforminthemeasurementoffrequenciesandlevelsoftones1970
2.JamesTsui.杨小牛Digitaltechniquesforwidebandreceivers2002
3.RifeDC.BoorstynRRSingle-toneparameterestimationfromdiscrete-timeobservation1974(54.KaySAfastandaccuratesinglefrequencyestimator1989(12
5.AbatzoglouTJAfastmaximumlikelihoodalgorithmforthefrequencyestimationofasinusoidbasedonNewton'smethod1985(1
6.QuinnBGEstimatingfrequencybyinterpolationusingFouriercoefficients1994(5
7.LinChih-Hsiu.WuAn-YeuMixedscalingrotationCORDIC(MSR-CORDICalgorithmandarchitectureforhigh-performancevectorrotationalDSPapplications2005(11
8.张昌菊.唐斌单频信号快速频率估计算法比较及改进[期刊论文]-电讯技术2005(19.王旭东.刘渝全并行结构FFT的FPGA实现[期刊论文]-南京航空航天大学学报2006(110.邓振淼.刘渝正弦波频率估计的牛顿迭代方法初始值研究[期刊论文]-电子学报2007(1
相似文献(7条
1.会议论文王旭东.刘渝.邓振淼正弦波频率估计的修正Rife算法及其FPGA实现2006
本文在原始Rife算法的基础上,利用该算法在量化频率中心区域精度比较高的特点,通过对原始信号的平移,给出了一种修正Rife算法(MRife.分析表明,MRife算法具有频率估计精度高、整个量化频率范围内性能平稳、易于并行实现等优点,当SNR(信噪比大于0dB时,其均方根误差接近CLRB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 修正 Rife 算法 正弦波 频率 估计 FPGA 实现 图文