公共广播系统中啸声的实时抑制
摘要
啸声噪音是公共广播系统中的常见现象。 由于扬声器系统与麦克风之间产生正反馈时的声学耦合,因此它被构建起来。 使用TMS320C6713 DSK入门工具包实现啸声检测和抑制的实时实现。 整个实现基于DSP处理器的直接存储器访问(DMA)功能完成。 该方法利用啸声的特性进行有效检测,并具有抑制噪声的优点。 基于每个输入语音帧的频谱平坦度测量(SFM)执行啸声检测。 对于没有啸叫的帧,输入将被传递到输出。 如果检测到啸叫噪声的存在,则通过使输出样本为零来执行啸叫抑制。
- 介绍说明
公共广播系统广泛用于在各种情况下放大语音。 它由麦克风,放大器和一个或多个扬声器组成。 无论何时我们有这三个组件,都有可能得到反馈。 扬声器发出的声音将其送回麦克风,并重新放大并再次通过扬声器发送时,会发生反馈。 这个循环发生得如此之快以至于它创造了它自己的频率,我们听到这是一种咆哮的声音。 麦克风和扬声器之间的距离与啸声的频率有很大关系,因为该距离控制着声音循环通过系统的速度。 声学闭环呈现谐振频率。 当环路增益接近统一时,系统会自动漂移到不稳定状态并且出现啸叫现象。
手动降低增益或更改位置或麦克风或扬声器可能会改变持续正反馈所需的条件,并可能会抑制噪音。 除了人工干预之外,在教室,研讨会大厅等使用的PA系统中,自动检测和抑制啸叫噪声是非常重要的。啸声抑制系统试图消除啸声而不会使语音信号失真。 在早期,啸叫抑制确实是通过手动干预来降低放大器的增益或改变麦克风的方向以改变反馈条件。 后来开发出了自动检测和抑制啸声的方法。
自适应周期噪声消除(APNC)[3]是J.B.Foley于1989年提出的一种方法。它依赖于啸叫是周期性的,而语音不是在足够长的时间范围内听取时。 在这种方法中,啸声由自适应滤波器识别,然后从信号中减去。 自适应FIR滤波器由最小均方(LMS)算法驱动。 使用噪声的主要相关分量的最佳估计,滤波器去除噪声。 为了获得APNC的良好性能,滤波器的带宽必须尽可能窄。
现有的大多数啸声抑制算法都是采用自适应陷波滤波器设计的[4,5,6]。在基于陷波滤波器的啸叫噪声抑制中,增益在环路增益接近1的频率附近的窄频带中减小。这些方法需要自适应陷波滤波器,可瞬时调整滤波器系数以消除啸叫频率的影响。在这种啸声检测方法[4]中,麦克风捕获的信号受到频谱和时间分析的影响。由于正弦曲线啸声的性质,具有最大幅度的麦克风信号频率分量被认为是啸叫分量。用于区分候选啸叫分量和音调分量的频谱特征基于如下特征:1)PTPR:峰值与阈值功率比,2)PHPR:峰值与谐波功率比,3)PAPR:峰均功率比,4)PNPR :峰值到邻近功率比,5)IPMP:帧间峰值幅度持续性,以及6)IMSD:帧间幅度斜率偏差。啸叫检测的时间特征主要依赖于:ⅰ)持续时间较长的啸声分量;ⅱ)指数增加幅度直至饱和。由于陷波滤波器的不必要的激活,虚警的高概率导致音质差,低的检测概率也可能由于啸叫而导致音质差。单个特征标准的逻辑联合降低了虚警的概率,但对检测概率没有影响。通过将PHPR,PNPR和IMSD标准的成对逻辑连接和由所有三个PHPR,PNPR和IMSD特征组合的附加三特征标准结合起来,定义了三个新标准。新的标准显示了对于固定的检测概率的虚警的急剧下降。通过激活一组可调陷波滤波器中的相应陷波滤波器来消除检测到的啸叫频率。
基于LMS自适应陷波滤波器和锁相环[5]的啸叫检测具有非常低的计算复杂度和较短的检测延迟。 这种方法的区别在于使用锁相环来实现90度移相器。 这里的啸叫检测是通过只有两个自适应参数的自适应陷波滤波器实现的。
在基于DSP的公共广播系统的声学反馈消除器[2]中,通过对最强峰值频率执行三次测试来实现啸叫检测。最初,将峰值功率分量对照阈值进行检查,在阈值之上,将其标识为可能的声学反馈。第二个测试确定了最后N个样本的平均功率,它可以检测出相对于峰值频率的相对阈值。第三个是对二次谐波功率含量的测试。它基于语音具有较强谐波分量而反馈噪声具有较少或不具有谐波分量的事实。具有与音调一致的陷波频率的陷波滤波器被用于去除反馈信号。双抽头IIR滤波器通过25抽头FIR滤波器进行选择,因为易于实施并且存储空间最小。滤波器系数被预先计算并存储在存储器中。预先确定并优化每个滤波器的特性,以获得最佳性能。为了进一步提高性能,我们使用增益降低技术,在连续检测啸声时降低系统增益。这种方法不会在听觉上扭曲传输的信号。陷波滤波器的衰减带宽大约等于使用FFT获得的频率分辨率,难以听到。此方法可能无法检测偶尔可能发生的咔哒声。在这种情况下,几个频率可以满足啸声所需的反馈标准。
音频放大器系统[6]中的自适应啸叫抑制(AHS)与使用自适应滤波器的传统自适应噪声消除相比具有显着的优势。 该方法克服了自适应反馈消除中系数需求过大和LMS算法适应速度慢的缺点。 AHS方法要求系统的系数较少,并且作为啸声频谱降低的陷波滤波器特性。 提出了可变动量最小均方(VMLMS)算法,以克服均方误差随LMS和NLMS算法收敛速度的增加。 VMLMS算法收敛速度快,MSE过低。 AHS结构由自适应FIR滤波器和非自适应滤波器组成。 自适应滤波器系数的每次更新被复制到非自适应滤波器,然后与反馈常数一起工作以提供IIR形式。
啸声抑制可以使用FFT和啁啾Z变换来执行。 一个具有相反相位,幅度和频率等于嚎叫信号的波被用来抑制啸叫[7]。 时间谱的统计分析用于[8]中的啸声抑制。功率谱的时间变化在稳定条件下是随机的,而在啸叫条件下在特定频率处呈现小的值。 功率谱的标准偏差用于检测在稳定和啸叫状态之间值有显着差异的啸声。 该算法包括同时计算功率谱和峰值频率的时间变化。 标准偏差根据功率谱的移动平均值计算。 使用合适的阈值来检测啸声。 与传统的LMS算法相比,这种方法的复杂度非常低。
在本文中,我们提出了一种基于频谱平坦度测量(SFM)的自动检测和抑制声波啸叫的方法。
- 基于SFM的噪声抑制方法
啸叫检测和抑制系统的框图表示如图1所示。来自麦克风的输入语音被馈送到啸叫检测阶段和增益块。 啸叫检测阶段检测到啸声的存在。 信号增益由增益选择逻辑适当调整。 一旦检测到啸叫,增益为零,零输出采样将被发送出去。 如果没有啸叫声,则输入将被传递到输出。
图1. 啸声抑制系统框图
2.1.啸声检测逻辑
频谱平坦度的测量用于测量信号幅度谱的平坦度并检查啸声的存在[1]。 采用的采样频率用fs表示。具有50%重叠的汉明窗口帧用于信号处理。采用1024点FFT计算幅度谱X(n,k)。 这使得频率分辨率足以处理? 这里n表示时间索引,k是频率索引。 我们使用了20个频段,频率范围为0到fs / 2,每个频段的带宽为fs / 40 Hz。 对于帧号n,我们使用计算频谱带b的频谱平坦度测量(SFM)。
其中bl和bu是频带b的下边界和上边界的频率指数,并且w是频带的宽度。 光谱平坦度测量值是作为几何平均值与算术平均值的比值计算的。 峰值频谱接近0。 平坦光谱的值为1。 当啸叫噪声占主导地位时,SFM在相应的帧中接近0。在带宽b中的啸叫由标志更新为
其中Ѳh表示用于检测啸叫的阈值。
对基于SFM的检测逻辑进行评估,使用基于计算机的设置进行预先录制的语音。 通过改变放大器增益记录不同的啸声。 它以16kHz的采样率记录。 每个波形都用30毫秒的海明窗口进行处理,并为所有帧计算SFM值。 使用这些SFM值检测具有啸叫的帧并估计啸声的频率。
图2 啸叫噪声
图3 例2中的波形的SFM值
图2中示出了记录的啸叫噪声的示例波形。该图的上部分表示时域行为,下部分表示相应波形的光谱图。 在几秒钟内没有啸叫。 嚎叫开始建立在麦克风和扬声器的特定位置,用于特定的增益设置和房间条件,并且达到饱和。 从频谱图可以看出,啸叫频率在1600Hz左右。
对于上面的波形,图3中示出了具有啸声和无啸声的帧的SFM值。最初没有啸叫,并且相应帧(此处选择第10帧)的SFM值接近1.最后一帧被选择来检查 在该帧中第四频带的啸声和SFM值的存在接近零,这对应于1600Hz的频率。
2.2.增益选择逻辑
信号路径的增益由增益选择逻辑进行调整。 在有啸声的情况下,增益被设置为零,并且输出帧具有全零值采样。 在没有啸叫的情况下,增益继续为单位,从而使输出帧中的采样与输入帧的采样相同。
3.算法的实时实现
啸叫噪声抑制算法的实时实现利用DSP处理器TMS320C6713的增强型DMA功能。 直接内存访问(DMA)在内存和外设位置之间传输数据,而无需CPU的干预。 数据传输与CPU活动并行进行,最大限度地提高系统性能。 数据可以与CPU事件同时传输。 由于数据传输不是由中断驱动的,因此系统性能达到最大化。
我们已经配置了两个DMA通道来实现噪声抑制算法。一个通道从McBSP DRR(数据接收寄存器)到内部存储器,另一个通道从内部存储器到McBSP DXR(数据发送寄存器)。 EDMA配置为将每个16位有符号音频采样到达McBSP1,并将其存储在内存缓冲区中,直到可以处理。一旦处理完毕,EDMA控制器将数据发送回McBSP1进行传输。发送和接收都使用两个缓冲区。所以总共有4个缓冲区用于正确的EDMA操作。当EDMA传输完成时,它将产生一个中断,接收数据的处理将开始。当第一个缓冲区被填满时,可以在知道当前EDMA传输不会覆盖它的情况下处理第二个缓冲区。对于1个EDMA传输的完成,它需要一个等于缓冲区大小乘以1个采样周期的时间间隔。啸声检测和抑制所需的信号处理可以在这段时间内完成。基于频谱平坦度测量(SFM)进行啸叫检测。 CODEC的采样频率被设置为8kHz,并且针对每一帧计算SFM。由于帧长取为300个样本,所以EDMA缓冲区大小被配置为300.可以在填充另一个缓冲区的同时执行这300个样本的处理。基于标志H检测啸声的存在。如果帧中的20个波段中的任何波段具有小于阈值的SFM值,则标志将被设置。然后抑制该帧并将零输出样本发送给扬声器。找到的阈值的最佳值是0.15。默认情况下,H处于复位状态,同样的输入信号被发送到输出端。
4.实时实验结果
图4表示当输入信号是没有任何啸声的纯语音信号时接收缓冲器的值。 图5显示了当输入信号被啸叫噪声污染时接收到的缓冲器的值。 图4中的波形是具有特定频率的正弦波,表示啸声的音调性质。
图4没有啸叫的语音波形
图5 啸叫噪声波形
图6语音波形的SFM值。
SFM缓冲区的值如图6和图7所示。 语音信号帧的SFM值如图6所示。可以看出,SFM值接近1.当发生啸声时,帧中的一些频带具有接近零的SFM值,并且这在图6中示出。7。 从图中可以看出,SFM值在第8,9和10个频带中较少,值分别为0.094,0.084和0.124。 由于实时处理中使用的采样频率为8 kHz,因此每个频段的宽度为200 Hz。 所以啸叫频率在1800赫兹左右。
图7 噪声波形的SFM值。
5.总结
啸声对演讲者和观众非常恼人,并且通过自动方式抑制啸叫噪音具有很高的实际重要性。本文旨在开发一种实时啸声抑制系统,可用于课堂,研讨会等场合,单个扬声器的语音由单个麦克风捕捉。啸叫检测算法的离线实现在MATLAB中实现,并使用预先录制的语音进行测试。使用TMS320C6713 DSK进行啸声检测和抑制系统的实时实现。整个实现基于DSP处理器的直接存储器存取(DMA)功能完成。基于DMA的样本采集和缓冲算法比运行在中断上的算法更有效。啸叫检测是基于每个输入语音帧的频谱平坦度测量(SFM)完成的。对于没有啸叫的帧,输入将被传递到输出。一旦检测到啸声的存在,通过使输出帧具有零值样本来执行啸叫抑制。在系统的啸叫检测部分中需要进一步的修改,例如使用说话者自适应和动态更新SFM阈值的可能性。需要研究啸声抑制系统对乐器等非语音输入信号的影响。
具有时变特性的声学噪声的未知周期分量的自适应反馈抑制
摘要
噪声水平的有效衰减是声学系统中的一个重要问题。 在本文中,我们提出了一种有效的自适应输出反馈控制方案,该方案可以在存在建模不确定性的情况下,大幅衰减由周期信号和随机噪声混合而成的窄带噪声。 振幅,相位和频率以及周期项的数量是未知的,并且可能随时间而变化。 针对连续时间单输入单输出系统,分析了所提方案在非结构化建模不确定性方面的性能和有效性; 但是,结果可扩展到多通道系统。 尽管存在时间变化,建模误差和随机噪声,但仍能够成功衰减干扰的未知周期分量。 此外,还介绍了如何选择某些设计参数以提高性能的指导原则。
关键词:周期性噪声抑制,未知时变频率,有效自适应控制
- 说明
近几十年来,对各种系统中不需要的声音和振动的控制一直是工程研究的主题。在许多工业应用中,不需要的声音和振动可以分为周期性或准周期性干扰,主要由旋转或往复运动组件如电动机,压缩机,发动机,冷却系统,风扇,螺旋桨,空调系统或可以通过磁共振成像(MRI)系统中的共振线圈产生(Nelson和Elliott,1992; Benesty等,2008; Rudd等,2012)。在有源噪声控制中,主要目标是通过产生抗噪声来降低环境中有用空间的噪声水平,即产生某些扬声器(控制致动器)的噪声干扰声场,使噪声电平在麦克风(误差传感器)的位置尽可能小。由于空间限制,主动噪声控制主要处理低频声学噪声(通常
全文共6569字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[16129],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。