基 于MATLAB的语音信号数字滤波器的设计和实现Word文档格式.docx
《基 于MATLAB的语音信号数字滤波器的设计和实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基 于MATLAB的语音信号数字滤波器的设计和实现Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
![基 于MATLAB的语音信号数字滤波器的设计和实现Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/29/ef80927d-8286-479a-b18b-8fc9904cc193/ef80927d-8286-479a-b18b-8fc9904cc1931.gif)
导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。
80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。
90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。
当然,对滤波器本身的研究仍在不断进行。
1965年单片集成运算放大器问世后,为有源滤波器开辟了广阔的前景。
70年代初期,有源滤波器发展引人注目,1978年单片RC有源滤波器问世,为滤波器集成迈进了可喜的一步。
由于运放的增益和相移均为频率的函数,这就限制了RC有源滤波器的频率范围,一般工作频率为20kHz左右,经过补偿后,工作频率也限制在100kHz以内。
1974年产生了更高频的RC有源滤波器,使工作频率可达GB/4(GB为运放增益与带宽之积)。
由于R的存在,给集成工艺造成困难,于是又出现了有源C滤波器:
就是滤波器由C和运放组成。
这样容易集成,更重要的是提高了滤波器的精度,因为有源C滤波器的性能只取决于电容之比,与电容绝对值无关。
但它有一个主要问题:
由于各支路元件均为电容,所以运放没有直流反馈通道,使稳定性成为难题。
1982年由Geiger、Allen和Ngo提出用连续的开关电阻(SR)去替代有源RC滤波器中的电阻R,就构成了SRC滤波器,它仍属于模拟滤波器。
但由于采用预置电路和复杂的相位时钟,使这种滤波器发展前途不大。
20世纪80年代技术改造一个重大课题是实现各种电子系统全面大规模集成(LSI)。
使用最多的滤波器成为“拦路虎”,RC有源滤波器不能实现LSI,无源滤波器和机械滤波器更不用说了,于是,人们只能另辟新径。
50年代曾有人提
2
出SCF的概念,由于当时集成工艺不过关,并没有引起人们的重视。
1972年,美国一个叫Fried的科学家发表了用开关和电容模拟电阻R,说SCF的性能只取决于电容之比,与电容绝对值无关,这样才引起人们的重视。
1979年一些发达国家单片SCF已成为商品(属于高度保密技术)。
现在SC技术已趋成熟。
SCF采用MOS工艺加以实现,被公认为80年代网络理论与集成工艺的一个重大突破。
当前MOS电容值一般为几皮法至100pF之内,它具有(10~100)×
10-6/V的电压系数与(10~100)×
10-6/℃的温度系数,这两个系数几乎接近理想的境界。
SCF具有下列一些优点:
SCF可以大规模集成;
SCF精度高,因为其性能取决于电容之比,而MOS电容之比的误差小于千分之一;
功能多,几乎所有电子部件和功能均可以由SC技术来实现;
比数字滤波器简单,因为不需要A/D、D/A转换;
功能小,可以做到小于10mW。
我国广泛使用滤波器是50年代后期的事,当时主要用于话路滤波和报路滤波。
经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。
在我国,1978年有的导师和在校研究生开始进行这项研究工作,真正引起人们重视是1980年以后。
1983年清华大学已制成单片SCF,成都工程学院与工厂联合,也研制成单片SCF。
现在关键是用MOS工艺实现SCF及推广应用问题,由于用户还不了解它,在我国SCF的应用还没有普及。
我国现有滤波器的种类和所覆盖的频率已基本上满足现有各种电信设备。
从整体而言,我国有源滤波器发展比无源滤波器缓慢,尚未大量生产和应用。
从下面的生产应用比例可以看出我国各类滤波器的应用情况:
LC滤波器占50%;
晶体滤波器占20%;
机械滤波器占15%;
陶瓷和声表面滤波器各占1%;
其余各类滤波器共占13%。
从这些应用比例来看,我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。
1.2发展趋势
随着科技的发展,近些年又出现了很多新型数字滤波器(DF),在这里,对一些新型DF做一些简单介绍。
(1)自适应DF:
最优控制、自适应控制和自学习控制都涉及到多参数、多变量的复杂控制系统,都属于现代控制理论研究的课题。
自适应DF具有很强的自学习、自跟踪功能。
它在雷达和声纳的波束形成、缓变噪声干扰的抑制、噪声信号的处理、通信信道的自适应均衡、远距离电话的回声抵消等领域获得了广泛的应用,促进了现代控制理论的发展。
自适应DF有如下一些简单算法:
W—LMS算法、M—LMS算法、TDO算法、差值LMS算法和C—LMS算法。
(2)复数DF:
在输入信号为窄带信号处理系统中,常采用复数DF技术。
为了降低采样率而又保存信号所包含的全部信息,可利用正交双路检波法,取出窄带信号的复包络,然后通过A/D变换,将复包络转化为复数序列进行处理,这个信号处理系统即为复数DF。
它具有许多功能:
MTI雷达中抑制具有卜勒频移的杂波干扰;
数字通信网与模拟通信网之间多路TDM/FDM信号变换复接……
3
(3)多维DF:
在图像处理、地震、石油勘探的数据处理中都用到多维DF(常用是二维DF),多维DF的设计,往往将一维DF优化设计直接推广到多维DF中去。
对于模糊和随机噪声干扰的二维图像的处理,多维DF也能发挥很好的作用。
此外,还有波DF,它便于实现大规模集成,便于无源和有源滤波网络的数字模拟。
因此,正受到人们的重视和加以研究。
对于DF有待研究的课题有:
系数灵敏度、舍入噪声和极限环、多维逆归滤波器的稳定性、各种硬件和软件实现DF的研究等等。
总之,DF在数字信号处理技术中占有极为重要的地位,对于它的研究、生产和应用等工作均是很有意义的。
为适应各种需要,出现了一批新型滤波器,这里介绍几种已得到广泛应用的新型滤波器。
(1)电控编程CCD横向滤波器(FPCCDTF):
电荷耦合器(CCD)固定加权的横向滤波器(TF)在信号处理中,其性能和造价均可与数字滤波器和各种信号处理部件媲美。
这种滤波器主要用于自适应滤波;
P-N序列和Chirp波形的匹配滤波;
通用化的频域滤波器及相关积运算;
语音信号和相位均衡;
相阵系统的波束合成和电视信号的重影消除等均有应用。
当然,更多的应用有待进一步开拓。
总之,FPCCDTF是最有希望的发展方向。
(2)晶体滤波器:
它是适应单边带技术而发展起来的。
在20世纪70年代,集成晶体滤波器的产生,使它的发展产生一个飞跃。
近十年来,晶体滤波器致力于下面一些研究:
实现最佳设计,除具有优良的选择外,还具有良好的时域响应;
寻求新型材料;
扩展工作频率;
改造工艺,使其向集成化发展。
它广泛应用于多路复用系统中作为载波滤波器,在收发信中,单边带通信机中作为选频滤波器,在频谱分析仪和声纳装置中作为中频滤波器。
(3)声表面滤波器:
它是理想的超高频器件。
它的幅频特性和相位特性可以分别控制,以达到要求,而且它还有体积小,长时间稳定性好和工艺简单等特点。
通常应用于:
电视广播发射机中作为残留边带滤波器;
在彩色电视接收机中调谐系统的表面梳形滤波器。
此外,在国防卫星通信系统中已广泛采用。
声表面滤波器是电子学和声学相结合的产物,而且可以集成,所以,它在所有无源滤波器中最有发展前途的。
随着电子工业的发展,对滤波器的性能要求越来越高,功能也越来越多,并且要求它们向集成方向发展。
我国滤波器研制和生产与上述要求相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任。
4
第2章MATLAB概述
2.1MATLAB的诞生与发展
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。
到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。
其版本更新如表2-1所示。
表2-1MATLAB版本更新表
5
三亿文库包含各类专业文献、专业论文、幼儿教育、小学教育、应用写作文书、50基于MATLAB的语音信号数字滤波器的设计和实现等内容。
2.2MATLAB的基本功能及其应用;
MATLAB和Mathematica、Maple;
MATLAB的基本数据单位是矩阵,它的指令表达式;
MATLAB产品族可以用来进行以下各种工作:
数值;
MATLAB的应用范围非常广,包括信号和图像处理;
2.3MATLAB的特点及其优势MATLAB特点;
(2)此开发环境可对代码、文件和数据进行管理;
(3)交互式工具可以按迭代
2.2MATLAB的基本功能及其应用
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB产品族可以用来进行以下各种工作:
数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真、财务与金融工程。
6
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
2.3MATLAB的特点及其优势MATLAB特点包括几下几个方面
(1)此高级语言可用于技术计算
(2)此开发环境可对代码、文件和数据进行管理
(3)交互式工具可以按迭代的方式探查、设计及求解问题
(4)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等
(5)二维和三维图形函数可用于可视化数据(6)各种工具可用于构建自定义的图形用户界面
(7)各种函数可将基于MATLAB的算法与外部应用程序和语言(8)不支持大写输入,内核仅仅支持小写MATLAB的优势包括以下几个方面
(1)友好的工作平台和编程环境
(2)简单易用的程序语言
(3)强大的科学计算机数据处理能力(4)出色的图形处理功能
(5)应用广泛的模块集合工具箱(6)实用的程序接口和发布平台(7)应用软件开发(包括用户界面)
7
第3章语音信号分析
3.1语音信号概述语音信号基本组成
语音信号的基本组成单位是音素。
音素可分成“浊音”和“清音”两大类。
如果将不存在语音而只有背景噪声的情况称为“无声”,那么音素可以分成“无声”、“浊音”、“清音”三类。
一个音节由元音和辅音构成。
元音在音节中占主要部分。
所有元音都是浊音。
在汉语普通话中,每个音节都是由“辅音-元音”构成的。
语音信号的“短时谱”
对于非平稳信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。
如果利用加窗的方法从语音流中取出其中一个短断,再进行傅里叶变换,就可以得到该语音的短时谱。
浊音的短时谱有两个特点:
第一,有明显的周期性起伏结构,这是因为浊音的激励源为周期脉冲气流;
第二,频谱中明显地有凸出点,即“共振峰”,它们的出现频率与声道的谐振频率相对应。
清音的短时谱则没有这两个特点,它十分类似于一段随机噪声的频谱。
短时分析技术
语音信号具有时变特性,但在一个短时间范围内(一般认为在10~30ms的短时间内),其特性基本保持不变,即相对稳定,因而可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。
任何语音信号的分析和处理必须建立在“短时”的基础上,即进行“短时分析”,将语音信号分段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10~30ms。
这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。
倒谱分析
倒谱分析是指信号短时振幅谱的对数傅里叶反变换。
它具有可近似地分离并提取出频谱包络信息和细微结构信息的特点。
本文按照以下设计思路进行阐述:
录制采集语音信号,对录制的信号进行采样;
绘制采样后语音信号的时域波形和频谱图,设计滤波器,并运用所设计的滤波器对采集的信号进行滤波,绘制滤波后信号的时域波形和频谱。
3.2理论依据
8
3.2.1采样定理
在进行模拟∕数字信号的转换过程中,当采样频率fs.max大于信号中最好频率fmax的2倍时,即:
fs.max>
=2fmax,则采样之后的数字信号完整的保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5—10倍,采样定理又称为耐奎斯特定理。
1924年耐奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:
理想低通信道的最高大码元传输速率=2W*log2N(其中W是理想低通信道的带宽,N是电平强度)
3.2.2采样频率
采样频率是指计算机每秒采集多少个声音样本,是秒速声音文件的音质、音调、衡量声卡、声音文件的质量标准。
采样频率越高,即采样的时间间隔越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。
采样频率与声音频率之间有一定的关系,根据耐奎斯特理论,只有采样频率高于声音信号的最高频率两倍时,才能把数字信号表示的声音还原成为原来的声音。
这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。
3.2.3采样位数与采样频率
采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。
采样频率是指录音设备在一秒钟内对声音信号的采集次数,采样频率越高,声音的还原就越真实越自然。
采样位数和采样频率对于音频接口来说事最为重要的两个指标,也是选择音频接口的两个重要标准。
无论采样频率如何,理论上来说采样的位数决定了音频数据的最大力度范围。
每增加一个采样位数,相当于力度范围增加了6dB。
采样位数越多则捕捉到的信号越精确。
对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达到441000次。
显然采样频率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。
3.3语音信号分析及处理方法3.3.1语音的录入与打开
在MATLAB中,[y,fs,bits]=wavread('
Blip'
[N1N2]);
用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。
[N1N2]表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。
sound(x,fs,bits);
用于对声音的回放。
向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。
3.3.2时域信号的FFT分析
FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。
函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT
9
且和x相同长度;
若x为一矩阵,则y是对矩阵的每一列向量进行FFT。
如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。
函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。
函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;
若向量x的长度大于N,则函数截短x使之长度为N;
若x为矩阵,按相同方法对x进行处理。
第4章滤波器的设计
4.1滤波器的简介
按所处理的信号分为模拟滤波器和数字滤波器两种,按所通过信号的频段分为低通、高通、带通和带阻滤波器四种,按所采用的元器件分为无源和有源滤波器两种。
与模拟滤波器相对应,在离散系统中广泛应用数字滤波器。
它的作用是利用离散时间系统的特性对输入信号波形或频率进行加工处理。
或者说,把输入信号变成一定的输出信号,从而达到改变信号频谱的目的。
数字滤波器一般可以用两种方法来实现:
一种方法是用数字硬件装配成一台专门的设备,这种设备称为数字信号处理机;
另一种方法就是直接利用通用计算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现。
数字滤波器一词出现在60年代中期。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
应用最广的是线性、时不变数字滤波器,以及FIR滤波器。
从滤波器的网络结构或者从单位脉冲响应分类:
可分为IIR滤波器(即无限长单位冲激响应滤波器)和FIR滤波器(即有限长单位冲激响应滤波器)。
它们的函数如公式4-1,公式4-2所示:
10
H(z)?
?
rbz?
r;
r?
0;
1?
a;
k?
1kz?
k(4-1);
nh(n)z?
n?
0N?
1(4-2);
式(4-1)中的H(z)称为N阶IIR滤波器函数;
IIR数字滤波器的系统函数可以写成封闭函数的形式;
IIR数字滤波器采用递归型结构,即结构上带有反馈;
IIR数字滤波器在设计上可以借助成熟的模拟滤波器;
IIR数字滤波器的相位特性不好控制,对相位
M
r
N
a
k(4-1)
1(4-2)
式(4-1)中的H(z)称为N阶IIR滤波器函数,式(4-2)中的H(z)称为(N-1)阶FIR滤波器函数。
IIR数字滤波器的系统函数可以写成封闭函数的形式。
IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。
下面主要介绍前两个函数的使用。
与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。
在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
IIR单位响应为无限脉冲序列FIR单位响应为有限的
IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
FIR幅频特性精度较之于IIR低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。
这是很好的性质。
另外有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
4.2本次设计滤波器要求
本次论文需要设计一个数字语音信号滤波