1、摘要 摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性.对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位.FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分.本文主要介绍有限长冲击响应(FIR)滤波器和无限长冲击响应(IIR)滤波器的设计,采用MATLAB软件对FIR数字滤波器进行设计,可以简化设计中繁琐的计算.一般有窗函数法,频率采样法和优化设计方法等设计方法,本文采用窗函数法,通过调用MATLAB函数设计FIR数字滤波器.绘制对应的幅频特性曲线.通过理论推导得出相应结论,再利用MA
2、TLAB作为编程工具进行计算机实现对加噪声语音信号进行时域、频域分析和滤波.在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用双线性法设计巴特沃斯IIR数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制及仿真.通过滤波前后信号的频谱图和时域语音信号的对比,分析不同滤波器的滤波效果.关键词:滤波器;MATLAB;窗函数法FIR;巴特沃斯IIRABSTRACTPossession of the speech signal in the digital signal processing extremely important position , so choose t
3、hrough the study of the voice signal to digital signal processing to consolidate and master basic skills very representative . Inseparable from the digital signal processing filter , so the filter design plays an extremely important role in signal processing . FIR digital filters and IIR filters are
4、 an important part of the design of filter paper introduces a finite impulse response (FIR) filters and infinite impulse response (IIR) filter design, using MATLAB software FIR digital filter designed to simplify the design of tedious calculations . generally have a window function method, frequency
5、 sampling method and design optimization methods, design methods , we use a window function method , by calling the MATLAB function design FIR digital filter. draw the corresponding amplitude-frequency characteristic curve. theoretical conclusions deduced accordingly , re-use MATLAB as a programming
6、 tool to realize computer voice signal plus noise in time domain , frequency domain analysis and filtering. process designed to achieve using a window function method to design FIR digital filter , Butterworth IIR digital filter design using bilinear method , and use MATLAB as an auxiliary tool to c
7、omplete the design drawing and simulation calculations and graphics by filtering the signal before and after Comparative spectrum time domain speech signal and to analyze the effects of different filters filtering .Keywords: Filter; MATLAB; FIR; IIRI目录目录第1章 绪论11.1 课题的研究背景11.2 国内外研究现状11.3 研究内容11.4 研究
8、课题的目的和意义2第2章 原始信号语音的采集与处理32.1 语音信号的采样理论依据32.1.1 采样频率32.1.2 采样位数32.1.3 采样定理32.2 语音信号的录制32.3 语音信号的时频分析32.3.1 FFT概念32.3.2 FFT的MATLAB实现42.4 语音信号加噪与频谱分析62.4.1 随机噪音信号加入原始语音信号6第3章 数字滤波器93.1 数字滤波器原理93.2 实现数字滤波器的方法93.3 数字滤波器的特点93.3.1 有限脉冲响应滤波器(FIR)特点93.3.2 无限脉冲响应滤波器(IIR)特点103.4 FIR数字滤波器设计103.4.1 FIR数字滤波器的设计方
9、法103.4.2 利用窗函数设计FIR滤波器的具体步骤113.5 IIR数字滤波器设计123.5.1 IIR数字滤波器设计方法123.5.2 IIR数字滤波器的设计步骤123.5.3 双线性变换法设计IIR数字滤波器12第4章 滤波并绘制前后语音信号的波形及频谱154.1 滤波及仿真154.1.1 FIR低通窗滤波154.1.2 IIR巴特沃斯低通窗滤波174.2 结合去噪后的频谱图对比两种方式滤波的优缺点18第5章 总结19参考文献20致谢21i数字音频去噪算法研究第1章 绪论1.1 课题的研究背景在过去几十年中已将数字信号处理领域发展到理论和技术上都是重要的地位.在工业中成功的主要原因是由
10、于物美价廉的软件和硬件的开发和应用.在当今社会,我们被以各种形式的各类信号所包围.其中一些是自然的,但大多信号是人为的.某些信号是必需的(语音),某些是让人愉悦的(音乐),而同时在某一特定环境下,很多又是不想要的或者是多余的.在工程范围内,信号时信息的载体,既可以是有用的,也可能是不想要的.因此,从一个错综复杂的信息混合中提取或者增强有用信息是信号处理的一种最为简单的形式.更一般的说,信号处理是为提取、增强、存储和传输有用信息而设计的一种运算1.有用的和不需要的信息之间的区分往往是主观的,也是客观的.因此,信号处理与应用场合紧密相关.语音信号生活中必不可少的,特别是在现在信息时代各种信息在网络
11、上传播和被人们接收,而在传播和接收的过程中充满了各种干扰信号.这些信号一般是由环境和设备上产生的与人们想要的信息掺杂在一起并且不可避免的会出现这种状况.这类信号可以被称之为噪音信号.由于这很常见,所以去噪也是人们长期探讨解决的话题.在这网络发达的时代,想要实现一些想法是比较容易的,好多的东西都可以模拟仿真看自己的想法能否实现.数字音频去噪也可以,MATLAB是一种交互式和基于矩阵的体系,它主要用于科学和工程数值计算和可视化功能.利用它相对简单的编程能力,可以很容易的MATLAB扩展创建出新的命令和函数.从这一点来看,它的功能是很强大的.我们可以利用MATLAB这强大的仿真功能来实现对数字信号的
12、噪声去除,这会在生活中很有用的.1.2 国内外研究现状随着信息科学技术的飞速发展,语音信号处理取得了重大的进展.20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速傅里叶变换(FFT)等成为语音信号数字处理的理论和技术基础;进入70年代之后,学者们又提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并发展成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域;80年代初一种新的基于聚类分析的高效数据压缩技术矢量量化(VQ)应用于语音信号处理中,而用稳马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前H
13、MM已构成了现代语音识别研究的重要基石2.近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中.1.3 研究内容课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波.通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现.在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用双线性变法设计巴特沃斯IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制.最终结合图像以及对语音信
14、号的回放,通过对比,得出结论.本课题的研究基本步骤如下:1. 语音信号的录制.2. 在MATLAB平台上读入语音信号.3. 绘制频谱图并回放原始语音信号.4. 利用MATLAB编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号.5. 通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点.1.4 研究课题的目的和意义语音信号的采集与分析技术是一门涉及面很广的交叉科学,它的应用和发展与语音学、声音测量学、电子测量技术以及数字信号处理等学科紧密联系,语音是人类获取信息的重要来源和利用信息的重要手段.在信号传输过程中,由于实验条件或各种其他主观或客观条件的
15、原因,语音处理系统都不可避免地要受到各种噪声的干扰.噪声不但降低了语音质量和语音的可懂度,而且还将导致系统性能的急剧恶化,严重时使整个系统无法正常工作.现实中噪音给人带来生理上和心理上的危害具体表现在损害听力、有害于人的心血管系统.因此噪声处理已经成为现代人必须面临的问题.选择设计此方案,是对数字信号处理的一次实践.在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用.这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面.这个方案用到的软件也是在数字信号处理中非常通用的一个软件MATLAB软件.所以这个课题的设计过程
16、也是一次数字信号处理在MATLAB中应用的学习过程.1第2章 原始信号语音的采集与处理2.1 语音信号的采样理论依据所谓“采样”,就是利用采样脉冲序列p(t)从连续时间信号x(t)中抽取一系列的离散样值,由此得到的离散时间信号通常称为采样信号.采样器可以看成是一个电子开关,设开关每隔T短暂地闭合一次,将连续信号接通,实现一次采样.如果开关每次闭合的时间为t那么采样器的输出将是一串周期为T,宽度为t的脉冲,而脉冲的幅度却是重复着在这段t时间内信号的幅度,这个过程可以看作是一个脉冲调幅过程,被调制的脉冲载波是一串周期为T,宽度为t的矩形脉冲信号,即采样脉冲序列p(t),而调制信号就是输入的连续信号
17、.2.1.1 采样频率采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示.采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔.通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准.采样频率与声音频率之间有一定的关系,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音.这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准.2.1.2 采样位数采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所
18、使用数字声音信号的二进制位数.声卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度.声卡的主要的作用之一是对声音信息进行录制与回放,在这个过程中采样的位数和采样的频率决定了声音采集的质量.2.1.3 采样定理在进行原始模拟信号采集过程中,当采样频率大于采样信号中的最高频率的2倍()时,采样之后的数字信号才能完整地还原原始信号中的信息.一般在实际应用中保持采样频率为信号最高频率成分的510倍.2.2 语音信号的录制用windows自带的录音软件录制一段音乐,然后用音频转换软件把录制的音频文件转换成.wav格式.2.3 语音信号的时频分析2.3.1 FFT概念傅立叶变换是一种将时域信号转变
19、为频域信号的变换形式.在频域分析中,频谱分析是信号分析的重要内容,它反应了系统性能的好坏.所谓信号的频谱,就是指信号的频率及对应的幅度值和相位,也可以分别称为幅度谱和相位谱.傅里叶变换是数字信号处理中对信号进行分析时经常采用的一种方法.但是如果采用常规的傅里叶变换,则该算法的运算量会特别大,所以通常的方法是采用快速傅里叶变换3.FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域.有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了.这就是很多信号分析采用FFT变换的原因.另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的.2.3.2 FF
20、T的MATLAB实现在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换.下面介绍这些函数.函数FFT用于序列快速傅立叶变换.函数的一种调用格式为 y=fft(x),其中x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度.若x为一矩阵,则y是对矩阵的每一列向量进行FFT.函数FFT的另一种调用格式为y=fft(x,N),式中x,y意义同前,N为正整数.函数执行N点的FFT.若x为向量且长度小于N,则函数将x补零至长度N.若向量x的长度大于N,则函数截短x使之长度为N.若x 为矩阵,按相同方法对x进行处理.经函数fft求得的序列
21、y一般是复序列,通常要求其幅值和相位.MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和 FFT同时使用.函数abs(x)用于计算复向量x的幅值,函数angle(x)用于计算复向量的相角.利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量.再对其进行采样,记住采样频率和采样点数.下面介绍Wavread 函数几种调用格式.(1)y=wavread(file)功能说明:读取file所规定的wav文件,返回采样值放在向量y中.(2)y,fs,nbits=wavread(file) 功能说明:采样值放在向量y中,fs表示采样频率(hz),nbi
22、ts表示采样位数.(3)y=wavread(file,N)功能说明:读取前N点的采样值放在向量y中.(4)y=wavread(file,N1,N2)功能说明:读取从N1到N2点的采样值放在向量y中.接下来,对语音信号test03.wav进行采样.其程序如下:y,fs,nbits=wavered (test03.wav);然后,画出语音信号的时域波形,再对语音信号进行频谱分析.在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性.我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化.sound(x,fs,bits); 用于对声音的回放.向量
23、y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号.下面的一段程序是语音信号在MATLAB中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图.其程序如下:y,fs,bits=wavread(test03.wav);x=y(:,1);%sound(y,fs) %原始效果n=length(y)y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(y);title(原始语音信号采样后的时域波形);xlabel(频率点数)ylabel(幅值A)subplot(2,1
24、,2);plot(f,abs(y_p(1:n/2);title(原始语音信号采样后的频谱图);xlabel(频率Hz);ylabel(频率幅值);得到的时域波形图、频谱图如图2-1所示:图2-1原始音频信号频谱图2.4 语音信号加噪与频谱分析2.4.1 随机噪音信号加入原始语音信号在MATLAB中产生高斯白噪声非常方便,我们可以直接应用两个函数:一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声.也可直接用randn函数产生高斯分布序列.在本次设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号
25、被污染,并对其频谱分析.MATLAB函数randn:产生正态分布的随机数或矩阵的函数产生均值为0,方差 ,标准差的正态分布的随机数或矩阵的函数.Y = randn(n):返回一个n*n的随机项的矩阵.如果n不是个数量,将返回错误信息.Y = randn(m,n) 或 Y = randn(m n):返回一个m*n的随机项矩阵.Y = randn(m,n,p,.) 或 Y = randn(m n p.):产生随机数组.Y = randn(size(A):返回一个和A有同样维数大小的随机数组.图2-2原始音频信号加入噪声后频谱图下面一段程序实现了利用randn函数把一段随机噪音信号加入原始语音信号的
26、信号处理过程语句 L=length(y) ; noise=0.1*randn(L,2); y_z=y+noise; sound(y_z,fs)加噪后语音信号的时域波形、频谱图如图2-2所示:通过对图2-1和图2-2的对比,很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多,在时间轴上可以明显看出幅值增大了.再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比,人耳可以明显辨别出两种语音信号不一样了,加噪后的语音信号在听觉上比原始语音信号要浑浊很多,而且还有刺耳的混杂音.21第3章 数字滤波器3.1 数字滤波器原理数字滤波是数字信号分析中最重要的组成部分之一,数字滤波器广泛
27、用于数字信号处理中,如电视、VCD、音响等.随着数字技术的不断发展,在许多场合数字滤波器正在快速取代模拟滤波器,与模拟滤波相比,它具有精度和稳定性高,系统函数容易改变,灵活性强,便于大规模集成和可实现多维滤波等优点.在信号的过滤,检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统.数字滤波器的作用是利用离散时间系统的特性对入信号波形进行加工处理.或者说利用数字方法按预定的要求对信号进行变换.数字滤波器是一个离散的系统,它可以对输入的信号进行一系列的运算处理,从输入的信号中获得所需要的信息.模拟信号的数字处理如图3-1所示.模拟信号经过抗混叠滤波器限带处理后,通过模数转换器将其转换
28、为数字信号,该信号经数字处理后,用数模转换器变为模拟信号,最后,再用平滑滤波器滤除该模拟信号中的高频干扰.图3-1 模拟信号的数字处理3.2 实现数字滤波器的方法数字滤波器按特定的运算改变数字输入信号的频谱分布,用软件或硬件实现.一般有两种,一种是利用计算机的程序实现,即在通用计算机上执行数字信号处理程序,从而仿真实现,这种方法灵活,但一般不能完成实时处理.另一种是利用硬件来实现,硬件处理是根据数字滤波器的算法,设计专用数字信号处理集成电路,使计算程序全部硬件化,这种方法的优点是处理速度高,但灵活性差,设备开发周期长.实现一个数字滤波器一般需要三个基本的运算单元:加法器,乘法器和延时器.设计数
29、字滤波器的一般步骤:(1)按所给要求确定滤波器的性能(2)用一个因果稳定的离散线性时不变系统的函数逼近此性能的要求(3)利用算法来实现这个系统函数(4)利用计算机仿真或硬件来实现3.3 数字滤波器的特点3.3.1 有限脉冲响应滤波器(FIR)特点(1)有限脉冲响应滤波器(FIR filter)的优点: 脉冲响应为有限长:造成当输入信号个数为有限长的时候,输出数信号个数也为有限长. 比无限脉冲响应滤波器(IIR filter)较容易最优化. 线性相位:造成h(n)是偶对称或奇对称且有限长. 一定是稳定的:因为Z转换后所有的极点都在单位圆内.(2)有限脉冲响应滤波器的缺点:设计方式较无限脉冲响应滤
30、波器困难.3.3.2 无限脉冲响应滤波器(IIR)特点(1)无限脉冲响应滤波器(IIR filter)的优点:较容易设计以及实现.(2)无限脉冲响应滤波器的缺点: 脉冲响应为无限长:造成当输入信号个数为有限长的时候,输出信号个数会变成无限长.比有限脉冲响应滤波器较不容易最优化.不一定是稳定的:因为Z转换后所有的极点不一定都在单位圆内.具有非线性相位.3.4 FIR数字滤波器设计3.4.1 FIR数字滤波器的设计方法FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的.目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法4.常用的是窗函数
31、法和切比雪夫等波纹逼近的最优化设计方法.本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的. (1) FIR滤波器的定义(3-1)阶:长度的FIR数字滤波器(3-2)(2) FIR滤波器设计指标数字滤波器的技术指标与模拟滤波器的基本相同,以低通滤波器为例,技术指标有通带频率、通带最大衰减、阻带频率、阻带最小衰减5,如图3-2所示.此外,因模拟频率,数字滤波器还需要给出抽样间隔T或抽样频率.对同一滤波器,系统函数是模拟频率与抽样频率比值的函数,抽样频率提高一倍,通带、阻带模拟频率也相应地提高一倍6.图3-2 FIR滤波器设计指标图(3) 严格线性相位定义(
32、3-3)若, 则称系统H(z)是严格线性相位的7.(4) 广义线性相位定义(3-4)3.4.2 利用窗函数设计FIR滤波器的具体步骤(1)根据性能要求确定待求滤波器的冲激响应如果根据通带阻带衰减和边界频率要求,可选用理想滤波器作为逼近函数8,从而用理想滤波器的频率响应作傅立叶逆变换求出.(3-5)如果较复杂或不能用封闭公式表示,则不能用上式求出.此时可对从=0到=2(一个周期内)均匀采样M点,采样值为,k=0,1,M-1,则上式可近似写成(3-6)根据采样定理,和应满足:(3-7)(2) 根据对过渡带及阻带衰减的要求,选择窗口函数的形式,并估计窗口长度N.(3) 确定延时值(即滤波器的对称中心
33、)(4) 计算滤波器的冲激响应h(n).(3-8)w(n)是关于(N-1)/2对称的长度为N的一个窗函数.(5)验证技术指标是否满足要求.设计出的滤波器频率响应用下式表示9:(3-9)3.5 IIR数字滤波器设计3.5.1 IIR数字滤波器设计方法IIR数字滤波器是一种离散时间系统,其系统函数为(3-10)假设MN,当MN时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联.IIR数字滤波器的设计实际上是求解滤波器的系数和,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性.如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就
34、得到数字滤波器.3.5.2 IIR数字滤波器的设计步骤IIR数字滤波器的设计一般有两种方法:一个是借助模拟滤波器的设计方法进行.其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器.这种方法比较容易一些,因为模拟滤波器的设计方法已经非常成熟,不仅有完整的设计公式,还有完善的图表供查阅;另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计.其设计步骤是:先设计过渡模拟滤波器得到系统函数,然后将按某种方法转换成数字滤波器的系统函数10.利用模拟滤波器成熟的理论设计IIR数字滤波器的过程是:(1)根据要求确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减、
35、阻带截止频率、阻带最小衰减.(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标.(3)按照模拟低通滤波器的技术指标设计过渡模拟低通滤波器.(4)用所选的转换方法,将模拟滤波器转换成数字低通滤波器系统函数.成熟的模拟滤波器设计方法主要有脉冲响应不变法和双线性变换法11.3.5.3 双线性变换法设计IIR数字滤波器脉冲响应不变法的主要缺点是产生频率响应的混叠失真12.这是因为从平面到平面是多值的映射关系所造成的.为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到之间,再用转换到平面上.也就是说,第一步先将整个平面压缩映射到平面的一条横带里;第二步再通过标
36、准变换关系将此横带变换到整个平面上去.这样就使平面与平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图3-3所示.图3-3双线性变换的映射关系为了将S平面的整个虚轴压缩到平面轴上的到段上,可以通过以下的正切变换实现(3-11)式中,T仍是采样间隔.当由经过0变化到时,由经过0变化到,也即映射了整个轴.将式(3-11)写成(3-12)将此关系解析延拓到整个S平面和S1平面,令j=s,j1=s1,则得(3-13)再将平面通过以下标准变换关系映射到Z平面(3-14)从而得到S平面和Z平面的单值映射关系为:(3-15)(3-16)式(3-15)与式(3-16)是S平面
37、与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换.式(3-11)与式(3-15)的双线性变换符合映射变换应满足的两点要求.首先,把,可得(3-17)即S平面的虚轴映射到Z平面的单位圆.其次,将代入式(3-16),得(3-18)因此(3-19)由此看出,当时,|z|1.也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上13.因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的.第4章 滤波并绘制前后语音信号的波形及频谱4.1 滤波及仿真4.1.1 FIR低通窗滤波接下来我们重点设计
38、的FIR低通滤波器对上一节中加噪语音信号进行滤波处理.用设计好的FIR数字低通滤波器对加噪语音信号的滤波程序:fs=44100;fp=600,fc=800;wp=2*pi*fp/fs;ws=2*pi*fc/fs;Bt=ws-wp;N0=ceil(11*pi/Bt);N=N0+mod(N0+1,2);wc=(wp+ws)/2/pi;hn=fir1(N-1,wc,bartlett(N); X=conv(hn,x);sound(X,fs,bits);%滤波后回放效果X1=fft(X,n);figure(3);subplot(2,1,1);plot(X);title(低通窗滤波后的信号波形);subp
39、lot(2,1,2);plot(f,abs(y_p(1:n/2);title(低通窗滤波后信号频谱);xlabel(频率Hz);ylabel(频率幅值); 得到的图形如图4-1和4-2所示:分析:从以上四图可以很明显和直观的看出原始语音信号和加噪语音信号时域波形和频谱图的区别.加噪后的语音信号的时域波形比原始语音信号要模糊得多,频谱图则是出现了明显的变化.再通过滤波前的信号波形和频谱图的对比,可以明显看出滤波后的波形开始变得清晰了,有点接近原始信号的波形图了.滤波后信号的频谱图也接近原始语音信号的频谱图.再从对语音信号的回放,人耳可以明显辨别出加噪后的语音信号比较浑浊,还有很明显嘎吱嘎吱的杂音
40、在里面.滤波后,语音信号较加噪后的信号有了明显的改善,基本可以听清楚了,而且杂音也没有那么强烈,但是声音依然没有原始语音信号那么清晰脆耳.图 4-1 加噪后语音信号频谱图 4-2 低通窗滤波语音信号频谱4.1.2 IIR巴特沃斯低通窗滤波IIR低通滤波器对加噪语音信号进行内部处理程序如下:fp=600;fs=800;Fs=44100;rp=1;rs=10;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Fs1=1;wap=2*tan(wp/2);was=2*tan(ws/2);N,wc=buttord(wap,was,rp,rs,s);B,A=butter(N,wc,s);Bz,Az=
41、bilinear(B,A,Fs1);figure(3);h,w=freqz(Bz,Az,512,Fs1*44100);plot(w,abs(h);title(巴特沃斯低通滤波器);xlabel(频率(HZ));ylabel(耗损(dB));grid on;yd=filter(Bz,Az,y_z);ydd=fft(yd,n);f=fs*(0:n/2-1)/n;figure(3);subplot(2,1,1);plot(yd); title(巴特沃斯低通滤波后信号时域波形);xlabel(点数)ylabel(幅值A)subplot(2,1,2);plot(f,abs(ydd(1:n/2);titl
42、e(巴特沃斯低通滤波后信号频谱);xlabel(点数);ylabel(频率幅值); %sound(yd,Fs,bits);%滤波后音效回放得到的结果如图4-3所示:与图4-1 相比可以看出,IIR巴特沃斯低通滤波后的效果不是很明显,还是有一定噪声的.通过回放,更是可以听出去噪后还是存在噪声,但是噪声的频率下降了没有原来那么多而杂.原始音效也是比较低沉,所以说IIR巴特沃斯低通滤波去噪效果不明显,还是有点效果的.图4-3 IIR巴特沃斯低通滤波器去噪后语音频谱图4.2 结合去噪后的频谱图对比两种方式滤波的优缺点IIR数字滤波器采用递归型结构,即结构上带有反馈环路.IIR滤波器运算结构通常由延时、
43、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路14.由于运算中的舍入处理使误差不断累积,有时会产生微弱的寄生振荡. (1)IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络.FIR滤波器则要求较低.(2)IIR滤波器运算误差大,不是线性相位的,有可能出现极限环振荡,FIR相比之下运算误差较小,不会出现极限环振荡.(3)IIR幅频特性精度很高,可以应用于对相位信息不敏感的音频信号上; (4)与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等)
44、,由软件设计出满足这些参数的最低滤波器阶数.在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择15. (5)FIR幅频特性精度较之于IIR低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变.(6)IIR滤波器有噪声反馈,而且噪声较大,FIR滤波器噪声较小.第5章 总结课题的特色在于它将语音信号看作一个向量,于是就把语音数字化了.那么,就可以完全利用数字信号处理的知识来解决语音及加噪处理问题.我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理.通过比较加噪前后,语音的频谱和语音回放,能明显的感觉
45、到加入噪声后回放的声音与原始的语音信号有很大的不同,前者随较嘈杂的噪声.这次毕业设计还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力.在设计的过程中遇到问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固.总的来说,这次课程设计还是比较成功的,在设计中遇到了很多问题,在老师和同学的细心帮助下,终于一一解决了,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻
46、炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时对未来有了更多的信心.参考文献1 王艳芳,王刚,张晓光,刘卫东. 数字信号处理原理及实现. 清华大学出版社 20072 张春生,钱萌. MATLAB在数字滤波器设计中的应用探索J. 中国电力教育. 2011(06)3 闫晓艳,宋一中,赵志敏. 快速傅立叶变换辅助设计数字低通滤波器J. 光电子.激光. 2007(10)4 薛健,陈后金,胡健.线性相位FIR滤波器频域特性的教学探索J. 电气电子教学学报. 2012(01)5 赵顺珍,马英.基于DSP的FIR数字滤波器设计与实现J. 微计算机信息.2009(05)6 傅丰林,陈健,阔永红. FIR数字滤波器的设计及其在MATLAB中的仿真实现J. 电子科技. 2004(05)7 王军伟,任良超. 基于频率采样技术的FIR数字滤波器的优化设计J. 仪器仪表学报. 2005(S2)8 杨大柱. MATLAB环境下FIR滤波器的设计与仿真J. 电子技术应用. 2006(09)9 赵爱良. 利用窗函数设计FIR数字滤波器