Processing math: 5%

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

工作空间噪声主动控制ChFxLMS算法

李飞 黄双

李飞, 黄双. 工作空间噪声主动控制ChFxLMS算法[J]. 上海工程技术大学学报, 2022, 36(3): 284-289. doi: 10.12299/jsues.22-0013
引用本文: 李飞, 黄双. 工作空间噪声主动控制ChFxLMS算法[J]. 上海工程技术大学学报, 2022, 36(3): 284-289. doi: 10.12299/jsues.22-0013
LI Fei, HUANG Shuang. Active control of workspace noise based on ChFxLMS algorithm[J]. Journal of Shanghai University of Engineering Science, 2022, 36(3): 284-289. doi: 10.12299/jsues.22-0013
Citation: LI Fei, HUANG Shuang. Active control of workspace noise based on ChFxLMS algorithm[J]. Journal of Shanghai University of Engineering Science, 2022, 36(3): 284-289. doi: 10.12299/jsues.22-0013

工作空间噪声主动控制ChFxLMS算法

doi: 10.12299/jsues.22-0013
基金项目: 国家自然科学基金项目资助(51905331);上海研发公共服务平台建设项目资助(18DZ2295900);上海工程技术大学青年科研团队培育计划资助(QNTD202112)
详细信息
    作者简介:

    李飞:李 飞(1996−),男,在读硕士,研究方向为振动与噪声控制. E-mail: 2211675029@qq.com

    通讯作者:

    黄 双(1989−),女,副教授,博士,研究方向为振动与噪声控制. E-mail: huangshuang2000@126.com

  • 中图分类号: TP202

Active control of workspace noise based on ChFxLMS algorithm

  • 摘要:

    为改善滤波x最小均方(Filter-x Least Mean Square,FxLMS)算法不能同时兼顾稳态误差与收敛速度的不足,提出一种基于cosh函数的变步长FxLMS(Cosh-FxLMS,ChFxLMS)算法. 通过cosh函数建立误差信号与步长因子间的联系,使得步长因子按照cosh函数特性实时调整;分析不同参数对ChFxLMS算法性能的影响,为算法参数选取作指导;分别将正弦信号和实测织机信号作为输入信号,对ChFxLMS算法性能进行验证,并与FxLMS算法、基于sigmoid函数的变步长FxLMS(Sigmoid-FxLMS,SFFxLMS)算法进行对比. 仿真结果表明,ChFxLMS算法性能在时域和频域上都取得较好的控制效果. 分析结果表明,该算法能较大地降低稳态误差和提高收敛速度. 该研究成果可为工作空间噪声主动控制提供一种新思路.

  • 主动噪声控制(Active Noise Control,ANC)利用相消干涉原理实现自适应降噪目的,因其低复杂度、高稳定性以及易于实现等优点被广泛关注[1-2]. 最小均方(Least Mean Square,LMS)算法最早应用于ANC系统,其具有低计算量、易实现等优点[3-4],但该算法忽略了由次级通道产生的时延问题[5],控制效果不理想. 针对这一不足, 滤波x最小均方(Filter-x Least Mean Square,FxLMS)算法被提出,并引入对次级通道的估计,很大程度上弥补了LMS算法的缺陷[6-7]. 但由于FxLMS算法采用固定步长,无法兼顾收敛速度和稳态误差,因此变步长算法应运而生. 张帅等[8]提出基于归一化频域块的变步长LMS算法,计算效率得到大幅提升. Huang 等[9]提出一种收敛速度快、跟踪能力高、稳态误差小的VSS−FxLMS算法,性能远超FxLMS算法. Meng等[10]提出一种广义修正自适应FxLMS算法,对高脉冲噪声的控制效果非常好. 现有的变步长算法虽在一定程度上改善了固定步长FxLMS算法不能兼顾收敛速度与稳态误差的缺点,但是在收敛速度与稳态误差方面还需进一步提升. 本研究提出一种基于cosh函数的变步长FxLMS算法(ChFxLMS算法),使误差信号按照cosh函数特性对算法步长进行调整,以改善FxLMS算法收敛速度与稳态误差不能兼顾的不足. 最后通过正弦信号与织机信号控制仿真,验证算法的有效性.

    FxLMS算法以均方误差为目标函数,不断对自适应滤波器权值进行调整更新,使系统获得最佳抵消信号[11]. 图1为FxLMS算法框图. 其中H1(z)H2(z)分别为初级通道与次级通道的声学传递函数;W(z)为用来生成抵消信号的线性滤波器,其权值通过FxLMS算法进行调整;H2(z)为次级通道的估计,该部分的引入是为改善LMS算法存在的时延问题.

    图  1  FxLMS算法框图
    Figure  1.  Block diagram of FxLMS algorithm

    FxLMS算法整体流程如下[12].

    1)获取期望信号d(n),计算公式为

    {\boldsymbol{d}}(n) = {{\boldsymbol{H}}_1}(n) * {\boldsymbol{x}}(n) (1)

    式中:x(n)为需要降噪的噪声信号;{{\boldsymbol{H}}_1}(n) {H_1}(z) 的脉冲响应;*为线性卷积运算.

    2)生成抵消信号y(n),计算公式为

    {\boldsymbol{x}}'(n) = {{\boldsymbol{H}}_2}'(n) * {\boldsymbol{x}}(n) (2)
    {\boldsymbol{b}}(n) = {{{\boldsymbol{W}}}^{\text{T}}}(n){\boldsymbol{x}}'(n) (3)
    {\boldsymbol{y}}(n) = {{\boldsymbol{H}}_2}(n) * {\boldsymbol{b}}(n) (4)

    式中:{\boldsymbol{x}}'(n)x(n)经过 {H_2}'(z) 滤波的信号,主要用来参与生成抵消信号b(n);T为转置运算符号;{{{\boldsymbol{W}}}} (n)为线性自适应滤波器W(z )的脉冲响应;{{\boldsymbol{H}}_2}(n) {H_2}(z) 的脉冲响应;y(n)为抵消信号b(n)经过次级通道 {H_2}(z) 得到的次级信号,主要用于抵消期望信号d(n). 次级信号y(n)生成的主要过程为:参考信号x(n)先经过 {H_2}'(z) 滤波,再通过滤波器{W}(z),接着通过次级通道 {H_2}(z) 得到次级信号y(n).

    3)获取误差信号e(n)以及滤波器{{W}}(z)权值更新,计算公式为

    {\boldsymbol{e}}(n) = {\boldsymbol{d}}(n) - {\boldsymbol{y}}(n) (5)
    {\boldsymbol{w}}(n + 1) = {\boldsymbol{w}}(n) - 2\mu {e}(n){\boldsymbol{x}}'(n) (6)

    式中:µ为迭代过程中的步长因子,其取值会影响算法收敛的快慢以及稳态误差的大小.

    在FxLMS算法中步长无法改变. 采用较大步长µ时,系统快速收敛于一个稳定值,但稳态误差会随µ的增大而增大;采用较小步长µ时,系统稳态误差小,但系统收敛速度会随µ的减小而降低. 因此,收敛速度与稳态误差存在相互制约关系. 若在系统运行的每个时间点,步长能根据误差信号进行实时更新,使系统能够在快速收敛的同时具有较小的稳态误差,算法就会具有较好的性能. 考虑到cosh函数的曲线形状,用其建立步长因子µ(n)与误差信号e(n)的函数关系,得到µ(n)更新公式为

    \mu (n) = \beta \cosh (\alpha {\text{|}}{e}−(n){{\text{|}}^m}) (7)

    式中:αβm为待调参数. α控制函数µ(n)的取值范围,βm控制函数µ(n)的曲线形状,当α = 1、β = 1、m = 2时,步长随误差信号变化曲线如图2所示.

    图  2  步长随误差信号变化曲线
    Figure  2.  Variation curve of step length with error signal

    由图可知,当系统误差e(n)较小时,对应步长µ(n)也为一较小值,系统在稳定时便能获得更小的误差值. 而系统误差e(n)较大时,对应步长µ(n)随之变大,系统快速收敛,符合变步长FxLMS算法要求. 此时,滤波器的权值更新公式为

    {\boldsymbol{W}}(n + 1) = {\boldsymbol{W}}(n)- 2\beta \cosh (\alpha |e(n){|^m})e(n){\boldsymbol{x}}'(n) (8)

    为分析参数αβm对算法控制效果的影响,在Matlab中搭建ChFxLMS算法模型,改变其中一个参数,固定另外两个参数,观察控制后误差信号. 仿真时间2 s,输入噪声信号为振幅1、频率100 Hz的正弦信号. 参数分析前,调试得到αβm的取值范围分别为0~47.4、0~49、1~5.

    首先,分析α对ChFxLMS算法性能的影响. 设β = 1,m = 1,α分别为1、10、40,仿真得到α取不同值时误差信号曲线,如图3所示. 由图可知,α与算法的收敛速度呈正相关,即随着α值增大,系统越快收敛到一个稳定值. 因此,α应尽量取较大值.

    图  3  α取不同值时误差信号曲线
    Figure  3.  Error signal curves at different values of α

    然后,分析β对ChFxLMS算法性能的影响. 设α = 1,m = 2,β分别为1、5、10,仿真得到β取不同值时误差信号曲线,如图4所示. 由图可知,算法的收敛速度和稳态误差都会受到β值的影响. 当β=1时,误差信号没有收敛到一个定值;β = 5时,误差信号在1.2 s处收敛到一个定值;β = 10时,误差信号在0.8 s处收敛到一个定值. 随着β值不断增大,算法的收敛速度随之加快,稳态误差随之减少. 因此,β应尽量取较大值.

    图  4  β取不同值时误差信号曲线
    Figure  4.  Error signal curves at different values of β

    最后,分析m对ChFxLMS算法性能的影响. 设α = 1,β = 1,m分别为1、2、3,仿真得到m取不同值时误差信号曲线,如图5所示. 由图可知,当m取不同值时,算法收敛速度与稳态误差无明显变化,但随着m值持续增大,计算量会随着幂指数的增大而大幅增加. 因此,综合考虑计算量与稳态误差,m应选取较小值.

    图  5  m取不同值时误差信号曲线
    Figure  5.  Error signal curves at different values of m

    为验证本研究提出的ChFxLMS算法性能,将ChFxLMS算法与FxLMS算法和基于sigmoid函数的改进变步长FxLMS(Sigmoid-FxLMS,SFFxLMS)算法进行对比. 其中,SFFxLMS算法中步长更新公式为

    \mu (n) = {\beta _1}\frac{{|e(n){|^{{m_1}}}}}{{{\alpha _1}|e(n){|^{{m_1}}} + 1}} (9)

    式中: {\alpha _1} {\beta _1} {m_1} 为曲线形状调控参数.

    设置噪声信号为幅值为1,频率为300 Hz的正弦信号,仿真时间取2 s,FxLMS算法取µ = 0.1,根据调试,并结合2.2节中参数选取原则,得到SFFxLMS和ChFxLMS算法参数,见表1.

    表  1  正弦信号输入时各算法参数值
    Table  1.  Parameter values of each algorithm when sinusoidal signal is input
    参数SFFxLMS算法ChFxLMS算法
    {\alpha _1} {\beta _1} {m_1} \alpha \beta m
    4 6 1 40 10 1
    下载: 导出CSV 
    | 显示表格

    通过仿真,3种算法误差曲线如图6所示. 由图可知,对于正弦输入信号, ChFxLMS的稳态误差最小,SFFxLMS算法次之,FxLMS算法最大. 本研究提出的ChFxLMS算法控制效果优于另外两种算法.

    图  6  正弦信号输入时3种算法误差曲线图
    Figure  6.  Error curves of three algorithms when sinusoidal signal is input

    为更清晰地比较不同算法的收敛速度,引入均方误差(Mean Square Error,MSE),计算公式为

    {\text{MSE = }}\frac{1}{L}\sum\nolimits_{t = 1}^L {{e^2}(t)} (10)

    式中:L为信号长度.

    3种算法的均方误差曲线如图7所示. 由图可知,FxLMS算法在1.0 s处收敛,SFFxLMS算法在0.5 s处收敛,ChFxLMS算法在0.03 s处收敛. 因此,对正弦信号进行控制时,本研究提出ChFxLMS算法在收敛速度和稳态误差方面均有较好的效果.

    图  7  正弦信号输入时3种算法均方误差曲线图
    Figure  7.  Mean square error curves of three algorithms when sinusoidal signal is input

    大型机械工作空间如纺织车间,在机械运行时会持续产生高强度噪音,这会对工人造成一定的损伤. 徐洋等[13]通过对簇绒地毯织机噪声源进行识别,发现其噪声主要集中在0~500 Hz. 因此,本研究用ChFxLMS、FxLMS、SFFxLMS算法对纺织机械簇绒地毯织机低频噪声进行仿真控制,验证3种算法对织机噪声的控制效果. 实测簇绒地毯织机噪声信号波形图,如图8所示.

    图  8  织机噪声时域波形图
    Figure  8.  Time domain waveform of loom noise

    仿真参数同样依据2.2节中的选取原则进行选取,FxLMS算法取µ = 0.1,SFFxLMS和ChFxLMS算法选取参数值见表2. 仿真得到3种算法误差曲线对比图如图9所示. 均方误差曲线如图10所示. 由图9可知,对织机噪声进行控制时,FxLMS算法控制后的误差最大,其次是SFFxLMS算法,本研究提出的ChFxLMS算法控制后误差最小. 由图10可知,ChFxLMS算法最快收敛,其次是SFFxLMS算法,FxLMS算法收敛最慢.

    表  2  织机噪声控制时各算法参数值
    Table  2.  Parameter values of each algorithm when loom noise is input
    参数SFFxLMS算法ChFxLMS算法
    {\alpha _1} {\beta _1} {m_1} \alpha \beta m
    4 0.9 1 20 5 1
    下载: 导出CSV 
    | 显示表格
    图  9  织机噪声控制3种算法误差曲线图
    Figure  9.  Error curves of three algorithms for loom noise control
    图  10  织机噪声控制3种算法均方误差曲线图
    Figure  10.  Mean square error curves of three algorithms when loom noise is input

    进一步比较3种算法的频域控制效果,如图11所示. 通过计算在0~500 Hz频段的平均降噪量可得,ChFxLMS算法的平均降噪量为21.9 dB,SFFxLMS算法的平均降噪量为7.2 dB,FxLMS算法的平均降噪量为6.9 dB. 因此,ChFxLMS算法在0~500 Hz频段的降噪上取得较好的控制效果.

    图  11  织机噪声控制频域控制图
    Figure  11.  Frequency domain control of loom noise control

    基于cosh函数特性,提出变步长ChFxLMS算法,该算法步长µ取值根据误差信号不断调整更新,改善了传统FxLMS算法不能兼顾收敛速度与稳态误差的缺点. 深入分析各个参数值对ChFxLMS算法性能的影响,并对正弦信号以及织机信号进行控制仿真. 仿真结果表明,对正弦信号控制时,ChFxLMS算法收敛最快、稳态误差最小,对织机噪声控制时,ChFxLMS算法同样收敛最快,且取得21.9 dB的平均降噪量,有较好的控制效果.

  • 图  1  FxLMS算法框图

    Figure  1.  Block diagram of FxLMS algorithm

    图  2  步长随误差信号变化曲线

    Figure  2.  Variation curve of step length with error signal

    图  3  α取不同值时误差信号曲线

    Figure  3.  Error signal curves at different values of α

    图  4  β取不同值时误差信号曲线

    Figure  4.  Error signal curves at different values of β

    图  5  m取不同值时误差信号曲线

    Figure  5.  Error signal curves at different values of m

    图  6  正弦信号输入时3种算法误差曲线图

    Figure  6.  Error curves of three algorithms when sinusoidal signal is input

    图  7  正弦信号输入时3种算法均方误差曲线图

    Figure  7.  Mean square error curves of three algorithms when sinusoidal signal is input

    图  8  织机噪声时域波形图

    Figure  8.  Time domain waveform of loom noise

    图  9  织机噪声控制3种算法误差曲线图

    Figure  9.  Error curves of three algorithms for loom noise control

    图  10  织机噪声控制3种算法均方误差曲线图

    Figure  10.  Mean square error curves of three algorithms when loom noise is input

    图  11  织机噪声控制频域控制图

    Figure  11.  Frequency domain control of loom noise control

    表  1  正弦信号输入时各算法参数值

    Table  1.   Parameter values of each algorithm when sinusoidal signal is input

    参数SFFxLMS算法ChFxLMS算法
    {\alpha _1} {\beta _1} {m_1} \alpha \beta m
    4 6 1 40 10 1
    下载: 导出CSV

    表  2  织机噪声控制时各算法参数值

    Table  2.   Parameter values of each algorithm when loom noise is input

    参数SFFxLMS算法ChFxLMS算法
    {\alpha _1} {\beta _1} {m_1} \alpha \beta m
    4 0.9 1 20 5 1
    下载: 导出CSV
  • [1] 胡异丁, 王凤森, 杨敏, 等. 一种改进变步长LMS自适应滤波算法[J] . 计算机仿真,2020,37(7):291 − 295. doi: 10.3969/j.issn.1006-9348.2020.07.057
    [2] 韩啸, 陈钟荣. 一种改进反正切函数的变步长LMS算法[J] . 中国科技论文,2019,14(7):759 − 764,772. doi: 10.3969/j.issn.2095-2783.2019.07.010
    [3] 吴瑶, 张海霞. 一种变步长LMS自适应滤波的改进算法[J] . 通信技术,2021,54(2):307 − 311.
    [4] 洪丹枫, 苗俊, 苏健, 等. 一种变步长凸组合LMS自适应滤波算法改进及分析[J] . 电子学报,2014,42(11):2225 − 2230. doi: 10.3969/j.issn.0372-2112.2014.11.015
    [5] 陆森林, 默超. 车内ANC系统次级通道辨识及仿真研究[J] . 重庆理工大学学报(自然科学),2016,30(3):22 − 27.
    [6] GUO H, WANG Y S, LIU N N, et al. Active interior noise control for rail vehicle using a variable step-size median-LMS algorithm[J] . Mechanical Systems and Signal Processing,2018,109:15 − 26. doi: 10.1016/j.ymssp.2018.02.040
    [7] 束建华, 付志浩. 改进FxLMS算法在主动振动控制中的应用[J] . 计算机工程与应用,2015,51(12):230 − 234. doi: 10.3778/j.issn.1002-8331.1411-0325
    [8] 张帅, 王岩松, 张心光. 汽车车内噪声主动控制变步长NFB−LMS算法[J] . 声学技术,2019,38(6):680 − 685.
    [9] HUANG B Y, XIAO Y G, SUN J W, et al. A variable step-size FXLMS algorithm for narrowband active noise control[J] . Speech & language processing,2013,21(2):301 − 312.
    [10] MENG H, CHEN S M. A modified adaptive weight-constrained FxLMS algorithm for feedforward active noise control systems[J] . Applied Acoustics,2020,164:1 − 8.
    [11] 褚轶景, 麦卓明, 蔡陈之, 等. 一种新型基于分布式FxLMS的主动噪声控制算法与空间平滑[J] . 南京大学学报(自然科学),2021,54(4):683 − 688.
    [12] ZHU W Z, LUO L, XIE A T, et al. A novel FELMS-based narrowband active noise control system and its convergence analysis[J] . Applied Acoustics,2019,156:229 − 245. doi: 10.1016/j.apacoust.2019.07.003
    [13] 徐洋, 张晓蕾, 盛晓伟, 等. 基于MEEMD−AIC的簇绒地毯织机噪声源识别方法[J] . 振动、测试与诊断,2018,38(6):1176 − 1181,1292.
  • 期刊类型引用(1)

    1. 牛贇靓. 基于主动噪声控制技术的校园房屋建筑减噪装置. 科技创新与应用. 2024(01): 147-151 . 百度学术

    其他类型引用(0)

  • 加载中
图(11) / 表(2)
计量
  • 文章访问数:  347
  • HTML全文浏览量:  151
  • PDF下载量:  71
  • 被引次数: 1
出版历程
  • 收稿日期:  2022-01-19
  • 刊出日期:  2022-06-30

目录

/

返回文章
返回