CN101572089B - 信号周期检测方法及其装置 - Google Patents
信号周期检测方法及其装置 Download PDFInfo
- Publication number
- CN101572089B CN101572089B CN2009102034228A CN200910203422A CN101572089B CN 101572089 B CN101572089 B CN 101572089B CN 2009102034228 A CN2009102034228 A CN 2009102034228A CN 200910203422 A CN200910203422 A CN 200910203422A CN 101572089 B CN101572089 B CN 101572089B
- Authority
- CN
- China
- Prior art keywords
- period
- signal frame
- signal
- signal period
- estimating
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明实施例公开了一种信号周期检测方法及其装置。本发明实施例方法包括:获取当前信号帧的预估的信号周期;根据前一信号帧的信号周期与所述预估的信号周期的关系,判断所述预估的信号周期是否存在误判可能;若存在误判可能,则判断判决参数是否大于判决门限,若判决参数大于判决门限,则将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期。本发明实施例计算较简单,且没有额外的算法延时。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种信号周期检测方法及其装置。
背景技术
信号周期检测一直以来都是数字信号处理领域非常重要的一种信号分析方法。在语音/音频信号处理领域,采用信号周期检测方法可以进行基音周期检测和谐波间隔估计。所谓基音周期,是发浊音时声带振动频率的倒数,它是语音时域特征里最重要的参数。所谓谐波间隔,是频域下信号音调特性的一种表现,可以是各频点间周期性的一种表现。
信号周期检测中常用的一种方法是自相关函数法,该方法通过比较原始信号与移位后信号之间的类似性,从自相关函数求取信号周期。假设信号为x(n),其中n∈[0,N-1],利用x(n)的N个观察值来估计x(n)的自相关函数r(m),其中m∈[0,N-1],则x(n)的自相关函数为:
其中N为信号长度,r(m)表示m时刻x(n)的自相关函数值。根据自相关函数的性质,若x(n)的周期为P,则r(m)的周期也为P,当m为0,P,2P,......时,x(n)的自相关函数r(m)取得极大值。由于m为0时r(m)取最大值,故检测r(m)的第二峰值所对应的m,即为所求信号x(n)的周期P。
信号周期检测中常用的另一种方法是平均幅度差函数法,该方法通过比较原始信号与移位后信号之间的类似性,从平均幅度差函数求取信号周期。假设信号为x(n),其中n∈[0,N-1],利用x(n)的N个观察值来估计x(n)的平均幅度差函数d(m),其中m∈[0,N-1],则x(n)的平均幅度差函数为:
其中N为信号长度,d(m)表示m时刻x(n)的平均幅度差函数值。根据平均幅度差函数的性质,若x(n)的周期为P,则m为0,P,2P,......时,x(n)的平均幅度差函数r(m)取得极小值。由于m为0时d(m)取最小值,故检测d(m)的第二极小值所对应的m,即为所求信号x(n)的周期P。
采用自相关函数法或平均幅度差函数法检测信号周期容易引起整数倍周期或分数倍周期的误判现象。例如,假设信号的实际周期为P,通过采用自相关函数法或平均幅度差函数法检测出的信号周期有时为2P、3P或4P等,为实际周期的整数倍,或者检测出的信号周期有时为P/2、P/3或P/4等,为实际周期的分数倍。由于周期检测一般会预先设定一个检测范围,所以最常见的误判为实际周期的两倍或者是二分之一,这种现象被称为加倍或减半现象。
解决整数倍周期或分数倍周期的误判问题的最常见的方法是进行适当的后处理。
现有技术中有一种可靠的基音周期检测方法,该方法先对信号帧进行清浊判决,根据自相关函数法获得预估的基音周期,再判断预估的基音周期是否为高可靠性基音信息,利用当前信号帧、前一信号帧以及后一信号帧的基音周期确定当前信号帧的最佳基音周期,具体包括:
(1)若前一信号帧为浊音帧,且当前信号帧的预估的基音周期为高可靠性基音信息,则根据高可靠性基音信息及前一信号帧的基音周期确定当前信号帧的最佳基音周期;
(2)若前一信号帧为清音帧,且当前信号帧的预估的基音周期为高可靠性基音信息,则根据高可靠性基音信息确定当前信号帧的最佳基音周期;
(3)若前一信号帧为浊音帧,且当前信号帧的预估的基音周期不是高可靠性基音信息,则根据当前信号帧的预估的基音周期确定当前信号帧的最佳基音周期;
(4)若前一信号帧为清音帧,且当前信号帧的预估的基音周期不是高可靠性基音信息,则根据后一信号帧的预估的基音周期确定当前信号帧的最佳基音周期。
在对该方法的研究和实践过程中,本发明的发明人发现,该方法需要先对信号进行清浊判断,判断逻辑复杂,计算复杂度较高。此外,该方法需要用到后一信号帧的信息,造成额外的算法延时。
发明内容
本发明实施例提供计算较简单,能够避免额外的算法延时的信号周期检测方法及其装置,用于解决信号周期检测时出现的误判问题。
一种信号周期检测方法,包括:
获取当前信号帧的预估的信号周期;
根据前一信号帧的信号周期与所述预估的信号周期的关系,判断所述预估的信号周期是否存在误判可能;
若存在误判可能,则判断判决参数是否大于判决门限,若判决参数大于判决门限,则将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期。
一种信号周期检测装置,包括:
获取模块,用于获取当前信号帧的预估的信号周期,前一信号帧的信号周期和判决参数;
第一判断模块,用于根据所述前一信号帧的信号周期与预估的信号周期的关系,判断所述预估的信号周期是否存在误判可能;
第二判断模块,用于当第一判断模块判定存在误判可能时,判断所述判决参数是否大于判决门限;
确定模块,用于当第二判断模块判定判决参数大于判决门限时,将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的技术方案中,在获得当前信号帧的预估的信号周期后,先根据前一信号帧的信号周期与预估的信号周期的关系,判断当前信号帧是否存在误判可能,若存在误判可能,则判断判决参数是否大于判决门限,若判决参数大于判决门限,则将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期。相对现有技术中的解决信号周期检测时出现的误判问题的技术方案,本实施例不需要判断信号的清浊特性,也不需要使用后一信号帧的信息,计算较为简单,可避免额外的算法延时。
附图说明
图1是本发明实施例中信号周期检测方法一个实施例示意图;
图2是本发明实施例中信号周期检测方法另一实施例示意图;
图3是本发明实施例中信号周期检测方法另一实施例示意图;
图4是本发明实施例中信号周期检测方法另一实施例示意图;
图5是本发明实施例中信号周期检测装置一个实施例示意图;
图6是本发明实施例中信号周期检测装置另一实施例示意图。
具体实施方式
本发明实施例提供了信号周期检测方法及其装置,用于解决信号周期检测时出现的误判问题,且计算较简单,能够避免额外的算法延时。以下分别进行详细说明。
请参阅图1,本发明实施例中信号周期检测方法一个实施例包括:
101、获取当前信号帧的预估的信号周期;
预估的信号周期可以根据自相关函数法或平均幅度差函数法计算得到,也可以根据现有技术中的其他方法计算得到,这里不作一一列举。
102、根据前一信号帧的信号周期与预估的信号周期的关系,判断预估的信号周期是否存在误判可能;
根据前一信号帧的信号周期与预估的信号周期的关系,可以判断预估的信号周期是否存在误判可能,例如将N倍周期或1/N倍周期判定为信号周期,N为大于等于2的整数。
103、若存在误判可能,则判断判决参数是否大于判决门限,若判决参数大于判决门限,则将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期。
判决参数用于表示前一信号帧的信号周期与预估的信号周期的可信度差异,可以有多种表示方式。
判决门限是经验值,为预置的0到1之间的常数,表示允许的前一信号帧的信号周期与预估的信号周期的可信度差异的最大值。根据不同表示方式的判决参数,和上述不同类型的误判可能,相应的判决门限的优选取值也会有所不同。
例如,当判决参数通过如下方式获得时:先用当前信号帧的自相关函数计算前一信号帧的信号周期对应的第一自相关函数值,以及用当前信号帧的自相关函数计算预估的信号周期对应的第二自相关函数值,再将第一自相关函数值与第二自相关函数值的比值作为判决参数,相应于2倍周期或1/2倍周期的误判可能,判决门限的优选取值为0.65;相应于3倍周期或1/3倍周期的误判可能,判决门限的优选取值为0.70;相应于4倍周期或1/4倍周期的误判可能,判决门限的优选取值为0.75。
再如,当判决参数通过如下方式获取得到时:先用当前信号帧的平均幅度差函数计算前一信号帧的信号周期对应的第一平均幅度差函数值,以及用当前信号帧的平均幅度差函数计算预估的信号周期对应的第二平均幅度差函数值,再将第一平均幅度差函数值与第二平均幅度差函数值的比值作为判决参数,相应于2倍周期或1/2倍周期的误判可能,判决门限的优选取值为0.75;相应于3倍周期或1/3倍周期的误判可能,判决门限的优选取值为0.80;相应于4倍周期或1/4倍周期的误判可能,判决门限的优选取值为0.85。
需要说明的,在确定当前信号帧的信号周期后,可将前一信号帧的信号周期更新为当前信号帧的信号周期,以便进行后一信号帧的信号周期检测。
本发明实施例提供的技术方案中,在获得当前信号帧的预估的信号周期后,先根据前一信号帧的信号周期与预估的信号周期的关系,判断当前信号帧是否存在误判可能,若存在误判可能,则判断判决参数是否大于判决门限,若判决参数大于判决门限,则将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期。相对现有技术中的解决信号周期检测时出现的误判问题的技术方案,本实施例不需要判断信号的清浊特性,也不需要使用后一信号帧的信息,计算较为简单,可避免额外的算法延时。
上述实施例根据前一信号帧的信号周期和预估的信号周期的关系,判断当前信号帧的预估的信号周期是否存在误判可能,若前一信号帧的信号周期错误,则会导致对当前信号帧的判决不准确而引起错误延续。
为了减少前一信号帧的信号周期错误对当前信号帧判决的影响,请参阅图2,本发明实施例提供信号周期检测方法另一实施例,本实施例包括:
201、获取当前信号帧的预估的信号周期;
预估的信号周期可以根据自相关函数法或平均幅度差函数法计算得到,也可以根据现有技术中的其他方法计算得到,这里不作一一列举。
202、根据前一信号帧的信号周期与预估的信号周期的关系,判断预估的信号周期是否存在误判可能;
可以通过如下方式判断预估的信号周期是否存在整数倍周期或分数倍周期的误判可能:先计算预估的信号周期与前一信号帧的信号周期的比值,再根据所述比值与N的差值和预置常数的关系,判断预估的信号周期是否存在N倍周期的误判可能;或者根据所述比值与1/N的差值和预置常数的关系,判断预估的信号周期是否存在1/N倍周期的误判可能,N为大于等于2的整数。
也可以通过如下方式判断预估的信号周期是否存在整数倍周期的误判可能:先计算预估的信号周期与前一信号帧的信号周期的比值,再对所述比值四舍五入后取整得到A,再根据所述比值与A的差值与预置常数的关系判断预估的信号周期是否存在A倍周期的误判可能,A为大于等于2的整数。
也可以通过如下方式判断预估的信号周期是否存在分数倍周期的误判可能:先计算预估的信号周期与前一信号帧的信号周期的比值,再对所述比值的倒数四舍五入后取整得到B,再根据所述比值与1/B的差值与预置常数的关系判断预估的信号周期是否存在1/B倍周期的误判可能,B为大于等于2的整数。
若判定预估的信号周期存在误判可能,则转到步骤203,否则转到步骤206。
203、根据前一信号帧的可靠性参数对预置的门限进行调整得到判决门限,前一信号帧的可靠性参数用于表示前一信号帧的信号周期的可靠性;
预置的门限同于图1所示实施例中的判决门限。
根据前一信号帧的可靠性参数对预置的门限进行调整得到判决门限,具体的过程可以包括:将预置的门限与前一信号帧的可靠性参数的乘积作为判决门限。
具体的过程也可以为:先选择前一信号帧的可靠性参数所属的取值范围对应的比例因子,再将预置的门限与比例因子的乘积作为判决门限,例如,假设本实施例中的可靠性参数的取值范围是从A至B中的任意常数,其中A和B是正常数,B的值大于A的值,B对应的可靠性大于A,则可以将可靠性参数的取值范围划分为以下几个区间:第一取值范围(A至A1),第二取值范围(A1至A2),第三取值范围(A2至A3),第四取值范围(A3至B),其中,第一取值范围对应的比例因子为X1,第二取值范围对应的比例因子为X2,第三取值范围对应的比例因子为X3,第四取值范围对应的比例因子为X4,则在计算得到可靠性参数的取值之后,即可根据该可靠性参数的取值所属的取值范围确定对应的比例因子(本实施例中,比例因子取值范围可以为(0,1),且X1<X2<X3<X4),并将该比例因子与预置的门限的乘积作为判决门限。
204、在根据步骤203得到判决门限后,判断判决参数是否大于判决门限,判决参数用于表示前一信号帧的信号周期与预估的信号周期的可信度差异;
判决参数可以通过多种方式获取,例如:先用当前信号帧的自相关函数计算前一信号帧的信号周期对应的第一自相关函数值,以及预估的信号周期对应的第二自相关函数值,再将第一自相关函数值与第二自相关函数值的比值作为判决参数。
判决参数还可以通过如下方式获取:先用当前信号帧的平均幅度差函数计算前一信号帧的信号周期对应的第一平均幅度差函数值,以及预估的信号周期对应的第二平均幅度差函数值,再将第一平均幅度差函数值与第二平均幅度差函数值的比值作为判决参数。
若判决参数大于判决门限,则确定存在误判,转到步骤205,否则确定不存在误判,转到步骤206。
205、将前一信号帧的信号周期确定为当前信号帧的信号周期;
206、将预估的信号周期确定为当前信号帧的信号周期;
207、进行参数更新。
在确定了当前信号帧的信号周期之后进行步骤207。
本实施例中,前一信号帧的信号周期可以存储于信号周期参数字段,前一信号帧的可靠性参数可以存储于可靠性参数字段,为便于后一信号帧的信号周期检测,则此时可以将信号周期参数字段内的数值修改为当前信号帧的信号周期,将可靠性参数字段内的数值修改为当前信号帧的可靠性参数。
本实施例中,进行步骤207是为了便于后一信号帧的信号周期检测,因此步骤207也可省略。
本实施例中,先采用前一信号帧的可靠性参数对预置的门限进行调整得到判决门限,再根据判决参数是否大于判决门限确定当前信号帧的信号周期。因此,相对上述图1所示的实施例,本实施例可减少前一信号帧的信号周期错误对当前信号帧判决的影响,进一步降低误判率。
上述两个实施例阐述的信号周期检测方法适用于频域中,也适用于时域中,在频域中信号周期为谐波间隔,在时域中信号周期为基音周期。由于在频域中的应用和时域中的应用相同,只是信号周期的表现形式不一样,因此,接下去只对本发明实施例中的信号周期检测方法在频域中的应用进行详细阐述。
请参阅图3,本发明实施例中信号周期检测方法另一实施例包括:
301、获取当前信号帧的预估的谐波间隔,预估的谐波间隔根据自相关函数法计算得到;
假设当前信号帧为x(n),x(n)长度为N点,本实施例中N=256。先计算x(n)的自相关函数acf(m),m∈[0,N-1],再根据acf(m)获取预估的谐波间隔。
acf(m)可以直接采用如下表达式计算得到:
acf(m)也可以采用基于快速傅立叶变换(FFT,Fast Fourier Transform)的快速算法计算得到,具体步骤如下:
1)首先对x(n)进行预处理,预处理可以包括锐化整形、加窗等步骤;
2)对预处理后的信号x(n)进行N点离散傅立叶变换,得到x(n)的N点离散傅立叶变换值X(k),X(k)=a(k)+i*b(k),其中k∈[0,N-1],a(k)为X(k)的实部值,b(k)为X(k)的虚部值;
3)求X(k)的前N/2点功率谱:|X(k)|2=a2(k)+b2(k),其中k∈[0,N/2],由于X(k)前后N/2点的对称性,因此可将前N/2点功率谱|X(k)|2映射到后N/2点,然后进行反离散傅立叶变换,得到自相关函数acf(m),m∈[0,N-1]。
计算出自相关函数acf(m)后,可以直接搜索acf(m)第二个峰值点的位置m,将m作为当前信号帧的预估的谐波间隔。
根据acf(m)获取预估的谐波间隔也可以采用如下方法获取:
1)在acf(m)的前K1个点中找到最小值的位置GRID_Start,将GRID_Start作为搜索的起始位置,K1为实际可能存在的最小谐波间隔,K1的取值范围为[1,N/2-1],本实施例中K1=20;
2)在区间[GRID_Start,MAX_GRID]中找到自相关函数的最大值,将该最大值所在的位置作为谐波间隔整数值,MAX_GRID的取值范围可以为(GRID_Start,N/2-1],本实施例中MAX_GRID=83;
3)M倍内插acf(m)得到acf(m)’,在[谐波间隔整数值-M,谐波间隔整数值+M]的范围内搜索acf(m)’的最大值对应的m,将m的整数部分作为当前信号帧的预估的谐波间隔。此处,M为预置的谐波间隔分数值的分辨率的倒数,且M为大于等于2的整数,例如若预置的谐波间隔分数值为0.25,那么M为4。
302、根据前一信号帧的谐波间隔与预估的谐波间隔的关系,判断预估的谐波间隔是否存在误判可能;
假设前一信号帧的谐波间隔为old_period,预估的谐波间隔为cur_period, Y为对X四舍五入后取整得到的数值,W为对1/X四舍五入后取整得到的数值,N为大于或等于2的整数,range为预置常数,取值范围是(0,1),可根据对信号周期检测的严格程度的不同而选择不同值,严格程度越高,选择越小的值,本实施例中range=0.1,
在获取预估的谐波间隔cur_period后,可按照如下方式判断预估的谐波间隔是否存在误判可能:
若 则判定预估的谐波间隔存在N倍周期的误判可能;
若 则判定预估的谐波间隔存在1/N倍周期的误判可能。
也可按照如下方式判断预估的谐波间隔是否存在误判可能:
若|X-Y|<range,且Y≥1,则判定所述预估的谐波间隔存在Y倍周期的误判可能;
若|X-1/W|<range,且W≥2,则判定所述预估的谐波间隔存在1/W倍周期的误判可能。
除上述两种判断方式之外,也可以采用其他方式根据前一信号帧的谐波间隔与预估的谐波间隔的关系判断预估的谐波间隔是否存在误判可能,这里不作一一列举。
若判定预估的谐波间隔存在误判可能,则转到步骤303,否则转到步骤306。
303、根据前一帧的可靠性参数对预置的门限进行调制得到判决门限;
本实施例中,具体的调整方式可以是:将预置的门限与前一信号帧的可靠性参数的乘积作为判决门限。
本实施例中,前一信号帧的可靠性参数通过如下方式计算得到:
Z为所述前一信号帧的可靠性参数,pre_acf(m)为前一信号帧的自相关函数,m∈[0,N-1],old_period为前一信号帧的谐波间隔,pre_acf(old_period)为用前一信号帧的自相关函数对前一信号帧的谐波间隔进行计算得到的自相关函数值,pre_acf(0)为用前一信号帧的自相关函数对“0”进行计算得到的自相关函数值。
本文的背景技术部分提到,由于信号周期检测一般会预先设定一个检测范围,所以最常见的误判为实际周期的两倍或者是二分之一,因此,本实施例中,预置的门限设置成:当Y≥2时为0.65,当Y=1时为0.95,当W≥2时为0.65。
这里需要说明的,从严格意义上讲,Y=1时本应判定预估的谐波间隔不存在误判可能,但实际上存在一些特殊情况会导致Y=1时存在误判可能,因此,本实施例对Y=1时也进行是否存在误判的判断,且在Y=1时把预置的门限设定得较高。
当Y≥2时,判决门限为 当Y=1时,判决门限为 当W≥2时,判决门限为
本实施例中,是以“将预置的门限与前一信号帧的可靠性参数的乘积作为判决门限”作为调整的例子进行说明的,可以理解的是,在实际应用中,同样还可以先确定前一信号帧的可靠性参数所属的取值范围,然后再根据该取值范围确定对应的比例因子,并将该比例因子与预置的门限的乘积作为判决门限,具体过程与前述图2所示实施例中的描述一致,此处不再赘述。
304、判断判决参数是否大于判决门限;
在根据步骤303得到判决门限后,根据判决参数是否大于判决门限确定预估的谐波间隔是否存在误判。
本实施例中,判决参数为acf(m)为当前信号帧的自相关函数,m∈[0,N-1],old_period为前一信号帧的谐波间隔,cur_period为预估的谐波间隔,acf(old_period)为用当前信号帧的自相关函数计算前一信号帧的谐波间隔对应的自相关函数值,acf(cur_period)为用当前信号帧的自相关函数计算预估的谐波间隔对应的自相关函数值。
故本实施例根据以下方式确定预估的谐波间隔是否存在误判:
当Y≥2时,若满足 则确定预估的谐波间隔存在误判,否则确定不存在误判;
当Y=1时,若满足 则确定预估的谐波间隔存在误判,否则确定不存在误判;
当W≥2时,若满足 则确定预估的谐波间隔存在误判,否则确定不存在误判。
若确定存在误判,则转到步骤305,若确定不存在误判,则转到步骤306。
305、将前一信号帧的谐波间隔确定为当前信号帧的谐波间隔;
306、将预估的谐波间隔确定为当前信号帧的谐波间隔;
307、进行参数更新。
在确定了当前信号帧的谐波间隔之后进行步骤307。
本实施例中,前一信号帧的谐波间隔可以存储于信号周期参数字段,前一信号帧的可靠性参数可以存储于可靠性参数字段,为便于后一信号帧的信号周期检测,则此时可以将信号周期参数字段内的数值修改为当前信号帧的谐波间隔,将可靠性参数字段内的数值修改为当前信号帧的可靠性参数。
本实施例中,进行步骤307是为了便于后一信号帧的谐波间隔检测,因此步骤307也可省略。
这里需要说明的是,前一信号帧的可靠性参数用于表示前一信号帧的谐波间隔的可靠性,除了本实施例中列举的表示方式外,还可以用其他表示方式,例如,也可以通过如下方式计算得到:
Z=1/(old_P1-2*old_P0+1)
Z为前一信号帧的可靠性参数,old_P0与old_P1分别为前一信号帧自相关函数的第二个峰值和第三个峰值对应的延迟值。
此处需要说明的是,根据检测的实际需要,可以只对整数倍误判进行后处理,也可以只对分数倍误判进行后处理,当然也可以同时对整数倍与分数倍误判进行后处理。
本实施例用于在频域中检测谐波间隔,在获得当前信号帧的预估的谐波间隔后,先根据前一信号帧的谐波间隔与预估的谐波间隔的关系判断当前信号帧是否存在误判可能,若不存在误判可能,则直接将预估的谐波间隔作为当前信号帧的谐波间隔;否则采用前一信号帧的可靠性参数对预置的门限进行调整得到判决门限,再根据判决参数是否大于判决门限确定当前信号帧的谐波间隔。相对现有技术中的解决信号周期检测时出现的误判问题的技术方案,本实施例不需要判断信号的清浊特性,也不需要使用后一信号帧的信息,计算较为简单,可避免额外的算法延时。而且,本实施例采用前一信号帧的可靠性参数调整得到判决门限,可减少前一信号帧的谐波间隔错误对当前信号帧判决的影响,可进一步降低误判率。
图3所示实施例描述的是在频域中采用自相关函数法实现信号周期检测的方式,下面介绍采用平均幅度差函数法实现信号周期检测的方式。请参阅图4,本发明实施例中信号周期检测方法另一实施例包括:
401、获取当前信号帧的预估的谐波间隔,预估的谐波间隔根据平均幅度差函数法计算得到;
假设当前信号帧为x(n),x(n)长度为N点,本实施例中N=256。先计算x(n)的平均幅度差函数amdf(m),m∈[0,N-1],再根据amdf(m)获取预估的谐波间隔。
amdf(m)可以直接采用如下表达式计算得到:
计算出平均幅度差函数amdf(m)后,可以直接搜索amdf(m)第二个极小值点的位置m,将m作为当前信号帧的预估的谐波间隔。
402、根据前一信号帧的谐波间隔与预估的谐波间隔的关系,判断预估的谐波间隔是否存在误判可能;
步骤402中判断是否存在误判可能的方法与步骤302中的一致。
若判定预估的谐波间隔存在误判可能,则转到步骤403,否则转到步骤406。
403、根据前一帧的可靠性参数对预置的门限进行调制得到判决门限;
本实施例中,具体的调整方式可以是:将预置的门限与前一信号帧的可靠性参数的乘积作为判决门限。
本实施例中,前一信号帧的可靠性参数通过如下方式计算得到:
Z=pre_amdf(old_period)
Z为前一信号帧的可靠性参数,pre_amdf(m)为前一信号帧的平均幅度差函数,m∈[0,N-1],old_period为前一信号帧的谐波间隔,pre_amdf(old_period)为用前一信号帧的平均幅度差函数对前一信号帧的谐波间隔进行计算得到的平均幅度差函数值。
本文的背景技术部分提到,由于信号周期检测一般会预先设定一个检测范围,所以最常见的误判为实际周期的两倍或者是二分之一,因此,本实施例中,预置的门限设置成:当Y≥2时为0.75,当Y=1时为0.98,当W≥2时为0.75。
故判决门限为:当Y≥2时为pre_amdf(old_period)*0.75,当Y=1时为pre_amdf(old_period)*0.98,当W≥2时为pre_amdf(old_period)*0.75。
本实施例中,是以“将预置的门限与前一信号帧的可靠性参数的乘积作为判决门限”作为调整的例子进行说明的,可以理解的是,在实际应用中,同样还可以先确定前一信号帧的可靠性参数所属的取值范围,然后再根据该取值范围确定对应的比例因子,并将该比例因子与预置的门限的乘积作为判决门限,具体过程与前述图2所示的实施例中描述的一致,此处不再赘述。
404、判断判决参数是否大于判决门限;
在根据步骤403得到判决门限后,根据判决参数是否大于判决门限确定预估的谐波间隔是否存在误判。
本实施例中,判决参数为amdf(m)为当前信号帧的平均幅度差函数,m∈[0,N-1],old_period为前一信号帧的谐波间隔,cur_period为当前信号帧的预估的谐波间隔,amdf(old_period)为用当前信号帧的平均幅度差函数计算前一信号帧的谐波间隔得到的平均幅度差函数值,amdf(cur_period)为用当前信号帧的平均幅度差函数计算当前信号帧的预估的谐波间隔得到的平均幅度差函数值。
故本实施例根据以下方式确定预估的谐波间隔是否存在误判:
当Y≥2时,若满足 则确定预估的谐波间隔存在误判,否则确定不存在误判;
当Y=1时,若满足 则确定预估的谐波间隔存在误判,否则确定不存在误判;
当W≥2时,若满足 则确定预估的谐波间隔存在误判,否则确定不存在误判。
若确定存在误判,则转到步骤405,若确定不存在误判,则转到步骤406。
405、将前一信号帧的谐波间隔确定为当前信号帧的谐波间隔;
406、将预估的谐波间隔确定为当前信号帧的谐波间隔;
407、进行参数更新。
在确定了当前信号帧的谐波间隔之后进行步骤407。
本实施例中的步骤407与前述图3所示的实施例中的步骤307一致,此处不再赘述。
本实施例中,进行步骤407是为了便于后一信号帧的谐波间隔检测,因此步骤407也可省略。
此处需要说明的是,本实施例中的判决参数可采用图3所示实施例中的判决参数的表示方式本实施例中的前一信号帧的可靠性参数也可采用图3实施例中的前一信号帧的可靠性参数的表示方式或1/(old_P1-2*old_P0+1)。
同理,图3所示实施例中的判决参数可采用本实施例中的判决参数的表示方式图3所示实施例中的前一信号帧的可靠性参数也可采用本实施例中的前一信号帧的可靠性参数的表示方式pre_amdf(old_period)。
本实施例采用平均幅度差函数法进行信号周期的检测,与图3所示实施例一样,具有计算简单,无算法延时的优点。而且,本实施例也采用前一信号帧的可靠性参数调整得到判决门限,可减少前一信号帧的谐波间隔错误对当前信号帧判决的影响,可进一步降低误判率。
下面介绍本发明实施例中的信号周期检测装置的一个实施例,请参阅图5,本实施例包括:
获取模块1,用于获取当前信号帧的预估的信号周期,判决参数和前一信号帧的信号周期,判决参数用于表示前一信号帧的信号周期与预估的信号周期的可信度差异;
第一判断模块2,用于根据前一信号帧的信号周期与预估的信号周期的关系,判断预估的信号周期是否存在误判可能;
第二判断模块3,用于当第一判断模块2判定存在误判可能时,判断判决参数是否大于判决门限;
确定模块4,用于当第二判断模块3判定判决参数大于判决门限时,将前一信号帧的信号周期确定为当前信号帧的信号周期。
此处需要说明的,为了便于进行后一信号帧的信号周期检测,本实施例还可包括一更新模块(图未示),用于在确定当前信号帧的信号周期后,将信号周期参数字段内的数值修改为当前信号帧的信号周期。
本实施例中的信号周期检测装置中,当获取模块1在根据自相关函数法,平均幅度差函数法或其他现有方法获取到当前信号帧的预估的信号周期之后,第一判断模块2根据前一信号帧的信号周期与预估的信号周期的关系,判断预估的信号周期是否存在误判可能,若第一判断模块2判定存在误判可能,第二判断模块3则判断判决参数是否大于判决门限,当第二判断模块3判定判决参数大于判决门限时,确定模块4将前一信号帧的信号周期确定为当前信号帧的信号周期。相对现有技术中的解决信号周期检测时出现的误判问题的技术方案,本实施例不需要判断信号的清浊特性,也不需要使用后一信号帧的信息,计算较为简单,可避免额外的算法延时。
相应于本发明实施例中信号周期检测方法图2所示的实施例,为了减少前一信号帧的信号周期错误对当前信号帧判决的影响,本发明实施例提供信号周期检测装置另一实施例,请参阅图6,本实施例包括:
获取模块1,用于获取当前信号帧的预估的信号周期,判决参数,前一信号帧的信号周期和前一信号帧的可靠性参数,判决参数用于表示前一信号帧的信号周期与预估的信号周期的可信度差异,前一信号帧的可靠性参数用于表示前一信号帧的信号周期的可靠性;
第一判断模块2,用于根据前一信号帧的信号周期与预估的信号周期的关系,判断预估的信号周期是否存在误判可能;
调整模块5,用于若第一判断模块2判定存在误判可能,则根据前一信号帧的可靠性参数对预置的门限进行调整得到判决门限,并将判决门限发送给第二判断模块3;
第二判断模块3,用于当第一判断模块2判定存在误判可能时,判断判决参数是否大于判决门限;
确定模块4,用于当第二判断模块3判定判决参数大于判决门限时,将前一信号帧的信号周期确定为当前信号帧的信号周期。
所述确定模块4,还用于当第二判断模块3判定判决参数不大于判决门限时,将预估的信号周期确定为当前信号帧的信号周期,当第一判断模块2判定不存在误判可能时,将预估的信号周期确定为当前信号帧的信号周期。
更新模块6,用于在确定模块4确定当前信号帧的信号周期之后,将信号周期参数字段内的数值修改为当前信号帧的信号周期,将可靠性参数字段内的数值修改为当前信号帧的可靠性参数。
此处需要说明的是,本实施例中,获取模块1可根据自相关函数法,平均幅度差函数法或其他现有方法计算得到预估的信号周期,可根据自相关函数法或平均幅度差函数法计算得到判决参数,前一信号帧的信号周期和前一信号帧的可靠性参数。调整模块5的作用是为了减少前一信号帧的信号周期错误对当前信号帧判决的影响,进一步降低误判率。因此,在对准确度要求较低的情况下,调整模块5可以省略,而此时确定模块4中用到的判决门限预先设置即可。另外,本实施例中,更新模块6的作用是为了便于后一信号帧的信号周期检测,因此更新模块6可省略。
相对现有技术中的解决信号周期检测时出现的误判问题的技术方案,本实施例不需要判断信号的清浊特性,也不需要使用后一信号帧的信息,计算较为简单,可避免额外的算法延时。而且,本实施例采用前一信号帧的可靠性参数对预置的门限进行调整得到判决门限,可减少前一信号帧的信号周期错误对当前信号帧判决的影响,可进一步降低误判率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的信号周期检测方法及其装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种信号周期检测方法,其特征在于,包括:
获取当前信号帧的预估的信号周期;
根据前一信号帧的信号周期与所述预估的信号周期的关系,判断所述预估的信号周期是否存在误判可能;
若存在误判可能,则判断判决参数是否大于判决门限,若判决参数大于判决门限,则将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期;
所述判决参数通过如下方式获取:
用所述当前信号帧的自相关函数计算所述前一信号帧的信号周期对应的第一自相关函数值,以及用当前信号帧的自相关函数计算所述预估的信号周期对应的第二自相关函数值,将第一自相关函数值与第二自相关函数值的比值作为判决参数;
或,
用所述当前信号帧的平均幅度差函数计算所述前一信号帧的信号周期对应的第一平均幅度差函数值,以及用当前信号帧的平均幅度差函数计算所述预估的信号周期对应的第二平均幅度差函数值,将第一平均幅度差函数值与第二平均幅度差函数值的比值作为判决参数。
2.根据权利要求1所述的方法,其特征在于,若判决参数不大于判决门限,则将所述预估的信号周期确定为所述当前信号帧的信号周期。
3.根据权利要求1所述的方法,其特征在于,若不存在误判可能,则将所述预估的信号周期确定为所述当前信号帧的信号周期。
4.根据权利要求1-3任一所述的方法,其特征在于,若存在误判可能,则所述方法还包括:
根据所述前一信号帧的可靠性参数对预置的门限进行调整得到判决门限。
5.根据权利要求4所述的方法,其特征在于,根据所述前一信号帧的可靠性参数对预置的门限进行调整得到判决门限包括:
将预置的门限与所述前一信号帧的可靠性参数的乘积作为判决门限。
6.根据权利要求4所述的方法,其特征在于,根据所述前一信号帧的可靠性参数对预置的门限进行调整得到判决门限包括:
选择所述前一信号帧的可靠性参数所属的取值范围对应的比例因子;
将预置的门限与所述比例因子的乘积作为判决门限。
7.根据权利要求4所述的方法,其特征在于,所述前一信号帧的可靠性参数通过如下方式计算得到:
Z为所述前一信号帧的可靠性参数,pre_acf(old_period)为用所述前一信号帧的自相关函数对所述前一信号帧的信号周期进行计算得到的自相关函数值,pre_acf(0)为用所述前一信号帧的自相关函数对0进行计算得到的自相关函数值。
8.根据权利要求4所述的方法,其特征在于,所述前一信号帧的可靠性参数通过如下方式计算得到:
Z=1/(old_P1-2*old_ P0+1)
Z为所述前一信号帧的可靠性参数,old_P0与old_P1分别为所述前一信号帧自相关函数的第二个峰值和第三个峰值对应的延迟值。
9.根据权利要求4所述的方法,其特征在于,所述前一信号帧的可靠性参数通过如下方式计算得到:
Z=pre_amdf(old_period)
Z为所述前一信号帧的可靠性参数,pre_amdf(old_period)为用所述前一信号帧的平均幅度差函数对所述前一信号帧的信号周期进行计算得到的平均幅度差函数值。
10.根据权利要求1-3任一所述的方法,其特征在于,所述前一信号帧的信号周期存储于信号周期参数字段;
所述在确定当前信号帧的信号周期之后还包括:
将所述信号周期参数字段内的数值修改为当前信号帧的信号周期。
11.根据权利要求4所述的方法,其特征在于,所述前一信号帧的信号周期存储于信号周期参数字段,所述前一信号帧的可靠性参数存储于可靠性参数字段;
所述在确定当前信号帧的信号周期之后还包括:
将所述信号周期参数字段内的数值修改为当前信号帧的信号周期,将所述可靠性参数字段内的数值修改为当前信号帧的可靠性参数。
13.根据权利要求1-3任一所述的方法,其特征在于,根据前一信号帧的信号周期与所述预估的信号周期的关系,判断所述预估的信号周期是否存在误判可能具体为:
若|X-Y |<range,且Y≥1,则判定所述预估的信号周期存在Y倍周期的误判可能,其中,cur_period为所述预估的信号周期,old_period为所述前一信号帧的信号周期,Y为对X四舍五入后取整得到的数值,range为取值范围为(0,1)的预置常数;
或,
14.根据权利要求1-3任一所述的方法,其特征在于,信号周期为谐波间隔或基音周期。
15.一种信号周期检测装置,其特征在于,包括:
获取模块,用于获取当前信号帧的预估的信号周期,前一信号帧的信号周期和判决参数;
第一判断模块,用于根据所述前一信号帧的信号周期与预估的信号周期的关系,判断所述预估的信号周期是否存在误判可能;
第二判断模块,用于当第一判断模块判定存在误判可能时,判断所述判决参数是否大于判决门限;
确定模块,用于当第二判断模块判定判决参数大于判决门限时,将所述前一信号帧的信号周期确定为所述当前信号帧的信号周期;
所述判决参数通过如下方式获取:
用所述当前信号帧的自相关函数计算所述前一信号帧的信号周期对应的第一自相关函数值,以及用当前信号帧的自相关函数计算所述预估的信号周期对应的第二自相关函数值,将第一自相关函数值与第二自相关函数值的比值作为判决参数;或,用所述当前信号帧的平均幅度差函数计算所述前一信号帧的信号周期对应的第一平均幅度差函数值,以及用当前信号帧的平均幅度差函数计算所述预估的信号周期对应的第二平均幅度差函数值,将第一平均幅度差函数值与第二平均幅度差函数值的比值作为判决参数。
16.根据权利要求15所述的信号周期检测装置,其特征在于,所述确定模块还用于当第二判断模块判定判决参数不大于判决门限时,将所述预估的信号周期确定为所述当前信号帧的信号周期。
17.根据权利要求15所述的信号周期检测装置,其特征在于,所述确定模块还用于当第一判断模块判定不存在误判可能时,将所述预估的信号周期确定为所述当前信号帧的信号周期。
18.根据权利要求15所述的信号周期检测装置,其特征在于,所述获取模块还用于获取前一信号帧的可靠性参数;
所述检测装置还包括:调整模块,用于若第一判断模块判定存在误判可能,则根据所述前一信号帧的可靠性参数对预置的门限进行调整得到所述判决门限。
19.根据权利要求15所述的信号周期检测装置,其特征在于,还包括:
更新模块,用于在确定模块确定当前信号帧的信号周期之后,将信号周期参数字段内的数值修改为当前信号帧的信号周期。
20.根据权利要求18所述的信号周期检测装置,其特征在于,还包括:
更新模块,用于在确定模块确定当前信号帧的信号周期之后,将信号周期参数字段内的数值修改为当前信号帧的信号周期,将可靠性参数字段内的数值修改为当前信号帧的可靠性参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102034228A CN101572089B (zh) | 2009-05-21 | 2009-05-21 | 信号周期检测方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102034228A CN101572089B (zh) | 2009-05-21 | 2009-05-21 | 信号周期检测方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101572089A CN101572089A (zh) | 2009-11-04 |
CN101572089B true CN101572089B (zh) | 2012-01-25 |
Family
ID=41231422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102034228A Expired - Fee Related CN101572089B (zh) | 2009-05-21 | 2009-05-21 | 信号周期检测方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101572089B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231274B (zh) * | 2011-05-09 | 2013-04-17 | 华为技术有限公司 | 基音周期估计值修正方法、基音估计方法和相关装置 |
CN103175604B (zh) * | 2011-12-23 | 2014-10-15 | 中联重科股份有限公司 | 振动信号的周期辨识方法及周期辨识系统 |
CN107463904B (zh) * | 2017-08-08 | 2021-05-25 | 网宿科技股份有限公司 | 一种确定事件周期值的方法及装置 |
CN111685760B (zh) * | 2020-07-21 | 2022-06-03 | 四川长虹电器股份有限公司 | 一种基于雷达测量的人体呼吸频率计算方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979557A (en) * | 1974-07-03 | 1976-09-07 | International Telephone And Telegraph Corporation | Speech processor system for pitch period extraction using prediction filters |
US5774836A (en) * | 1996-04-01 | 1998-06-30 | Advanced Micro Devices, Inc. | System and method for performing pitch estimation and error checking on low estimated pitch values in a correlation based pitch estimator |
US6243672B1 (en) * | 1996-09-27 | 2001-06-05 | Sony Corporation | Speech encoding/decoding method and apparatus using a pitch reliability measure |
CN1412742A (zh) * | 2002-12-19 | 2003-04-23 | 北京工业大学 | 基于波形相关法的语音信号基音周期检测方法 |
CN1975861A (zh) * | 2006-12-15 | 2007-06-06 | 清华大学 | 声码器基音周期参数抗信道误码方法 |
CN101030374A (zh) * | 2007-03-26 | 2007-09-05 | 北京中星微电子有限公司 | 基音周期提取方法及装置 |
-
2009
- 2009-05-21 CN CN2009102034228A patent/CN101572089B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979557A (en) * | 1974-07-03 | 1976-09-07 | International Telephone And Telegraph Corporation | Speech processor system for pitch period extraction using prediction filters |
US5774836A (en) * | 1996-04-01 | 1998-06-30 | Advanced Micro Devices, Inc. | System and method for performing pitch estimation and error checking on low estimated pitch values in a correlation based pitch estimator |
US6243672B1 (en) * | 1996-09-27 | 2001-06-05 | Sony Corporation | Speech encoding/decoding method and apparatus using a pitch reliability measure |
CN1412742A (zh) * | 2002-12-19 | 2003-04-23 | 北京工业大学 | 基于波形相关法的语音信号基音周期检测方法 |
CN1975861A (zh) * | 2006-12-15 | 2007-06-06 | 清华大学 | 声码器基音周期参数抗信道误码方法 |
CN101030374A (zh) * | 2007-03-26 | 2007-09-05 | 北京中星微电子有限公司 | 基音周期提取方法及装置 |
Non-Patent Citations (1)
Title |
---|
樊桂花,唐斌.基于小波变换的语音基音周期鲁棒性检测.《信号处理》.2004,第20卷(第4期),365-368. * |
Also Published As
Publication number | Publication date |
---|---|
CN101572089A (zh) | 2009-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101572089B (zh) | 信号周期检测方法及其装置 | |
CN101968957B (zh) | 一种噪声条件下的语音检测方法 | |
US20140301412A1 (en) | Method of creating preamble, and method and apparatus for detecting frame boundary | |
KR20070099372A (ko) | 음성 신호의 하모닉 정보 및 스펙트럼 포락선 정보,유성음화 비율 추정 방법 및 장치 | |
CN105472191A (zh) | 一种跟踪回声时延的方法和装置 | |
RU2576339C2 (ru) | Устройство обнаружения источника звука | |
EP2203002B1 (en) | Method for measuring frequency characteristic and rising edge of impulse response, and sound field correcting apparatus | |
US20060165197A1 (en) | Synchronous follow-up device and method | |
US20100268530A1 (en) | Signal Pitch Period Estimation | |
US9429649B2 (en) | Radar device | |
EP2346222A3 (en) | Receiving apparatus and method, program, and receiving system | |
US8214201B2 (en) | Pitch range refinement | |
JP4138751B2 (ja) | マルチキャリア通信システムのための過剰遅延拡散検出方法 | |
KR100333818B1 (ko) | 디지털 오디오 수신기에서 널 심볼을 이용한 전송 모드검출 장치 및 방법 | |
US20230003829A1 (en) | Method and device for determining arrival time, terminal device, and storage medium | |
CN109561039A (zh) | 频率偏移推测方法、装置及记录媒体 | |
CN111294136B (zh) | 小区搜索方法、接收机、用户终端及计算机可读存储介质 | |
CN101858939B (zh) | 一种谐波信号检测方法及装置 | |
CN103605128B (zh) | 一种测速方法及装置 | |
JP6532976B2 (ja) | 信号中の同期点を検出する信号送受信装置と方法 | |
JP2017525229A (ja) | ランダムアクセス信号の検出方法、装置及びシステム | |
CN102314882A (zh) | 声音信号通道间延时估计的方法及装置 | |
US7830971B2 (en) | Apparatus and method for detecting advanced GCL sequence in wireless communication system | |
US11882414B2 (en) | Audio playback system fault detection method and apparatus | |
JPH08331114A (ja) | 相関ピーク判定回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120125 Termination date: 20190521 |
|
CF01 | Termination of patent right due to non-payment of annual fee |