由上述公式(4)可以看出,参考信号x(n)需由次级通路传递函数hs(n)进行滤波,所以在有源噪声控制算法迭代之前,首先必须得到次级通路的传递函数。
估计次级通路传递函数的方法称为次级通路建模,一般有自适应离线建模和自适应在线建模两种方法。自适应在线建模要求在有源噪声控制系统运行的同时,对次级通路响应进行实时建模,对系统的运算能力要求较高。如果在有源噪声控制的整个过程中,次级通路的系统特性保持不变或基本不变,就可以采用自适应离线建模方法。本系统中即采用自适应离线建模,其框图如图3所示。
首先由DSP产生一个随机白噪声序列,同时送入次级声源和自适应建模滤波器C(z),误差传感器接收的信号e(n)作为建模滤波器的期望信号,滤波器的输出信号z(n)与期望信号e(n)相减抵消后,输入建模滤波器,自动调节滤波器权系数。次级通路建模采用LMS算法,其迭代运算公式如下:
式中:uc为次级通路建模滤波器的步长因子;N为次级通路建模滤波器的阶数。
实际应用中,应先关闭外部噪声源,采用DSP随机产生的白噪声作为次级通路激励源。DSP先执行次级通路滤波器的迭代,待次级通路LMS滤波器稳定后,将次级通路滤波器系数固定不变,代入上述的FXLMS滤波器进行有源消噪迭代运算。
2 系统硬件设计
本系统为单通道前馈结构,以高速DSP芯片TMS320VC5509为核心,采用两片16位高精度模数转换器件AD976A实现两路模拟信号的同步采集,并选用CPLD器件EPM7192SQC160-10设计锁存器,以串行D/A器件AD50C完成输出反噪声信号的D/A转换,选用16 Mb FLASH闪存芯片作为程序存储器,并在片外扩充一片64 Mb SDRAM作为外部数据空间。系统硬件框图如图4所示。
设计选用的VC5509DSP芯片最高支持144 MHz的时钟频率,具有高达288 MIPS(每秒百万条指令数)的处理能力,是一款具有较高性价比的低功耗DSP芯片。音频接口采用的AD976A为一款高精度、高速率的并口A/D转换器件,抽样速率可从8~200 KSPS,抽样速率的改变可通过改变输入时钟来实现,从而可实现在不改变硬件的情况下通过软件设置进行扩展。CPLD通过编程给A/D器件提供8 kHz采样频率,并设计采样保持锁存器。经由DSP的片选引脚CE2和地址引脚A1寻址,两个A/D转换器的锁存器地址分别设为0X400000和0X400001。CPLD与DSP连接图如图5所示。
AD50C为TI公司生产的16位可编程串行音频接口芯片,可通过DSP编程控制收发增益和采样频率。其串口与DSP的同步串口连接如图6所示。
系统信号流程如下:AD976A对噪声参考信号x(n)和误差信号e(n)进行8 000次/s采样,每次采样后由AD976A1的“BUSY”引脚触发DSP的外部中断4 INT4,在中断服务程序中DSP依据地址将CPLD锁存器中的两个数据分别读至内部存储器DARAM中,进行算法运算。算出反噪声序列y(n)后,在INT4中断服务程序中将其送至DSP串口MCBSP0,再通过AD50C数模变换后,送往扬声器发出反噪声。