基于MATLAB语音降噪IIR滤波器的设计

2016-10-17 02:19黄晓珊徐国保
现代计算机 2016年22期
关键词:表示法网络结构时域

黄晓珊,徐国保

(广东海洋大学信息学院,湛江 524088)

基于MATLAB语音降噪IIR滤波器的设计

黄晓珊,徐国保

(广东海洋大学信息学院,湛江524088)

0 引言

自然界中声音所包含的频谱是丰富的。工业车间里所包含的噪声频率也是多样的,对于不同的设备仪器,它们所发出的噪音频段也不同。然而,有研究表明:工业噪声频率范围虽然比较广泛,但高频部分才是对人耳影响较大的,噪声聋也主要是由于高频声的强刺激造成的[1]。

随着工业化进程的不断发展,人们在所生活的环境里难免会接触到各种对人耳损伤较大的高频噪声,有些频率较高的,甚至可以达到上万赫兹[1]。科技的进步使人们对生活质量提出了更高的要求,各种降噪方法、降噪技术应需诞生。目前,市场上所采用的降噪方法,主要是通过产生反向声波来中和噪声或者采用物理吸声材料降噪。这两种方法,要么是在物理实现上存在一定的困难,开发成本相对比较高,要么是因材料自身的局限性导致降噪效果不明显[2]。正因如此,通过滤波系统滤除语音中的高频噪声成分成为一件具有重要意义的事情。根据傅氏变换,我们知道语音信号可以看成是由许许多多不同的频率成分所组成,而滤波器可以滤除实际环境中不需要的频率成分,MATLAB仿真软件又为数字滤波器设计、信号处理和信号分析等提供了便捷有效的平台。

正是由于数字IIR滤波器能有效滤除外界环境中的高频噪声成分,且在设计平台上具有直观可靠的特点,本文借助MATLAB仿真软件,先将语音信号加上一段高频噪声,再利用MATLAB软件所设计出的IIR滤波器对加噪语音进行去噪。通过对加噪语音信号和滤波后语音信号的时域波形对比和频谱对比,可以看出所设计的IIR滤波器达到较好的滤除高频噪声的效果。

1 声音降噪技术的比较和分析

从技术上分,目前国内外所采用的声音降噪方法主要有两种:主动降噪和被动降噪。主动降噪主要是利用反向声波来中和噪声的,即通过电子设备产生一个与原来的噪声相位相差180°的声波,两者叠加,从而消除外界噪音[2]。被动降噪则是采用硅胶等物理材料来吸收外界声波从而达到消声的效果。上述两种方法中,如果采用被动降噪方法,降噪效果往往不大理想[2]。而采用主动降噪方法,需要得到一个与原来的噪声波形成倒相关系的声波,这在物理实现上存在一定的困难,开发成本相对比较高。因而,通过滤波系统滤除语音中的噪声成为人们一直以来追求的事情。滤波系统,按采用的是数字信号处理的方式还是模拟信号处理的方式,可以分为数字滤波器和模拟滤波器。模拟滤波器由于模拟电路自身所带的限制,系统往往运行不稳定,容易产生自激啸叫[2]。数字滤波器则在提取有用信息上表现突出,且因数字信号自身具有易存储、易处理等优势,目前数字滤波器已广泛地应用于各个科技领域。数字滤波器按单位采样响应又可以分为IIR(Infinite Impulse Response)滤波器和FIR(Finite Impulse Response)滤波器。相比于FIR滤波器,IIR滤波器有如下特点[3]:

(1)对于同样的滤波器设计指标,设计一个IIR滤波器所需要的阶数一般会比设计一个FIR滤波器所需要的阶数低得多,即设计一个IIR滤波器所用的存储单元相对较少,可达到价格便宜、效率高的效果。IIR滤波器低阶数的优势是通过牺牲线性相位这一条件来获得的,而对于语音信号,我们只关心滤波后信号的幅频特性,对其相频特性要求不高,所以IIR滤波器适合于语音滤波降噪。

(2)IIR滤波器的设计可以借助常用模拟滤波器的原型,如Butterworth滤波器、Chebyshev I型滤波器、ChebyshevⅡ型滤波器等,且对于这些经典的滤波器模型,目前大部分已经具有相应的设计公式,其设计参数也都已经表格化。

鉴于IIR滤波器在设计上的便捷性和在语音滤波上的适应性,本文采用IIR滤波器技术来进行语音降噪。

2 数字IIR滤波器的设计方法

设计IIR数字滤波器的方法有两种,一种是采用最优法设计,即在某种最优化准则意义上逼近需要的滤波器系统函数,这种设计通常需要大量的迭代运算,一般离不开PC。另一种是是借助常用模拟滤波器的原型,利用s平面到z平面的映射变换将模拟域上的系统函数Ha(s)转换成满足预定指标的数字滤波器Ha(z)[4]。鉴于物理实现的灵活性,本文采用后一种方案。

图1 两类数字IIR滤波器

在频带变换先后的顺序上,数字IIR滤波器的设计可分为两类。一类是先在模拟域上进行频带变换,再数字化,如图1(a)所示;另一类是先数字化,再在数字域上实现频带变换,如图1(b)所示。

基于上述分析,本文采用双线性变换法来进行模拟指标与数字指标之间的转换。此时,数字角频率和模拟角频率之间的关系为:

其中,Ω为数字角频率,ω为模拟角频率。

3 数字IIR滤波器的设计过程

3.1数字IIR滤波器设计的MATLAB程序流程

先通过PC自带的录音设备录制一段语音,再利用格式转换软件对所得的录音文件进行格式转换,转为. WAV格式[6]。接下来的流程如图2所示。

图2 数字IIR滤波器的程序流程图

3.2数字IIR滤波器的网络结构

常见的IIR系统表示方法有差分方程法、零极点表示法和增益形式表示法等,不同的系统表达方式所得出的系统函数形式不一样,其网络结构图也不相同,即由同一个IIR滤波系统可以得到多种不同的网络结构形式,如直接Ⅰ型、直接Ⅱ型、级联型、并联型等[7]。

IIR滤波器的差分方程表示法:

由IIR滤波器的差分方程表示法可以得出IIR滤波器的直接型网络结构,但是通过直接型网络,一般不能做到直接控制IIR滤波器的系数,即存在零极点控制难的问题。直接Ⅱ型是对直接Ⅰ型在延时器数量上的改进。

IIR滤波器的零极点形式表示法:

其中,zj表示系统零点,si表示系统极点。由上式可以很容易得看出系统的零极点,但在工程分析上采用较多的是增益形式表示法。

IIR滤波器的增益形式表示法:

IIR滤波器的增益形式表示法是其最常见的系统表达方法,由IIR滤波器的增益形式表示法可以得出IIR滤波器的级联型网络结构以及并联型网络结构。其中,级联型由IIR滤波器增益表达式的二阶子网络,即二阶节得出,其特点为零极点单独可控制[4]。并联型由IIR滤波器增益形式展开的部分和式得出的,其特点是极点可单独控制,但零点不能直接控制[4]。

由MATLAB仿真结果,得出相应系数如下:

根据所得系数,可以写出滤波器数字IIR滤波器的系统函数:

根据上述表达式,得出所设计IIR滤波器的级联型网络结构,如图3所示。

图3 IIR滤波器的级联型网络结构

4 数字IIR滤波器的滤波效果

通过图4可以发现加噪后,原始语音信号完全被高频噪声所覆盖,此时,通过MATLAB播放该语音信号,只能听到令人难受的刺耳高频声。

从图5可以明显地看出:通过滤波后,该语音信号的时域波形图有了很大的改善,且与原始语音信号的时域波形图较为接近,这说明所设计的IIR滤波器在时域波形上有较好的恢复效果。

图4 原始语音信号和加噪语音信号的时域波形对比

图5 滤波前后信号时域波形和频谱的对比

从频谱上看,滤波前,原始语音信号已被高频噪声所淹没。而滤波后,信号频谱中的高频噪声明显已被滤除,此时,通过MATLAB播放该语音信号,可以证实,音频中所含的高频噪声成分确实已去除。对比滤波前后的音频效果,可以得出该滤波器在滤除高频噪声上效果好。

5 结语

本文介绍和分析了数字IIR滤波器的设计流程,通过MATLAB仿真软件,依据现实要求,设计了一个能滤除夹杂在语音信号中高频噪声成分的IIR滤波器,该滤波器具有网络结构简单,滤波效果明显等特点。MATLAB仿真平台使数字IIR滤波器的设计过程更加便捷和直观。从语音降噪的角度出发,本文只是滤除了夹杂在语音信号中对人们影响较大的高频部分,并没有将语音信号中的低频的噪声分量滤除,没有达到完全的降噪效果,在低频噪声的滤除方面上仍需要再做进一步研究。

[1]李家瑞.工业企业环境保护[M].北京:冶金工业出版社,1992,18.

[2]董淑斌,陈克安.有源耳罩的发展现状与前景[J].电声技术,2004(8):54-56,59.

[3]南洋,孟开元.基于单片机实时处理的IIR滤波与实现[J].电子测量,2005,5(5):40-44.

[4]王震宇,张培珍.数字信号处理[M].北京:北京大学出版社,2010,2.

[5]贾景慧.基于双线性变换法的IIR滤波器的设计[J].数字技术与应用,2012(5):130-131.

[6]雷学堂,徐火希.基于MATLAB的语音滤波实验设计[J].实验技术与管理,2007,24(4):38-41.

[7]周少波.基于MATLAB对IIR滤波器的设计与仿真[J].科技情报开发与经济,2011,21(14):175-177.

MATLAB;IIR Filter;Audio Denoising

Design of Audio Denoising IIR Filter Based on MATLAB

HUANG Xiao-shan,XU Guo-bao
(Information College,Guangdong Ocean University,Zhanjiang 524088)

1007-1423(2016)22-0048-05DOI:10.3969/j.issn.1007-1423.2016.22.011

黄晓珊(1992-),女,广东普宁人,研究方向为通信与信息处理

徐国保(1976-),男,江西德兴人,博士,副教授,研究方向为电子系统设计、信息处理,Email:xuguobao@126.com

2016-05-10

2016-07-10

滤波降噪技术在现代产业发展中扮演着重要的地位,MATLAB软件则为数字滤波器的设计提供便捷的平台。为了滤除语音信号中夹杂的高频噪声成分,利用MATLAB仿真软件设计一个数字IIR低通滤波器。用MATLAB对加噪语音信号进行滤波,通过对比滤波前后语音信号的时域波形和频谱来检验该滤波器的滤波效果。实验结果表明,该滤波器对高频噪声信号有很好的滤波效果。

MATLAB;IIR滤波器;语音降噪

2015年度国家级大学生创新创业训练计划项目(No.CXXL2015018)、广东海洋大学创新强校工程项目(No.GDOU2015 050207)

Filtering and denoising technology plays an important role in modern industry development,while MATLAB software provides a convenient platform for digital filter design.To filter out the high frequency noise element mixed in voice,designs a digital IIR low pass filter based on MATLAB software.Noised speech signal is filtered through the MATLAB operation and the proposed filter is tested by comparing time domain waveform and spectrum of the speech signal the filter.The experimental result shows that this filter has a good filtering effect on the high frequency noise element.

猜你喜欢
表示法网络结构时域
数值和量值范围的表示
基于复杂网络理论的作战计划时域协同方法研究
否定意义的四种特殊表示法
山区钢桁梁斜拉桥施工期抖振时域分析
一种用于高速公路探地雷达的新型时域超宽带TEM喇叭天线
从一道小题联想到的整数表示法
基于时效网络的空间信息网络结构脆弱性分析方法研究
基于互信息的贝叶斯网络结构学习
基于时域逆滤波的宽带脉冲声生成技术
复杂网络结构比对算法研究进展