频谱可设的色噪声生成算法设计与实现
2013-10-22董海涛刘义海
董海涛,罗 建,朱 峰,刘义海
(西北工业大学航海学院,陕西西安 710072)
0 引言
环境噪声是信道中的一种干扰背景场,它是影响科学实验的重要因素之一。在科学研究或实验测试过程中,需要给信号加入不同特性的噪声来模拟实际环境背景,用以验证算法或测试方法的性能。由于环境噪声的复杂性,且通常情况下表现为色噪声,所以,用单纯的白噪声生成算法及其发生器[1,2]模拟环境噪声不能满足研究的需求。另外,对于某些特定实验场景更需要具有一定频谱结构的色噪声,这就需要研究可以进行频谱特征设定的色噪声生成算法及其发生器软硬件系统。
针对以上情况,本文基于自适应信号处理和Wiener最佳滤波器技术,本文提出了一种频谱任意可变的色噪声生成算法。为了能更好地验证和使用模拟环境噪声的时频域特性,设计了可方便进行频域设定的实时色噪声发生器,并给出该色噪声发生器的测试结果。
1 频谱任意可设的色噪声生成算法
频谱任意可设的色噪声生成算法的基本思想是构造线性系统,使之具有与要求模拟的噪声幅频特性相同的频率响应H(ω),然后通过白噪声激励此系统,产生功率谱为|H(ω)|2的色噪声信号。
本文采用自适应模拟技术[3]构造特定频率响应滤波器传递函数H(ω)[4,5]。为了使滤波器具有某一特定的频率响应,在滤波器所要求的频段范围内选取若干个离散频率f1,f2,…,fM,使滤波器在这些离散的频率点上能够具有给定的幅频响应和相频响应。基本的设计思想如图1所示。
假定输入频率为f1,f2,…,fM的正弦波信号
则伪滤波器的输出,即自适应滤波器的期望响应为
图1 特定频率响应滤波器设计框图Fig 1 Design block diagram of specific frequency response filter
其中,αi和θi分别为期望响应d(n)在频率fi处的幅度响应和相位响应,ci为正常数,是对频率分量fi的代价因子。
自适应滤波器的输入信号为
设自适应FIR滤波器的权系数为w,则图1中的自适应滤波器的输出信号
其中,L为滤波器的阶数。
由Wiener-Hopf方程,该滤波器的最优解为
其中,Rx为输入信号的自相关矩阵,P为期望信号与输入信号的互相关矩阵[6]。
采用LMS自适应算法逼近wopt
其中,μ为步长因子,0<μ<1/tr(Rx)。当w收敛时,w≈wopt。根据以上特定频率响应滤波器的设计思想,本文对滤波器的设计步骤如下:
1)在滤波器所要求的频段内均匀抽取多个频率,根据这些频率上的设计指标按式(2)得出伪滤波器的输出,并给出自适应滤波器的阶数和代价函数的初值。
2)由式(4)求出设计滤波器的解。
3)将设计出的滤波器的频率响应(幅频响应和相频响应)与设计指标相比较,如果设计的滤波器的频率特性与设计指标相差较远,则需要增加滤波器的阶数;如果滤波器频率响应虽然在给定的离散频率上满足设计指标,但是在离散点之间振荡得厉害,则应减少滤波器的阶数。重复步骤(2),最终得到一组最优系数。
2 算法的软硬件实现
色噪声生成算法的软硬件实现系统主要由任意频谱结构可设软件、串行通信接口、算法数字信号处理(DSP)模块以及模拟信号匹配输出四部分组成。频谱设定软件基于Matlab GUI,可通过多种方法对信号频谱特征进行设定、修改并生成一组特定频率响应滤波器系数,上位机通过RS—485通信接口将滤波器系数传递给DSP。算法DSP模块基于TMS320F2812 DSP,根据接收到的实时参数生成具有设定频谱特征的色噪声序列,并经信号输出部分实时输出信号。系统总体实现框图如图2所示。
图2 系统总体实现框图Fig 2 Overall complementation block diagram of system
2.1 硬件平台设计
2.1.1 串行通信接口设计
本文中通信接口主要用于向DSP传递生成的特定频率响应滤波器系数,没有大量数据传输,因此,为了简化电路设计文中通信接口采用目前最常用的RS—485标准接口通信。MAX485是一种差分平衡型收发器,采用半双工通信方式,内部含有一个驱动器和接收器,驱动器有过载保护功能。RO和DI端分别为接收器的输出和驱动器的输入端,连接时只需分别与TMS320F2812的SCIRXD和SCITXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态。接口电路如图3所示。
图3 串口通信接口电路Fig 3 Interface circuit of serial communication
2.1.2 数/模转换接口电路设计
本文采用TI公司的高性能立体声音频编解码芯片TLV320AIC23B实时输出生成的色噪声。TLV320AIC23B与TMS320F2812的接口由控制接口和数据接口两部分组成。控制接口用于设置TLV320AIC23B的工作参数,可选择采用SPI或I2C接口,本文采用模拟SPI接口方式;数据接口用于输入/输出TLV320AIC23B的A/D,D/A数据,一般采用IIS与DSP两种模式,可方便地与TMS320F2812的McASP串口相连接。接口电路如图4所示。
图4 TLV320AIC23B与DSP接口电路Fig 4 Interface circuit of TlV320AIC23B and DSP
2.2 算法软件实现
2.2.1 GUI任意频谱结构设定软件
GUI任意频谱结构设定软件基于Matlab GUI进行设计[7],包含频谱设定及修正、滤波器系数生成以及串口控制3个部分。频谱设定有鼠标画图、经验公式、数据文件加载等设置方法,对初始设置的频谱形状可通过鼠标拖动的方式进行修正,使频谱形状更加接近实际情况。频谱设定后,应用特定频率响应滤波器的设计方法,计算出设定频域形状的滤波器系数,经串行通信接口传递给DSP。该软件还可以控制DSP实时输出色噪声。
2.2.2 嵌入式软件设计
算法软件实现以TMS320F2812为平台进行软件编程。主要包括白噪声信号的产生、设定频谱形状色噪声信号的产生、串口通信、以及色噪声的实时输出等。
本文首先利用混沌映射[8]产生随机数的方法[9]得到伪随机序列,进而采用公式法生成均匀分布的高斯白噪声序。为了保证实时输出设定频谱的色噪声信号,需要对噪声生成算法充分优化。本文一方面采用查表法,以适当降低部分函数运算精度来提高程序的运算速度[10];另一方面,通过采用模块化数据管理,规范缓冲区数据存储与读取流程,减少了程序占用机器周期从而提高程序的运算速度。DSP程序流程图如图5所示。
3 实验与测试数据分析
本文对设计的嵌入式软硬件平台进行了实验,测试流程图如图6所示。GUI任意频谱结构设定软件设定输出色噪声频谱特征,求出最优滤波器参数并将生成的滤波器系数传送至硬件平台,硬件平台实时输出设定频谱特征的色噪声信号,经CoCo—80手持式振动噪声分析仪连续采集输出噪声信号并导入计算机,使用Matlab软件分析实时输出信号频谱特征,得到实测信号50次统计平均功率谱图。实测色噪声功率谱与设定功率谱对比图如图7所示。
经过测试,DSP能实时稳定输出10 kHz带宽的色噪声信号。从图7中可以看出:输出的色噪声统计频域特征与设定频域特征误差不超过3 dB。
图5 DSP程序流程图Fig 5 Flow chart of DSP program
图6 测试流程图Fig 6 Flow chart of test
图7 实测色噪声功率谱与设定功率谱对比图Fig 7 Comparison diagram of measured colored noise power spectrum and setting power spectrum
4 结论
本文通过自适应信号处理技术设计Wiener最佳滤波器,给出了一种色噪声信号生成算法,并设计了该算法实现的嵌入式软硬件平台。频谱设定软件操作简单且具有很强的可扩展性,可以Matlab为基础集成多种信号处理算法,针对不同领域、不同环境选择不同的信号处理算法,从而在该环境下得到稳定的噪声输出。实验和测试结果表明:给出的算法对色噪声的有效模拟是可行的,算法实现的系统平台可直接应用于模拟实际环境背景,能够满足实际应用色噪声的特殊要求,具有广阔的应用前景。
[1] 赵向阳,刘君华,朱长纯.用Logist方程产生白噪声[J].仪器仪表学报,2004,25(1):90 -93.
[2] 侯祥永,经亚枝.基于Logist方程和LabVIEW的虚拟白噪声发生器的设计[J].仪器仪表用户,2004,25 -27.
[3] 张朝柱.自适应信号处理技术[M].北京:北京理工大学出版社,2008:1.
[4] 鄢社锋,马远良,倪晋平,等.特定频率响应FIR滤波器的设计及其在水声中的应用[J].应用声学,2003,22(2):30 -34.
[5] Knapp C H,Carter G C.The generalized correlation method for estimation of time delay[J].IEEE Trans on ASSP,1976,24(4):138-144.
[6] 张贤达.现代信号处理[M].北京:清华大学出版社,2002:10.
[7] 罗华飞.Matlab GUI设计学习手记[M].北京:北京航天航空大学出版社,2011:2.
[8] 韩燕敏,郭 利.基于组合混沌映射的无穷维伪随机数发生方法[J].统计与决策,2010(10):16-19.
[9] Luo Qibin,Zhang Jian.A new approach to generate chaotic pseudo-random sequence[J].Journal of Electronic & Information Technology,2006,28(7):1262 -1265.
[10]陈 亮,张雄伟.信号处理算法的实时DSP实现[M].北京:电子工业出版社,2008:2.