发明名称 基于支撑向量机的基带时域音频信号分类方法
摘要 基于支撑向量机的基带时域音频信号分类方法,首先将基带时域音频信号序列分段,得到初始分段子序列,然后每个初始分段子序列分别减去各自的均值,得零均值分段子序列,接着对每个零均值分段子序列进行加窗处理,将结果分别进行傅里叶变换处理,得到分段子序列的频谱幅度,分别求出每个频谱幅度的标准差得到一个特征量,将各个零均值分段子序列按照次序依次组合成为一个长序列,然后计算出该序列的归一化自相关矩阵,对自相关矩阵进行奇异值分解,得到子空间的分界点,再计算出该基带时域音频信号序列的另一个特征量信噪比参量;最后将两个特征量构成输入向量送入已经训练过的SVM分类器中,从而鉴别出该基带时域音频信号的种类,区分出语音信号和噪声信号。
申请公布号 CN102760444A 申请公布日期 2012.10.31
申请号 CN201210125085.7 申请日期 2012.04.25
申请人 清华大学 发明人 刘一民;李元新;孟华东
分类号 G10L21/02(2006.01)I;G10L19/00(2006.01)I;G10L11/00(2006.01)I;G10L15/06(2006.01)I 主分类号 G10L21/02(2006.01)I
代理机构 西安智大知识产权代理事务所 61215 代理人 贾玉健
主权项 1.基于支撑向量机的基带时域音频信号分类方法,其特征在于,包括如下步骤:步骤一:将总长度为N的基带时域音频信号序列s={s(1),s(2),...,s(N)}分为K段,每段长度为L,得到初始分段子序列<maths num="0001"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>s</mi><mn>1</mn></msub><mo>=</mo><mo>{</mo><msub><mi>s</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>s</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>s</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr><mtr><mtd><msub><mi>s</mi><mn>2</mn></msub><mo>=</mo><mo>{</mo><msub><mi>s</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>s</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>s</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>s</mi><mi>K</mi></msub><mo>=</mo><mo>{</mo><msub><mi>s</mi><mi>K</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>s</mi><mi>K</mi></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>s</mi><mi>K</mi></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中s<sub>i</sub>(m)=s((i-1)L+m)(i=1,2,...,K,m=1,2,...,L),然后每个初始分段子序列分别减去各自的均值,可得零均值分段子序列<maths num="0002"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>x</mi><mn>1</mn></msub><mo>=</mo><mo>{</mo><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mn>2</mn></msub><mo>=</mo><mo>{</mo><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>K</mi></msub><mo>=</mo><mo>{</mo><msub><mi>x</mi><mi>K</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>x</mi><mi>K</mi></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>x</mi><mi>K</mi></msub><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中<maths num="0003"><![CDATA[<math><mrow><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>s</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mi>L</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><msub><mi>s</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>步骤二:对每个零均值分段子序列进行加窗处理,得到结果为<maths num="0004"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msup><msub><mi>x</mi><mn>1</mn></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>x</mi><mn>1</mn></msub><msup><mi>w</mi><mi>T</mi></msup></mtd></mtr><mtr><mtd><msup><msub><mi>x</mi><mn>2</mn></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub><msup><mi>w</mi><mi>T</mi></msup></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msup><msub><mi>x</mi><mi>K</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>x</mi><mi>K</mi></msub><msup><mi>w</mi><mi>T</mi></msup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中w为汉宁窗;步骤三:对加窗处理后的结果分别进行傅里叶变换处理,得到每个加窗后的零均值分段子序列的频谱幅度序列为<maths num="0005"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>f</mi><mn>1</mn></msub><mo>=</mo><mo>|</mo><mi>FFT</mi><mrow><mo>(</mo><msup><msub><mi>x</mi><mn>1</mn></msub><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>|</mo><mo>=</mo><mo>{</mo><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>M</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr><mtr><mtd><msub><mi>f</mi><mn>2</mn></msub><mo>=</mo><mo>|</mo><mi>FFT</mi><mrow><mo>(</mo><msup><msub><mi>x</mi><mn>2</mn></msub><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>|</mo><mo>=</mo><mo>{</mo><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>M</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>f</mi><mi>K</mi></msub><mo>=</mo><mo>|</mo><mi>FFT</mi><mrow><mo>(</mo><msup><msub><mi>x</mi><mi>K</mi></msub><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>|</mo><mo>=</mo><mo>{</mo><msub><mi>f</mi><mi>K</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mi>K</mi></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>f</mi><mi>K</mi></msub><mrow><mo>(</mo><mi>M</mi><mo>)</mo></mrow><mo>}</mo></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中M是频谱幅度序列的长度;步骤四:分别求出每个频谱幅度的标准差d={d(1),d(2),...,d(K)},其中<img file="FDA0000157114140000016.GIF" wi="794" he="145" />然后求出所有标准差的平均值,得到该基带时域音频信号序列的一个特征量,即频谱幅度标准差<img file="FDA0000157114140000017.GIF" wi="309" he="118" />步骤五:将各个零均值分段子序列x<sub>1</sub>,x<sub>2</sub>,...,x<sub>K</sub>按照次序依次组合成为一个长序列x,即x={x<sub>1</sub>,x<sub>2</sub>,...,x<sub>K</sub>}={x(1),x(2),...,x(N)},然后计算出该序列的归一化自相关矩阵,结果为<img file="FDA0000157114140000021.GIF" wi="461" he="292" />其中<img file="FDA0000157114140000022.GIF" wi="561" he="192" />Q是自相关矩阵的维数,取值范围为[50,90];步骤六:对自相关矩阵R进行奇异值分解,得到R=VΛV<sup>H</sup>,其中Λ=diag(λ<sub>1</sub>,λ<sub>2</sub>,…,λ<sub>Q</sub>)<sub>Q×Q</sub>=diag(γ<sub>1</sub>+σ<sup>2</sup>,…,γ<sub>p</sub>+σ<sup>2</sup>,σ<sup>2</sup>,…,σ<sup>2</sup>)<sub>Q×Q</sub>,且γ<sub>1</sub>≥γ<sub>2</sub>≥…≥γ<sub>p</sub>,从而得到子空间的分界点p;步骤七:根据<img file="FDA0000157114140000023.GIF" wi="375" he="127" /><img file="FDA0000157114140000024.GIF" wi="542" he="212" />计算出该基带时域音频信号序列的另一个特征量,记为信噪比参量<img file="FDA0000157114140000025.GIF" wi="118" he="65" />步骤八:将该基带时域音频信号序列的两个特征量,即频谱幅度标准差D和信噪比参量<img file="FDA0000157114140000026.GIF" wi="119" he="61" />构成输入向量,送入已经训练过的SVM分类器中,从而鉴别出该基带时域音频信号的种类,区分出语音信号和噪声信号。
地址 100084 北京市海淀区100084信箱82分箱清华大学专利办公室