主权项 |
一种基于相关分析的音频噪声实时检测方法,包括以下步骤:S1.接收音频帧:S11.接收一帧音频帧,将其样本数据排列成一列矢量;设定初始值为0的帧计数器,每接收一音频帧,帧计数器加1;S12.计算当前音频帧的帧能量,若帧能量小于设定的静音门限,则将该帧各样本值设置为0;否则将各样本值减去样本均值,并对减去均值后的数据作归一化处理;S13.将处理后的帧数据保存在数据矩阵A中,设A=[a<sub>1</sub>,a<sub>2</sub>,a<sub>3</sub>,…],其中A的每一列a<sub>i</sub>表示第i帧的数据;S2.若帧计数器的当前计数值小于N<sub>f</sub>,N<sub>f</sub>为1秒内音频帧总帧数,则转到步骤S1,接收处理下一音频帧;否则转到步骤S3,同时将帧计数器置零;S3.削弱信号成分:S31.对A进行奇异值分解如下:A=UΣV<sup>T</sup> (1)其中U和V分别为左、右奇异向量矩阵,Σ=diag(λ<sub>1</sub>,λ<sub>2</sub>,λ<sub>3</sub>,…,λ<sub>n</sub>)为对角矩阵,其对角元素λ<sub>i</sub>为的A奇异值,设奇异值从上到下按大小降序排列,即λ<sub>1</sub>≥λ<sub>2</sub>≥λ<sub>3</sub>≥…≥λ<sub>n</sub>;S32.对矩阵Σ,扫描其从λ<sub>n</sub>到λ<sub>2</sub>的n‑1个对角元素,计算每个对角元素与其前一个元素的递减量,若递减量大于1,则提前结束扫描;S33.扫描结束后,将Σ的对角元素中没有被扫描到的所有元素设置为0;S34.将Σ带入公式(1)对A进行更新;S4.相关性分析:S41.对A中的每个列向量作归一化处理;S42.从A的第1列到第N<sub>f</sub>‑1列,计算每一列与其后一列矢量的内积p<sub>i</sub>(i=1,2,3,…N<sub>f</sub>‑1);S43.计算p<sub>i</sub>的绝对值<img file="FDA0000538571360000011.GIF" wi="482" he="65" />扫描每个<img file="FDA0000538571360000012.GIF" wi="87" he="69" />若<img file="FDA0000538571360000013.GIF" wi="164" he="74" />则设置<img file="FDA0000538571360000014.GIF" wi="223" he="79" /><img file="FDA0000538571360000015.GIF" wi="90" he="59" />为<img file="FDA0000538571360000016.GIF" wi="59" he="59" />的最大值;将最终的<img file="FDA0000538571360000017.GIF" wi="456" he="65" />作为音频帧的相关量保存下来为后续的噪声判定使用;S5.噪声判定:设进行判定的音频帧数目为M,M≥N<sub>f</sub>,计算当前音频帧及其前M‑1帧所对应的相关量的均值和方差;若相关量的均值小于设定的阈值T<sub>mean</sub>且方差小于T<sub>mean</sub>的平方,则判定当前信号为噪声,否则为非噪声。 |