一、项目概述
1.1 引言
随着现代工业的发展,噪声污染已成为一个世界性的问题。长期以来,人们不断寻找噪声控制的有效方法。在传统噪声控制中,主要采用吸声材料、阻尼处理、结构消声等无源消声方法,这种方法虽然能够很好的消除高频噪声,但是对波长较长的低频噪声是不适用的,虽然低频噪声对生理的直接影响没有高频噪音那么明显,但是近来国内从事低频噪声研究的专家指出,低频噪音会引起头痛、失眠等神经官能症,更严重的影响了人们的健康,噪声污染的消除是一个急待解决的问题。
有没有一种能够既可以消除低频噪声又可以消除高频噪声的方法呢?经过查阅资料我们发现了一种全新的消噪理念--主动消噪:它通过采集噪声信号经移相,增益处理后释放与原声波振幅相同但相位相反的声波信号与原噪声相抵消,从而更有效的消除噪声,此方法不仅能消除高频噪声还能消除低频噪声,真正营造一个环保、舒适的环境,有利于人们更好的学习、工作和生活。
1.2 项目背景/选题动机
二十世纪二十年代,电子学的发展奠定了有源消声控制(ANC) 的基础,从而开辟了噪声控制的新领域。1933 年,德国的Paul Lueg 初步提出了ANC 的基本思想,即:在待控制的声场区域建立一个与待消除的声音强度相同、相位相反的声场(即次级声场———secondary sound field) ,利用波的干涉原理,人为造成声场的相消干涉,从而消除噪声。同时,Lueg 还指出了实现这一思想的可能性:“空气中的声速远小于电脉冲的速度,意味着当声波从它的检测点传到控制点时,在电子电路中有足够长的时间用于处理这个声信号和驱动控制单元,这段时间的富裕程度取决于噪声的类型、频率和系统的物理尺度”。70 年代以后,随着声学理论和控制理论的迅速发展,人们逐渐对有源消声控制的机理有了更深刻的理解。鉴于常见的噪声源大都具有强烈的时变特性,因此,在自适应理论日渐成熟后,人们开始探索自适应有源消声控制(AANC) 这一极具应用价值的新课题。AANC 以恰当的自适应算法自动调整次级声信号,确保次级声信号能有效地跟踪并抵消噪声信号,达到消除噪声目的。
虽然国内外也有一些人在研究这个课题,但是实际效果不甚理想,比如一些消噪耳机,但佩戴着耳机也会给生活带来一定的不便,戴的时间长了,人可能会感觉不舒服;在电路实现方面,我们选用AVR这一低功耗的芯片作为主控芯片,外加一些其他的辅助芯片元件。此设计与传统的以模拟信号处理实现反相,增益的电路相比功耗要低得多,与那些以单片机+DSP的电路相比要节省很多成本。
本系统示意图如下:
在某一区域内采集噪声信号,将其转换为电信号并送往处理电路,处理后能够通过喇叭放出与原噪声反相的噪声,并能够恰好在某一区域内噪声相互抵消,达到消除噪声的目的。此设备不仅适用于那些需要安静的场合,比如教室、图书馆、办公室、卧室、病房等;也同样适用于那些噪声很大,需要降低噪声的场合,比如大型工厂车间、嘈杂的菜市场、商场等。
本设计采用AVR高性能,低功耗单片机作为主控CPU,节能模式下电流在nA级别,节省能源,而且它的指令执行速度与数据吞吐量大,采用自适应算法--归一化最小均方算法,稳态误差小,收敛速度快,计算量相对其他算法较小。本系统相对传统的模拟电路消除噪声有着无可比拟的优点,内嵌的自适应算法进行自动校准,将误差控制在较小的范围之内,达到有效的消除噪声,营造一个环保,安静的环境。
二、需求分析
2.1 功能要求
通过收集噪声信号,经过处理后能够释放出与原噪声信号相位相反、幅度相同的噪声信号。当需要消噪的时候开启设备,由于系统本身对消除噪声的区域有一定的限制,所以采用多点布控的方法,在多个位置采集数据,让噪声消除区域最大化,白昼模式下,当声音超过50dB时,自动进行噪声消除;夜晚模式下,当声音超过30dB时,自动进行噪声消除。高标准模式下,当声音超过40dB时,自动进行噪声消除;在低标准模式下,当声音超过70dB时,自动进行噪声消除。
2.2 性能要求
1、系统各模块正常工作,稳定性较好,功耗较低在可容许范围之内;
2、在一定范围内,实现噪声的消除或降低;
3、通过按键实现模式的切换;
4、各模式能够实现相应的功能并达到相应的标准;
5、CPU计算性能强大,处理数据的速度快,减少延迟时间,保持原噪声和反相噪声同步。
6、实行多点布控是能够防止声音因为干涉而使空间内出现声音不均匀现象(一些区域声音强一些区域声音弱);
三、方案设计
3.1 系统功能实现原理
3.1.1技术特点:
任何系统都不可避免地受到噪声的影响,如何有效地消除和抑制噪声是多年来的热门研究课题之一。噪声抑制方法可以分为两大类被动噪声抑制和主动噪声抑制。本设计主要研究基于AVR控制自适应的主动噪声抑制技术及其实现方法,本设计应用自适应算法中的归一化最小均方算法(NLMS),NMLS算法相比最小均方算法具有收敛速度快,稳态误差小,运算量小的特点,在算法设计过程中将应用MATLAB软件对自适应算法在噪声抵消的应用进行仿真,针对各类不同参数和不同输入信号,分析比较各种情况下的移相增益放大收敛速度、稳态误差力求完成对噪声信号的消除。在理论和仿真的基础上,结合基本硬件平台设计移相器,增益放大器,在编程实现上将采用C语言编程的方法进行编程设计,实现自适应噪声消除功能。
因为主动消噪主要只能消除声源固定的噪声,而对声源不固定的声音消除起来是比较有困难的,对此我们想出了一些策略来应对,可以在一片区域内进行多点布控,就是可以放置多个话筒和扩音器。通过经过精确的计算可以确定出话筒和扩音器放的位置,这样的话大范围噪声消除便成为了可能。
3.1.2原理说明:
利用XF-18D麦克风在需要消噪区域进行声音采集,由于声音信号比较微弱,用放大器将采集信号放大,AVR对采集的信号进行A/D转换,通过自适应算法对信息进行相应的处理控制移相器和增益放大器,进行自动校准,使得经过处理产生的信号与理论值误差尽可能的小,信号传送给功率放大器,功率放大器将处理好的数据进行适当的放大,以驱动扬声器将声音发送到消噪区域,这样在消噪区域正常的噪声遇到与其相位相反,振幅相等的声波,噪声的能量会大大降低,利用这样的原理进行有效的消除噪声。
系统硬件框架图:
1、声音采集放大模块:
声音测量通过驻极体XF-18D麦克风阵列进行测量。XF-18D麦克风是电容式微麦克风,输入信号为声音信号,输出信号经前置放大电路后进行电压值A/D采样。处理器(AVR)进行A/D采样捕获到较宽范围的声音信号。
2、处理器(AVR)模块:
由于外界来的噪声信号是宽频带信号,信号的幅度也是多种多样,对这种信号的处理需要使用高性能,处理数据快的单片机,利用AVR单片机高性能的特点,计算宽频噪声信号的频率,幅度和相位,采用自适应算法中的最小均方差算法对移相器,增益放大器进行校准,使移相增益之后的信号与噪声信号的误差达到最小。以达到减弱或消除噪声的目的。
3、移相模块:
移相电路利用AD5227 64步递增/递减数字电位器IC3可以控制输进到输出的移相,并替换电阻值。计算输出中心频率的公式为:FCENTER=1/(2*∏*R*C)。AD5277可以取各种不同范围的电阻值。该例子中的电阻为10kΩ。通过步进64个点,720kHz输进正弦波可以从0度到360度循环若干次。AD5277作为一个电位器,A和B为两端,W为擦拭器。
4、压控增益模块:
如图所示为此设计压控增益放大电路。利用场效应管栅极电压与漏-源极电阻RSD之间成近似对数关系可构成压控增益放大器。该电路采用集成芯片LM307作为放大电路,采取反相输入形式。由图可知,RSD与R1组成分压电路(对Vi分压)。4个1N914二极管的管压降与电阻R5的压降之和等于场效应管的栅极电压VG。该VG与控制电压VC呈非线性关系,但控制电压VC与放大器增益的衰减量的对应关系如图(b)所示。由图(b)可知,控制电压VC越大,放大器增益的衰减量越小,即当VC≥7V时,放大器的增益最大(衰减最小);当VC=0V时,放大器增益的衰减量最大(增益最小)。图中所示电路增益的最大值和最小值为:
当VC≥7v时,增益的最大值为:Avmax=-R3/(R1 R2)。
当VC=0V时,增益的最小值为:Avmin=-R3/(R2//RSD R1)。
电路的上限截止频率取决于R1和场效应管极间电容所构成的低通滤波器。对于图中所示元件参数,其最坏上限截止频率可达1.8MHz,该数值是在VC≥7V的情况下测得的(即电路增益最大时测得的)。
LM307集成芯片的主要参数(典型值)
Vs=+-15V Ta=25°C |
|||||
参数 |
LM307 |
单位 |
参数 |
LM307 |
单位 |
输入偏流 |
250 |
nA |
电源电压范围 |
+-5~+-15 |
V |
输入差模电阻 |
0.5 |
MΩ |
输出电压峰峰值 |
+-12 |
V |
共模输入电压范围 |
+-12 |
V |
静态电流 |
3 |
mA |
共模抑制比 |
70 |
dB |
|
|
5、功率放大器:
如下图所示,R6为反馈电阻,取值22kΩ较合适,R6也决定本电路的增益,值大增益将增大。
功率管静态电流取决于R7、R8,当其值在10kΩ以下时,电路将处于甲类状态,静态电流可调至100mA~2A,取30kΩ时,电路工作于乙类且相当稳定。
由于处理数据量较大,且处理数据的速度要求相对较高,要求CPU性能相对较高,选用32位高性能AVR单片机(SDRAM控制器)及片外SDRAM数据存储芯片;显示环境噪声分贝数需要用LCD屏,系统的各个模块需要用到相应的芯片:1、采集信号放大模块 OPA2394运算放大器 2、模拟移相模块 AD5277芯片 3、压控增益 LM307 4、功率放大模块采用TDA7294运放
基于以上需求本设计选用EVK1100硬件开发平台。
3.3系统软件架构
软件程序分为上图所示几个模块,主要有初始化模块、时钟模块、模式控制模块、按键控制模块、显示模块、数据处理模块等。
初始化模块:主要是初始化芯片和硬件系统,时钟用于计算时间、显示时间,可以根据时间进行模式切换。
模式判断与选择模块:用于选择执行哪种模式,模式选项主要有自动模式与手动模式,其中自动模式可以根据时间进行判断是白天模式还是夜间模式。不同模式对噪声消除的效果也是不同的。
按键控制模块主要是为了判断用户输入的信息,进而进行相应的处理。
显示驱动是为了驱动系统送来需要显示的数据。
数据处理模块:最重要的模块,采用自适应算法中的最小均方差算法,处理外部输入的采样信号,主要有计算出输入信号的大小并量化为分贝大小,然后将处理后的数据送出显示,它还要通过分析输入的信号来控制数字电位器与功放的增益参数。
数字电位器模块:由于原噪声经过采集,放大电路之后相位幅度会有所变化,AVR单片机对采集到的信号计算出相位,频率,振幅之后通过设置pwm的占空比控制AD5277芯片的clk,控制移相器对噪声进行相应的移相工作。
压控增益模块: 从移相器电路接收到的信号幅度与噪声信号会有所偏差,AVR单片机经过计算,通过电压信号控制增益放大模块知道增益达到较好的效果,再将信号发送到功放通过扬声器将信号发送出去,由于扬声器传送的声音信号与距离平方成正比,所以扬声器需要放到与消噪区域一定距离的地方。
3.4 系统软件流程
从初始化开始,进行相应的复位与初始化系统,默认进入智能模式,进行噪声消除,所谓智能模式是指白天(7:00-21:00)当噪声大于50dB是就开始消除噪声,晚上(0:00-7:00&21:00-0∶00)当噪声大于30dB时就开始消除噪声,与智能模式相对的则是手动模式,该模式分为两个标准,高标准模式与低标准模式,其中高标准模式在噪声大于40时就开始消除噪声,低标准则是在噪声大于70时开始处理噪声。进入相应的模式后,就会按不同的标准来处理噪声。
显示主要是显示当前时间、当前环境的噪声大小及所选择的模式。
中断控制模块
当按键按下时,触发中断,在中断处理程序中,根据按键按下次数切换至相应模式,按下一次进入低标准模式,此时声音最高允许达到70dB,例如进行激烈讨论时,可切换至该模式;当按下两次时,切换至高标准模式,此时要求声音不高于40dB,适合环境要求较为安静的场合;当按键按下三次时,恢复为自动模式。
3.5 系统预计实现结果
上电之后初始化,复位工作正常,模式正常切换,单片机内部程序运行正常,计算数据误差在3%(可控范围)之内,移相器电路移相误差在5%范围之内,压控增益误差在可容许的范围之内,噪声消除可能消除的不会很彻底,会残留一部分能量较小的,还会有一点声音。系统总体功耗在可容许的范围之内。