数字滤波器在语音信号处理中的应用及其设计方法

本文介绍了数字滤波器在语音信号处理中的应用,包括噪声消除、基音频率提取和预加重处理。详细阐述了IIR和FIR滤波器的设计方法,包括MATLAB实现,并通过实例仿真展示了滤波效果。总结中提醒注意滤波器设计的归一化参数和FIR滤波器的延迟问题。
摘要由CSDN通过智能技术生成

数字滤波器在语音信号处理中的应用及其设计方法
数字滤波器在语音信号处理中的应用较为广泛,主要有以下几个方面的应用:

  1. 用于语音信号的减噪;
  2. 用于基音频率的提取,使得基音频率落入(60~450HZ)之间;
  3. 用于共振峰估计前的预加重处理,其中,预加重是让其通过一个一阶高通滤波器。

数字滤波器主要分为IIR和FIR两种,下面详细说明其设计方法及其设计流程。

IIR滤波器设计

IIR滤波器是由模拟滤波器的原型变换过来的,根据其滤波器传递函数的不同,可以将其分成4种,即巴特沃斯、切比雪夫I和切比雪夫II以及椭圆数字滤波器。
设计流程

  1. 根据给定的参数(Wp,Ws,Rp,Rs)求出数字滤波器的阶数n和归一化的截止频率Wn(用0.5fs归一化);
  2. 由阶数n和截止频率Wn求取滤波器系数b和a;
  3. 利用滤波器系数b和a,调用函数filter进行滤波处理。

4种滤波器对应的MATLAB函数及其调用方法如下所示:

%buttord
[n,Wn]=buttord(Wp,Ws,Rp,Rs);
[b,a]=butter(n,Wn,'ftype');
%cheb1ord
[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs);
[b,a]=cheby1(n,Rp,Wn,'ftype');
%cheb2ord
[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs);
[b,a]=cheby1(n,Rs,Wn,'ftype');
%ellipord
[n,Wn]=ellipord(Wp,Ws,Rp,Rs);
[b,a]=ellip(n,Rp,Rs,Wn,'ftype');

实例仿真
设计一个切比雪夫I型低通滤波器:通带截止频率fp=500,阻带截止频率fss=700,通带衰减Rp=3dB,阻带衰减Rs=40dB;语音信号和噪声都是正弦信号,语音信号频率fx=300,噪声信号频率fn=1000。利用低通滤波器消除噪声,其MATLAB代码如下:

%% IIR滤波器的设计——切比雪夫I型低通滤波器设计
%参数:通带截止频率fwp=500,阻带截止频率fws=700,通带衰减Rp=3dB,阻带衰减Rs=40dB
%语音信号和噪声信号考虑为正弦波信号,语音频率fx=300,噪声信号频率fn=1000
fs=8000;%采样频率
fs1=fs/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值