DSP语音信号滤波处理.docx
- 文档编号:2168382
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:29
- 大小:418.75KB
DSP语音信号滤波处理.docx
《DSP语音信号滤波处理.docx》由会员分享,可在线阅读,更多相关《DSP语音信号滤波处理.docx(29页珍藏版)》请在冰点文库上搜索。
DSP语音信号滤波处理
本科生毕业论文(设计)
题目:
基于Matlab语音信号处理
姓名:
学院:
专业:
班级:
学号:
指导教师:
职称:
2012年5月20日
安徽科技学院教务处制
语音信号滤波处理
杨及开
(电子信息工程学系指导教师:
余尤好)
摘要
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
信号处理是Matlab重要应用的领域之一。
本设计通过下载一段语音,对其进行了时域分析,频谱分析,分析语音信号的特性。
并应用matlab平台对语音信号除去噪声,进一步设计三种滤波器即高通滤波器、低通滤波器、带通滤波器,基于洪泽三种滤波器设计原理,用窗函数法设计出这四种滤波器,然后含加噪的语音信号进行滤波处理。
最后对比滤波前后的语音信号的时域和频域特性,回放含噪语音信号和去噪语音信号,对比研究了IIR滤波器和FIR滤波器在信号处理尤其是信号滤波去噪方面的特性和应用。
论文从理论和实践上比较不同数字滤波器的滤波效果。
关键字:
Matlab;语音信号;信号处理;傅里叶变换;滤波器
TheDesignofAnalysisVoiceSignal
Abstract
Speechsignalprocessingistostudytheuseofdigitalsignalprocessingtechnologyandknowledgeofthevoicesignalvoiceprocessingoftheemergingdisciplineisthefastestgrowingareasofinformationscienceoneofthecoretechnology.Transmissionofinformationthroughthevoiceofhumanity'smostimportant,mosteffective,mostpopularandmostconvenientformofexchangeofinformation..
Matlablanguageisadataanalysisandprocessingfunctionsareverypowerfulcomputerapplicationsoftware,soundfileswhichcanbetransformedintodiscretedatafiles,thenuseitspowerfulabilitytoprocessthedatamatrixoperations,suchasdigitalfiltering,Fouriertransform,whendomainandfrequencydomainanalysis,soundplaybackandavarietyofmaprendering,andsoon.Itssignalprocessingandanalysistoolkitforvoicesignalanalysisprovidesaveryrichfeaturefunction,useofthesefunctionscanbequickandconvenientfeaturescompletevoicesignalprocessingandanalysisandvisualizationofsignals,makescomputerinteractionmoreconvenient.MatlabSignalProcessingisoneoftheimportantareasofapplication.
Thedesignofmobilephonecollectionanoisyspeech,hascarriedontheanalysisintimedomain,frequencyspectrumanalysis,analysisofthecharacteristicsofspeechsignal.AndapplicationoftheMATLABplatformtothevoicesignaltoremovenoise,thefurtherdesignoffourkindsoffilterisahigh-passfilter,low-passfilter,bandpassfilter,bandstopfilter,basedontheHongzefourkindsoffilterdesign,windowfunctionmethodtodesignthefourkindsoffilter,andthenwiththeoriginalspeechsignalfiltering.Finallythecomparisonbeforeandafterfilteringthespeechsignalintimedomainandfrequencydomain,theplaybacknoisespeechsignaldenoisingandthevoicesignal,acomparativestudyoftheIIRfilterandaFIRfilterinsignalprocessingespeciallyforsignaldenoisingintermsofthecharacteristicsandapplicationof.Thetheoryandpracticefromthecomparisonofdifferentdigitalfilteringeffect.
Keywords:
Matlab;speechsignal;signalprocessing;FFT;filter
第一章绪论
1.1课题研究的背景
通过语音传递倍息是人类最重要、最有效、最常用和最方便的交换信息的形式。
语言是人类持有的功能,声音是人类常用的工具,是相互传递信息的最主要的手段。
因此,语音信号是人们构成思想疏通和感情交流的最主要的途径。
并且,由于语言和语音与人的智力活动密切相关,与社会文化和进步紧密相连,所以它具有最大的信息容量和最高的智能水平。
现在,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。
让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。
随着计算机越来越向便携化方向发展,随着计算环境的日趋复杂化,人们越来越迫切要求摆脱键盘的束缚而代之以语音输人这样便于使用的、自然的、人性化的输人方式。
作为高科鼓应用领域的研究热点,语音信号采集与分析从理论的研究到产品的开发已经走过了几十个春秋并且取得了长足的进步。
它正在直接与办公、交通、金融、公安、商业、旅游等行业的语音咨询与管理.工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面。
可见,语音信号采集与分析的研究将是一项极具市场价值和挑战性的工作。
我们今天进行这一领域的研究与开拓就是要让语音信号处理技术走人人们的日常生活当中,并不断朝更高目标而努力。
语音信号采集与分析之所以能够那样长期地、深深地吸引广大科学工作者去不断地对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿学科保持密切的联系.并且一起发展。
语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。
对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。
因为许多处理的新方法的提出,首先是在语音信号处理中获得成功,然后再推广到其他领域。
1.2国内外研究状况
早在一两千年前,人们便对语言进行了研究。
由于没有适当的仪器设备,长期以来,一直是由耳倾听和用口模仿来进行研究。
因此,这种语言研究常被称为“口耳之学”,所以对语音只是停留在定性的描写上。
语音信号处理真正意义上的研究可以追溯到1876年贝尔电话的发明,该技术首次使用声电、电声转换技术实现了远距离的语音传输。
1939年提出并研制成功的第一个声码器,从此奠定了语音产生模型的基础。
这一发明在语音信号处理领域具有划时代的意义。
19世纪60年代,亥姆霍兹应用声学方法对元音和歌唱进行了研究,从而奠定了语言的声学基础。
20世纪40年代,一种语言声学的专用仪器—语谱图仪问世了。
它可以把语音的时变频谱用语图表示出来,从而得出了“可见语言”。
1948年美国Haskins实验室研制成功的语音回放机,该仪器可以把手工绘制在薄膜片上的语谱图自动转换成语音,并进行语音合成。
20世纪50年代队语言产生了系统的论述。
随着计算机的出现,语音分析工作,得以在电子计算机上进行。
在此基础上,语音信号处理的研究工作得到了计算机技术的帮助,取得了突破性的进展。
语音信号处理作为一个重要的研究领域,已经有很长的研究历史。
但是它的快速发展可以说是从1940年前后Dudley的声码器和Potter等人的可见语音开始的;20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速傅立叶变换等成为语音信号数字处理的理论和技术基础;到了80年代,由于矢量量化、隐马尔可夫模型和人工神经网络等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。
进入90年代以来,语音信号处理在实用化方面取得了许多实质性的进展。
一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。
另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。
1.3本文的主要工作及研究步骤
1.3.1本文的主要工作
本文简要介绍了语音信号采集与分析的发展史以及语音信号的特征、采集与分析方法,并通过手机录制自己的一段声音,运用Matlab进行仿真分析,最后对于声音中的噪声进行滤波处理,比较滤波前后的变化以及介绍语音信号的特点与采集,仿真主要是验证奈奎斯特定理,对语音信号进行时域、频域上的分析,率谱,是对语音信号的综合和分析,包括语音信号的调制和滤波。
1.3.2论文的研究步骤
1.理论依据
根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位数的概念,采样定理;时域信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较),阐明设计原理。
2.信号采集
采集语音信号,并对其进行FFT频谱分析,画出信号的时域波形图和频谱图。
3.构造受干扰信号并对其进行FFT频谱分析
对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析原因,得出结论。
并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。
4.数字滤波器设计
根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频和相频特性。
5.信号处理
用所设计的滤波器对含噪语音信号进行滤波。
对滤波后的语音信号进行FFT频谱分析。
画出处理过程中所得各种波形及频谱图。
对语音信号进行回放,感觉滤波前后声音的变化。
比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结论。
1.4本文使用的软件Matlab介绍
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分[4]。
MATLAB在现实中应用很广泛,如今随处可见,在各个领域都是有广泛的使用。
MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
第二章语音信号处理的总体方案
2.1运行环境及系统的基本要求
2.1.1运行的环境
运行环境主要介绍了硬件环境和软件环境。
硬件环境:
(1)处理器:
InterCore2T6400
(2)内存:
2G
(3)硬盘空间:
320GB或更高
(4)显卡:
SVGA显示适配器
软件环境:
操作系统:
Window7
开发环境主要介绍了本系统采用的操作系统、开发语言。
(1)操作系统:
Windows7
(2)开发环境:
Matlab7.0
2.1.2系统的基本要求
本文是用Matlab对含噪的的语音信号同时在时域和频域进行滤波处理和分析,同时对该语音信号通过滤波器出去噪声,设计出四种滤波器,得出图形后一一比较实现语音信号的处理分析。
2.2系统框架及实现
语音信号的采集
使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。
语音信号的处理
语音信号的处理主要包括信号的提取、信号的调整、信号的变换和滤波等。
Ⅰ.语音信号的时域分析
语音信号是一种非平稳的时变信号,它携带着各种信息。
在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。
语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。
语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。
提取:
通过图形用户界面上的菜单功能按键采集电脑设备上的一段音频信号,完成音频信号的频率,幅度等信息的提取,并得到该语音信号的波形图。
调整:
在设计的用户图形界面下对输入的音频信号进行各种变化,如变化幅度、改变频率等操作,以实现对语音信号的调整。
Ⅱ.语音信号的频域分析
信号的傅立叶表示在信号的分析与处理中起着重要的作用。
因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。
另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。
由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。
输出频谱是声道系统频率响应与激励源频谱的乘积。
声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。
由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。
变换:
在用户图形界面下对采集的语音信号进行Fourier等变换,并画出变换前后的频谱图和变换后的倒谱图。
滤波:
滤除语音信号中的噪音部分,可采用低通滤波、高通滤波、带通滤波和帯阻滤波,并比较各种滤波后的效果。
III.语音信号的效果显示
通过用户图形界面的输出功能,将处理后的信号的语音进行播放,试听处理后的效果。
2.3系统流程图
图2.1列出了整个语音信号处理系统的工作流程:
图2.1系统流程图
2.3语音信号相关调用函数介绍
2.4.1Wavread函数介绍
选取一段语音信号,然后在matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。
通过使用wavread函数,理解采样频率、采样位数等概念。
wavread函数调用格式:
y=wavread(file),读取file所规定的wav文件,返回采样值放在响亮y中。
[y,fs,nbits]=wavread(file),采样值放在向y中,
表示采样频率(
),nbits表示采样位数。
y=wavread(file,N),读取前N点的采样值放在向量y中。
y=wavread(file,[
]),读取从
到
点的采样值放在向量y中。
对语音信号04.wav进行采样其程序如下:
[y,fs,nbits]=wavread(‘04’)
其中:
fs=44100;(fs=44100为双声道设置频率,fs=22050为单声道设置频率)
nbits=16;
y=wavread(file,[20000,65000])
2.4.2其他相关函数介绍
(1).函数fftfilt的调用
函数fftfilt的调用格式为
y=fftfilt(b,x)
该格式是利用基于FFT的重叠相加法对数据进行滤波,这种频域滤波技术只对FIR滤波器有效。
该函数是通过向量b描述的滤波器对x数据进行滤波。
(2).函数sound的调用
函数sound可以对声音进行回放。
其调用格式为:
Sound(x,fs,bits)
(3).函数filter的调用
函数filter的调用格式为
y=filter(b,a,x)
该格式采用数字滤波器对数据进行滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。
其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a=1,此时表示FIR滤波器,否则就是IIR滤波器。
该函数是利用给出的向量b和a,对x中的数据进行滤波,结果放入向量y。
(4).randn函数调用
rand产生的是[0,1]上的均匀分布的随机序列,randn产生均值为0,方差为1的高斯随机序列,也就是白噪声序列;
也就是说,可以直接使用上面两个函数对原始信号添加噪声,调用格式:
y=x+rand(length(x),1)或者y=x+randn(length(x),1)
(5).FFT函数调用
在MATLAB的信号处理工具箱中函数FFT用于序列快速傅立叶变换。
FFT函数的一种调用格式为
其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。
且和x相同长度。
FFT函数的另一种调用格式为
式中,x,y意义同前,N为正整数
第三章语音信号处理的基本知识
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采样位数和采样频率
采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。
采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。
采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。
无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。
每增加一个采样位数相当于力度范围增加了6dB。
采样位数越多则捕捉到的信号越精确。
对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。
显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。
3.3时域信号FFT分析
FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。
函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和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进行处理。
3.3数字滤波器原理
3.3.1数字滤波器概念
若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(DF)。
数字滤波器实质上是一种运算过程——用来描述离散系统输入与输出关系的差分方程的计算或卷积计算。
数字滤波器的实质是用一有限精度算法实现的离散时间线性时不变系统,以完成对信号进行滤波处理的过程。
它是数字信号处理的一个重要分支,具有稳定性好、精度高、灵活性强、体积小、质量轻等诸多优点。
3.3.2数字滤波器分类
数字滤波器根据不同的分类标准可以将滤波器分成不同的类别。
(1)根据单位冲激响应h(n)的时间特性分类
无限冲激响应(IIR)数字滤波器
有限冲激响应(FIR)数字滤波器
(2)根据实现方法和形式分类
递归型数字滤波器
非递归型数字滤波器
快速卷积型
(3)根据频率特性分类
低通数字滤波器、高通数字滤波器、带通数字波器、带阻数字滤波器
3.4数字滤波器设计原理
数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。
数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 语音 信号 滤波 处理