基于DSP的语音信号处理系统设计毕业设计.doc
摘要语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。数字信号处理(DigitalSignalProcessing,简称DSP)是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。信号处理是Matlab重要应用的领域之一。本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。关键字:Matlab,语音信号,傅里叶变换,信号处理 I1 绪 论1.1 课题的背景与意义通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息的形式。语言是人类持有的功能。声音是人类常用的工具,是相互传递信息的最主要的手段。因此,语音信号是人们构成思想疏通和感情交流的最主要的途径。并且,由于语言和语音与人的智力活动密切相关,与社会文化和进步紧密相连,所以它具有最大的信息容量和最高的智能水平。现在,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。随着计算机越来越向便携化方向发展,随着计算环境的日趋复杂化,人们越来越迫切要求摆脱键盘的束缚而代之以语音输人这样便于使用的、自然的、人性化的输人方式。作为高科技应用领域的研究热点,语音信号采集与分析从理论的研究到产品的开发已经走过了几十个春秋并且取得了长远的进步。它正在直接与办公、交通、金融、公安、商业、旅游等行业的语音咨询与管理。工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面。可见,语音信号采集与分析的研究将是一项极具市场价值和挑战性的工作。我们今天进行这一领域的研究与开拓就是要让语音信号处理技术走入人们的日常生活当中,并不断朝更高目标而努力。语音信号采集与分析之所以能够那样长期地、深深地吸引广大科学工作者去不断地对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿学科保持密切的联系,并且一起发展。语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。因为许多处理的新方法的提出,首先是在语音信号处理中获得成功,然后再推广到其他领域。1.2 国内外研究现状语音信号的采集与分析作为一个重要的研究领域,已经有很长的研究历史。但是它的快速发展可以说是从1940年前后Dudley的声码器(vocoder)和potter等人的可见语音(Visible Speech)开始的。1952年贝尔(Bell)实验室的Davis等人首次研制成功能识别十个英语数字的实验装置。1956年Olson和Belar等人采用8个带通滤波器组提取频谱参数作为语音的特征,研制成功一台简单的语音打字机。20世纪60年代初由于Faut和Steven的努力,奠定了语音生成理论的基础,在此基础上语音合成的研究得到了扎实的进展。20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速博里叶变换(FFT)等成为语音信号数字处理的理论和技术基础。在方法上,随着电子计算机的发展,以往的以硬件为中心的研究逐渐转化为以软件为主的处理研究。然而,在语音识别领域内,初期有几种语音打字机的研究也很活跃,但后来已全部停了下来,这说明了当时人们对话音识别难度的认识得到了加深。所以1969年美国贝尔研究所的Pierce感叹地说“语音识别向何处去?”。到了1970年,好似反驳Pierce的批评,单词识别装置开始了实用化阶段,其后实用化的进程进一步高涨,实用机的生产销售也上了轨道。此外社会上所宣传的声纹(Voice Print)识别,即说话人识别的研究也扎扎实实地开展起来,并很快达到了实用化的阶段。到了1971年,以美国ARPA(American Research Projects Agency)为主导的“语音理解系统”的研究计划也开始起步。这个研究计划不仅在美国园内,而且对世界各国都产生了很大的影响,它促进了连续语音识别研究的兴起。历时五年的庞大的ARPA研究计划,虽然在语音理解、语言统计模型等方面的研究积累了一些经验,取得了许多成果,但没能达到巨大投资应得的成果,在1976年停了下来,进入了深刻的反省阶段。但是,在整个20世纪70年代还是有几项研究成果对语音信号处理技术的进步和发展产生了重大的影响。这就是20世纪70年代初由板仓(Itakura)提出的动态时间规整(DTW)技术,使语音识别研究在匹配算法方面开辟了新思路;20世纪70年代中期线性预测技术(LPC)被用于语音信号处理,此后隐马尔可夫模型法(HNMM)也获得初步成功,该技术后来在语音信号处理的多个方面获得巨大成功;20世纪70年代未,Linda、Buzo、Gray和Markel等人首次解决了矢量量化(VQ)码书生成的方法,并首先将矢量量化技术用于语音编码获得成功。从此矢量量化技术不仅在语音识别、语音编码和说话人识别等方面发挥了重要作用,而且很快推广到其他许多领域。因此,20世纪80年代开始出现的语音信号处理技术产品化的热潮,与上述语音信号处理新技术的推动作用是分不开的。20世纪80年代,由于矢量量化、隐马尔可夫模型和人工神经网络(ANN)等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。其中,隐马尔可夫模型作为语音信号的一种统计模型,在语音信号处理的各个领域中获得了广泛的应用。其理论基础是1970年前后,由Baum等人建立起来的,随后,由美国卡内基梅隆大学(CMU)的Baker和美国IBM公司的Jelinek等人将其应用到语音识别中。由于美国贝尔实验室的Babiner等人在20世纪80年代中期,对隐马尔可夫模型深人浅出的介绍,才使世界各国从事语音信号处理的研究人员了解和熟悉,进而成为一个公认的研究热点,也是目前语音识别等的主流研究途径。进入20世纪90年代以来,语音信号采集与分析在实用化方面取得了许多实质性的研究进展。其中,语音识别逐渐由实验室走向实用化。一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。1.3 数字信号处理(DSP)简介 数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。1.4 本文主要工作本文简要介绍了语音信号采集与分析的发展史以及语音信号的特征、采集与分析方法,并通过PC机录制自己的一段声音,运用Matlab进行仿真分析,最后加入噪声进行滤波处理,比较滤波前后的变化。第2章主要介绍语音信号的特点与采集,仿真主要是验证奈奎斯特定理。第3章主要是对语音信号进行时域、频域上的分析,如短时功率谱,短时能量,短时平均过零率,语谱图分析等等。第4章是对语音信号的综合和分析,包括语音信号的调制、叠加和滤波。 352 语音信号的特点与采集2.1 语音信号的特点通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:在频域内,语音信号的频谱分量主要集中在3003400Hz的范围内。利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。下面是一段语音信号的时域波形图(图2-1)和频域图(图2-2),由这两个图可以看出语音信号的两个特点。 图2-1语音信号时域波形图 图2-2语音信号频域波形图2.2语音信号的采集在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个:抑制输入信导各领域分量中频率超出fs/2的所有分量(fs为采样频率),以防止混叠干扰。抑制50Hz的电源工频干扰。这样,预滤波器必须是一个带通滤波器,设其上、下截止频率分别是fH和fL,则对于绝大多数语音编译码器,fH=3400Hz、fL60100Hz、采样率为fs8kHz;而对丁语音识别而言,当用于电话用户时,指标与语音编译码器相同。当使用要求较高或很高的场合时fH4500Hz或8000Hz、fL60Hz、fs10kHz或20kHz。为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔t在模拟信号(t)上逐点采取其瞬时值。采样时必须要注意满足奈奎斯特定理,即采样频率fs必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波形,它是通过采样脉冲和模拟信号相乘来实现的。下图时一段语音信号在采样频率44.1KHz情况下的频谱图。 图2-3原始信号时域波形图和频域波形图由图可知,这段语音信号的频率主要集中在1KHz左右,当采样频率为44.1KHz时,由于采样频率比较大,所以采样点数就越密,所得离散信号就越逼近于原信号,频谱也没有发生混叠。 图2-4抽取后的信号时域波形图和频域波形图对上述信号进行1/80采样频率抽取,即采样频率变为将近500Hz时,由于采样频率比较小,所以采样点数就稀疏,所得离散信号就越偏离于原信号,频谱也发生了混叠。在采样的过程中应注意采样间隔的选择和信号混淆:对模拟信号采样首先要确定采样间隔。如何合理选择t涉及到许多需要考虑的技术因素。一般而言,采样频率越高,采样点数就越密,所得离散信号就越逼近于原信号。但过高的采样频率并不可取,对固定长度(T)的信号,采集到过大的数据量(N=T/t),给计算机增加不必要的计算工作量和存储空间;若数据量(N)限定,则采样时间过短,会导致一些数据信息被排斥在外。采样频率过低,采样点间隔过远,则离散信号不足以反映原有信号波形特征,无法使信号复原,造成信号混淆。根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。量化是对幅值进行离散化,即将振动幅值用二进制量化电平来表示。量化电平按级数变化,实际的振动值是连续的物理量。具体振动值用舍入法归到靠近的量化电平上。 语音信号经过预滤波和采样后,由AD变换器变换为二进制数字码。这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。在实际工作中,我们可以利用windows自带的录音机录制语音文件,图2-5是基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。调节录音机保存界面的“更改”选项,可以存储各种格式的WAVE文件。Windows自带的录音机声音麦克风声卡滤波采样A/D转换 Wav 图2-5基于PC机的语音信号采集过程采集到语音信号之后,需要对语音信号进行分析,如语音信号的时域分析、频谱分析、语谱图分析以及加噪滤波等处理。3 语音信号的分析3.1语音信号分析技术语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分析的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。贯穿于语音分析全过程的是“短时分析技术”。因为,语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非平稳态过程,不能用处理平稳信号的数字信号处理技术对其进行分析处理。但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音信号具有时变特性,但是在一个短时间范围内(一般认为在1030ms的短时间内),其特性基本保持不变即相对稳定,因而可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。所以任何语音信号的分析和处理必须建立在“短时”的基础上即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为1030ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒频域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。本文将简要介绍时域分析、频域分析以及语谱图分析。3.2 语音信号的时域分析语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。这种分析方法的特点是:表示语音信号比较直观、物理意义明确。实现起来比较简单、运算且少。可以得到语音的一些重要的参数。只使用示波器等通用设备,使用较为简单等。语音信号的时域参数有短时能量、短时过零率、短时自相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都要应用。在计算这些参数时使用的一般是矩形窗或汉明窗。3.2.1 短时能量及短时平均幅度分析设语音波形时域信号为x(l)、加密分帧处理后得到的第n帧语音信号为 Xn(m),则Xn(m)满足下式: 其中,n0,1T,2T,并且N为帧长,T为帧移长度。设第n帧语音信号Xn(m)的短时能量用En表示,则其计算公式如下:En是一个度量语音信号幅度值变化的函数,但它有一个缺陷,即它对高电平非常敏感(因为它计算时用的是信号的平方)。为此可采用另一个度量语音信号幅度值变化的函数即短时平均幅度函数Mn,它定义为: Mn也是一帧语音信号能量大小的表征,它与En的区别在于计算时小取样值和大取样值不会因取平方而造成较大差异,在某些应用领域也会带来一些好处。短时能量和短时平均幅度函数的主要用途有:可以区分浊音段与清音段,因为浊音时En值比清音时大的多。可以用来区分声母与韵母的分界,无声与有声的分界,连字(指字之间无间隙)的分界等。作为一种超音段信息,用于语音识别中。3.2.2短时过零率分析短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。过零分析是语音时域分析中最简单的一种。对于连续语音信号,过零即意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值改变符号则称为过零。过零率就是样本改变符号的次数。定义语音信号Xn(m)的短时过零率Zn为:式中,sgn 是符号函数,即:在实际中求过零率参数时,需要十分注意的一个问题是如果输入信号中包含有50Hz的工频干扰或者A/D变换器的工作点有偏移(这等效于输入信号有直流偏移),往往会使计算的过零率参数很不准确。为了解决前一个问题,A/D变换器前的防混叠带通滤波器的低端截频应高于50Hz,以有效地抑制电源干扰。对于后一个问题除了可以采用低直流漂移器件外,也可以在软件上加以解决,这就是算出每一帧的直流分量并予以滤除。对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起功率谱的高频跌落,所以其话音能量约集中在3kHz以下。而发清音时,多数能量出现在较高频率上。高频就意味着高的平均过零率,低频意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。当然,这种高低仅是相对而言,并没有精确的数值关系。利用短时平均过零率还可以从背景噪声中找出语音信号,可用于判断寂静无声段和有声段的起点和终点位置。在孤立词的语音识别中,必须要在一连串连续的语音信号中进行适当分割,用以确定一个一个单词的语音信号,即找出每一个单词的开始和终止位置,这在语音处理中是一个基本问题。此时,在背景噪声较小时用平均能量识别较为有效,而在背景噪声较大时用平均过零率识别较为有效。但是研究表明,在以某些音为开始或结尾时。如当弱摩擦音(如f、h等音素),弱爆破音(如p、t、k等音素)为语音的开头或结尾;以鼻音(如n、m等音素)为语音的结尾时。只用其中一个参量来判别语音的起点和终点是有困难的,必须同时使用这两个参数。图3-1是用Mtalab仿真一段语音信号时域波形的短时能量和短时平均过零率。 图3-1语音信号的短时能量和短时平均过零率3.3 语音信号的频域分析语音信号的频域分析就是分析语音信号的频域持征。从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线性预测法等几种。本文介绍的是语音信号的傅里叶分析法。因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”。3.3.1利用短时博里叶变换求语音的短时谱对第n帧语音信号Xn(m)进行傅里叶变换(离散时域傅里叶变换,DTFT),可得到短时傅里叶变换,其定义如下: (3-1)由定义可知,短时傅里叶变换实际就是窗选语音信号的标准傅里叶变换。这里,窗w(n-m)是一个“滑动的”窗口,它随n的变化而沿着序列X(n)滑动。由于窗口是有限长度的,满足绝对可和条件,所以这个变换是存在的。当然窗口函数不同,博里叶变换的结果也将不同。我们还可以将式(31)写成另一种形式。设语音信号序列和窗口序列的标准傅里立叶变换均存在。当n取固定值时,w(n-m)的傅里叶变换为: (3-2)根据卷积定理,有: (3-3)因为上式右边两个卷积项均为关于角频率w的以2为周期的连续函数,所以也可将其写成以下的卷积积分形式: (3-4)即,假设x(m)的DTFT是,且的DTFT是,那么是和的周期卷积。根据信号的时宽带宽积为一常数这一基本性质,可知主瓣宽度与窗口宽度成反比,N越大,的主瓣越窄。由式(3-4)可知,为了使忠实再现的特性。相对于来说必须是个冲激函数。所以为了使,需;但是N值太大时,信号的分帧又失去了意义。尤其是N大于语音的音素长度时,已不能反映该语音音素的频谱了。因此,应折衷选择窗的宽度N。另外,窗的形状也对短时傅氏频谱有影响,如矩形窗,虽然频率分辨率很高(即主辩狭窄尖锐),但由于第一旁瓣的衰减很小,有较大的上下冲,采用矩形窗时求得的与的偏差较大,这就是Gibbs效应,所以不适合用于频谱成分很宽的语音分析中。而汉明窗在频率范围中的分辨率较高,而且旁辩的衰减大,具有频谱泄漏少的优点。所以在求短时频谱时一般采用具有较小上下冲的汉明窗。与离散傅里叶变换和连续博里叶变换的关系一样,如令角频率w=2kN,则得离散的短时傅里叶变换(DFT)。它实际上是在频域的取样,如下所示: (3-5)在语音信号数字处理中,都是采用的离散博里叶变换(DFT)来替代并且可以用高效的快速傅里叶变换(FFT)算法完成由至的转换。当然,这时窗长N必须是2的倍数(L是整数)。根据傅里叶变换的性质,实数序列的傅里叶变换的频谱具有对称性,因此,全部频谱信息包含在长度为N/2+1个里。另外,为了使具有较高的频率分辨率,所取的DFT以及相应的FFT点数应该足够多,但有时的长度N要受到采样率和短时性的限制,例如,在通常采样率为8kHz且帧长为20ms时,N=160。而一般取256、512或1024,为了将的点数从N扩大力,可以采用补0的办法,在扩大的部分添若干个0取样值,然后再对添0后的序列进行FFT。例如、在10kHz的范围内采样求频谱,并要求频率分辨率在30Hz以下。由10k/30,得333,所以要取比333大的值,这时可取=512点,不足的部分采用补0的办法解决,此时频率分辨率(即频率间隔)为10Hz51219.53Hz,采样后的该帧信号频率处在0之间,因此,原连续信号频率就处在0之间(即),所以我们要在0频率范围内求其频谱。FFT的计算可以在通用计算机上由相应的算法软件来完成,这种方式一般只能实现非实时运算。为了完成实时运算可以采用先进的数字信号处理芯片、阵列处理芯片或专用FFT芯片。为了完成1024点的FFT,这些专用芯片所需的运算时间是几十毫秒至几毫秒,甚至可以降至1ms以下。在语音信号数字处理中,功率谱具有重要意义,在一些语音应用系统中。往往都是利用语音信号的功率谱。根据功率谱定义,可以写出短时功率谱与短时傅里叶变换之间的关系:或者: 式中表示复共轭运算。并且功率谱是短时自相关函数的傅里叶变换。图3-2是用Matlab中的psdplot命令绘得的同一人两次说同一词的功率谱比较(窗函数取窗长度为256的Hamming窗)。 图3-2同一人两次说同一词的功率谱比较可以看出功率谱图比较好地反映出声音的个人特征:在低频部分(频率低于6000Hz),同一人说同一词,其功率谱图中的各个波峰所对应的频率基本相同;不同人说同一词,其功率谱图的出现波峰的频率比较接近;同一人说不同词时功率谱的形状差别较大。在高频部分,波峰比较密集,特征不明显。3.4 语音信号的语谱图语音的时域分析和频域分析是语音分析的两种重要方法。显然这两种单独分析的方法均有局限性:时域分析对语音信号的频率特性没有直观的了解;而频域分析出的特征中又没有语音信号随时间的变化关系;语音信号是时变信号,所以其频谱也是随时间变化的。但是由于语音信号随时间变化是很缓慢的,因而在一段短时间内(如1030ms之间,即所谓的一帧之内)可以认为其频谱是固定不变的,这种频谱又称为短时谱。短时谱只能反映语音信号的静态频率特性,不能反映语音信号的动态频率特性。因此,人们致力于研究语音的时频分析特性。把和时序相关的傅里叶分析的显示图形称为语谱图(Sonogram,或者Spectrogram)。语谱图是一种三维频谱,它是表示语音频谱随时间变化的图形,其纵轴为频率,横轴为时间,任一给定频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。用语谱图分析语音又称为语谱分析。语谱图中显示了大量的与语音的语句特性有关的信息,它综合了频谱图和时域波形的特点,明显地显示出语音频谱随时间的变化情况,或者说是一种动态的频谱;记录这种频谱的仪器就是语谱仪。语谱仪实际上是一个带通滤波器组的输出随时间发生连续变化,连续重复进行语音信号频率分析的仪器。带通滤波器有两种带宽可供选择:窄带为45Hz,宽带为300Hz。窄带语谱图有良好的频率分辨率,有利于显示基音频率及其各次谐波,但它的时间分辨率较差,不利于观察共振峰(声道谐振)的变化;而宽带语谱图正相反,具有良好的时间分辨率及较差的频率分辨率。宽带语谱图能给出语音的共振峰频率及清辅音的能量汇集区,在语谱图里共振峰呈现为黑色的条纹。可以利用语谱仪测量语谱图的方法来确定语音参数,例如共振峰频率及基音频率。语语图的实际应用是用于确定出讲话人的本性。语谱图上因其不同的黑白程度,形成了个同的纹路,称之为“声纹”,它因人而异,即不同讲话者语谱图的声纹是不同的。因而可以利用声纹鉴别不同的讲话人。这与不同的人有不同的指纹,根据指纹可以区别不同的人是一个道理。虽然对采用语谱图的讲活人识别技术的可靠性存在相当的怀疑,但目前这一技术已在司法法庭得到某些认可及采用。2.22.42.62.833.23.43.6x 104-0.0500.05河南理工大学05010015020025030035040050100150200250 图3-3“河南理工大学”语谱图图3-3是用Mtalab绘制的一个宽带语谱图,其中横抽坐标为时间,纵轴坐标为频率,语句内容为“河南城建学院”,它的发音在图下方以音标表示。同时给出了相应的语音的时域波形。语谱图中的花纹有横扛(Bar)、乱纹和竖直条等。横杠是与时间轴平行的几条深黑色带纹,它们相应于短时谱中的几个凸出点,也就是共振峰。从横扛对应的频率和宽度可以确定相应的共振峰频率和带宽。在一个语音段的语谱图中,有没有横扛出现是判断它是否是浊音的重要标志。竖直条(又叫冲直条)是语谱图中出现与时间轴垂直的一条窄黑条。每个竖直条相当于一个基音,条纹的起点相当于声门脉冲的起点,条纹之间的距离表示基音周期。条纹越密表示越音频率越高。4 语音信号的综合仿真分析4.1本文的仿真软件Matlab MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。MATLAB 已发展成为适合众多学科、多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。MATLAB的功能 1)全新的开发环境GUIDE(GUI Development Environment):由早期的单一命令窗口发展为将一些常用的交互式工作界面高度的集中于操作桌面; 2)在命令窗口增加了错误跟踪功能(error display message and abort function); 3)提供了许多新的数值处理功能(numerical Treatment Techniques),更新了部分函数的功能和算法,增加了许多新函数; 4)在图形窗口增加了曲线拟合、数据统计等交互工具;(Curve Fitting, Data Analyzing ) 5)引入了类与对象及函数句柄等概念;(Object,Handle) 用户可以创建自己定义的类函数和函数句柄; 6)改进了编辑/调试器的界面及功能; (Editor/Debugger)增加了行号和书签等功能; 7)属性编辑器功能更强(Property Debugger),使用更方便; 8)建立了一个与以前完全不同的图形用户界面(GUI)图形窗口,(Graphical Window)使用更加方便灵活; 9)增加了虚拟现实工具箱,(Virtual Reality Toolbox)使用标准的虚拟现实建模语言(VRML)技术,可以创建由MATLAB和simulink环境驱动的三维动画场景; 10)在应用程序接口方面增加了与Java的接口(Interface for Java),并为二者的数据交换提供了相应的程序库。 MATLAB的主要组成部分: 1)开发环境(development Environment):一组图形化用户接口工具和组件的集成:MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器; 2)MATLAB数学函数库:(Math Function Library)基本函数:求和、正弦、余弦和复数运算等;特殊函数:矩阵求逆、矩阵特征值、贝塞尔函数和快速付里叶变换等; 3)MATLAB语言:(MATLAB Language)一种高级编程语言,包括控制流的描述、函数、数据结构、输入输出及面对对象编程; 4)句柄图形:(Handle Graphics) 可以对各种图形对象进行更为细腻的修饰和控制,建立完整的图形界面的应用程序。 5)应用程序接口:(Applied Function Interface)MATLAB的应用程序接口允许用户使用C或FORTRAN语言编写程序与MATLAB连接。 工作空间窗口:(Workspace Window) 用于储存各种变量和结果的空间,显示变量的名称、大小、字节数及数据类型,对变量进行观察、编辑、保存和删除。临时变量不占空间,为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器。*双击变量名;*选择该窗口工具栏上的打开图标;*鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作。欲查看工作空间的情况,可以在命令窗口键入命令whos(显示存在工作空间全部变量的名称、大小、数据类型等信息)或命令who(只显示变量名) 当前目录浏览器:(Current Directory) 用于显示及设置当前工作目录,同时显示当前工作目录下的文件名、文件类型及目录的修改时间等信息。只有在当前目录或搜索路径下的文件及函数可以被运行或调用。 设置当前目录可以在浏览器窗口左上角的输入栏中直接输入,或点击浏览器下拉按钮进行选择。还可用cd命令在命令窗口设置当前目录,如: cd c:mydir 可将c盘上的mydir目录设为当前工作目录。 命令历史窗口:(Command History) 记录已运行过的MATLAB命令历史,包括已运行过的命令、函数、表达式等信息,可进行命令历史的查找、检查等工作,也可以在该窗口中进行命令复制与重运行。启动平台:(Launch Pad) 帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。 平台列出了系统中安装的所有的MATLAB产品的目录,可以通过双击来启动相应的选项。7.0版取消了这个窗口,事实上Help工具完全具备它的功能。 基本功能MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。4.2原始语音信号录制一段自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;%语音信号时域频域分析y,Fs,bits=wavread('2.wav');%读出信号,采样率和采样位数 y=y(