基于Matlab的语音信号传输系统的分析与仿真DLK514.docx
《基于Matlab的语音信号传输系统的分析与仿真DLK514.docx》由会员分享,可在线阅读,更多相关《基于Matlab的语音信号传输系统的分析与仿真DLK514.docx(32页珍藏版)》请在冰豆网上搜索。
![基于Matlab的语音信号传输系统的分析与仿真DLK514.docx](https://file1.bdocx.com/fileroot1/2022-11/25/86153b37-698d-4e90-9407-886322c5ebfc/86153b37-698d-4e90-9407-886322c5ebfc1.gif)
基于Matlab的语音信号传输系统的分析与仿真DLK514
基于Matlab的语音信号传输系统的分析与仿真
摘要
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
信号处理是Matlab重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
最后,本文对语音信号处理的进一步发展方向提出了自己的看法。
关键字:
Matlab;语音信号;傅里叶变换;信号处理;
TheDesignofAnalysisandProcessingVoiceSignal
Abstract
Speechsignalprocessingistostudytheuseofdigitalsignalprocessingtechnologyandknowledgeofthevoicesignalvoiceprocessingoftheemergingdisciplineisthefastestgrowingareasofinformationscienceoneofthecoretechnology.Transmissionofinformationthroughthevoiceofhumanity'smostimportant,mosteffective,mostpopularandmostconvenientformofexchangeofinformation.
Matlablanguageisadataanalysisandprocessingfunctionsareverypowerfulcomputerapplicationsoftware,soundfileswhichcanbetransformedintodiscretedatafiles,thenuseitspowerfulabilitytoprocessthedatamatrixoperations,suchasdigitalfiltering,Fouriertransform,whendomainandfrequencydomainanalysis,soundplaybackandavarietyofmaprendering,andsoon.Itssignalprocessingandanalysistoolkitforvoicesignalanalysisprovidesaveryrichfeaturefunction,useofthesefunctionscanbequickandconvenientfeaturescompletevoicesignalprocessingandanalysisandvisualizationofsignals,makescomputerinteractionmoreconvenient.MatlabSignalProcessingisoneoftheimportantareasofapplication.
Thedesignofvoice-processingsoftwareformostofthecontentarenumerous,easytomaneuverandsoon,usingMATLAB7.0comprehensiveuseGUIinterfacedesign,variousfunctioncallstovoicesignalssuchasfrequency,amplitude,Fouriertransformandfiltering,theprograminterfaceconcise,simple,hassomesignificanceinpractice.
Finally,thespeechsignalprocessingfurtherdevelopmentputforwardtheirownviews.
Keywords:
Matlab,VoiceSignal,Fouriertransform,SignalProcessing
1绪论
语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。
随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。
1.1课题背景及意义
语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手段。
通过语言相互传递信息是人类最重要的基本功能之一。
语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人类文明。
语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。
语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。
通过语音传递倍息是人类最重要、最有效、最常用和最方便的交换信息的形式。
语言是人类持有的功能.声音是人类常用的工具,是相互传递信息的最主要的手段。
因此,语音信号是人们构成思想疏通和感情交流的最主要的途径。
并且,由于语言和语音与人的智力活动密切相关,与社会文化和进步紧密相连,所以它具有最大的信息容量和最高的智能水平。
现在,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。
让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。
随着计算机越来越向便携化方向发展,随着计算环境的日趋复杂化,人们越来越迫切要求摆脱键盘的束缚而代之以语音输人这样便于使用的、自然的、人性化的输人方式。
作为高科鼓应用领域的研究热点,语音信号采集与分析从理论的研究到产品的开发已经走过了几十个春秋并且取得了长足的进步。
它正在直接与办公、交通、金融、公安、商业、旅游等行业的语音咨询与管理.工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代
操作系统和应用程序的用户界面。
可见,语音信号采集与分析的研究将是一项极具市场价值和挑战性的工作。
我们今天进行这一领域的研究与开拓就是要让语音信号处理技术走人人们的日常生活当中,并不断朝更高目标而努力。
语音信号采集与分析之所以能够那样长期地、深深地吸引广大科学工作者去不断地对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿学科保持密切的联系.并且一起发展。
语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。
对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。
因为许多处理的新方法的提出,首先是在语音信号处理中获得成功,然后再推广到其他领域。
1.2国内外研究现状
20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。
随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:
进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术—矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前HMM已构成了现代语音识别研究的重要基石。
近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。
语音信号的采集与分析作为一个重要的研究领域,已经有很长的研究历史[1]。
但是它的快速发展可以说是从1940年前后Dudley的声码器(vocoder)和potter等人的可见语音VisibleSpeech)开始的。
1952年贝尔(Bell)实验室的Davis等人首次研制成功能识别十个英语数字的实验装置。
1956年Olson和Belar等人采用8个带通滤波器组提取频谱参数作为语音的特征,研制成功一台简单的语音打字机。
20世纪60年代初由于Faut和Steven的努力,奠定了语音生成理论的基础,在此基础上语音合成的研究得到了扎实的进展。
20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速博里叶变换(FFT)等成为语音信号数字处理的理论和技术基础。
在方法上,随着电子计算机的发展,以往的以硬件为中心的研究逐渐转化为以软件为主的处理研究。
然而,在语音识别领域内,初期有几种语音打字机的研究也很活跃,但后来已全部停了下来,这说明了当时人们对话音识别难度的认识得到了加深。
所以1969年美国贝尔研究所的Pierce感叹地说“语音识别向何处去?
”。
到了1970年,好似反驳Pierce的批评,单词识别装置开始了实用化阶段,其后实用化的进程进一步高涨,实用机的生产销售也上了轨道。
此外社会上所宣传的声纹(VoicePrint)识别,即说话人识别的研究也扎扎实实地开展起来,并很快达到了实用化的阶段。
到了1971年,以美国ARPA(AmericanResearchProjectsAgency)为主导的“语音理解系统”的研究计划也开始起步。
这个研究计划不仅在美国园内,而且对世界各国都产生了很大的影响,它促进了连续语音识别研究的兴起。
历时五年的庞大的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本课题的研究内容和方法
1.3.1研究内容
本论文主要介绍的是的语音信号的简单处理。
本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。
我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单的语音信号处理的目的。
要求学生录制一段自己的语音信号后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图;对所采集的语音信号加入干扰噪声,对加入噪声的信号进行播放,并进行时域和频谱分析;对比加噪前后的时域图和频谱图,分析讨论采用什么样的滤波器进行滤除噪声。
1.3.2运行环境
运行环境主要介绍了硬件环境和软件环境。
硬件环境:
①处理器:
InterPentium166MX或更高
②内存:
512MB或更高
③硬盘空间:
40GB或更高
④显卡:
SVGA显示适配器
软件环境:
操作系统:
Window98/ME/2000/XP
1.3.3开发环境
开发环境主要介绍了本系统采用的操作系统、开发语言。
(1)操作系统:
WindowsXP
(2)开发环境:
Matlab7.0
2语音信号处理的总体方案
2.1系统基本概述
图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。
GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。
通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:
(1)在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。
利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。
(2)在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。
在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。
下面是一段语音信号的时域波形图(图2-1)和频域图(图2-2),由这两个图可以看出语音信号的两个特点。
图2.1语音信号时域波形图图2.2语音信号频域波形图
2.2系统基本要求
本文是用Matlab对含噪的的语音信号同时在时域和频域进行滤波处理和分析,在MATLAB应用软件下设计一个简单易用的图形用户界面(GUI),来解决一般应用条件下的各种语音信号的处理。
在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个:
抑制输入信导各领域分量中频率超出fs/2的所有分量(fs为采样频率),以防止混叠干扰。
抑制50Hz的电源工频干扰。
这样,预滤波器必须是一个带通滤波器,设其上、下截止颜率分别是fH和fL,则对于绝大多数语音编译码器,fH=3400Hz、fL=60~100Hz、采样率为fs=8kHz;而对丁语音识别而言,当用于电话用户时,指标与语音编译码器相同。
当使用要求较高或很高的场合时fH=4500Hz或8000Hz、fL=60Hz、fs=10kHz或20kHz。
为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。
采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔△t在模拟信号x(t)上逐点采取其瞬时值。
采样时必须要注意满足奈奎斯特定理,即采样频率fs必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波它是通过采样脉冲和模拟信号相乘来实现的。
图2.3是一段语音信号在采样频率44.1KHz情况下的频谱图。
图2.3采样频率44.1KHz情况下的频谱图
由图2.3可知,这段语音信号的频率主要集中在1KHz左右,当采样频率为44.1KHz时,由于采样频率比较大,所以采样点数就越密,所得离散信号就越逼近于原信号,频谱也没有发生混叠。
图2.4采样频率500HZ情况下的频谱图
对上述信号进行1/80采样频率抽取,即采样频率变为将近500Hz时,由于采样频率比较小,所以采样点数就稀疏,所得离散信号就越偏离于原信号,频谱也发生了混叠。
在采样的过程中应注意采样间隔的选择和信号混淆:
对模拟信号采样首先要确定采样间隔。
在实际工作中,我们可以利用windows自带的录音机录制语音文件,图2.5是基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。
调节录音机保存界面的“更改”选项,可以存储各种格式的WAVE文件。
图2.5基于PC机的语音信号采集过程
采集到语音信号之后,需要对语音信号进行分析,如语音信号的时域分析、频谱分析、语谱图分析以及加噪滤波等处理。
2.3系统框架及实现
1)语音信号的采集
使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。
2)语音信号的处理
语音信号的处理主要包括信号的提取、信号的调整、信号的变换和滤波等。
Ⅰ.语音信号的时域分析
语音信号是一种非平稳的时变信号,它携带着各种信息。
在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。
语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。
语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。
1、提取:
通过图形用户界面上的菜单功能按键采集电脑设备上的一段音频信号,完成音频信号的频率,幅度等信息的提取,并得到该语音信号的波形图。
2、调整:
在设计的用户图形界面下对输入的音频信号进行各种变化,如变化幅度、改变频率等操作,以实现对语音信号的调整。
Ⅱ.语音信号的频域分析
信号的傅立叶表示在信号的分析与处理中起着重要的作用。
因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。
另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。
由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。
输出频谱是声道系统频率响应与激励源频谱的乘积。
声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。
由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。
1、变换:
在用户图形界面下对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图和变换后的倒谱图。
2、滤波:
滤除语音信号中的噪音部分,可采用低通滤波、高通滤波、带通滤波和帯阻滤波,并比较各种滤波后的效果。
3、语音信号的效果显示
通过用户图形界面的输出功能,将处理后的信号的语音进行播放,试听处理后的效果。
2.4系统初步流程图
图2.6列出了整个语音信号处理系统的工作流程:
图2.6语音信号处理系统的工作流程
其中信号调整包括信号的幅度和频率的任意倍数变化。
如下图2.7
图2.7信号调整
信号的滤波采用了四种滤波方式,来观察各种滤波性能的优缺点:
图2.8语音信号滤波的方式
在以上三图中,可以看到整个语音信号处理系统的流程大概分为三步,首先要读入待处理的语音信号,然后进行语音信号的处理,包括信息的提取、幅度和频率的变换以及语音信号的傅里叶变换、滤波等;滤波又包括低通滤波、高通滤波、带通滤波和带阻滤波等方式。
最后对处理过的语音信号进行处理后的效果显示。
以上是本系统的工作流程,本文将从语音信号的采集开始做详细介绍。
语音信号的思想早在20世纪60年代就已经提出,由于使用模拟滤波器实现起来的系统复杂度较高,所以一直没有发展起来。
在20世纪70年代,提出用离散傅里叶变换(DFT)实现多载波调制,为语音信号的实用化奠定了理论基础;从此以后,语音信号在移动通信中的应用得到了迅猛的发展。
语音信号系统收发机的典型框图如图2.9所示,发送端将被传输的数字信号转换成子载波幅度和相位的映射,并进行离散傅里叶变换(IDFT)将数据的频谱表达式变换到时域上。
IFFT变换与IDFT变换的作用相同,只是有更高的计算效率,所以适用于所有的应用系统。
其中,上半部分对应于发射机链路,下半部分对应于接收机链路。
由于FFT操作类似于IFFT,因此发射机和接收机可以使用同一硬件设备。
当然,这种复杂性的节约则意味着接收发机不能同时进行发送和接收操作。
图2.9系统收发机的典型框图
接收端进行发送相反的操作,将射频(RF,RadioFrequency)信号与基带信号进行混频处理,并用FFT变换分解频域信号。
子载波幅度和相位被采集出来并转换回数字信号。
IFFT和FFT互为反变换,选择适当的变换将信号接收或发送。
但信号独立于系统时,FFT变换和IFFT变换可以被交替使用。
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.2采样位数和采样频率
采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。
采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音