基于数字滤波器的语音信号处理系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于数字滤波器的语音信号处理系统的设计
前言:语音信号的数字滤波就是利用快速傅里叶变换fft对语音信号进行频谱分析,利用分析得到的指标设计数字滤波器,将不需要的部分通过设计好的数字滤波器滤除掉,以达到优化语音的目的。数字滤波器是一种对数字信号进行处理的系统,数字滤波器完成数字信号滤波处理功能,其输入是一组数字量,其输出是经过变换的另一组数字量。它通过一定的运算关系或电路形式来改变输入信号所包含的频率成分的相对比例或滤出某些频率成分,数字滤波器具有稳定性高、精度高、灵活性大等优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。
摘要:本文介绍了两种数字滤波器的基本设计原理及步骤1、利用双线性变换法以及脉冲响应不变法设计IIR数字滤波器2、用窗函数法实现FIR数字滤波器的设计。并且把理论与实践结合,通过一段语音,利用MATLAB软件分析语音信号频谱,确定指标设计滤波器,编写程序设计滤波器,对语音信号进行滤波处理,分析滤波后的时域和频域特征,回放语音信号分析其经过信号处理后的效果。
正文
1、总体设计
1.1 总体设计内容
1)利用脉冲响应不变法和双线性变换法设计IIR数字滤波器,实现数字低通、数字高通、数字带通、数字带阻。
2)利用窗函数实现FIR数字滤波器的设计
3)设计完整的语音信号处理系统,可实现语音信号的读入、语音信号的频域分析、滤波器选择、语音信号的时/频域滤波操作、语音信号的短时频域分析等功能。
1.2 课设流程图设计
2、模块设计
2.1 语音信号的采集
用windows工具中的录音机录一段(语音信号),将语音信号的文件命名为test.wav.
将语音文件保存后,在MATLAB软件平台下,首先调用wavread函数可采集到录制的音乐信号,并得到其采样率fs和比特数bits。具体调用如下:>> [y,fs,bits]=wavread('d:\test.wav')%读取语音信号。
运行后得出fs,bit。其中参数y是每个样本的值,fs是生成该波形文件时的采样率,bits 是波形文件每样的编码位数。
sound(y); 用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。
2.2 语音信号的时域及频域分析
语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。
2.2.1语音信号的时域分析
语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。
运用matlab软件,调用plot函数,在读取语音信号的基础上画出语音信号的时域波形图。理想状态下,语音信号的时域波形应该是关于时间轴对称的,但是实际情况下,由于存在着一些噪音,使得波形看上去不是那么完美。
2.2.2语音信号的频域分析
对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,调用格式如下:
Xk=fft(xn,N)
参数xn为被变换的时域序列向量,N是DFT变换区间的长度,当N大于xn时,fft函数自动在xn后面补零,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,调用fft函数得到语音信号的快速傅里叶变换序列,再用plot函数画出信号的频谱图。
2.3 IIR数字滤波器的设计
IIR滤波器系统函数的极点可以再单位圆内的任何位置,实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,又由于IIR数字滤波器能够保留一些模拟滤波器的优良特性,因
此应用很广。设计IIR数字滤波器的方法主要有基于脉冲响应不变法和双线性Z变换法设计,
数字高通、带通及带阻IIR 滤波器设计,基于MATLAB 函数直接设计IIR 数字滤波器。IIR 数字滤波器的特点如下:
1)系统的单位冲激响应h(n)为无限长的;
2)系统函数H(z)在有限z 平面上有极点存在;
3)结构上存在着输出到输入的反馈,也就是结构上是递归型的。
IIR 滤波器的设计就是在给定的技术指标下去确定滤波器的阶数N 和系数{
i
a ,
i
b }。在已
满足给定的技术指标下,应选用阶数尽可能低的滤波器,因为滤波器的阶数越低,在实现时成本就越低。在设计IIR 滤波器时,最常用的方法是利用模拟滤波器来设计数字滤波器。 2.3.1 IIR 数字滤波器的设计步骤
1) 按一定规则将给出的数字滤波器的技术指标通带边界频率p
ω、通带最大最大衰减
p
α、阻带截止频率
s ω、阻带最小衰减s α,转化为模拟低通滤波器的技术指标,
主要是边界频率p
ω
、
s ω的转换,p α、s α指标不变。
如果采用脉冲响应不变法,边界频率的转换关系为:
,,p
s
p
s T
T
ωωΩ=
Ω=
如果采用双线性变换法,边界频率的转换关系为:
22
tan ,tan 22
p s p s
T T ωωΩ=Ω=
2)根据归一化频率,确定最小阶数N 和频率参数Wn 。归一化频率可以由以下公式得到:
3)根据转换后的技术指标,运用最小阶数设计模拟低通滤波器G(s)。
4)再按一定规则将G (s )转换成H (z )。若设计的数字滤波器是低通的,那么上述设计
工作可以结束,若设计的是高通,带通或带阻滤波器,那么还需进行一下步骤。
5)将高通、带通、或带阻数字滤波器的技术指标先转化为低通模拟滤波器的技术指标,然
后按上述步骤再进行设计。 2.3.2 双线性变换法的基本原理
双线性变换法的S 域与Z 域间的变换关系为:
[1()]/[1()]
22T T
Z s s =+- (1) 由式(1)可以看出,z 和s 之间可以直接代换,由于这是一非线性变换,需考察一下是否
能把j Ω映射成单位圆,以及是否能将s 域左半平面映射到单位圆内部。
2
/)
(实际模拟频率实际数字频率)/(实际模拟角频率归一化频率Fs Hz Fs s rad =
=⨯=
ππ