数字信号处理课程设计语音信号的数字滤波fir数字滤波器的(三角)窗函数法设计.doc
《数字信号处理课程设计语音信号的数字滤波fir数字滤波器的(三角)窗函数法设计.doc》由会员分享,可在线阅读,更多相关《数字信号处理课程设计语音信号的数字滤波fir数字滤波器的(三角)窗函数法设计.doc(19页珍藏版)》请在冰豆网上搜索。
课程设计说明书NO.19
语音信号的数字滤波
——FIR数字滤波器的(三角)窗函数法设计
1.课程设计的目的
通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。
并能够对设计结果加以分析。
2.设计步骤及要求
2.1课程设计的要求
巩固和加深对理论课中知识的理解,提高学生对所学理论知识的综合运用能力。
通过课程设计,使学生具有下列基本技能:
培养学生查阅参考资料、手册的自学能力,学会自己分析、解决问题的方法;要求学生能够熟练地用Matlab语言编写数字信号处理的应用程序;了解各种窗函数对滤波器的影响。
2.2FIR滤波器的原理和分类
2.2.1FIR滤波器设计步骤流程图图1所示
图1设计步骤流程
2.2.2FIR滤波器的基本结构
FIR滤波器的系统函数为:
。
FIR滤波器有以下特点:
(1)系统的单位冲激响应h(n)在有限个n值处不为零;
(2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统);
(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中含有反馈的递归。
2.2.3FIR滤波器实现的基本结构有:
(1)横截型(卷积型、直接型)
a.一般FIR滤波器的横截型结构:
给定差分方程为:
。
b.线性相位FIR滤波器的横截型结构
①N为奇数时线性相位FIR滤波器实现结构如2图所示:
②N为偶数时线性相位FIR滤波器实现结构如3图所示:
图2N为基数时图3N为偶数时
(2)级联型
将H(z)分解为若干个实系数一阶或二阶因子相乘:
级联结构如下图4所示:
图4级联结构
(3)频率取样型
若FIR滤波器的冲激响应为有限长(N点)序列h(n),则有如5图所示的关系:
图5关系图
因此,对h(n)可以利用DFT得到H(k),然后利用内插公式:
(1)
来表示系统函数,这就为FIR滤波器提供了另外一种结构:
频率抽样结构,
这种结构由两部分级联而成:
分析系统函数
(4)快速卷积结构
若FIR滤波器的单位冲激响应h(n)是一个N1点有限长序列,输入x(n)是一个N2点有限
长序列,那么输出y(n)是x(n)与h(n)的线性卷积,它是一个L=N1+N2-1点的有限长序
列。
而圆周卷积可以用DFT和IDFT的方法来计算,得到FIR滤波器的快速卷积结构如图
6所示:
图6快速卷积结构
2.2.4线性相位FIR数字滤波器的条件和特点
(1)线性相位条件
对于长度为N的h(n),传输函数为
(2)
(3)
式中,称为幅度特性,称为相位特性。
其中,这里不同于,
为的实函数,可能取负值,而总是正值。
线性相位是指是
的线性函数,即
=,为常数(4)
如果满足下式
=是起始相位(5)
此时不具有线性相位,但以上两种情况都满足群时延是一个常数,即
(6)
满足第一类线性相位的条件是:
(7)
满足第二类线性相位的条件是:
(8)
2.2.5线性相位FIR滤波器幅度特性的特点
(1),N=奇数
其幅度函数为
(9)
(2),N=偶数
其幅度函数为
(10)
(3),N=奇数
(11)
(4),N=偶数
(12)
2.3FIR数字滤波器设计原理分析
设数字滤波器的传输函数为,是单位脉冲响应,H(z)为系统函数
= (13)
(14)
(15)
其中,ω(n)是一个长度有限的窗,在区间0≤n≤N外值为0,且关于中间点对称
ω(n)=ω(N-1-n)(16)
频率响应根据式(15)由卷积定理得出
(17)
理想的频率响应被窗函数的离散时间傅立叶变换“平滑”了。
基本思路如图7:
图7加窗思路
2.4窗函数分类及参数指标
设计FIR滤波器常用的窗函数有:
①矩形窗函数②三角(Bartlett)窗函数③汉宁
(Hanning)窗函数④海明(Hamming)窗函数⑤布拉克曼(Blackman)窗函数⑥凯塞
(Kaiser)窗函数各函数的指标如表1所示。
表1窗函数指标
窗的类型
最大旁瓣幅度(相对值)
过度带宽度
最大逼近误差20log(dB)
等效Kaiser窗
矩形
-13
4/N
-21
0
Bartlrtt
-25
8/N
-25
1.33
Hanning
-31
8/N
-44
3.86
Hamming
-41
8/N
-53
4.86
Blackman
-57
12/N
-74
7.04
2.5窗函数的选择原则是:
(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。
(2)旁瓣幅度下降速度要快,以利增加阻带衰减。
(3)主瓣的宽度要窄,以获得较陡的过渡带。
2.6设计FIR滤波器常用的窗函数
设计FIR滤波器常用的窗函数如下表2所示:
表2常用窗函数及其定义
窗函数名称定义MATLAB函数
矩形窗w=box(N)
汉宁窗w=hamming(N)
汉明窗w=hanning(N)
布莱克曼窗w=blackman(N)
凯塞窗w=kaiser(N,bata)
3.窗函数的设计——三角窗
3.1三角窗函数
(1)三角窗函数的时域形式可以表示为
窗函数:
(18)
其频率响应:
(19)
其主瓣宽度为8π/N,第一旁瓣宽度比第一主瓣低26dB。
(2)triang函数:
生成三角窗调用方式
①w=triang(n):
输入参数n是窗函数的长度;w是由窗函数的值组成的n阶向量。
②w=triang(n,sflag):
参数sflag用来控制窗函数首尾的两个元素值;其取值为
symmetric或periodic;默认值为symmetric。
3.2语音信号的采集
(1)利用Windows系统采集:
①按“开始->程序->附件->娱乐->录音机”的顺序操作打开
Windows系统中的录音机软件如图7所示
②用麦克风录入自己的声音信号并保存成wav文件,语音信号文件保存的文件名
为“刘琳.wav”。
语音信号的属性为“8.000KHz,8位,单声道7KB/秒”,其它选项
为默认.
如图8图9图10所示
图8录音过程
图9录制声音图10保存录音文件
(2)记录以下内容:
①语音信号文件保存的文件名:
刘琳.wav格式:
PCM
②语音信号的采样速率:
fs=8000Hz
③语音信号的时间长度:
T=3.90s
3.3语音信号编辑步骤
(1)将上一步骤中保存下来的语音信号文件“刘琳.wav”复制到计算机装有
Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中
(2)双击桌面上Matlab软件的快捷图标,打开Matlab软件
(3)在菜单栏中选择“File>new>M-File”打开m文件编辑器
(4)在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台
3.4在Matlab中实现的程序清单如下
[s,fs,bits]=wavread('刘琳.wav');
s1=s(10000:
19999);
sound(s1,fs,bits);
figure
(1);
subplot(211)
plot(s)
title('原始语音信号')
subplot(212)
plot(s1)
title('截短语音信号');
wavwrite(s1,fs,'s1.wav');
S1=fft(s1);
figure
(2)
subp