CN101458280A - 一种检测离散时域信号频率的方法和装置 - Google Patents

一种检测离散时域信号频率的方法和装置 Download PDF

Info

Publication number
CN101458280A
CN101458280A CNA2009100762610A CN200910076261A CN101458280A CN 101458280 A CN101458280 A CN 101458280A CN A2009100762610 A CNA2009100762610 A CN A2009100762610A CN 200910076261 A CN200910076261 A CN 200910076261A CN 101458280 A CN101458280 A CN 101458280A
Authority
CN
China
Prior art keywords
frequency
vfb
vfa
vfc
value
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.)
Pending
Application number
CNA2009100762610A
Other languages
English (en)
Inventor
洪庆春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNA2009100762610A priority Critical patent/CN101458280A/zh
Publication of CN101458280A publication Critical patent/CN101458280A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Measuring Frequencies, Analyzing Spectra (AREA)

Abstract

本发明提供了一种检测离散时域信号频率的方法和装置,其中方法包括:对要检测的离散时域信号进行傅立叶变换得到离散频域信号;确定对所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率值。本发明检测出的频率更加精确,也就是说,在达到相同精度的情况下,所需要的傅立叶变换点数远远小于现有技术,大大减小了频率检测过程中的计算量。

Description

一种检测离散时域信号频率的方法和装置
技术领域
本发明涉及信号处理技术,特别涉及一种检测离散时域信号频率的方法和装置。
背景技术
在信号处理技术中对信号频率进行检测是常用的需求之一,随着数字化进程的加快,对离散时域信号进行频率检测渐渐成为常用技术,现有技术中主要存在以下三种检测离散时域信号频率的方法:
第一种方法:通过计算离散时域信号的过零率来确定信号频率。即针对要检测的离散时域信号计算由正到负以及由负到正的变化次数,根据该变化次数确定信号频率。显然这种方法仅适用于单频率周期信号,对于诸如双音多频(DTMF,Dual Tone Multi-Frequency)等多频率信号则无法计算信号频率,并且当出现干扰时,该方法计算出的信号频率准确性较差。
第二种方法:设置包含多个滤波器的滤波器组,各滤波器对应不同的中心频率,该滤波器组对离散时域信号进行滤波后获取各频率的幅度值,查找最大幅度值对应的频率作为该离散时域信号的频率。虽然这种方式适用于多频率信号的频率检测,但是需要保存大量的滤波器系数、频率值等,计算量很大,实现也比较麻烦。
第三种方法:首先对离散时域信号进行傅立叶变换(FT),计算FT后信号各特征频率对应的能量值,然后查找最大能量值对应的特征频率作为信号频率。虽然这种方式适用于多频率信号的频率检测,且无需设置大量的滤波器,实现比较简单,但是,在检测的频率精度满足精度要求时,要求较多的FT的点数,例如,当该要检测的离散时域信号的采样率fs为8000Hz,频率精度要求小于1Hz,则需要FT点数N至少为8192,显然需要较大的计算量,并且由于需要的FT点数较大,要求输入和处理的离散时域信号较长,会造成较大的处理延迟。
发明内容
有鉴于此,本发明提供了一种检测离散时域信号频率的方法和装置,以便于采用较少的FT点数来满足精度要求,且减小离散时域信号的处理延迟。
一种检测离散时域信号频率的方法,其特征在于,该方法包括:
A、对要检测的离散时域信号进行傅立叶变换得到离散频域信号;
B、确定对所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为所述要检测的离散时域信号的频率值。
一种检测离散时域信号频率的装置,该装置包括:时频变换单元和频率确定单元;
所述时频变换单元,用于对要检测的离散时域信号进行傅立叶变换得到离散频域信号;
所述频率确定单元,用于确定所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为所述要检测的离散时域信号的频率值。
由以上技术方案可以看出,本发明所提供的方法和装置在对要检测的离散时域信号进行傅立叶变换得到离散频域信号后,确定对所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率值。其相比较直接利用傅立叶变换得到的离散频域信号中最高幅度值所对应的频率值作为要检测的离散时域信号的频率值,更加精确,也就是说,在达到相同精度的情况下,所需要的傅立叶变换点数远远小于现有技术,大大减小了频率检测过程中的计算量。
附图说明
图1为连续信号、离散信号、时域信号和频域信号的变换关系;
图2为本发明实施例提供的第一种方法流程图;
图3为本发明实施例提供的对各特征频率分量与内插函数sinc做卷积运算的示意图;
图4为本发明实施例提供的离散频域信号与连续频域信号之间的转换关系图;
图5为离散正弦信号在时域和频域之间的转换关系示意图;
图6为离散正弦信号与sinc函数曲线的对应关系示意图;
图7为本发明实施例提供的fc≤fo时各特征频点在sinc曲线上的位置图;
图8为本发明实施例提供的fc≥fo时各特征频点在sinc曲线上的位置图;
图9为本发明实施例提供的第二实施例的误差函数曲线图;
图10为本发明实施例提供的第二种方法流程图;
图11为本发明实施例提供的α、β与△的对应关系图;
图12为本发明实施例提供的err与α的关系曲线转换成折线的示意图;
图13为本发明实施例提供的建立误差查询表的对应关系图;
图14为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的方法主要包括:对要检测的离散时域信号进行FT;确定FT得到的离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率值。
其中,确定FT得到的各特征频率分量进行内插处理后得到的信号中最高幅度值所对应的频率值可以采用两种方式,下面分别结合具体实施例对上述两种方式进行描述。
第一实施例:
由于连续信号、离散信号、时域信号和频域信号存在如图1所示的变换关系,因此,在检测离散时域信号的频率时,可以首先将离散时域信号通过FT转换为离散频域信号,再通过内插处理转换为连续频域信号,这样就可以方便的进行频率分析。
图2为本发明实施例提供的第一种方法流程图,如图2所示,该方法可以具体包括以下步骤:
步骤201:对要检测的离散时域信号进行FT变换,确定FT变换后各特征频率对应的幅度值Vfn,通常将各特征频率fn与幅度值Vfn的对应关系称为各特征频率分量。
其中,进行FT变换的点数N可以根据采样率fs和频率精度要求d进行确定,N可以为
Figure A200910076261D00101
其中,A可以为大于1的参数值。N≥M,其中M为要检测的离散时域信号的长度。
本步骤中对要检测的离散时域信号进行FT变换可以得到该离散时域信号对应的离散频域信号。进行的FT变换可以是快速傅立叶变换(FFT)或离散傅立叶变换(DFT)等。
步骤202:将各特征频率分量与内插函数sinc分别做卷积运算,得到各频率分量的连续函数Vfn(f)。
分别对各特征频率分量与内插函数sinc做卷积运算,得到各频率分量的连续函数Vfn(f)的示意图可以如图3所示。
本实施例中选取的内插函数sinc为sinc[kf],其中,f为自变量,k为根据实际要检测的离散时域信号长度和采样率选取的参数值。k值可以为M·π/fs,即内插函数为sinc[M·π·f/fs]。
将各特征频率分量与内插函数sinc分别做卷积运算后,
Vfn(f)=Vfn·δ(f-fn)*sinc[M·pi·f/fs]=Vfn·sinc[M·π·(f-fn)/fs],其中,fn为FT变换后的特征频率,n为0、1、...、N-1。
步骤203:对步骤202得到的各频率分量的连续函数Vfn(f)进行求和,得到要检测的离散时域信号对应的连续频率曲线V(f)。
进行求和后V(f)=Vf0(f)+Vf1(f)+Vf2(f)+...+VfN-1(f)。
步骤202和步骤203是对进行FT变换后的各特征分量进行内插处理的过程,使得进行FT变换后得到的离散频域信号转换为连续频域信号,最终的转换关系可以如图4所示。
步骤204:确定连续频率曲线V(f)中的最大幅度值Vmax,并确定最大幅度值Vmax对应的频率值fo,该确定的频率值fo即为要检测的离散时域信号的频率。
采用该方法过程中如果进行FT变换后得到的离散频域信号明显可以分为几个频段,可以具体分为几个频段后,分别针对各个频段执行步骤202至204确定各个频段内的信号频率。
另外,由于内插函数sinc的能量主要分布在[-2π,2π],超过此范围后,其他频点影响很小,因此,在实际频率估算中,可不计算全部频段的连续信号,只需要获取局部范围内的连续频域曲线即可,例如,可以只获取距离选取的目标频率不超过2fs/N范围内的连续频域曲线。
实施例二:
由于离散正弦信号在时域和频域之间存在如图5所示的转换关系,对应的信号示意图如图6所示,可以看出离散正弦信号的频率与离散正弦信号FT变换后特征频率所对应的幅度值均在以正弦信号频率为中心的sinc函数曲线上。因此,可以理解要检测的离散时域信号的频率fo与该离散时域信号FT变换后的各特征频率所对应的幅度值均在以fo为中心的sinc函数曲线上,在此,内插函数sinc同样可以选取sinc[M·π·f/fs],即满足
V(fn)=Vfo·sinc[M·π·(fo-fn)/fs]                (2)
其中M为输入数字信号长度(M≤N),Vfo为正弦信号幅度,也就是对离散正弦信号进行FT得到的离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,fs为采样频率,fn为FT变换后的特征频率,n为0、1、...、N-1。
对于sinc曲线主瓣,存在-π≤M·π·(fo-fn)/fs≤π
经过变换后
-(fs/N)·(N/M)≤(fn-fo)≤(fs/N)·(N/M)
Sinc曲线主瓣宽度为2·(fs/N)·(N/M),由于2·(fs/N)·(N/M)≥2·(fs/N),其中fs/N为离散特征频率间隔大小,这表明sinc曲线主瓣内至少有两个离散FT特征频率点。
在sinc曲线主瓣内FT特征频率点越靠近fo,其幅度值越大,所以FT特征频率点中,幅度最大的点所对应的特征频率fc最靠近fo,且有|fc-fo|≤(fs/N)/2。
考虑FT特征频率点幅度均在sinc曲线上,以及sinc曲线特点,作如下分析:
(1)fc≤fo时,如图7所示,c点在。点左边,fa为fc的前一个特征频率点,fb为fc的后一个特征频率点,d为ca连线上的一点,Vfd=Vfb,e为sinc曲线上一点且Vfe=Vfb,根据sinc曲线特征有Vfc>=Vfb,Vfb>=Vfa。
由图7可以看出,由于fa、fb、fc为特征频率点,在对要检测的离散时域信号进行FT变换后可以确定,只要进一步确定e点的频率fe,就很容易计算o点的频率,即fo=(fe+fb)/2,由于e点不是特征频率点,其值不能够直接确定。但由于e点为ac曲线上一点,ac曲线相对平缓,可以采用ac直线连线上的d点来代替e点,d点频率通过ac、dc线性比例关系可以求得,用此方法进行的频率检测法可以称为线性估计法。
定义要检测的离散时域信号的频率fo与各特征频率中最大幅度值对应的频率fc之间的偏差△为△=fc-fo,即fc=fo+△。
特征频率fa、fb分别与fc间隔fs/N,有
fa=fc-fs/N=fo+△-fs/N
fb=fc+fs/N=fo+△+fs/N
通过ac、dc线性比例关系可以求得fd,即
fd=fc-(Vfc-Vfd)/(Vfc-Vfa)·(fc-fa)=fo+△-(Vfc-Vfb)/(Vfc-Vfa)·fs/N
由于使用fd代替了fe,所以可以将fd和fb之间连线的中点fo’近似为实际信号频率fo。
fo≈fo′=(fb+fd)/2=fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2          (3)
该过程实际上是在频率和幅度值构成的f-V域中,经b点且平行于f轴的直线与直线ac相交于d点,确定d点的特征频率fd,根据fd和fb确定fo近似为(fb+fd)/2。
(2)当fc>fo时,如图8所示,c点在o点右边,fa为fc的前一个特征频率点,fb为fc的后一个特征频率点,d为cb连线上一点,Vd=Va,e为sinc曲线上一点且Ve=Va,根据曲线特征有Vc>Va,Va>Vb。
由图8可以看出,由于fa、fb、fc为特征频率点,在对要检测的离散时域信号进行FT变换后可以确定,只要进一步确定e点的频率fe,就很容易计算o点的频率,即fo=(fe+fa)/2,由于e点不是特征频率点,其值不能够直接确定。但由于e点为bc曲线上一点,bc曲线相对平缓,可以采用bc直线连线上的d点来代替e点,d点频率通过bc、dc线性比例关系可以求得,用此方法进行频率估计。
定义要检测的离散时域信号的频率fo与各特征频率中最大幅度值对应的频率fc之间的偏差△为△=fc-fo,即fc=fo+△。
特征频率fa、fb点分别与fc点间隔fs/N,有
fs=fc-fs/N=fo+△-fs/N
fb=fc+fs/N=fo+△+fs/N
通过ac、dc线性比例关系可以求得fd,即
fd=fc+(Vfc-Vfd)/(Vfc-Vfb)·(fb-fc)=fo+△+(Vfc-Vfa)/(Vfc-Vfb)·fs/N由于使用fd代替了fe,所以可以将fd和fa之间连线的中点fo’近似为实际信号频率fo。
fo≈fo′=(fs+fd)/2=fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2(4)
该过程实际上是在频率和幅度值构成的f-V域中,经a点且平行于f轴的直线与直线bc相交于e点,确定e点的特征频率fe,根据fe和fb确定fo近似为(fe+fd)/2。
由公式(3)、(4)中可以看出,通过fc、fs、N、Va、Vb、Vc可以求得要检测的离散时域信号的频率fo,其中fs、N为确定值;fc为对离散时域信号进行FT后幅度最大值Vfc对应的特征频率,Vfa、Vfb分别为fc前一个特征频率的幅度值和后一个特征频率的幅度值。
下面分析fo的误差状况。
fc≤fo时,-1/2≤△/(fs/N)≤0,fc在fo的左边,fe与fb关于fo对称存在fe=fo-(fb-fo)=fo-△-fs/N
上述线性估计法的误差为
err=fo-fo′=(fe-fd)/2=-△-(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2       (5)
定义α=(Vfb-Vfa)/(Vfc-Vfa),则
α=(Vfb-Vfa)/(Vfc-Vfa)
=[V(fo+△+fs/N)-V(fo+△-fs/N)]/[V(fo+△)-V(fo+△-fs/N)]
由于V(fn)=Vfo·sinc[M·π·(fn-fo)/fs],因此,
α={sinc[(M/N)·π·(△/(fs/N)+1)]-sinc[(M/N)·π·(△/(fs/N)-1)]}/
      {sinc[(M/N)·π·△/(fs/N)]-sinc[(M/N)·π·(△/(fs/N)-1)]}    (6)
公式(6)中,M、π、fs、N均为确定值,于是有
α=x(△/(fs/N))                                            (7)
其中,x()表示α与△/(fs/N))之间如式(6)所示的对应关系。
将公式(7)代入公式(5)得
err=-△-(fs/N)·x(△/(fs/N))/2                                    (8)
两边同时除以(fs/N),得
err/(fs/N)=-△/(fs/N)-x(△/(fs/N))/2                              (9)
其中err/(fs/N)、△/(fs/N)分别表示估计误差和偏移量相对于特征频率分辨率的相对值。
同理,fc>fo时,0<△/(fs/N)≤1/2,fc点在fo点右边,存在
fe=fo+(fo-fa)=fo-△+fs/N
上述线性估计法误差为
err=fo-fo′=(fe-fd)/2=-△+(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2      (10)
定义β=(Vfa-Vfb)/(Vfc-Vfb),则
β=(Vfa-Vfb)/(Vfc-Vfb)
 =[V(fo+△-fs/N)-V(fo+△+fs/N)]/[V(fo+△)-V(fo+△+fs/N)]
由于V(fn)=Vfo·sinc[M·π·(fn-fo)/fs],有
β={sinc[(M/N)·π·(△/(fs/N)-1)]-sinc[(M/N)·π·(△/(fs/N)+1)]}/{sinc[(M/N)·π·△/(fs/N)]-sinc[(M/N)·π·(△/(fs/N)+1)]}          (11)
公式(11)中,M、π、fs、N均为确定值,于是有
β=y(△/(fs/N))                                                  (12)
其中,y()表示β与△/(fs/N))之间如式(11)所示的对应关系。
将公式(12)代入公式(10)得
err=-△+(fs/N)·y(△/(fs/N))/2                                  (13)
两边同时除以(fs/N),得
err/(fs/N)=-△/(fs/N)+y(△/(fs/N))/2                            (14)
公式(9)和(14)表示估计误差err/(fs/N)与偏移量△/(fs/N)的对应关系,当M=N时,线性估计法的频率估计误差函数曲线如图9所示。
由图9可以看出,这种方法估算误差小于特征频率分辩率的1/5。
基于以上理论基础,本发明第二实施例提供的方法流程可以如图10所示,主要包括以下步骤:
步骤1001:对要检测的离散时域信号进行FT变换,确定FT变换后各特征频率对应的幅度值Vfn,将各特征频率fn与幅度值Vfn的对应关系称为各特征频率分量。
步骤1002:在选择的频段内查找各特征频率分量中的幅度最大值Vfc,幅度最大值对应的fc以及fc的前一个特征频率fa和后一个特征频率fb的幅度值Vfa、Vfb。
步骤1003:利用要检测的离散时域信号与上述Vfc、Vfa和Vfb在上述离散频域信号进行内插处理后得到的连续频域信号上的位置关系,确定离散时域信号对应的连续频域信号中最高幅度值所对应的频率值fo。
本步骤中,基于以上的理论基础,将步骤1001中进行FT得到的离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值fo可以分为两种情况近似为:
Vfb>=Vfa时,fo近似取为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2;
Vfb<Vfa时,fo近似取为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2。
另外,由图9可以看出,err与△是有特定关系的,通过计算△,就可以求出估计误差err,通过补偿,可以消除估计误差,提高精度。
由于△是未知的,从前面分析公式(6)、(11)中,可以看到α、β与△的对应关系,其对应关系曲线如图11所示。
对于-1/2≤△/(fs/N)≤0范围内,α与△一一对应,于是存在反函数△=X(α),代入公式(8)得:
err=-X(α)-(fs/N)·x(X(α)/(fs/N))/2                (15)
上式表明,err与α的对应关系,其中α=(Vfb-Vfa)/(Vfc-Vfa),很容易从FT变换结果中确定,x()为确定函数,于是,将公式(15)简单表示成:
err=E(α)                                          (16)
即err最后可以表示成与α相关的函数E(α)。
此时,fo=fo′+err=fc+(fs/N)·α/2+E(α)
        =fc+(fs/N)·[(Vb-Va)/(Vc-Va)]/2+err       (17)
上式中,fs、N为确定值;fc、α可以从FT变换后的结果中确定,E(α)项表达式非常复杂,如果实际应用中实时地对E(α)直接采用表达式计算显然对系统的处理能力造成很大压力,由于误差值比较小,可以将err与α的关系曲线转换成折线,如图12所示,计算各段折线的横坐标、纵坐标、斜率,建立误差查询表,对err时采用查表法计算。
在建立误差查询表时,可以将α在0到1范围内取n个值分别计算err,即分别计算err[i]=E(α[i]),并分别计算各点对应的折线斜率k[i],如图13所示,其中,i=0,1,...,n;利用求得的各值建立误差查询表,包含各α[i]、k[i]和err[i]之间的对应关系。
在实际计算中,计算出的α值如果在误差查询表中存在α[i]与其相同,则直接从误差查询表中查找其对应的err,如果不存在α[i]与其相同,则确定误差查询表中小于该α值且与该α值最接近的值α[i],并查找与该α[i]对应k[i]和err[i],利用公式err=err[i]+(α-α[i])·k[i]确定误差值。
同理,对于0<△/(fs/N)≤1/2范围内,β与△一一对应,其处理方法同上。
也就是说,当Vb>=Va时,fo=fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2+err,当Vb<Va时,fo=fc-(fs/N)*[(Vfa-Vfb)/(Vfc-Vfb)]/2+err,其中,err可以通过查询预先建立的误差查询表计算获得。
对于实施例二,fo的估算精度通常与FT窗口长度、信号时长、误差曲线相关。对于fs=8000Hz,M=240时,如果估算精度达到+/-1Hz以内,则只需要取N为256即可以实现,显然相对于现有技术中N取8192大大减小了计算量,计算量大概只有1/50,却能够达到与现有技术中N取8192相同的估算精度。。
上述两个实施例都可以估算同时存在的多个频率信号的频率,如DTMF信号。
上述两个实施例中均以幅度值为例进行描述,凡是以本发明核心思想范围内的所有变形都在本发明保护范围内,例如:确定能量最大值所对应的频率作为要检测的离散时域信号的频率值,由于能量为幅度值的平方,采用能量值进行计算时,只需要修改sinc函数成sinc2,其他估计原理、计算公式同样适用,事实上也是采用幅度最大值所对应的频率,因此,该方式也在本发明所保护的范围内。
以上是对本发明所提供方法所进行的描述,下面对本发明所提供的方法进行详细描述。图14为本发明实施例提供的装置结构图,如图14所示,该装置可以包括:时频变换单元1400和频率确定单元1410。
时频变换单元1400,用于对要检测的离散时域信号进行傅立叶变换得到离散频域信号。
频率确定单元1410,用于确定离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率值。
时频变换单元1400可以对要检测的离散时域信号进行FFT或DFT等傅立叶变换方式得到离散频域信号。
其中,频率确定单元1410可以采用与方法对应的两种结构,第一种结构中,频率确定单元1410可以具体包括:卷积处理子单元1411、求和处理子单元1412和第一频率确定子单元1413。
卷积处理子单元1411,用于将时频变换单元1400得到的离散频域信号的各特征频率分量与内插函数分别做卷积运算,得到各特征分量的连续函数。
求和处理子单元1412,用于将卷积处理子单元1411得到的各特征分量的连续函数进行求和得到要检测的离散时域信号对应的连续频域信号。
第一频率确定子单元1413,用于确定求和处理子单元1412得到的连续频率信号中最大幅度值对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率。
另一种结构中,频率确定单元可以具体包括:参数确定子单元1414和第二频率确定子单元1415。
参数确定子单元1414,用于在选定的频段内查找离散频域信号的各特征频率分量中的幅度最大值Vfc、该幅度最大值Vfc对应的特征频率fc、该fc的前一个特征频率fa的幅度值Vfa以及该fc的后一个特征频率fb的幅度值Vfb。
第二频率确定子单元1415,用于利用要检测的离散时域信号的频率值与Vfc、Vfa和Vfb在离散频域信号进行内插处理后得到的连续频域信号上的位置关系,确定要检测的离散时域信号对应的连续频域信号中最高幅度值所对应的频率值fo,将确定的该fo作为要检测的离散时域信号的频率值。
在频率和幅度值构成的f-V域中,参数确定子单元1414确定的特征频率fc和幅度值Vfc对应的点为c,特征频率fa和幅度值Vfc对应的点为a,特征频率fb和幅度值Vfb对应的点为b。
第二频率确定子单元1415,在所述Vfb>=Vfa时,经所述b点且平行于f轴的直线与直线ac相交于d点,确定d点的特征频率fd,并进一步根据fd和fb确定fo为(fb+fd)/2;在所述Vfb<Vfa时,经所述a点且平行于f轴的直线与直线bc相交于d点,确定d点的f轴坐标值即特征频率fd,并进一步根据fd和fa确定所述fo为(fa+fd)/2。
其中,第二频率确定子单元1415可以在Vfb>=Vfa时,确定fo为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2;在Vfb<Vfa时,确定fo为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2;其中,fs为采样率,N为时频变换单元1400进行傅立叶变换所采用的傅立叶变换点数。
第二频率确定子单元1415也可以在Vfb>=Vfa时,确定fo’为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2,通过查找预设的第一误差查询表,确定(Vfb-Vfa)/(Vfc-Vfa)的值所对应的频率估计误差err,确定fo为fo’+err;当Vfb<Vfa时,确定fo’为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2,通过查找预设的第二误差查询表,确定(Vfa-Vfb)/(Vfc-Vfb)的值所对应的频率估计误差err,确定fo为fo’+err;其中,fs为采样率,N为步骤A中进行傅立叶变换所采用的傅立叶变换点数。
其中查找误差查询表的方法可以采用上述方法实施例中的方式,在此不再赘述。
由以上描述可以看出,本发明所提供的方法和装置在对要检测的离散时域信号进行傅立叶变换得到离散频域信号后,确定对所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率值。其相比较直接利用傅立叶变换得到的离散频域信号中最高幅度值所对应的频率值作为要检测的离散时域信号的频率值,更加精确,也就是说,在达到相同精度的情况下,所需要的傅立叶变换点数远远小于现有技术,大大减小了频率检测过程中的计算量。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (17)

1、一种检测离散时域信号频率的方法,其特征在于,该方法包括:
A、对要检测的离散时域信号进行傅立叶变换得到离散频域信号;
B、确定对所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为所述要检测的离散时域信号的频率值。
2、根据权利要求1所述的方法,其特征在于,所述傅立叶变换包括:快速傅立叶变换FFT或者离散傅立叶变换DFT。
3、根据权利要求1所述的方法,其特征在于,所述步骤B具体包括:
B11、将所述离散频域信号的各特征频率分量与内插函数分别做卷积运算,得到各频率分量的连续函数;
B12、将步骤B11得到的各频率分量的连续函数进行求和得到所述要检测的离散时域信号对应的连续频域信号;
B13、确定步骤B12得到的连续频域信号中最大幅度值对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率。
4、根据权利要求3所述的方法,其特征在于,所述内插函数为sinc[M·π·f/fs],其中,M为所述要检测的离散时域信号的长度,f为频率自变量,fs为所述要检测的离散时域信号的采样率。
5、根据权利要求1所述的方法,其特征在于,所述步骤B具体包括:
B21、在选定的频段内查找所述离散频域信号的各特征频率分量中的幅度最大值Vfc、该幅度最大值Vfc对应的特征频率fc、该fc的前一个特征频率fa的幅度值Vfa以及该fc的后一个特征频率fb的幅度值Vfb;
B22、利用要检测的离散时域信号的频率值与所述Vfc、Vfa和Vfb在所述离散频域信号进行内插处理后得到的连续频域信号上的位置关系,确定所述要检测的离散时域信号对应的连续频域信号中最高幅度值所对应的频率值fo,将确定的该fo作为要检测的离散时域信号的频率值。
6、根据权利要求5所述的方法,其特征在于,在频率和幅度值构成的f-V域中,所述步骤B21中特征频率fc和幅度值Vfc对应的点为c,特征频率fa和幅度值Vfc对应的点为a,特征频率fb和幅度值Vfb对应的点为b;
所述步骤B22具体包括:
当所述Vfb>=Vfa时,经所述b点且平行于f轴的直线与直线ac相交于d点,确定d点的特征频率fd,并进一步根据fd和fb确定所述fo为(fb+fd)/2;
当所述Vfb<Vfa时,经所述a点且平行于f轴的直线与直线bc相交于d点,确定d点的f轴坐标值即特征频率fd,并进一步根据fd和fa确定所述fo为(fa+fd)/2。
7、根据权利要求6所述的方法,其特征在于,所述fd根据a点、c点和d点之间的线性比例关系确定。
8、根据权利要求5所述的方法,其特征在于,所述步骤B22具体包括:当所述Vfb>=Vfa时,确定所述fo为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2;
当所述Vfb<Vfa时,确定所述fo为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2;
其中,所述fs为采样率,所述N为步骤A中进行傅立叶变换所采用的傅立叶变换点数。
9、根据权利要求5所述的方法,其特征在于,所述步骤B22具体包括:
当所述Vfb>=Vfa时,确定fo’为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2;通过查找预设的第一误差查询表,确定(Vfb-Vfa)/(Vfc-Vfa)的值所对应的频率估计误差err;确定所述fo为fo’+err;
当所述Vfb<Vfa时,确定fo’为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2;通过查找预设的第二误差查询表,确定(Vfa-Vfb)/(Vfc-Vfb)的值所对应的频率估计误差err;确定所述fo为fo’+err;
其中,所述fs为采样率,所述N为步骤A中进行傅立叶变换所采用的傅立叶变换点数。
10、根据权利要求9所述的方法,其特征在于,所述第一误差查询表中存储多个(Vfb-Vfa)/(Vfc-Vfa)的值α在(Vfb-Vfa)/(Vfc-Vfa)与频率估计误差之间的对应关系曲线上的斜率k、α值以及频率估计误差err之间的对应关系;
所述确定(Vfb-Vfa)/(Vfc-Vfa)的值所对应的频率估计误差err具体为:确定小于且最接近该(Vfb-Vfa)/(Vfc-Vfa)的值的α值α1,查找第一误差查询表确定该α1对应的k值k1和err值err1,所述err为err1+[(Vfb-Vfa)/(Vfc-Vfa)-α1]·k1;或者,
所述第二误差查询表中存储各(Vfa-Vfb)/(Vfc-Vfb)的值β在(Vfa-Vfb)/(Vfc-Vfb)与频率估计误差之间的对应关系曲线上的斜率k、β值以及频率估计误差err之间的对应关系;
所述确定(Vfa-Vfb)/(Vfc-Vfb)的值所对应的频率估计误差err具体为:确定小于且最接近该(Vfa-Vfb)/(Vfc-Vfb)的值的β值β2,查找第二误差查询表确定该β2对应的k值k2和err值err2,所述err为err2+[(Vfa-Vfb)/(Vfc-Vfb)-β2]·k2。
11、一种检测离散时域信号频率的装置,其特征在于,该装置包括:时频变换单元和频率确定单元;
所述时频变换单元,用于对要检测的离散时域信号进行傅立叶变换得到离散频域信号;
所述频率确定单元,用于确定所述离散频域信号进行内插处理后得到的信号中最高幅度值所对应的频率值,将该确定的频率值作为所述要检测的离散时域信号的频率值。
12、根据权利要求11所述的装置,其特征在于,所述时频变换单元对要检测的离散时域信号进行快速傅立叶变换FFT或离散傅立叶变换DFT得到离散频域信号。
13、根据权利要求11所述的装置,其特征在于,所述频率确定单元具体包括:卷积处理子单元、求和处理子单元和第一频率确定子单元;
所述卷积处理子单元,用于将所述时频变换单元得到的离散频域信号的各特征频率分量与内插函数分别做卷积运算,得到各特征分量的连续函数;
所述求和处理子单元,用于将所述卷积处理子单元得到的各特征分量的连续函数进行求和得到所述要检测的离散时域信号对应的连续频域信号;
所述第一频率确定子单元,用于确定所述求和处理子单元得到的连续频率信号中最大幅度值对应的频率值,将该确定的频率值作为要检测的离散时域信号的频率。
14、根据权利要求11所述的装置,其特征在于,所述频率确定单元具体包括:参数确定子单元和第二频率确定子单元;
所述参数确定子单元,用于在选定的频段内查找所述离散频域信号的各特征频率分量中的幅度最大值Vfc、该幅度最大值Vfc对应的特征频率fc、该fc的前一个特征频率fa的幅度值Vfa以及该fc的后一个特征频率fb的幅度值Vfb;
所述第二频率确定子单元,用于利用要检测的离散时域信号的频率值与所述Vfc、Vfa和Vfb在所述离散频域信号进行内插处理后得到的连续频域信号上的位置关系,确定所述要检测的离散时域信号对应的连续频域信号中最高幅度值所对应的频率值fo,将确定的该fo作为要检测的离散时域信号的频率值。
15、根据权利要求14所述的装置,其特征在于,在频率和幅度值构成的f-V域中,所述参数确定子单元确定的特征频率fc和幅度值Vfc对应的点为c,特征频率fa和幅度值Vfc对应的点为a,特征频率fb和幅度值Vfb对应的点为b;
所述第二频率确定子单元,在所述Vfb>=Vfa时,经所述b点且平行于f轴的直线与直线ac相交于d点,确定d点的特征频率fd,并进一步根据fd和fb确定所述fo为(fb+fd)/2;在所述Vfb<Vfa时,经所述a点且平行于f轴的直线与直线bc相交于d点,确定d点的f轴坐标值即特征频率fd,并进一步根据fd和fa确定所述fo为(fa+fd)/2。
16、根据权利要求14所述的装置,其特征在于,所述第二频率确定子单元在所述Vfb>=Vfa时,确定所述fo为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2;在所述Vfb<Vfa时,确定所述fo为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2;
其中,所述fs为采样率,所述N为所述时频变换单元进行傅立叶变换所采用的傅立叶变换点数。
17、根据权利要求14所述的装置,其特征在于,所述第二频率确定子单元在所述Vfb>=Vfa时,确定fo’为fc+(fs/N)·[(Vfb-Vfa)/(Vfc-Vfa)]/2,通过查找预设的第一误差查询表,确定(Vfb-Vfa)/(Vfc-Vfa)的值所对应的频率估计误差err,确定所述fo为fo’+err;
当所述Vfb<Vfa时,确定fo’为fc-(fs/N)·[(Vfa-Vfb)/(Vfc-Vfb)]/2,通过查找预设的第二误差查询表,确定(Vfa-Vfb)/(Vfc-Vfb)的值所对应的频率估计误差err,确定所述fo为fo’+err;
其中,所述fs为采样率,所述N为步骤A中进行傅立叶变换所采用的傅立叶变换点数。
CNA2009100762610A 2009-01-07 2009-01-07 一种检测离散时域信号频率的方法和装置 Pending CN101458280A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2009100762610A CN101458280A (zh) 2009-01-07 2009-01-07 一种检测离散时域信号频率的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2009100762610A CN101458280A (zh) 2009-01-07 2009-01-07 一种检测离散时域信号频率的方法和装置

Publications (1)

Publication Number Publication Date
CN101458280A true CN101458280A (zh) 2009-06-17

Family

ID=40769260

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009100762610A Pending CN101458280A (zh) 2009-01-07 2009-01-07 一种检测离散时域信号频率的方法和装置

Country Status (1)

Country Link
CN (1) CN101458280A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809022A (zh) * 2012-11-12 2014-05-21 德克萨斯仪器股份有限公司 使用增强递归离散傅里叶变换的片上专用分析
CN106053937A (zh) * 2016-06-21 2016-10-26 电子科技大学 一种基于fft+ft的基波测频方法
WO2022156274A1 (zh) * 2021-01-19 2022-07-28 易事特集团股份有限公司 开路故障检测方法、装置、计算机设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809022A (zh) * 2012-11-12 2014-05-21 德克萨斯仪器股份有限公司 使用增强递归离散傅里叶变换的片上专用分析
CN103809022B (zh) * 2012-11-12 2018-11-27 德克萨斯仪器股份有限公司 使用增强递归离散傅里叶变换的片上专用分析
CN106053937A (zh) * 2016-06-21 2016-10-26 电子科技大学 一种基于fft+ft的基波测频方法
WO2022156274A1 (zh) * 2021-01-19 2022-07-28 易事特集团股份有限公司 开路故障检测方法、装置、计算机设备

Similar Documents

Publication Publication Date Title
CN105137180B (zh) 基于六项余弦窗四谱线插值的高精度谐波分析方法
CN104198976B (zh) 一种用于霍尔电压传感器测量电压的校正方法
CN105486934B (zh) 一种基于直线拟合的脉冲波形前沿检测的方法和系统
CN105307095B (zh) 一种基于fft的高分辨率音频频率测量方法
CN101458280A (zh) 一种检测离散时域信号频率的方法和装置
CN111693136B (zh) 一种采用回波信号自相关相位谱的声表面波谐振器频率估计算法
CN104502701A (zh) 基于相位调制检测电力信号频率的方法和系统
CN108181486B (zh) 加速度信号的处理方法及装置
Djurovic Estimation of the sinusoidal signal frequency based on the marginal median DFT
CN103543331B (zh) 一种计算电信号谐波和间谐波的方法
CN114460527A (zh) 关联度延拓Hibert移相电子式互感器校验仪溯源方法和系统
CN115265691B (zh) 一种科氏流量计振动频率跟踪方法及系统
CN1837758A (zh) 一种基于谐波分解的科里奥利质量流量计数字信号解算装置及方法
Wu et al. Five-point amplitude estimation of sinusoidal signals: With application to LVDT signal conditioning
CN108020818A (zh) 一种在噪声下基于滑动dft的正弦脉冲信号测距方法
CN112327234B (zh) 可转位刀具切削动态信号的工频干扰高精度补偿方法
CN109387661A (zh) 一种电机测速方法
CN108241171B (zh) 一种采用复值Gauss积分滤波器对地震数据进行滤波和提取三瞬属性的方法
Ardeleanu et al. Fundamental frequency estimation based on mean values
CN106767940B (zh) 一种抑制供电频率干扰的方法
Zhou et al. Time-domain quasi-synchronous sampling algorithm for harmonic analysis
Zhu et al. An approach for amplitude correction in line spectrum
CN109030938B (zh) 一种基于正弦滤波的抗谐波测频方法和装置
Sahay et al. Model-independent approach for chirp parameter estimation employing collection of filters
CN112069945B (zh) 工程结构时变频率和阻尼比的一种识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090617