数字信号处理课程设计语音信号的数字滤波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)
subplot(311);
plot(s1);
title('截短预处理语音信号')
subplot(312)
plot(abs(S1))
title('预处理语音信号频谱');
subplot(313);
k=0:
5000;
plot(k(1:
5000)*1,abs(S1(1:
5000)));
title('预处理语音信号单边带频谱')
s2=awgn(s1,20);%%%%%%%%%%%%%%%%%%%%%%%%%%完成加噪!
20db
wavwrite(s2,fs,'s2.wav');
figure(3);
subplot(211);
plot(s2);
title('加噪后语音信号');
subplot(212);
S2=fft(s2);
plot(abs(S1));
title('加噪后信号频谱');
figure(4)
subplot(211);
plot(s1);
title('语音信号');
subplot(212);
plot(s2);
title('加噪后语音信号');
wp=0.3876*pi;%%%%%%%%%滤波器完成相关参数配置
wst=0.556*pi;
wc=(wp+wst)/2;
N=ceil(2.1*2*pi/(wst-wp))+1;
r=(N-1)/2;
hn1=fir1(N-1,wc/pi,'low',triang(N));%
s3=conv(s2,hn1);
wavwrite(s3,fs,'s3.wav');
S3=fft(s3);
figure(5)
freqz(hn1);
title('滤波器幅频特性与相频特性')
figure(6)
subplot('111')
plot(hn1);
title('滤波器系统函数');
figure(7)
subplot(211)
plot(s3)
title('滤波器处理之后信号图')
subplot(212);
plot(abs(S3));
title('滤波器处理之后频谱');
figure(8)
subplot(211)
plot(s2);
title('加噪后语音信号');
subplot(212);
plot(s3);
title('滤波器处理之后信号图');
s4=conv(s1,hn1);
%p1=sum(s1.^2);
%p2=sum(s2.^2)-sum(s1.^2);
%SNR1=10*log10(p1/p2);
p1=sum(s4.^2);
p2=sum(s3.^2)-sum(s4.^2);
SNR2=10*log10(p1/p2)
>>SNR2=-1.7241%%%%%%%%%%%%%噪声比计算结果
3.5信噪比计算与分析:
计算出的加噪声以后的语音信号的信噪比为-1.7241dB低于处理语音信号时加的20dB,
噪声的功率大于信号的功率,这是因为在录制语音信号时采用外放式录音不可避免会受到
噪声干扰或是滤掉了一部分的语音信号,所以使语音信号的能量小于噪声能量,迭加的噪
声设计加入20dB,所以造成计算出的加噪声以后的语音信号的信噪比为低20dB,而滤波
后的语音信号的信噪比为205dB的范围之内都是滤波较成功的。
由此本次课程设计的滤
波后的语音信号的信噪比为-1.7241dB不在此范围之内说明此课程设计所设计的语音信号
的数字滤波——FIR数字滤波器的三角窗函数法设计滤波器设计中存在误差,但是在原声
音图像和滤波器处理过的图像对比中可知,滤波器处理后的图像比原图像要滤去一部分噪
声,由此得出滤波器起到滤波作用但是由于仿真和现实滤波存在差异,所以结果有误差。
3.6“F5”运行文件,程序运行结果
图11原始语音信号
图12截短语音信号
图13处理语音信号的频谱
图14加燥后语音信号
3.7语音信号的频谱分析
根据图15可知:
因为语音起伏大的波峰为主要能量即红色框框住的部分,这一部分需
要保留其余部分都要滤掉。
通过对图15的分析,记录了数据:
T=3.90SN=10000=0.8HZ
④=306*=244.8HZ⑤=2682*=2145.6HZ,
图15确定读音信号的能量主要频段()
(2),由于该频谱图是以5000为中心点左右对称的图形,3dB截止频率为5000的左侧第
一个波峰所在的点,通带截止频率为3dB截止频率左侧第一个波峰所在的点,阻带截止
频率为3dB截止频率加上3db截止频率和通带截止频率之间的距离如图14所示。
根据图14可知:
①通带截止频率:
=1938×=1550.4HZ
②3db截止频率:
=2359×=1887.2HZ
③阻带截止频率:
=2780×=2224HZ
4.滤波器的设计
4.1窗函数设计FIR数字滤波器的结构流程框图
图16窗函数设计FIR数字滤波器的结构流程框图
4.2滤波器理论参数设定
4.2.1利用的窗函数是三角窗
(1)由阻带最小衰减确定选用哪种窗,由过渡带宽确定阶数N,根据通、阻带截止频率
计算过渡带宽度。
,,
通带截止频率为
阻带截止频率为
(2)确定N由于海明窗过渡带满足:
(3)给定所要求的频率响应函数
(4)求单位采样响应
=
=
(5)计算线性相位延迟
三角窗的窗函数为
(6)所以所设计的FIR滤波器的单位抽样响应:
滤完后的频谱运行结果如图17所示
图17滤完后的频谱
图18滤波器系统函数
图19滤波器幅频特性与相频特性
图20滤波器处理后的信号图
5.设计体会
在这次课程设计,我学习了数字信号处理领域中窗函数的有关知识。
实际中遇到的离散时间信号总是有限长的,因此不可避免地要遇到数据截断问题。
而在信号处理中,对离散序列的数据截断是通过序列与窗函数相乘来实现的。
而且,有关滤波器的设计、功率谱估计等基本概念也要用到窗函数。
本次课程设计我说选的题目是语音信号的数字滤波——FIR数字滤波器的三角窗设计。
作为一个电子信息类专业的学生,数字信号处理是我们的重要专业课程,是我们将来从事通信事业的基本保障。
通过对该课程的学习,我们对数字通信理论有了更进一步的理解;通过对该数字滤波器的设计,我们也了解了数字滤波器的基本结构和基本特性,而且还掌握了基本的撰写论文的形式和思路。
通过对作为该论文的重要部分—MATLAB的运用,从而大大提高了我们对集计算,编程与绘图于一体的该应用软件的运用能力。
总之,无论是从教学知识掌握出发,还是从对MATLAB的应用出发,通过对数字滤波器的设计,我们受益非浅。
数字滤波是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。
在数字通信、语音图像处理、谱分析、自动控制等领域得到了广泛的应用。
相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。
通过这次学习,我不但掌握了FIR数字滤波器窗函数的基本知识及其实际应用的技巧了,还提高了自己的编程能力,收获颇多。
通过对本课题的研究,关于数字信号处理方面的理论知识得到了丰富和提高,熟悉了课题研究的整体思路和方法,认识到进行课题研究应具备的素质。
第一,对一个课题的研究必须要阅读大量的文献和书籍来获得一定的感性认识,然后才会有一定的思路和设计方法。
第二,理论基础知识的重要性。
论文涉及许多算法,会用到很多理论知识,需要日积月累、不断的学习。
第三,掌握各种设计软件的必要性。
应用功能强大的软件来进行计算、设计和仿真,可使研究工作得到事半功倍的效果。
同时,在学习期间,我还得到老师、同学的帮助,在此表示衷心的感谢!
6.参考文献
[1]范立南.单片机原理及应用教程[M].北京:
北京大学出版社,2006.1:
123-130
[2]丁玉美.数字信号处理[M].西安:
西安电子科技大学出版社,2005.8:
125-197
[3]颜允圣.数字信号处理器[M].北京:
清华大学出版社,2005.12:
45-60
[4]陈怀琛.数字信号处理教程[M].北京:
电子工业出版社,2008.10:
72-86
[5]王蒙.MATLAB7辅助信号处理技术与应用[M].北京:
电子工业出版社,2005.5:
36-77
[6]唐向宏.数字信号处理——原理、实现与仿真[M].北京:
高等教育出版社,2006.5:
36-77
[7]张立材.数字信号处理[M].北京:
人民邮电出版社,2008.7:
19-44
[8]陈亚勇.MATLAB信号处理详解[M].北京:
人民邮电出版社,2001.8:
14-19
[9]胡广书.数字信号处理:
理论、算法与实现[M].北京:
清华大学出版社,1997.4:
14-56
沈阳大学