语音信号滤波去噪使用脉冲响应不变法设计的巴特沃斯滤波器.docx
- 文档编号:1257023
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:20
- 大小:354.52KB
语音信号滤波去噪使用脉冲响应不变法设计的巴特沃斯滤波器.docx
《语音信号滤波去噪使用脉冲响应不变法设计的巴特沃斯滤波器.docx》由会员分享,可在线阅读,更多相关《语音信号滤波去噪使用脉冲响应不变法设计的巴特沃斯滤波器.docx(20页珍藏版)》请在冰豆网上搜索。
语音信号滤波去噪使用脉冲响应不变法设计的巴特沃斯滤波器
语音信号滤波去噪——使用脉冲响应不变法设计的巴特沃斯滤波器
学生姓名:
王雄杰指导老师:
喻小虎
摘要本课程设计主要内容是设计利用脉冲响应不变法设计的巴特沃斯滤波器,对一段含噪语音信号进行滤波去噪处理并根据滤波前后的波形和频谱分析滤波性能。
本课程设计仿真平台为MATLAB7.0,开发工具是M语言编程。
录制一段语音信号,并人为加入一单频噪声,然后对信号进行频谱分析以确定所加噪声频率,即fn=3000Hz,并设计滤波器进行滤波去噪处理,最后比较滤波前后的波形和频谱,得出结果为,滤波器后的语音信号与原始信号基本一致,即设计的巴特沃斯滤波器能够去除信号中所加单频噪声,达到了设计目的。
关键词课程设计;滤波去噪;巴特沃斯滤波器;脉冲响应不变法;MATLAB
1引言
本课程设计需要录制一段频率为8000Hz,8位的单声道语音信号,并绘制波形观察其频谱,再对其进行加噪处理,同样要绘制加噪后的频谱图,再用MATLAB利用脉冲响应不变法设计一个巴特沃斯滤波器,将该语音信号进行滤波去噪处理。
1.1课程设计目的
课程设计是教学的最后一个步骤,课程设计有利于基础知识的理解,我们掌握了基础知识和基本技能,但是要真正接触才能真正理解课程的深入部分;还有利于逻辑思维的锻炼,在许多常规学科的日常教学中,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态,写起作文来前言不搭后语,解起数学题来步骤混乱,这些都是缺乏思维训练的结果,所以我们可以通过实践来分析问题、解决问题、预测目标等目的;同时也有利于与其他学科的整合,例如我们这次的课程设计就要运用MATLAB软件的帮助才能实现;最重要的有利于治学态度的培养,在课程设计中,我们可能经常犯很多小错误,可能要通过好几次的反复修改、调试才能成功,但这种现象会随着学校的深入而慢慢改观。
这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不饶品格的锻炼。
《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB的结合后的基本实验以后开设的。
本课程设计的目的是为了让学生综合数字信号处理和MATLAB并实现一个较为完整的小型滤波系统。
这一点与验证性的基本实验有本质性的区别。
开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。
1.2课程设计的要求
(1)滤波器指标必须符合工程设计。
(2)设计完后应检查其频率响应曲线是否满足指标。
(3)处理结果和分析结论应该一致,而且应符合理论。
(4)独立完成课程设计并按要求编写课程设计报告。
1.3设计平台
MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。
它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医学、金融和其他需要进行复杂数值计算的领域得到了广泛应用。
它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的数学工具,在世界各地的高和大型计算机上运行,适用于Windows、UNIX等多种系统平台。
MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担,被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境[1]。
2设计原理
本课程设计需要录制的一段频率为8000Hz,8位的单声道语音信号,并绘制波形观察其频谱,再对其进行加噪处理,同样要绘制加噪后的频谱图,再用MATLAB利用脉冲响应不变法设计一个巴特沃斯滤波器,将该语音信号进行滤波去噪处理。
2.1IIR滤波器
IIR滤波器具有无限长脉冲响应,因此能够与模拟滤波器相匹敌;一般来说,所有的模拟滤波器都有无限长脉冲响应。
因此,IIR滤波器设计的基本方法是利用复值映射将大家熟知的模拟滤波器变换为数字滤波器。
这一方法的优势在于各种模拟滤波器设计(AFD)表格和映射在文献中普遍都能获得。
这种IIR滤波器设计的基本方法存在两种途径:
途径1:
期望的IIR滤波器
途径2:
期望的IIR滤波器
我们将研究途径二的设计基本方法,在这种IIR滤波器设计方法将按下列步骤进行:
(1)设计模拟低通滤波器。
(2)研究并实行滤波器变换以得到数字低通滤波器。
(3)研究并实行频带变换以便从数字低通滤波器得到其他数字滤波器[2]。
2.2巴特沃斯滤波器
巴特沃斯滤波器是用上述IIR滤波器的性质表征的:
它的幅度响应在通带和阻带都是平坦的。
一个N阶低通滤波器的幅度平方响应给出为:
(2-1)
式中,N为整数,是滤波器的阶,
是截止频率。
称为滤波器的阶数,N越大,通带和阻带的近似性越好,过渡带也越陡。
幅度平方响应的图如下所示。
图2.1幅度平方响应图
从这张图可看出下面几个性质:
(1)
=1,对全部N。
(2)
,对全部N,这意味着在
有3dB衰减。
(3)
是
的单调下降的函数。
(4)
随N
向一个理想低通滤波器趋近。
(5)
在
世最大平坦,因为在这里所有阶的导数存在且等于零。
为了确定系统函数
现将得到
(2-2)
由(2-2)式分母多项式的根(或
)的极点)给出为
(2-3)
(2-3)式的解释是:
(1)2N个极点均匀分布在半径为Ωc的圆上,相隔pi/N
(2)N为奇数时,pk=Ωcej2pik/N
(3)N为偶数时,pk=Ωcej(pi/2N+kpi/N)
(4)极点对虚轴(jΩ)对称分布
(5)极点永远不会落在虚轴上,且仅当N为奇数时才会落在实轴上
(6)选取极点全部落在左半平面可得到因果稳定的Ha(s)
作为一个例子,三阶和四阶巴特沃斯滤波器的极点分布如图所示:
图2.2巴特沃斯滤波器的极点图
通过选取在左半面的极点就能给出一个稳定和因果的
,并且能将
写成:
(2-4)
2.3脉冲响应不变法
脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序h(n)模仿模拟滤波去的冲击响应ha(t),使h(n)正好等于ha(t)的采样值,即
h(n)=ha(nT)(2-5)
T为采样周期。
如以Ha(s)及H(z)分别表示ha(t)的拉式变换及h(n)的z变换。
变换前:
(2-6)
变换后:
(2-7)
由于z=
是在单位圆上,s=j
是在虚轴上,所以有下面从s平面到z平面的变换
z=
(2-8)
系统函数H(z)和Ha(s)是经过频域混叠公式联系的:
(2-9)
在(2-8)式的映射关系下,复平面的变换如图2.3
图2.3脉冲响应不变法中的复平面映射
映射特征:
(1)记σ=Re(s):
σ<0,映射到|z|<1(单位圆内),σ=0,映射到|z|=1(单位圆上)。
σ>0,映射到|z|>1(单位圆外)。
(2)多个s映射到一个z:
多点对一点的映射,每个宽度为2π/T的全部半无限带都映射到单位圆内。
(3)因果稳定的AF仍然映射为因果稳定的DF。
(4)如果滤波器不是真正带限会产生混叠误差(Aliasing)。
3.设计步骤
3.1设计流程图
语音信号滤波去噪——使用脉冲响应不变法设计的巴特沃斯滤波器,设计流程图如下3.1所示:
2、加入3000Hz的噪声
画出加噪后频谱图
图3.1脉冲响应不变法巴特沃斯滤波器对语音信号去噪流程图
3.2语言信号的采集
人工录制一段为.wav的语音信号,时间在8-9s左右,要求为8000Hz,8位单声道的音频格式。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,函数为[x,fs,bits]=wavread('music.wav'),记住采样频率fs和采样点数。
所下载音乐的属性设置如图3.2:
图3.2语音信号参数设置
3.3语音信号的频谱分析
首先使用MATLAB分别画出原始语音信号的时域波形,再对原始语音信号进行快速傅里叶变换,画出原始信号的频率——幅度谱,然后再原始语音信号的基础上加入单频噪声后,噪声频率为fn=3000Hz,再所得到的音乐做时间——幅度谱,同样对它做傅里叶变换,得到此信号的频率——频谱特性。
可得到图形3.3和图3.4。
其中傅里叶变换表示为:
X=abs(fft(x));Y=abs(fft(y))
图3.3原始信号与加噪后的程序运行图
由上图可知,单频噪声频率fn=3000Hz,此数据是在对原始语音信号的频率——幅度谱得出,此语音信号的主频带在2000Hz内,我们取3000Hz是为了达到更好的干扰效果。
因此带上耳塞后可以听到原始语音和加噪后的带有尖锐单频啸叫声的语音。
可以从听觉上感知噪声的存在,经过试验当fn取2000Hz以内的频率时,听到的干扰信号无明显的尖锐单频啸叫声。
图3.4原始信号与加噪后的波形图与频谱图
由图我们可以看出,在加入噪声后,原始语音信号和加噪后有不同的时间——幅度谱和频率——幅度谱,证明噪声对原始信号造成了影响。
3.4滤波器设计
将数字滤波器的设计指标设为通带截止频率fp=2600Hz,阻带频率fc=2950Hz,通带波纹Rp=3dB,阻带波纹As=16dB,要求确定H(z)。
设计步骤如下:
(1)选取T=1。
(2)利用设参数
,
,Rp和
设计一个模拟滤波器
。
(3)利用部分分式将
展开。
(4)现在将模拟极点{pk}变换为数字极点{epkT},得到数字滤波器。
并作化简得出作为z-1有理函数的H(z)。
根据上述步骤,按要求我们用脉冲响应不变法设计好了巴特沃斯滤波器。
根据原理课设计滤波器,可得到如下图3.5:
3.5利用脉冲响应不变法设计的数字巴特沃斯低通滤波器程序运行图
由图可知,设置fn=3000Hz,即确定了通带截止频率为,fp=2600Hz,阻带截止频率为,fc=2950Hz,过渡带宽为450Hz,时间T=1s,为过渡带宽和时间T的值对于滤波器的设计十分重要。
[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);
***ButterworthFilterOrder=15
由此句可得出:
滤波器为16阶。
>>wp/pi
ans=
0.6500
>>ws/pi
ans=
0.7375
图3.6利用脉冲响应不变法设计的数字巴特沃斯滤波器
由滤波器幅度响应图可以看出,设计的通带截止频率wp/pi=0.6500,阻带截止频率ws/pi=0.7375,纵坐标差不多刚好在As=16db处,所以设计的滤波器达到要求。
3.5信号的滤波
前面已经用脉冲响应不变法设计好了我们要的巴特沃斯低通滤波器,接着就对语音信号进行滤波处理,看自己设计的巴特沃斯滤波器有没有对我们的加噪后的语音信号进行处理。
所以就用filter函数进行滤波,即y_fil=filter(b,a,y);。
我们将滤波前后的时域波形进行比较,并对其进行快速傅里叶变换,即Y_fil=abs(fft(y_fil));,目的是对比前后的频域频谱,具体分析设计的滤波器是否达到设计要求,再将滤波后的信号与原始信号进行对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 信号 滤波 使用 脉冲响应 变法 设计 巴特沃斯 滤波器