发明名称 一种基于MDCT系数进行正弦频率估计的方法
摘要 本发明公开了一种基于MDCT系数进行正弦频率估计的方法,其步骤为:构建两个关于频率偏移与系数比值关系的查找表;获取一组MDCT系数,该系数可以通过对时域信号进行MDCT变换得到,也可以从解码系统中提取到已有的MDCT系数;查找该组MDCT系数的极大值,记录该极大值及其所在的位置信息;根据该极大值与周围两个系数值之间的关系,通过决策算法得到进行频率估计的分支决策;根据相应的决策分支和MDCT变换时所使用的窗函数,结合MDCT系数极大值所在位置及其相邻系数的数值关系,通过查表和数据内插的方式,估计该极大值所对应的信号频率值。本发明支持使用正弦窗和KBD窗的情况,适用于需要在MDCT域提取正弦参数的应用,尤其是音频信号处理与编解码系统。
申请公布号 CN104111374B 申请公布日期 2017.01.04
申请号 CN201410325387.8 申请日期 2014.07.09
申请人 西安交通大学 发明人 顿玉洁;刘贵忠
分类号 G01R23/02(2006.01)I 主分类号 G01R23/02(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 陆万寿
主权项 一种基于MDCT系数进行正弦频率估计的方法,其特征在于,包括以下步骤:1)构建两个关于频率偏移与系数比值关系的查找表R<sub>α</sub>(ξ)和R<sub>β</sub>(ξ);其中,构建两个关于频率偏移与系数比值关系的查找表包括:101)设置频率偏移的步长Δξ;102)根据所述频率偏移的步长Δξ,计算系数比值R<sub>α</sub>(ξ)|<sub>ξ=nΔξ</sub>和R<sub>β</sub>(ξ)|<sub>ξ=nΔξ</sub>,其计算公式分别如下:R<sub>α</sub>(ξ)|<sub>ξ=nΔξ</sub>=A<sub>H</sub>(nΔξ‑1)/A<sub>H</sub>(nΔξ+1)          (1)R<sub>β</sub>(ξ)|<sub>ξ=nΔξ</sub>=A<sub>H</sub>(nΔξ‑2)/A<sub>H</sub>(nΔξ+2)           (2)其中:A<sub>H</sub>(ξ)是MDCT变换所使用的窗函数h(n)的中心离散傅里叶变换系数的实部,ξ的取值范围为[‑1.5,‑0.5],n为频率偏移数,按所需精度设定步长Δξ,通过控制频率偏移数n,获得在ξ的取值范围内的系数比值R<sub>α</sub>(ξ)|<sub>ξ=nΔξ</sub>和R<sub>β</sub>(ξ)|<sub>ξ=nΔξ</sub>;2)获取正弦信号一个分析帧的MDCT系数,记做X(k),其中,k=0,1,…,N,N为MDCT分析的子带数;3)查找所述一个分析帧的MDCT系数X(k)绝对值的极大值及其所在的子带位置,分别记做X<sub>max,i</sub>和p<sub>i</sub>,其中,i=1,...,l,l为检测到的极大值的个数;4)根据每个极大值X<sub>max,i</sub>所对应MDCT系数X(p<sub>i</sub>),及其相邻的MDCT系数值X(p<sub>i</sub>‑2)、X(p<sub>i</sub>‑1)、X(p<sub>i</sub>+1)以及X(p<sub>i</sub>+2),使用决策算法得到对该极大值所对应分量进行频率估计的分支决策参数,其中,分支决策参数包括小系数跳转因子a<sub>i</sub>、正向比值I<sub>0,i</sub>、反向比值I<sub>1,i</sub>和小系数判定因子λ<sub>i</sub>,具体步骤如下:设定小系数检测阈值a<sub>th</sub>,若对所述极大值X<sub>max,i</sub>及其所对应的位置p<sub>i</sub>有:当|X(p<sub>i</sub>+1)‑X(p<sub>i</sub>‑1)|<a<sub>th</sub>X<sub>max,i</sub>时,则a<sub>i</sub>=1,否则a<sub>i</sub>=0;当a<sub>i</sub>=0时,按如下过程更新位置索引并计算决策参数:(1)若|X(p<sub>i</sub>+1)|>|X(p<sub>i</sub>‑1)|,则更新位置索引为p<sub>i</sub>=p<sub>i</sub>+1;(2)计算决策参数:I<sub>0,i</sub>=‑X(p<sub>i</sub>‑2)/X(p<sub>i</sub>),以及I<sub>1,i</sub>=‑X(p<sub>i</sub>+1)/X(p<sub>i</sub>‑1);(3)计算小系数判定因子λ<sub>i</sub>:若I<sub>0,i</sub>>I<sub>1,i</sub>,λ<sub>i</sub>=|X(p<sub>i</sub>‑1)/[X(p<sub>i</sub>‑2)‑X(p<sub>i</sub>)]|;否则,λ<sub>i</sub>=|X(p<sub>i</sub>)/[X(p<sub>i</sub>‑1)‑X(p<sub>i</sub>+1)]|;当a<sub>i</sub>=1时,按如下过程更新位置索引并计算决策参数:当使用KBD窗时,若|X(p<sub>i</sub>+2)|<|X(p<sub>i</sub>‑2)|,则p<sub>i</sub>=p<sub>i</sub>+1,决策参数I<sub>1,i</sub>=‑X(p<sub>i</sub>+1)/X(p<sub>i</sub>‑1),并置I<sub>0,i</sub>=‑∞;若|X(p<sub>i</sub>+2)|≥|X(p<sub>i</sub>‑2)|,则决策参数I<sub>0,i</sub>=‑X(p<sub>i</sub>‑2)/X(p<sub>i</sub>),并置I<sub>1,i</sub>=‑∞;当使用正弦窗时,若|X(p<sub>i</sub>+2)|≥|X(p<sub>i</sub>‑2)|,则p<sub>i</sub>=p<sub>i</sub>+1,决策参数I<sub>1,i</sub>=‑X(p<sub>i</sub>+1)/X(p<sub>i</sub>‑1),并置I<sub>0,i</sub>=‑∞;若|X(p<sub>i</sub>+2)|<|X(p<sub>i</sub>‑2)|,则决策参数I<sub>0,i</sub>=‑X(p<sub>i</sub>‑2)/X(p<sub>i</sub>),并置I<sub>1,i</sub>=‑∞;5)使用得到的分支决策参数a<sub>i</sub>、I<sub>0,i</sub>、I<sub>1,i</sub>、λ<sub>i</sub>以及MDCT变换所使用的窗函数类型,通过查表和内插的方法估算每一个频率分量的正弦频率值。
地址 710049 陕西省西安市咸宁西路28号