郭思梦+张培玲
【摘 要】应用数字滤波器的理论和设计方法,在Matlab软件开发环境下分别通过脉冲响应不变法和双线性变换法设计出了无限长单位冲激响应(IIR)数字滤波器,并借助Matlab图形用户界面(GUI)设计了IIR数字滤波器人机交互界面,使得该系统平台界面简洁直观,操作方便且功能齐全,最终实现了对加有噪声语音信号的去噪处理。通过对比仿真结果表明:切比雪夫Ⅱ型低通滤波器对加有噪的语音去噪效果最佳。
【Abstract】By using the theory and design method of digital filter, the IIR digital filter is designed by impulse response method and bilinear transformation method in Matlab software development environment, and with the help of Matlab GUI, the human-computer interaction interface of IIR digital filter is designed, the system interface is simple and intuitive, easy to be operated and complete function, and de-nosing process of voice signal is realized. Comparing the simulation results, the results show that Chebyshev Ⅱ type has much more function of de-nosing process of voice signal.
【关键词】Matlab GUI ;IIR数字滤波器;语音信号;去噪
【Keywords】Matlab GUI;IIR digital filter; voice signal; de-noising
【中图分类号】TN912 【文献标志码】A 【文章编号】1673-1069(2017)05-0147-02
1 引言
基于Matlab的M文件对语音信号的分析具有程序修改复杂、不直观等缺点。本文利用Matlab图形用户界面(GUI)的操作灵活、界面简洁直观等优点,采用了巴特沃斯、椭圆、切比雪夫Ⅰ型和切比雪夫Ⅱ型四种模拟滤波器,并分别由脉冲响应不变法、线性变换法转换为数字滤波器,对添加了噪声的语音信号进行去噪处理,通过滤波器去噪后的信噪比对比表明:使用脉冲响应不变法由模拟转数字的切比雪夫Ⅱ型滤波器对污染语音信号的去噪效果最佳。
首先是对无噪语音进行频谱分析,然后对其加噪声并对加噪后的语音进行频谱分析。分别采用脉冲响应不变法和双线性变换法设计出了无限长单位冲激响应(IIR)数字滤波器,并完成对加噪语音的去噪处理。通过计算比较去噪后语音信号的信噪比不同从而得出不同类型滤波器的优劣。最终借助GUI设计了语音信号去噪系统的图形用户界面,增强了系统程序的可视性和友好性。
2 语音信号去噪处理的GUI实现
Matlab的GUI是一个由坐标轴、按钮、级联菜单、动静态文本等图形对象组成的一个用户与计算机交互的图形窗口。用户通过编写程序,激活这些图形对象,使计算机实现相应的变化,以完成用户需要的功能。比如,实现计算和图像显示等。
本文的GUI包含2个静态文本(区分脉冲响应不变法和双线性变换法)、13个按钮(实现语音播放、不同种滤波器的滤波及信噪比的计算)和3个坐标轴(显示时域、频域波形、滤波器的频率响应及信噪比对比)。
2.1 噪声信号及频谱分析
本文选用高斯噪声作为噪声信号,高斯噪声可由Matlab软件中的随机函数Randn得到。Randn函数的调用格式为:Randn(m,n)。点击“加载数据”及“添加高斯噪声”按钮后,会在GUI界面上显示出高斯噪声的时域与频域波形。
2.2 原始语音信号及频谱分析
原始语音信号可以选用Matlab自带的声音,也可是自己录制一段声音。由于人声的频率范围为0.3~3.0kHz,且较多分布在低频范围。本文自录一段声音,内容为“语音信号”。点击“无噪语音播放”按钮,会显示出无噪语音的时域与频域波形。可以观察到无噪语音的频率分布在1.0kHz以内。
2.3 带噪语音信号及频谱分析
点击“加噪后语音信号”按钮,会显示出加噪后语音信号的时域、频域波形。可观察出带噪语音信号的时域信号的幅值较无噪语音信号有所增加,频率分布则从1.0kHz以内分布到2.0kHz。因此,为滤除噪声,应选用低通滤波器进行滤波。
2.4 带噪语音滤波后的频谱分析
本文选用了四种滤波器:巴特沃斯滤波器、椭圆滤波器、切比雪夫Ⅰ型滤波器和切比雪夫Ⅱ型滤波器。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑;椭圆滤波器的特点是通带和阻带等波纹;切比雪夫Ⅰ型滤波器的特点是通带(或称“通频带”)上频率响应幅度等波纹波动;切比雪夫Ⅱ型滤波器的特点是阻带(或称“阻频带”)上频率响应幅度等波纹波动。
由于四种滤波器的频率响应特点各不相同,其滤波效果也有所不同。为了进行更全面深入的对比,本文将一种滤波器的滤波实验又分为两类,以巴特沃斯滤波器为例,先设计出巴特沃斯模拟滤波器,再分别使用两种方法——脉冲响应不变法和双线性变换法将模拟滤波器转换为数字滤波器,以便观察哪种转换方法的去噪效果更好。
2.5 不同滤波器前后信噪比的对比
仅由去噪后语音信号的时域、频域波形很难观察出不同滤波器的滤波效果的优劣,为将滤波效果直观化,本文对滤波前后的语音信号的信噪比进行了计算,点击“计算信噪比”按钮,会显示出八种滤波器滤波前后的信噪比对比柱状图,使得实验结果的观察更加具体和可靠。从左至右依次为巴特沃斯滤波器、椭圆滤波器、切比雪夫Ⅰ型滤波器和切比雪夫Ⅱ型滤波器的滤波前后信噪比对比。由柱状图可以直观地看出,通过脉冲响应不变法由模拟转数字的切比雪夫Ⅱ型低通滤波器去噪效果最显著。
3 结语
本文设计了四种类型的模拟低通滤波器分别在两种不同的转换方法(脉冲响应不变法、双线性变换法)下得到的八种数字滤波器,在图形用户界面下详细对比分析了八种数字滤波器对带噪语音的去噪效果,并通过信噪比的计算最终表明:通过脉冲响应不变法由模拟转数字的切比雪夫Ⅱ型低通滤波器去噪效果最显著。
【参考文献】
【1】张学敏,吕晓丽,钟菲.基于Matlab图形用户界面的语音去噪分析实现[J].长春工程学院学报(自然科学版),2015(04):97-99.
【2】赵培瑶,向凤红,毛剑琳,等. 基于Matlab的不同數字滤波器对语音信号的去噪效果[J].化工自动化及仪表,2016,43(7):717-719.
【3】冯浩. 基于MATLAB GUI的FIR语音信号去噪处理数字滤波器[J].菏泽学院学报,2016,38(5):68-72.
【4】徐靖涛.基于MATLAB的语音信号分析和处理[J].重庆科技学院学报(自然科学版),2008,10(1):132-136.
【5】徐艳红. 基于模糊LMS算法的自适应噪声消除器[J].数据采集与处理,2012,27(S1):66-69.
【6】肖哲. 基于Matlab的RLS自适应语音噪声对消系统的设计与实现[J].长沙大学学报,2006,20(2):83-86.