APP下载

基于MATLAB GUI实现随机信号的分析与处理

2011-05-21齐惠娟

电子设计工程 2011年12期
关键词:滤波器波形噪声

齐惠娟,李 敏

(大连民族学院 信息与通信工程学院,辽宁 大连 116605)

现实中有很多具有随机特性的信号,如受到干扰的无线电信号、心电图信号、海洋重力仪的测量信号等[1]。随机信号与一般的确定性信号有本质上的不同,它不能通过一个确定的数学公式来描述,也不能准确地预测,只能在统计意义上进行研究。随机信号的分析与处理是当今高新技术的基础,是推动众多学科发展的一个重要基石,这些学科诸如:雷达、声纳、通信、图像处理、语音处理、地震信号处理、地质信息处理、生物医学工程以及经济学等等[2]。

计算机技术的迅速发展,使得随机信号分析与处理的定量计算及其实时处理成为可能,极大地激发人们探索和研究现代随机信号分析与处理的理论和方法[3]。MATLAB是当今科研领域最常用的应用软件之一,它具有强大的矩阵计算、符号运算和数据可视化功能,是一种简单易用、可扩展的系统开发环境和平台。MATLAB的信息处理工具箱覆盖了经典信号处理理论的大多数内容,是一个非常优秀的算法研究和辅助设计工具。它不仅提供大量的工具函数,而且还提供交互式的滤波器分析、设计工具和谱分析工具。

以MATLAB GUI为编程语言,设计一个人机交互的系统,实现随机信号的分析与处理。该系统通过对随机信号进行相关性分析和功率谱密度分析,设计FIR数字滤波器,实现在含噪声的信号中提取有用信号,对信号实施去噪处理。

1 系统设计原理

1.1 随机信号的分析

随机信号和确定性信号不一样,它们既不是能量有限信号,也不是周期信号,因此,不能用确定性时间函数来对它们进行描述,只能用它们的各种统计特征量来描述。在随机信号的各种统计特征量中,自相关函数和功率谱密度是最重要的两个特征量[4]。

相关函数是最为常用的描述平稳随机信号统计特性的二阶统计量之一,可用来描述随机信号不同时刻间的相关程度。对于各态历经的广义平稳随机序列x(n),其自相关函数rx(m)的有偏估计和无偏估计表达式分别取:

功率谱估计是利用已观测到的一定数量样本数据估计一个平稳随机信号的功率谱密度,因其能够分析信号的能量随频率变化的分布特性,在许多实际应用中功率谱分析与估计已变得越来越重要[5]。功率谱密度P(ω)定义为:

从式(3)中可以看出,随机信号的自相关函数与功率谱密度是一对傅里叶变换对,二者分别从时域和频域反映了随机信号的二阶统计特性。功率谱估计的方法有很多种,大体上可以分为非参数方法、参数方法和子空间方法等3大类。其中非参数方法是直接基于观测信号本身进行功率谱估计的一类方法,包括周期图法和Welch方法等。文本对随机信号的功率谱估计采用非参数的Welch方法,这是一种最为广泛的经典功率谱估计方法。

MATLAB信号处理工具箱提供了用于对随机信号进行分析的函数。函数xcorr用于自相关函数的估计,函数pwelch采用Welch方法实现随机信号的功率谱密度估计。

1.2 随机信号的处理

几乎在所有的工程技术领域中都会涉及到信号处理问题,数字信号处理的主要对象是数字信号,就是采用数值计算的方法完成对数字信号的处理。数字滤波器是数字信号处理的重要手段。所谓数字滤波器是指输入和输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器从功能上可以分为低通、高通、带通和带阻等,从实现的网络结构或者从单位脉冲响应分类,可以分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。

IIR数字滤波器的系统函数可以表示为:

FIR数字滤波器的单位冲激响应是h(n)有限长度的,相应的系统函数表达式可以写做:

将FIR和IIR滤波器的系统函数表达式进行对比,可以确定FIR数字滤波器具有精确的线性相位,设计方法通常是线性的,并且FIR数字滤波器总是稳定的。FIR数字滤波器的设计方法主要包括窗函数设计法、频率采样设计法和最优化设计法等。窗函数法是一种非常重要的FIR数字滤波器设计方法,它将一无限长度的期望单位冲激响应函数截取为有限长的一段序列,之后采用某种窗函数进行加权处理,作为FIR数字滤波器的单位冲激响应h(n)。本系统采用窗函数法设计FIR数字滤波器,完成对随机信号的去噪处理。

2 系统界面设计

该系统以声音信号为例,整体界面由原声音分析、噪声信号分析、含噪信号分析、去噪信号分析及FIR数字滤波器设计等5个功能模块构成。该系统可以显示各个信号的时域、频域及相关函数的波形,可播放出各种信号的声音,实现在声音和波形两种方式上检验对信号的去噪效果。数字滤波器设计模块可人为设置各种滤波器参数,显示所设计的滤波器的频响特性曲线。

2.1 原声音分析模块和噪声信号分析模块设计

原声音分析模块和噪声信号分析模块均可载入和播放声音信号、显示选定声音信号的自相关函数和功率谱密度的图形。通过弹起式菜单(Pop-up Menu)载入声音信号,为方便实验,本系统载入MATLAB工具箱中的4种声音信号chirp.mat(鸟叫声)、laughter.mat(笑声)、gong.mat(锣声)和 train.mat(汽笛声)”[6]作为备选信号和噪声。当选择任一声音信号时,就会同时显示该信号的时域波形。采用触控按钮(Push Button)以8 192 Hz的默认采样值播放所选声音信号的声音,采用单选按钮(Radio Button)确定显示自相关函数波形或功率谱密度波形。模块原型如图1所示。

图1 原声音分析模块和噪声信号分析模块界面设计Fig.1 Block interfaces of original sound analysis and noise signal analysis

2.2 含噪信号分析模块和去噪信号分析模块设计

含噪信号分析模块和去噪信号分析模块均可显示含噪(去噪)信号的时域波形、自相关函数和功率谱密度的曲线,还可播放含噪(去噪)信号的声音。信号波形显示及声音播放采用触控按钮(Push Button),模块原型如图2所示。含噪信号是由原声音分析模块和噪声信号分析模块所产生的信号叠加而成,去噪信号是将含噪信号通过FIR数字滤波器模块之后的输出信号。

图2 含噪信号分析模块和去噪信号分析模块界面设计Fig.2 Block interfaces of noised signal analysis and denoised signal analysis

2.3 FIR数字滤波器模块设计

该模块采用布莱克曼窗,通过窗函数法设计FIR数字滤波器,该模块由滤波器频响特性曲线、滤波器类型选择和滤波器参数设置3部分组成,如图3所示。

图3 FIR数字滤波器模块界面设计Fig.3 FIR digital filter block interface analysis

滤波器类型包括高通、低通、带通和带阻4种,通过弹起式菜单(Pop-up Menu)选择;滤波器参数设置包括滤波器的阶数、截止频率及通带阻带衰减等,通过可编辑文本(Edit Text)进行输入。当选择了低通滤波器时,系统会弹出提示警告信息“低通滤波器设计不需要输入高通频和低阻频”;当选择高通滤波器时,系统会弹出提示警告信息“高通滤波器设计不需要输入高阻频和低通频且N值应为偶数”。频响特性曲线的显示通过触控按钮(Push Button)实现。该模块的功能是通过原声音分析模块和噪声信号分析模块中显示的原信号与噪声信号的功率谱密度曲线,选择合适的FIR数字滤波器类型及滤波器各参数的设置,并显示所设计的滤波器的频响特性曲线,从而完成从含噪信号中滤除噪声的作用。

3 实验测试

3.1 实验方法

选择鸟叫声为原声音信号、汽笛声为噪声信号,分别观测其时域和频域波形,确定各自的功率谱特性,并播放各信号的声音。将两信号叠加构成含噪信号,观察含噪信号的频域波形并播放其声音,以验证汽笛声对鸟叫声的干扰。根据原声音信号和噪声信号的功率谱特性设计FIR数字滤波器,确定滤波器类型和相关的参数设置,显示滤波器的频响特性曲线,实现把汽笛声从鸟叫声中滤除出去的作用。在去噪信号分析模块中,观察去噪信号的时域和频域波形并播放去噪信号声音,与鸟叫声的时域和频域波形相对比,再进一步比较两者的声音以验证所设计的滤波器对含噪信号的滤波作用。

图4显示了各信号的频域波形,从中可以看出,有用信号功率谱能量集中在频率的高端,而噪声信号的功率谱能量集中在频率的低端,因此应设计一高通滤波器滤除噪声的大部分能量,提取出有用的信号。根据两信号的功率谱密度波形确定FIR数字滤波器的归一化低阻频参数为0.55、高通频为0.65,通过多次选择滤波器阶数N观察其幅频特性曲线,确定最佳幅频特性曲线的N值,本实验中选择N值为60。

图4 实验结果的频域波形Fig.4 Frequency domain waveforms of the experiment result

3.2 实验结果分析

图4中的4个功率谱密度曲线,充分说明了该系统滤波前对随机信号的分析、设计FIR数字滤波器以及滤波器后对随机信号的处理过程。图5显示了各信号的时域波形,通过对比滤波前后各信号的时域波形,可以看出,所设计的FIR数字高通滤波器较好地滤除了噪声信号的频率成分,保留了有用信号的主要频率分量,去噪信号的波形与原有用信号的波形基本保持一致。

图5 实验结果的时域波形Fig.5 Time domain waveforms of the experiment result

系统中还设有4个声音播放按钮,分别用来播放有用信号、噪声信号、含噪信号以及去噪信号的声音,以便通过人的耳朵来验证该系统对随机信号的分析和处理效果。在该实验结果中,含噪信号的声音是鸟叫声与汽笛声的混合,而去噪信号的声音就只是清晰的鸟叫声,又一次证明了该系统实现了各项功能和性能,达到了设计要求。

4 结 论

以MATLAB GUI为软件开发平台,设计开发了随机信号的分析与处理系统。该系统以随机信号分析的基本理论和方法为基础,通过对随机信号进行相关性分析和功率谱密度分析,掌握有用信号和噪声信号的频谱特征,设计FIR数字滤波器滤除噪声信号,提取有用信号,完成对随机信号的有效去噪处理[7]。该系统界面设计美观大方,功能设计简捷方便,并易于进一步扩展。

该系统采用MATLAB GUI软件开发环境,可以充分利用MATLAB的信息处理工具箱,不必深入掌握面向对象的编程语言,减少运算量与编程难度,而且设计出来的界面完全可与Visual C++编写的界面媲美。

为方便实验,只是从MATLAB软件自带的声音信号入手,在实际运用中,可将各模块功能增强。比如可借助计算机上的声卡采集含有噪声的随机信号,直接对采集的声音信号进行分析和处理。另外,用窗函数法设计FIR数字滤波器时,MATLAB信息处理工具箱中提供了16种窗函数,而本系统只采用布莱克曼一种窗函数进行设计。由于所采用的窗函数类型和截取长度都直接影响所设计的滤波器性能,因此,在后续系统的改进中,还可在FIR数字滤波器模块增加不同窗函数的选择项,使得滤波器设计功能更加完善。

[1]伯晓晨,李涛,刘路,等.MATLAB工具箱应用指南——信息工程篇[M].北京:电子工业出版社,2000.

[2]沈民奋,孙丽莎.现代随机信号与系统分析[M].北京:科学出版社,1998.

[3]李敏,张维维,姜明新,等.基于MATLAB的音乐分析与合成实验设计[J].大连民族学院学报,2010,12(3):269-271.LIMin, ZHANG Wei-wei, JIANG Ming-xin, etal.MATLAB-based music analysis and synthesis experiment design[J].Journal of Dalian Nationalities University, 2010,12 (3):269-271.

[4]李敏,陈兴文.信号分析与处理的软硬件实现[M].大连:大连海事大学出版社,2009.

[5]朱习军,隋思涟,张宾,等.MATLAB在信号与图像处理中的应用[M].北京:电子工业出版社,2009.

[6]王嘉梅.基于MATLAB的数字信号处理与实践开发[M].西安:西安电子科技大学出版社,2007.

[7]王坤.基于SVPWM的STATCOM设计及实现[J].陕西电力,2011,39(1):11-15.WANG Kun.SVPWM based design and realization of STATCOM[J].Shaanxi Electric Power,2011,39(1):11-15.

猜你喜欢

滤波器波形噪声
噪声可退化且依赖于状态和分布的平均场博弈
从滤波器理解卷积
基于LFM波形的灵巧干扰效能分析
用于SAR与通信一体化系统的滤波器组多载波波形
开关电源EMI滤波器的应用方法探讨
控制噪声有妙法
基于Canny振荡抑制准则的改进匹配滤波器
基于ARM的任意波形电源设计
双丝双正弦电流脉冲波形控制
基于TMS320C6678的SAR方位向预滤波器的并行实现