1、基 于 MATLAB 的语音信号数字滤波器的设计和实现;引言;随着信息时代和数字世界的到来,信号处理正向着数字;人耳可闻的音频带宽为 20Hz 20KHz,而语音;第 1 章绪论 1.1 研究现状;在近代电信设备和各类控制系统中,滤波器应用极为广;1917 年美国和德国科学家分别发明了 LC 滤波 器,;1965 年单片集成运算放大器问世后,为有源滤波器;20 世纪 80 年代技术改造一个基于 MATLAB 的语音信号数字滤波器的设计和实现引 言随 着信息时代和数字世界的到来,信号处理正向着数字化、软件化方向发展,数字信号处理已经成为当今一门极其重要的学科和技术,并且在通信、语音、图像、自动
2、控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。数字滤波器是数字信号处理的重要基础,在对信号的滤波、检测及参数的估计等信号 应用中,数字滤波器是使用最为广泛的一种线性系统。在数字信号处理中,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性大等特点。现代数字 滤波器可以用软件或硬件两种方式来实现。软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。人耳可闻的音频带宽为 20Hz 20KHz,而语音信号的带宽是不较窄的。试验证明,语音信号只要有 500Hz3KHz 的带宽就能够保持语音的清晰度。我们只需要设计带宽为 500Hz3KHz 的语音信号滤波器
3、用于语音信号通路中,抑制了不需要的可闻音频信号,如低频噪声(交流感应噪声,电唱机唱盘噪声等),高频噪声(磁带 噪声,无线电接收机中的啸叫声等)。或者只抑制低频和高频噪声其中的一种。从而改善语音信号的信噪比,提高语音清晰度。1第 1 章 绪 论 1.1 研究现状在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。1917 年美国和德国科学家分别发明了 LC 滤波器,次年导致了美国第一个多路复用系统的出现。20 世纪 50 年代无源滤波器日趋成熟。自 60 年代起由
4、于计算机技术、 集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、 稳定可靠成为 70 年代以后的主攻方向。导致 RC 有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到 70 年代后期,上述几种滤 波器的单片集成已被研制出来并得到应用。80 年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90 年代至现在主要致力于把各类滤波器 应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。1965 年单片集成运算放大器问世后,为有源滤波器开辟了广阔的前
5、 景。70 年代初期,有源滤波器发展引人注目,1978 年单片 RC 有源滤波器问世,为滤波器集成迈进了可喜的一步。由于运放的增益和相移均为频率的函数,这 就限制了 RC 有源滤波器的频率范围,一般工作频率为 20kHz 左右,经过补偿后,工作频率也限制在 100kHz 以内。1974 年产生了更高频的 RC 有源滤 波器,使工作频率可达 GB/4(GB 为运放增益与带宽之积)。由于 R 的存在,给集成工艺造成困难,于是又出现了有源 C 滤波器:就是滤波器由 C 和运放组成。 这样容易集成,更重要的是提高了滤波器的精度,因为有源 C 滤波器的性能只取决于电容之比,与电容绝对值无关。但它有一个主
6、要问题:由于各支路元件均为电 容,所以运放没有直流反馈通道,使稳定性成为难题。1982 年由 Geiger、Allen 和Ngo 提出用连续的开关电阻(SR)去替代有源 RC 滤波器中的 电阻 R,就构成了SRC 滤波器,它仍属于模拟滤波器。但由于采用预置电路和复杂的相位时钟,使这种滤波器发展前途不大。20 世纪 80 年代技术改造一个重大课题是实现各种电子系统全面大规模集成(LSI)。使用最多的滤波器成为“拦路虎”,RC 有源滤波器不能实现 LSI,无源滤波器和机械滤波器更不用说了,于是,人们只能另辟新径。50 年代曾有人提2出 SCF 的概念,由于当时集成工艺不过关,并没有引起人们的重视。
7、1972 年,美国一个叫 Fried 的科学家发表了用开关和电容模拟电阻 R,说 SCF 的性能 只取决于电容之比,与电容绝对值无关,这样才引起人们的重视。1979 年一些发达国家单片 SCF 已成为商品(属于高度保密技术)。现在 SC 技术已趋成熟。 SCF 采用 MOS 工艺加以实现,被公认为 80 年代网络理论与集成工艺的一个重大突破。当前 MOS 电容值一般为几皮法至 100pF 之内,它具有 (10100)10-6/V 的电压系数与(10100)10-6/的温度系数,这两个系数几乎接近理想的境界。SCF 具有下列一些优点:SCF 可以大规模集成;SCF 精度高,因为其性能取决于电容之
8、比,而 MOS 电容之比的误差小于千分之一;功能多,几乎所有电子部件和功能均可以由 SC 技术来实 现;比数字滤波器简单,因为不需要A/D、D/A 转换;功能小,可以做到小于 10mW。我国广泛使用滤波器是 50 年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。在 我国,1978 年有的导师和在校研究生开始进行这项研究工作,真正引起人们重视是 1980 年以后。1983 年清华大学已制成单片 SCF,成都工程学院与工
9、厂联合,也研制成单片 SCF。现在关键是用 MOS 工艺实现 SCF 及推广应用问题,由于用户还不了解它,在我国 SCF 的应用还没有普及。我国 现有滤波器的种类和所覆盖的频率已基本上满足现有各种电信设备。从整体而言,我国有源滤波器发展比无源滤波器缓慢,尚未大量生产和应用。从下面的生产应用 比例可以看出我国各类滤波器的应用情况:LC 滤波器占 50%;晶体滤波器占 20%;机械滤波器占 15%;陶瓷和声表面滤波器各占 1%;其余各类滤波器共占 13%。从这些应用比例来看,我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。1.2 发展趋势随着科技的发展,近些年又出现了很多新型数字滤波
10、器(DF),在这里,对一些新型 DF 做一些简单介绍。(1) 自适应 DF :最优控制、自适应控制和自学习控制都涉及到多参数、多变量的复杂控制系统,都属于现代控制理论研究的课题。自适应 DF 具有很强的自学习、自跟踪功能。它 在雷达和声纳的波束形成、缓变噪声干扰的抑制、噪声信号的处理、通信信道的自适应均衡、远距离电话的回声抵消等领域获得了广泛的应用,促进了现代控制理论 的发展。自适应 DF 有如下一些简单算法:WLMS 算法、MLMS 算法、TDO 算法、差值LMS 算法和 CLMS 算法。(2) 复数 DF :在输入信号为窄带信号处理系统中,常采用复数 DF 技术。为了降低采样率而又保存信号
11、所包含的全部信息,可利用正交双路检波法,取出窄带信号的复包络,然 后通过 A/D 变换,将复包络转化为复数序列进行处理,这个信号处理系统即为复数 DF。它具有许多功能:MTI 雷达中抑制具有卜勒频移的杂波干扰;数字通信 网与模拟通信网之间多路 TDM/FDM 信号变换复接3(3)多维 DF :在图像处理、地震、石油勘探的数据处理中都用到多维DF(常用是二维 DF),多维 DF 的设计,往往将一维 DF 优化设计直接推广到多维 DF 中去。对于模糊 和随机噪声干扰的二维图像的处理,多维 DF 也能发挥很好的作用。 此外,还有波 DF,它便于实现大规模集成,便于无源和有源滤波网络的数字模拟。因此,
12、正受到人们的重视和加以研究。对于 DF 有待研究的课题有:系数灵敏度、舍入噪声和极限环、多维逆归滤波器的稳定性、各种硬件和软件实现 DF 的研究等等。总之,DF 在数字信号处理技术中占有极为重要的地位,对于它的研究、生产和应用等工作均是很有意义的。为适应各种需要,出现了一批新型滤波器,这里介绍几种已得到广泛应用的新型滤波器。(1) 电控编程 CCD 横向滤波器(FPCCDTF) :电荷耦合器(CCD)固定加权的横向滤波器(TF)在信号处理中,其性能和造价均可与数字滤波器和各种信号处理部件媲美。这种滤波器主要用于自适应滤 波;P-N 序列和 Chirp 波形的匹配滤波;通用化的频域滤波器及相关积
13、运算;语音信号和相位均衡;相阵系统的波束合成和电视信号的重影消除等均有应用。 当然,更多的应用有待进一步开拓。总之,FPCCDTF 是最有希望的发展方向。(2)晶体滤波器 :它是适应单边带技术而发展起来的。在 20 世纪 70 年代,集成晶体滤波器的产生,使它的发展产生一个飞跃。近十年来,晶体滤波器致力于下面一些研究:实现 最佳设计,除具有优良的选择外,还具有良好的时域响应;寻求新型材料;扩展工作频率;改造工艺,使其向集成化发展。它广泛应用于多路复用系统中作为载波滤 波器,在收发信中,单边带通信机中作为选频滤波器,在频谱分析仪和声纳装置中作为中频滤波器。(3)声表面滤波器 :它是理想的超高频器
14、件。它的幅频特性和相位特性可以分别控制,以达到要求,而且它还有体积小,长时间稳定性好和工艺简单等特点。通常应用于:电视广播发 射机中作为残留边带滤波器;在彩色电视接收机中调谐系统的表面梳形滤波器。此外,在国防卫星通信系统中已广泛采用。声表面滤波器是电子学和声学相结合的产 物,而且可以集成,所以,它在所有无源滤波器中最有发展前途的。随着电子工业的发展,对滤波器的性能要求越来越高,功能也越来越多,并且要求它们向集成方向发展。我国滤波器研制和生产与上述要求相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任。4第 2 章 MATLAB 概述2.1 MATLAB 的诞生与发展MATLAB 是
15、矩阵实验室(Matrix Laboratory)的简称,是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 Simulink 两大部分。20 世纪 70 年代,美国新墨西哥大学计算机科学系主任 Cleve Moler 为了减轻学生编程的负担,用 FORTRAN 编写了最早的 MATLAB。1984 年由Little、Moler、Steve Bangert 合作成立了的 MathWorks 公司正式把 MATLAB推向市场。到 20 世纪 90 年代,MATLAB 已成为国际控制界的标准计算
16、软件。其版本更新如表 2-1 所示。表 2-1 MATLAB 版本更新表5三亿文库 包含各类专业文献、专业论文、幼儿教育、小学教育、应用写作文书、50 基于 MATLAB 的语音信号数字滤波器的设计和实现等内容。2.2MATLAB 的基本功能及其应用;MATLAB 和 Mathematica、Maple;MATLAB 的基本数据单位是矩阵,它的指令表达式;MATLAB 产品族可以用 来进行以下各种工作:数值;MATLAB 的应用范围非常广,包括信号和图像处理;2.3MATLAB的特点及其优势 MATLAB 特点;(2)此开发环境可 对代码、文件和数据进行管理;(3)交互式工具可以按迭代2.2
17、 MATLAB 的基本功能及其应用MATLAB 和 Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB 可以进行矩阵运算、绘制函数和 数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完成相同的事情简捷 得多,并且 mathwork 也吸收了像 Maple 等软件的优点,使 MATLA
18、B 成为一个强大的数学软件。在新的版本中也加入了对 C,FORTRAN,C+ ,JAVA 的支持。可以直接调用,用户也可以将自己编写的实用程序导入到 MATLAB 函数库中方便自己以后调用,此外许多的 MATLAB 爱好者都编写了一 些经典的程序,用户可以直接进行下载就可以用。MATLAB 产品族可以用来进行以下各种工作:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真、财务与金融工程。6MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具
19、箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。2.3 MATLAB 的特点及其优势 MATLAB 特点包括几下几个方面 (1)此高级语言可用于技术计算(2)此开发环境可对代码、文件和数据进行管理(3)交互式工具可以按迭代的方式探查、设计及求解问题(4)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等(5)二维和三维图形函数可用于可视化数据 (6)各种工具可用于构建自定义的图形用户界面(7)各种函数可将基于 MATLAB 的算法与外部应用程序和语言 (8)不支持大写输入,内核仅仅支持小写 MATLAB 的优势包括以下几
20、个方面 (1)友好的工作平台和编程环境 (2)简单易用的程序语言(3)强大的科学计算机数据处理能力 (4)出色的图形处理功能(5)应用广泛的模块集合工具箱 (6)实用的程序接口和发布平台 (7)应用软件开发(包括用户界面)7第 3 章 语音信号分析3.1 语音信号概述 语音信号基本组成语 音信号的基本组成单位是音素。音素可分成“浊音”和“清音”两大类。如果将不存在语音而只有背景噪声的情况称为“无声”, 那么音素可以分成“无 声”、“浊音”、“清音”三类。一个音节由元音和辅音构成。元音在音节中占主要部分。所有元音都是浊音。在汉语普通话中, 每个音节都是由“辅音- 元音” 构成的。语音信号的“短时
21、谱”对 于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。浊音的短时谱有两个特点: 第一, 有明显的周期性起伏结构, 这是因为浊音的激励源为周期脉冲气流;第二, 频谱中明显地有凸出点, 即“共振峰”, 它们的出现频率与声道的谐振频率相对应。清音的短时谱则没有这两个特点, 它十分类似于一段随机噪声的频谱。 短时分析技术语 音信号具有时变特性, 但在一个短时间范围内( 一般认为在 1030ms 的短时间内) , 其特性基本保持不变, 即相对稳定
22、, 因而可以将其看作是一个准稳态过程, 即语音信号具有短时平稳性。任何语音信号的分析和处理必须建立在“短时”的基础上, 即进行“短时分析”, 将语音信号分段来分析其特征参数,其中每一段称为一“帧”, 帧长一般取为 1030ms。这样, 对于整体的语音信号来讲, 分析出的是由每一帧特征参数组成的特征参数时间序列。 倒谱分析倒 谱分析是指信号短时振幅谱的对数傅里叶反变换。它具有可近似地分离并提取出频谱包络信息和细微结构信息的特点。本文按照以下设计思路进行阐述: 录制采集语音信号, 对录制的信号进行采样; 绘制采样后语音信号的时域波形和频谱图, 设计滤波器, 并运用所设计的滤波器对采集的信号进行滤波
23、, 绘制滤波后信号的时域波形和频谱。3.2 理论依据83.2.1 采样定理在 进行模拟数字信号的转换过程中,当采样频率 fs.max 大于信号中最好频率 fmax 的 2 倍时,即:fs.max=2fmax,则采样之后的数字 信号完整的保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的 510 倍,采样定理又称为耐奎斯特定理。1924 年耐奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:理想低通信道的最高大码元传输速率=2W*log2N(其中 W 是理想低通信道的带宽,N 是电平强度)3.2.2 采样频率采 样频率是指计算机每秒采集多少个声音样本,是秒
24、速声音文件的音质、音调、衡量声卡、声音文件的质量标准。采样频率越高,即采样的时间间隔越短,则在单位时 间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据耐奎斯特理论,只有采样频率高于声音信号的最 高频率两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。3.2.3 采样位数与采样频率采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟内对声音信号的采集次数,采样频率越高,声音的还原就越真实越
25、自然。采 样位数和采样频率对于音频接口来说事最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据的最大 力度范围。每增加一个采样位数,相当于力度范围增加了 6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似于一个照相 机,44.1kHz 意味着音频流进入计算机时计算机每秒会对其拍照达到441000 次。显然采样频率越高,计算机摄取的图片越多,对于原始音频的还原也越 加精确。3.3 语音信号分析及处理方法 3.3.1 语音的录入与打开在 MATLAB 中,y,fs,bits=wavread(Blip,N1 N2);用于读取
26、语音,采样值放在向量 y 中,fs 表示采样频率(Hz),bits 表示采样位数。N1 N2表示读取从 N1 点到 N2 点的值(若只有一个 N 的点则表示读取前 N 点的采样值)。sound(x,fs,bits); 用于对声音的回放。向量 y 则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。3.3.2 时域信号的 FFT 分析FFT 即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。在 MATLAB 的信号处理工具箱中函数 FFT 和 IFFT 用于快速傅立叶变
27、换和逆变换。函数 FFT 用于序列快速傅立叶变换,其调用格式为 y=fft(x),其中,x 是序列,y 是序列的 FFT,x 可以为一向量或矩阵,若 x 为一向量,y 是 x 的 FFT9且 和 x 相同长度;若 x 为一矩阵,则 y 是对矩阵的每一列向量进行 FFT。如果x 长度是 2 的幂次方,函数 fft 执行高速基2FFT 算法,否则 fft 执行一种混 合基的离散傅立叶变换算法,计算速度较慢。函数 FFT 的另一种调用格式为y=fft(x,N),式中,x,y 意义同前,N 为正整数。函数执行 N 点的 FFT,若 x为向量且长度小于 N,则函数将 x 补零至长度 N;若向量 x 的长
28、度大于 N,则函数截短 x 使之长度为 N;若 x 为矩阵,按相同方法对 x 进行处理。第 4 章 滤波器的设计4.1 滤波器的简介按所处理的信号分为模拟滤波器和数字滤波器两种,按所通过信号的频段分为低通、高通、带通和带阻滤波器四种,按所采用的元器件分为无源和有源滤波器两种。与 模拟滤波器相对应,在离散系统中广泛应用数字滤波器。它的作用是利用离散时间系统的特性对输入信号波形或频率进行加工处理。或者说,把输入信号变成一定的 输出信号,从而达到改变信号频谱的目的。数字滤波器一般可以用两种方法来实现:一种方法是用数字硬件装配成一台专门的设备,这种设备称为数字信号处理机; 另一种方法就是直接利用通用计
29、算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现。数字滤波器一词出现在 60 年代中期。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数 字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号时,首先须 对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以 折叠频率即 12 抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须
30、经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变 特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及 FIR 滤波器。从滤波器的网络结构或者从单位脉冲响应分类:可分为 IIR 滤波器(即无限长单位冲激响应滤波器)和 FIR 滤波器(即有限长单位冲激响应滤波器)。它们的函数如公式 4-1,公式 4-2 所示:10H(z)?rbz?r;r?0;1?a;k?1kz?k(4-
31、1);H(z)?nh(n)z?n?0N?1(4-2); 式(4-1)中的 H(z)称为 N 阶 IIR 滤波器函数;IIR 数字滤波器的系统函数可以写成封闭函数的形式;IIR 数字滤波器采用递归型结构,即结构上带有 反馈;IIR 数字滤波器在设计上可以借助成熟的模拟滤波器;IIR 数字滤波器的相位特性不好控制,对相位MH(z)?rbz?rr?0N1?ak?1kz?k (4-1)H(z)?nh(n)z?n?0N?1 (4-2)式(4-1)中的 H (z)称为 N 阶 IIR 滤波器函数,式(4-2)中的 H (z)称为(N-1)阶FIR 滤波器函数。IIR 数字滤波器的系统函数可以写成封闭函数的
32、形式。IIR 数字滤波器采用递归型结构,即结构上带有反馈环路。IIR 滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。IIR 数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具 的要求不高。在设计一个 IIR 数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。IIR 数字滤波器的相位特性不好控制,对相
33、位要求较高时,需加相位校准网络。在 MATLAB 下设计 IIR 滤波器可使用 Butterworth 函数设计出巴特沃斯滤波器,使用 Cheby1 函数设计出契比雪夫 I 型滤波器,使用 Cheby2 设计出契比雪夫 II型滤波器,使用 ellipord 函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。与 FIR 滤波器的设计不同,IIR 滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在 MATLAB 下设计不同类型 IIR 滤波器均有与之对应的函数用于阶数的选择。IIR 单位响应为无限
34、脉冲序列 FIR 单位响应为有限的IIR 幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;FIR 幅频特性精度较之于 IIR 低,但是线性相位,就是不同频率分量的信号经过 FIR 滤波器后他们的时间差不变。这是很好的性质。另外有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。4.2 本次设计滤波器要求本次论文需要设计一个数字语音信号滤波器。我们知道,人可以感受到的语音频率范围为 20Hz20000Hz,而语音信号的11带 宽是比较窄的。试验证明,能够较好的保持语音的清晰度,语音信号只要有500Hz3KHz 的带宽就足够了,
35、所以本次设计中,我们只需要设计带宽为 500Hz3KHz 的语音信号滤波器,即可实现所要求的功能。一方面,抑制了不需要的可闻音频信号,如低频噪声(交流感应噪声,电唱机唱盘噪声等),另 一方面,也抑制了高频噪声(磁带噪声,无线电接收机中的啸叫声等)。从而改善语音信号的信噪比,提高语音清晰度。通 过前文的介绍,我们也知道了,数字滤波器可以划分为 FIR 与 IIR 两种滤波器,而两种滤波器无论是在性能上,还是在设计方法上,都有很大区别。FIR滤波 器可以对给定的频率特性直接设计,而 IIR 滤波器目前最通用的办法是利用已经很成熟的模拟滤波器的实际方法来进行设计。其中,IIR 数字滤波器设计借助模
36、拟滤波器原型,再将模拟滤波器转换成数字滤波器,这些过程已经成为一套成熟的设计程序。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公 式,而且还有较为完整的图标以供查询,因此,充分利用这些已经有的资源,将会给数字滤波器的设计带来很大的方便。考虑到本设计需要用简单直接的方法设计一 个语音信号滤波器,而 IIR 数字滤波器最大的优点是给定一组指标时,他的阶数要比相同组的 FIR 滤波器的低得多,故选择 IIR数字滤波器。在讨论由模拟滤波器变换为数字滤波器时,普遍采用的是双线性变换法,它保留的是从模拟域到数字域的系统函数表示。同时,在 IIR 型的滤波器的滤波器中,应用最广泛的便是 Bu
37、tterworth 滤波器。综上所述,本次方案是在 MATLAB 软件基础上,利用双线性变换法,设计一个巴特沃斯型 IIR 低通数字滤波器。12第 5 章 方案论述5.1 方案总述此次“基于 MATLAB 的语音信号滤波器的设计与实现”课程设计要求要求自行采集语音信号后,在 MATLAB 软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。总体思路如图 4-1 所示。图 4-1 语音信号的滤波流程图5.2 声音信号的录制和处理利 用 WINDOWS 自带的媒体录音工具录制长度适中的一段声音。保存文件时,利用计算机上的 A/
38、D 转换,把声音信号由模拟信号转换成离散量化的数字信号(放 音时,再通过 A/D 转换器转换成模拟声音信号)。然后在 MATLAB 中,调入此声音文件,再利用函数 Wavread 对已录制的语音信号进行采样,然后对语 音信号进行频谱分析。噪音信号的生成,需要自行在在 MATLAB 中人为设计一个干扰信号(如高 斯噪声),运用 MATLAB 软件对语音信号和干扰信号进行合成。5.3 滤波器的设计滤波器的设计是本次设计的重点,也是难点所在。数字滤波器分为 FIR 滤波器和 IIR 滤波器。采用软件设计来实现,主要方法有脉冲响应不变法,双线性变13换法,窗函数法。本设计是用双线性变换法设计一个低通滤
39、波器。通过对语音信号的数据分析,对滤波器的参数性能设定,可以成功滤除干扰信号,从而利用软件仿真完成硬件滤波器的功能。设计时要考虑滤波器的类型,阶数,截止频率,衰减幅度等。第 6 章 方案实现6.1 语音信号采集在本论文中,需要一个相对无噪声的语音信号来进行与固定频率的噪声信号的合成,并对合成后信号通过语音滤波器进行滤波处理。由于绝对无噪声的语音信号是不存在的,所以现在使用 PC 机在相对安静无噪声的环境下录取一段语音信号来作为相对无噪声的语音信号。在一台装有 MATLAB 的多媒体 PC 机上,利用 PC 机上的声卡和 WINDOWS 操作系统中的录音软件就可以进行语音信号的采集(即录音)。在
40、 PC 机上加一个语言输入设备(麦克风),接着在 WINDOWS 的桌面上依次点击:【开始】、【所有程序】、【附件】、【录音机】,启动录音机,然后单击录 音键,对麦克风大声地说出“安徽工程大学”录制一段长度适中的语音信号。完成后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的 重现。并将其保存于计算机硬盘上,保存为“ZY.wav”。6.2 语音信号分析6.1.1 原信号分析打 开 MATLAB 软件,对无噪声语音信号进行时域和频域的定性分时析。 在MATLAB 中,导入此语音信号,利用函数 Wavread 对已录制的语音信号进行采样。通过对信号的采样,得到了声音数据变量
41、X,同时把 X 的采样频率 Fs=8000Hz和数据位 Nbit=8bit 放进 MATLAB 工作空间,然后对语音信号进行频谱分析。程序如下:fs = 8000 ; %给出抽样频率Nbits = 8 ; %放入数据位 x ,fs ,Nbits = wavread (ZY.wav) ; %把语音信号进行加载入 Matlab仿真软件平台中figure(1);subplot(121);14stem(x) ;title (语音信号的时域波形图) ;下图所示图 6-1 就是相对无噪声的语音信号的时域波形。从图中可以看出在时域环境下,该信号呈现出了 6 个不规则的信号波峰。图 6-1 原语音信号时域波形
42、然后对原信号进行频域分析,通过下面的 MATLAB 程序,对原信号进行 FFT 变换。程序如下:n = length (x) ; %求出语音信号的长度 x1 = fft (x ,n) ; %傅里叶变换x2 = fftshift (x1) ; %对频谱图进行平移f1 = 0 :fs/ n :fs * (n - 1) / n ; %得出频点figure(1);subplot(122);plot (f1 ,abs(x2) ) ;title (语音信号的频谱图) ;pause;sound(x ,fs) ; %对加载的语音信号进行回放 pause;15信 号频谱图如下图 6-2 所示;图 6-2 原语音
43、信号频域波形;可以看出该相对无噪声的语音信号在 3500Hz 与 4;6.1.2 噪音信号合成和分析;本次设计 中,加入的噪音信号为高斯噪音信号 MATL;利用函数 y=awgn(x,SNR)在信号 x 中加入;程序如下:;fs=8000;%给出抽样频 率;Nbits=8;%放入数据位;x,fs,Nbits=wavread( ;信号频谱图如下图 6-2 所示图 6-2 原语音信号频域波形可以看出该相对无噪声的语音信号在 3500Hz 与 4500HZ 时达到了高峰,在3000Hz5000Hz 范围内比较集中。6.1.2 噪音信号合成和分析本次设计中,加入的噪音信号为高斯噪音信号 MATLAB
44、中产生高斯白噪声非常方便,可以直接应用两个函数,一个是 WGN,另一个是 AWGN。WGN 用于产生高斯白噪声,AWGN 则用于在某一信号中加入高斯白噪声。利用函数 y = awgn(x,SNR) 在信号 x 中加入高斯白噪声。然后对于合成后的信号进行时域和频域分析。程序如下:fs = 8000 ; %给出抽样频率Nbits = 8 ; %放入数据位x,fs,Nbits = wavread (ZY.wav) ; %把语音信号进行加载入 Matlab 仿真软件平台中y = awgn(x,0) %在原信号 x 中加入高斯噪声 y16figure(1);subplot(121);stem(y) ;t
45、itle (语音信号的时域波形图) ;合成后信号 y 的时域波形图如图 6-3 所示。从图中可知,原信号 6 个比较明显的波峰已经不见,整个含噪音的信号波峰与波谷不再明显,波形图起伏不大,趋于平稳。图 6-3 含噪音的语音信号时域波形图对合成后的语音信号进行频域分析,程序如下:n = length (y) ; %求出语音信号的长度x1 = fft (y ,n) ; %傅里叶变换x2 = fftshift (x1) ; %对频谱图进行平移f1 = 0 :fs/ n :fs * (n - 1) / n ; %得出频点figure(1);subplot(122);plot (f1 ,abs(x2)
46、) ;title (语音信号的频谱图) ;pause;17sound(y ,fs) ; %对加载的语音信号进行回放 pause;合成后的语音信号频域波形图如图 6-4 所示。图 6-4 合成后的语音信号频域波形图6.3 数字滤波器的设计本设计是用双线性变换法设计 Butterworth 低通型滤波器。滤 波器的设计指标参数主要有 p,p,s 和 s。其中 p 和 s 分别称为通带边界频率和阻带截止频率,p 称为通带最大衰减(即通带0,p中允许 A()的最大值),s 称为阻带最小衰减(即阻带 S 上允许A()的最小值),p 和 s 的单位为 dB。以上指标如图 6-5 所示。18图 6-5 模拟
47、低通滤波器的设计指标参数程序如下:fs = 8000 ; %给出抽样频率Nbits = 8 ; %放入数据位x,fs,Nbits = wavread (ZY.wav) ; %把语音信号进行加载入 Matlab 仿真软件平台中y= awgn(x,0) %在原信号 x 中加入高斯噪声 yb,a=butter(8,0.707);z=filter(b,a,x);figure(1);subplot(121);stem(z) ;title (语音信号的时域波形图) ;n = length (z) ; %求出语音信号的长度 x1 = fft (z ,n) ; %傅里叶变换x2 = fftshift (x1)
48、 ; %对频谱图进行平移f1 = 0 :fs/ n :fs * (n - 1) / n ; %得出频点figure(2);subplot(122);plot (f1 ,abs(x2) ) ;title (语音信号的频谱图) ;19下图分别为滤波后语音信号时域波形图与频域波形图:图 6-6 滤波后语音信号时域波形图图 6-7 滤波后语音信号频域波形图206.4 结果分析;对比两个语音信号的时域波形图和频谱图,以便更好的;(a)原信号时域波形图(b)滤波后信号时域波形图;图 6-8 语音信号时域对比图;(a) 原信号频谱图(b)滤波后信号频谱图;图 6-9 语音信号频域对比图;21;结论与展望;至
49、此,本论文已经基本完成,在本次课程设计中,完成;1本次设计 较好的完成了对语音信号的录制和合成,;2本次设计也比较好的利用M6.4 结果分析对比两个语音信号的时域波形图和频谱图,以便更好的进行比较和分析。由此得出的对比图像如下图 6-8,图 6-9 所示。(a) 原信号时域波形图 (b)滤波后信号时域波形图图 6-8 语音信号时域对比图(a) 原信号频谱图 (b) 滤波后信号频谱图图 6-9 语音信号频域对比图21结论与展望至此,本论文已经基本完成,在本次课程设计中,完成了以下内容:1 本次设计较好的完成了对语音信号的录制和合成,同时利用 MATLAB 软件对其进行时域和频域的分析,得出了信号的时域图和频域图。2 本次设计也比较好的利用 MATLAB 软件模拟了一个低通滤波器,对录制的语音信号进行处理,分析比较结果,与课题要求基本相符。3 在对语音信号的滤波这一方面,本次设计主要是从 Butterworth 型 IIR(无限长脉冲响应)低通滤波器入手来设计数字滤波器,并且也基本实现了滤波器的功能。语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课题在这里不讨论语音学