本发明属于信号处理领域,涉及一种基于倒谱及贝叶斯决策的周期信号基频提取与匹配方法。
背景技术:
传统的周期信号基频提取方法可以得到的基频的估计值,然而当需要使用准确的基频作为下一步处理的核心参数时,传统方法中直接提取得到的基频的估计值并不满足应用要求。在此应用需求下,基频估计值与真实基频的误差要求要比统计学上的准确率更重要,否则后续处理将毫无意义。
本发明基于先验统计的原理,提出了一种基于倒谱及贝叶斯决策的周期信号基频提取与匹配方法,可以实现对属于任意已知准确基频集合的信号在可靠性较高的倒谱法基频提取处理之后匹配得到准确的基频,以保证后续处理得到更准确的基频参数,即后续有效处理比例将显著地高于传统方案。
技术实现要素:
本发明针对传统的周期信号基频提取方法在高基频准确率需求下的不足,提出了一种基于倒谱及贝叶斯决策的周期信号基频提取与匹配方法,实现对属于任意已知准确基频集合的单帧信号在传统基频提取处理之后匹配准确的基频,以保证后续处理得到更准确的基频参数,即保证后续有效处理比例将显著地高于传统方案。
在实际应用中,实时周期信号由于噪声的存在,通过倒谱法提取得到的基频估计值必然存在误差。假设周期信号中叠加的噪声是高斯白噪声,则得到的基频估计值也将可以表示为均值为实际基频的正态分布。而在满足各基频总体的概率分布已知和基频总数确定的条件时,可以采用贝叶斯决策方法进行基频匹配。假设在所有基频的先验概率相等的情况下,基频估计值μx在基频μi的概率分布下对应的概率密度大于在已知基频集合S内任意其他基频μj的概率分布下对应的概率密度,则决策认为μx=μi的结论在概率上正确可能最高。
本发明的技术方案包括如下步骤:
步骤1、根据T种不同周期的周期信号的基频,得到其组成的基频集合S={μ1,μ2,...,μT};
步骤2、获得未知基频的周期信号数据s(m),m=1,2,...,Ns,周期信号数据s(m)的基频μx属于基频集合S,Ns为数据采样点数。
步骤3、按照帧长Lf、帧移Lo对周期信号数据s(m)进行分帧,得到包含Nf个数据帧的数据帧集合:
步骤4、对每一帧数据xi(n),i=1,2,...,Nf,n=1,2,...,Lf,使用倒谱法提取出基频估计值ffi:
单帧信号xi(n)帧长Lf,采样频率Fs,针对其倒谱法基频提取过程如下:
4.1、使用快速傅里叶变换(FFT)到xi(n)的频谱X(ω):
X(ω)=FFT[x(n)],ω=0,Fs/Lf,...,(Lf-1)*Fs/Lf;
4.2、依据频谱X(ω)计算得到幅值谱Xa(ω):
Xa(ω)=|X(ω)|,ω=0,Fs/Lf,...,(Lf-1)*Fs/Lf;
4.3、依据幅值谱Xa(ω)计算得到幅值对数谱Xl(ω):
Xl(ω)=log[Xa(ω)],ω=0,Fs/Lf,...,(Lf-1)*Fs/Lf;
4.4、将幅值对数谱Xl(ω)进行快速傅里叶逆变换(IFFT)得到倒谱
4.5、根据基频检索频率的范围[fmin,fmax],计算得到倒谱索引范围[nl,nr]:
nl=Fs/fmax,nr=Fs/fmin;
4.6、在倒谱序列的索引范围[nl,nr]中,找到最大值及对应的索引:
4.7、根据ntop计算得到第i帧数据的基频的估计值ffi:
ffi=Fs/ntop
最终将所有帧的基频估计值组成基频估计值序列{ffi},i=1,2,...,Nf;
步骤5、求基频估计值序列{ffi}的均值:
步骤6、依据贝叶斯决策得到准确的基频μx,即:
本发明针对传统的周期信号基频提取方法在高基频准确率需求下的不足,提出了一种基于倒谱和贝叶斯决策的周期信号基频提取方法,实现对属于任意已知准确基频集合的周期信号在倒谱法基频提取处理之后匹配准确的基频,以保证后续处理得到更准确的基频参数,即保证后续有效处理比例将显著地高于传统方案。
本发明有益效果如下:
运用此种基于倒谱和贝叶斯决策的周期信号基频提取方法后,可以基于高可靠性的倒谱法基频提取算法之后,假设针对不同基频信号倒谱法得到的基频估计值的概率分布属于等方差正态分布,因此可以基于贝叶斯决策原理,将基频的估计值提取得到一个准确的先验基频。此种处理可以用对基频提取的可靠性与准确率要求很高但实时性要求相对不高的场合,特别是基频最为后续处理的重要参数、基频的一定误差有可能导致后续处理完全错误的场合。在以上需求场合中,对比传统的基频提取方法,本发明提出的基频提取方法在可靠性与准确率上具有较大的优势。
附图说明
图1基于倒谱和贝叶斯决策的周期信号基频提取方法;
图2倒谱法基频估计。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
如图1和2所示,基于倒谱及贝叶斯决策的周期信号基频提取与匹配方法,在实际应用中,实时周期信号由于噪声的存在,通过倒谱法提取得到的基频估计值必然存在误差。假设周期信号中叠加的噪声是高斯白噪声,则得到的基频估计值也将可以表示为均值为实际基频的正态分布。而在满足各基频总体的概率分布已知和基频总数确定的条件时,可以采用贝叶斯决策方法进行基频匹配。假设在所有基频的先验概率相等的情况下,基频估计值μx在基频μi的概率分布下对应的概率密度大于在已知基频集合S内任意其他基频μj的概率分布下对应的概率密度,则决策认为μx=μi的结论在概率上正确可能最高。
如图1和2所示,本发明的具体实现包括如下步骤:
步骤1、根据T种不同周期的周期信号的基频,得到其组成的基频集合S={μ1,μ2,...,μT};
步骤2、获得未知基频的周期信号数据s(m),m=1,2,...,Ns,周期信号数据s(m)的基频μx属于基频集合S,Ns为数据采样点数。
步骤3、按照帧长Lf、帧移Lo对周期信号数据s(m)进行分帧,得到包含Nf个数据帧的数据帧集合:
步骤4、对每一帧数据xi(n),i=1,2,...,Nf,n=1,2,...,Lf,使用倒谱法提取出基频估计值ffi:
单帧信号xi(n)帧长Lf,采样频率Fs,针对其倒谱法基频提取过程如下:
4.1、使用快速傅里叶变换(FFT)到xi(n)的频谱X(ω):
X(ω)=FFT[x(n)],ω=0,Fs/Lf,...,(Lf-1)*Fs/Lf;
4.2、依据频谱X(ω)计算得到幅值谱Xa(ω):
Xa(ω)=|X(ω)|,ω=0,Fs/Lf,...,(Lf-1)*Fs/Lf;
4.3、依据幅值谱Xa(ω)计算得到幅值对数谱Xl(ω):
Xl(ω)=log[Xa(ω)],ω=0,Fs/Lf,...,(Lf-1)*Fs/Lf;
4.4、将幅值对数谱Xl(ω)进行快速傅里叶逆变换(IFFT)得到倒谱
4.5、根据基频检索频率的范围[fmin,fmax],计算得到倒谱索引范围[nl,nr]:
nl=Fs/fmax,nr=Fs/fmin;
4.6、在倒谱序列的索引范围[nl,nr]中,找到最大值及对应的索引:
4.7、根据ntop计算得到第i帧数据的基频的估计值ffi:
ffi=Fs/ntop
最终将所有帧的基频估计值组成基频估计值序列{ffi},i=1,2,...,Nf;
步骤5、求基频估计值序列{ffi}的均值:
步骤6、依据贝叶斯决策得到准确的基频μx,即:
本发明针对传统的周期信号基频提取方法在高基频准确率需求下的不足,提出了一种基于倒谱和贝叶斯决策的周期信号基频提取方法,实现对属于任意已知准确基频集合的周期信号在倒谱法基频提取处理之后匹配准确的基频,以保证后续处理得到更准确的基频参数,即保证后续有效处理比例将显著地高于传统方案。
在以上基频提取步骤中,为了达到更好的提取效果,需要注意以下几点:
(1)步骤3中的分帧步骤中,帧长Lf需要包含至少3个及以上的基频周期,这是后续倒谱法基频提取的基本保证;
(2)步骤4.5中基频检索频率的范围[fmin,fmax]的合理选择有助于排除非目标基频范围的干扰信号,提高倒谱法基频提取的准确率。