发明名称 瞬态噪声的去噪方法
摘要 本发明公开了瞬态噪声的去噪方法,属于信号处理技术领域。本发明首先计算本帧信号的梅尔倒谱系数,同时预测本帧信号的基音周期,然后使用梅尔倒谱系数来检测本帧信号是否存在噪声,若存在噪声,则使用基音周期预测值来重建本帧信号。
申请公布号 CN103440872B 申请公布日期 2016.06.01
申请号 CN201310357211.6 申请日期 2013.08.15
申请人 大连理工大学 发明人 陈喆;殷福亮;周文颖
分类号 G10L21/0264(2013.01)I 主分类号 G10L21/0264(2013.01)I
代理机构 大连东方专利代理有限责任公司 21212 代理人 曲永祚;李洪福
主权项 瞬态噪声的去噪方法,其特征在于:首先计算本帧信号的梅尔倒谱系数,同时预测本帧信号的基音周期,然后使用梅尔倒谱系数来检测本帧信号是否存在噪声即进行噪声检测,若存在噪声,则使用基音周期预测值来进行波形重建;基音周期预测的方法如下:1)对buf(n)进行低通滤波,得到buf<sub>d</sub>(n);其中低通滤波器(LPF)的截止频率为900Hz;2)对buf<sub>d</sub>(n)进行中心削波,得到buf<sub>c</sub>(n),即<maths num="0001"><math><![CDATA[<mrow><msub><mi>buf</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msub><mi>buf</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>C</mi><mi>L</mi></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>buf</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>&gt;</mo><msub><mi>C</mi><mi>L</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>buf</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>C</mi><mi>L</mi></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>buf</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>&lt;</mo><mo>-</mo><msub><mi>C</mi><mi>L</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo></mrow></mtd><mtd><mrow><mo>|</mo><msub><mi>buf</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>|</mo><mo>&le;</mo><msub><mi>C</mi><mi>L</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000927038590000011.GIF" wi="1374" he="245" /></maths>其中C<sub>L</sub>为限幅电平,通常设为归一化数据最大值的68%;3)对buf<sub>c</sub>(n)进行自相关运算,在(96,576)范围中搜索自相关的最大值位置,将其作为基音周期估计值Pitch;<maths num="0002"><math><![CDATA[<mrow><msub><mi>r</mi><mrow><msub><mi>buf</mi><mi>c</mi></msub></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>P</mi><mi>M</mi><mi>A</mi><mi>X</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>buf</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><msub><mi>buf</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>+</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><mi>P</mi><mi>M</mi><mi>I</mi><mi>N</mi><mo>&le;</mo><mi>n</mi><mo>&le;</mo><mi>P</mi><mi>M</mi><mi>A</mi><mi>X</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000927038590000012.GIF" wi="1486" he="110" /></maths><maths num="0003"><math><![CDATA[<mrow><mi>P</mi><mi>i</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo>=</mo><mi>arg</mi><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mi>P</mi><mi>M</mi><mi>I</mi><mi>N</mi><mo>&le;</mo><mi>n</mi><mo>&le;</mo><mi>P</mi><mi>M</mi><mi>A</mi><mi>X</mi></mrow></munder><msub><mi>r</mi><mrow><msub><mi>buf</mi><mi>c</mi></msub></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000927038590000013.GIF" wi="1284" he="117" /></maths>4)为防止倍频出现,用式(4)对前两帧基音周期预测值Pitch<sup>(p‑1)</sup>和Pitch<sup>(p‑2)</sup>进行平滑处理,即<img file="FDA0000927038590000014.GIF" wi="1540" he="318" />根据平滑后的两个基音周期来预测当前帧基音周期Pitch<sup>(p)</sup>,即Pitch<sup>(p)</sup>=Pitch<sup>(p‑1)</sup>+(Pitch<sup>(p‑1)</sup>‑Pitch<sup>(p‑2)</sup>)     (5)波形重建的方法为:1)由于buf(n)中存储已输出帧数据,所以可从buf(n)中提取前一帧的基音周期波形,即前一帧输出信号的最后Pitch<sup>(p‑1)</sup>个点,将其波形数据记为pw<sup>(p‑1)</sup>(n);对pw<sup>(p‑1)</sup>(n)进行线性插值,得到长度为Pitch<sup>(p)</sup>的新波形,记为pw<sup>(p)</sup>(n)插值公式为<maths num="0004"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msup><mi>pw</mi><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><msup><mi>n</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mfrac><mrow><msup><mi>pitch</mi><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup></mrow><mrow><msup><mi>pitch</mi><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></msup></mrow></mfrac><mo>&CenterDot;</mo><msup><mi>n</mi><mo>&prime;</mo></msup><mo>-</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mo>&lsqb;</mo><msup><mi>pw</mi><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>-</mo><msup><mi>pw</mi><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&rsqb;</mo><mo>+</mo><msup><mi>pw</mi><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><mi>n</mi><mo>-</mo><mn>1</mn><mo>&le;</mo><mfrac><mrow><msup><mi>pitch</mi><mrow><mo>(</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup></mrow><mrow><msup><mi>pitch</mi><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></msup></mrow></mfrac><mo>&CenterDot;</mo><msup><mi>n</mi><mo>&prime;</mo></msup><mo>&lt;</mo><mi>n</mi><mo>,</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000927038590000021.GIF" wi="1661" he="295" /></maths>2)使用新波形进行波形周期复制;新波形进行波形周期复制的方法如下:a.若当前帧为噪声帧且不论前一帧是噪声帧还是纯净语音帧,处理过程为:按照式(7),将buf(n)中AB段数据与CD段数据进行重叠相加,并进行淡入淡出处理,以保证D两侧的数据具有连续性,即<maths num="0005"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>buf</mi><mrow><mi>C</mi><mi>D</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mi>&alpha;</mi><mo>&CenterDot;</mo><msub><mi>buf</mi><mrow><mi>C</mi><mi>D</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>buf</mi><mrow><mi>A</mi><mi>B</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi>&alpha;</mi><mo>&CenterDot;</mo><msub><mi>buf</mi><mrow><mi>C</mi><mi>D</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&alpha;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>buf</mi><mrow><mi>C</mi><mi>D</mi></mrow></msub><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mi>P</mi><mi>i</mi><mi>t</mi><mi>c</mi><mi>h</mi><mo>)</mo></mrow><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>n</mi><mo>&lt;</mo><msub><mi>N</mi><mn>1</mn></msub></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000927038590000022.GIF" wi="1582" he="143" /></maths><maths num="0006"><math><![CDATA[<mrow><mi>&alpha;</mi><mo>=</mo><mfrac><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>-</mo><mi>i</mi></mrow><msub><mi>N</mi><mn>1</mn></msub></mfrac><mo>,</mo><mi>i</mi><mo>=</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>N</mi><mn>1</mn></msub><mo>-</mo><mn>1</mn><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000927038590000023.GIF" wi="1298" he="151" /></maths>其中,α为衰减因子,从1线性衰减到0;AB段与CD段数据长度N<sub>1</sub>=32;b.根据周期Pitch<sup>(p)</sup>,用新波形pw<sup>(p)</sup>(n)不断复制到DF区域内;其中,DE段是修复后的当前帧;EF段数据长度为N<sub>2</sub>=32,其作用在于,当下一帧为语音帧时,用于数据淡入淡出,以保证E两端即帧与帧之间的连续性;c.输出buf(n)中以C点开始的一帧数据;此方法输出存在延迟,延迟时间即CD段长度,再将buf(n)所有数据前移N点;若当前帧为纯净语音帧,而前一帧是噪声帧,处理过程如下,a.此时buf(n)中DG段数据即为上一帧的EF段数据;将DG段与当前帧输入的前N<sub>2</sub>个数据点进行数据融合其计算方法与式(7)中AB段与CD段数据重叠相加的过程相同并存储到DG中;b.将当前帧剩余数据点原样复制到buf(n)中的G点后;c.输出以C点开始的一帧长度的数据,再将buf(n)所有数据前移N点即一帧长度;若当前帧与前一帧都为纯净语音帧,则将当前帧输入数据原样复制到buf(n)中待修复区域;输出以C点开始的一帧长度的数据。
地址 116024 辽宁省大连市高新园区凌工路2号