一种啸叫抑制方法及装置与流程

文档序号:37978548发布日期:2024-05-13 12:35阅读:9来源:国知局
一种啸叫抑制方法及装置与流程

本发明属于语音信号处理,具体涉及一种啸叫抑制方法及装置。


背景技术:

1、当两个通讯设备在同一个房间且距离较近时,发射设备将麦克风接收的音频信号传输到接收设备,由接收设备扬声器播放的音频信号再回传给发射设备麦克风,从而形成声音正反馈闭环回路。当扩音增益足够大时,在某些频率会产生自激振荡,导致刺耳啸叫的产生。

2、常见手动干预的方法包括:调整设备位置或间距、调整麦克风音量、关闭不进行演讲的设备的麦克风等。常见基于数字信号处理技术的方法有移频法/移相法,陷波器法和自适应滤波法。

3、在实际应用中,若在无啸叫产生时仍进行啸叫抑制处理,则会导致语音失真,还会消耗算力和内存,因此需要根据啸叫状态来判断是否进行啸叫抑制处理。


技术实现思路

1、为克服现有技术存在的缺陷,本发明公开了一种啸叫抑制方法和装置。

2、本发明所述啸叫抑制方法,包括啸叫检测,所述啸叫检测包括如下步骤:

3、s1:通过与麦克风连接的模数转换器将麦克风模拟信号转换为时间离散且幅值离散的数字信号形式的时域信号,作为麦克风信号向量;所述麦克风模拟信号为麦克风接收音频信号后转化得到的模拟电学信号;

4、s2:将所述麦克风信号向量转换到频域,得到频域信号x(l, k),计算频域信号的功率谱密度psd(l, k),公式如下:

5、

6、式中,l为时间帧索引,k为频率刻度,x(l, k)为第l帧第k个频点的频域信号,real表示取实部处理,imag表示取虚部处理;

7、s3:判断是否有啸叫;

8、对每一帧的功率谱密度峰值进行搜索,以该帧内最大峰值处的频率作为备选啸叫频率;

9、计算备选啸叫频率对应的一个周期内采样点数nl的公式如下:

10、

11、式中,fs为音频采样频率,fl为第l帧的备选啸叫频率,α为容错值,α∈[0,1];

12、根据采样点数判断是否存在啸叫,具体为:

13、步骤s1得到的时域信号每一帧内的每两个相邻峰值为一段信号,逐段计算相邻峰值的间隔采样点数,若所述间隔采样点数与所述备选啸叫频率对应的采样点数nl的差值小于预设差值,则标记这一段信号具有周期性;

14、若时域信号每一帧内具有周期性的信号段数小于预设的段数阈值,则将s1步骤采集的麦克风信号向量直接作为输出信号;

15、若达到段数阈值,则判断当前帧有啸叫,进入步骤s4,否则返回继续进行步骤s1;

16、s4:对功率谱密度进行归一化处理,s3步骤中备选啸叫频点对应的归一化功率谱密度峰值为1;

17、设置峰值阈值,将归一化功率谱密度峰值大于峰值阈值的频点设为啸叫频点;由帧内所有啸叫频点构成当前帧的啸叫频点向量;

18、计算参考信号向量,公式如下:

19、

20、式中,l为时域帧索引,n为时间下标,k为参考信号向量阶数,fl, h=fl, 1, fl, 2,..., fl, h,表示啸叫频点向量,其中fl, h表示第l帧的第h个备选啸叫频率;

21、s5:构造滤波器将啸叫信号从麦克风信号中滤除,得到输出信号。

22、优选的,所述步骤s2中首先对时域信号形式的麦克风信号向量进行分帧、加窗预处理,再通过短时傅里叶变换得到频域信号形式的麦克风信号向量。

23、优选的,s5步骤具体为:计算公式如下:

24、

25、

26、式中,estl(n)为第l帧第n时刻的估计啸叫信号,w(l)为第l帧的滤波器系数,其阶数与参考信号向量阶数相同,micl(n)为第l帧麦克风信号向量第n时刻的麦克风信号,errl(n)为第l帧第n时刻的滤波输出信号。

27、滤波器更新公式如下:

28、

29、对于l=1时的滤波器系数初始值,设定为大于零的任意小数;μ为步长;

30、计算得到第l帧全部时刻的估计啸叫信号,合并得到估计啸叫信号向量,以麦克风信号向量减去估计啸叫信号向量,得到所述输出信号。

31、一种啸叫抑制装置,用于执行所述啸叫抑制方法,包括模数转换模块、峰值检测模块、向量构造模块和自适应滤波模块;

32、所述模数转换模块,用于执行步骤s1,通过与麦克风连接的模数转换器将麦克风模拟信号转换为时间离散且幅值离散的数字信号形式的时域信号,作为麦克风信号向量;所述麦克风模拟信号为麦克风接收音频信号后转化得到的模拟电学信号;

33、所述峰值检测模块,用于执行步骤s2;

34、将所述麦克风信号向量转换到频域,得到频域信号x(l, k),计算频域信号的功率谱密度psd(l, k),公式如下:

35、

36、式中,l为时间帧索引,k为频率刻度,x(l, k)为第l帧第k个频点的频域信号,real表示取实部处理,imag表示取虚部处理;

37、及执行步骤s4中的以下步骤:

38、对功率谱密度进行归一化处理,令s3步骤中备选啸叫频点对应的归一化功率谱密度峰值为1;

39、设置峰值阈值,将归一化功率谱密度峰值大于峰值阈值的频点设为啸叫频点;由帧内所有啸叫频点构成当前帧的啸叫频点向量;

40、所述向量构造模块,用于执行步骤s3;

41、判断是否有啸叫;

42、对每一帧的功率谱密度峰值进行搜索,以该帧内最大峰值处的频率作为备选啸叫频率;

43、计算备选啸叫频率对应的一个周期内采样点数nl的公式如下:

44、

45、式中,fs为音频采样频率,fl为第l帧的备选啸叫频率,α为容错值,α∈[0,1];

46、根据采样点数判断是否存在啸叫,具体为:

47、步骤s1得到的时域信号每一帧内的每两个相邻峰值为一段信号,逐段计算相邻峰值的间隔采样点数,若所述间隔采样点数与所述备选啸叫频率对应的采样点数nl的差值小于预设差值,则标记这一段信号具有周期性;

48、若时域信号每一帧内具有周期性的信号段数小于预设的段数阈值,则将s1步骤采集的麦克风信号向量直接作为输出信号;

49、若达到段数阈值,则判断当前帧有啸叫,进入步骤s4,否则返回继续进行步骤s1;

50、及执行步骤s4中的以下步骤:

51、计算参考信号向量,公式如下:

52、

53、式中,l为时域帧索引,n为时间下标,k为参考信号向量阶数,fl, h=fl, 1, fl, 2,..., fl, h,表示啸叫频点向量,其中fl, h表示第l帧的第h个备选啸叫频率;

54、所述自适应滤波模块,用于执行步骤s5,构造滤波器将啸叫信号从麦克风信号中滤除,得到输出信号。

55、采用本发明所述啸叫抑制方法和装置,结合啸叫信号的时频特性和信号的周期性,对啸叫状态进行准确判断,若有啸叫则基于自适应滤波处理对啸叫信号进行滤除,否则直接输出原始麦克风信号,避免加重语音失真并减少了无谓的内存和算力消耗。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1