论文部分内容阅读
随着社会的不断发展,城市内的噪音问题也越来越大。在城市生活中有很多的噪声:工厂内机器的运行声音、马路上机动车的引擎声音和喇叭声音、街道上外放的音乐噪声等。这些噪音不仅会催生人很多不好的情绪,如愤怒、暴躁、焦急等,而且会造成听者失眠,以至于对工作和学习都有非常消极的影响。因此为了解决噪音问题,噪声控制技术受到重视并且快速的发展了起来。噪声控制技术可分为两种:被动噪声控制技术和主动噪声控制技术,这两种噪声控制技术在市场上均具有由其降噪原理而开发出的降噪产品。最先出现的是被动降噪技术,因为其不仅设计成本低又原理简单,而且拥有较大的降噪空间,然而虽然被动降噪技术具有较好的控制效果,但其降噪频率只针对高频噪声,表现出的缺点是针对非高频噪声具有较差的降噪效果。由于被动降噪技术的局限性,主动降噪技术的研究和探索开始受到重视,主动降噪技术不仅可以克服被动降噪的降噪弊端,而且表现出了更好的降噪性能。主动降噪技术可以理解为利用声波叠加原理,产生声波用来抵消空间中产生的噪声,该声波与噪声幅值相同、相位相反。主动降噪还可分为前馈降噪以及反馈降噪,两者结构完全相同仅系统输入不同,前者输入是初级噪音而后者为残余噪音。前馈降噪系统非常稳定但易受外部环境影响,而反馈降噪不受外部环境干扰却不够稳定,无法做到大的降噪带宽。复合式降噪可看作前馈与反馈的结合,它同时具有两者的优点。控制自适应滤波器实时更新权重FXLMS(filtered-x least mean square)算法是主动降噪系统的核心,此算法的性能会直接影响到主动降噪系统的降噪表现。LMS(Least Mean Square)算法拥有实现起来比较容易、稳定良好的性能、广泛的应用范围这几种优点。LMS算法的原理可以理解为把经过权值更新的权值作为输入,然后通过算法的运算,最后使得输出的误差信号达到此运算序列的最小,之后再根据此误差值来重新更新下一组的权值,如此反复不断使得误差值最小化。在设计的实际应用中,通过误差麦克风来收集残余噪音来作为LMS算法的系统误差输入信号,通过算法来实时修改滤波器的权系数,最终实现残余噪音最小化这个目的,然而在面对实际的应用场景时,系统扬声器发出的声音信号传入到误差麦克风生成的的次级声道,这会对算法的性能产生极大的影响,严重时会造成系统发散。FXLMS算法就是一种将次级声道考虑进去的自适应算法,此算法的做法是利用一个FIR(Finite Impulse Response)滤波器来模拟次级声道,加强了系统在面对次级声道时的降噪效果。本文主要完成以下工作:1.通过对FXLMS算法的学习,结合算法要实现的功能,在matlab中共编写了三种子模块:Delay延迟模块、Filter滤波模块和LMS权重更新模块。通过在顶层模块中对这三种子模块进行结合来完成4种操作:滤波、次级声道模拟、计算梯度、权重更新。根据这四种操作绘制算法结构框图来实现需要完成的功能。最终通过软件仿真完成工作:(1)通过采集的噪音输入,利用软件搭建仿真模型,验证了编写的顶层模块完成的主动降噪的降噪性能。(2)在matlab中模拟初级声道。(3)通过comsol搭建头戴式耳机模型,最后得到头戴耳机的耳道内实际声音的传递函数,根据此传递函数在matlab中完成次级声道离线建模。2.根据验证的matlab模型进行硬件设计,利用matlab模型中已经定义的子模块,使用硬件语言在modelsim上完成相对应的硬件的子模块的定义,将硬件的子模块设计例化在顶层模块来设计一款适用于头戴式耳机的主动降噪芯片。该芯片实现了基于次级声道离线建模的FXLMS算法的复合降噪,并创新性地设计了资源复用算法,在芯片上设计了一个ANC(Active Noise Cancellation)系统,使其在一次滤波周期内先后完成前馈降噪和反馈降噪,从而在实现复合降噪的同时做到综合后的芯片拥有低功耗、低面积的优点。经过仿真验证,本设计的ANC芯片对于各种噪音都具有一定的鲁棒性,具有较大的降噪深度以及降噪带宽。3.在完成主动降噪的硬件设计后,首先在modelsim平台完成了对硬件模型的验证,之后又通过将硬件验证得到的的数字输出结果上传到matlab得到了软件的仿真波形,验证其设计的正确性。将硬件的代码上传到综合工具上,生成芯片的门级综合网表和综合报告。本文设计的综合实现基于Global Foundry的0.18um工艺,运行在48MHZ时钟下,芯片功耗为19.0782m W,面积为667039um~2,setup、hold time均满足要求。设计在完成之后经过多轮的仿真测试及后端综合。