语音信号处理相关课程设计论文.doc

上传人:西安人 文档编号:3292317 上传时间:2019-08-08 格式:DOC 页数:24 大小:331.18KB
返回 下载 相关 举报
语音信号处理相关课程设计论文.doc_第1页
第1页 / 共24页
语音信号处理相关课程设计论文.doc_第2页
第2页 / 共24页
语音信号处理相关课程设计论文.doc_第3页
第3页 / 共24页
语音信号处理相关课程设计论文.doc_第4页
第4页 / 共24页
语音信号处理相关课程设计论文.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《语音信号处理相关课程设计论文.doc》由会员分享,可在线阅读,更多相关《语音信号处理相关课程设计论文.doc(24页珍藏版)》请在三一文库上搜索。

1、 语音信号处理 摘 要语音信号处理包括语音通信、语音增强、语音合成、语音识别和说话人识别等方面。只有通过语音信号的数字处理,语音信号的好坏、语音识别率的高低,都取决于语音信号处理的好坏。因此,语音信号处理是一项非常有意义的研究课程。语音,即语言的声音,是语言符号系统的载体。它由人的发音器官发出,负载着一定的语言意义。语言依靠语音实现它的社会功能。语言是音义结合的符号系统,语言的声音和语言的意义是紧密联系着的,因此,语言虽是一种声音,但又与一般的声音有着本质的区别语音是人们交流思想和进行社会活动的最基本手段,因此我们要对语音信号进行处理分析,优化人类通信交流。本次实训用windows的录音机录制

2、一段自己说的话(语音信号),并画出语音信号的时域波形和频谱图;在MATLAB软件平台下,给语音信号加上噪声,绘出加噪声后的语音信号时域波形和频谱;采用双线性变换法,设计一个滤波器,并画出滤波器的频率响应;用自己设计的滤波器对语音信号进行滤波,画出滤波后信号的时域波形和频谱图,并对滤波前、后的信号进行对比,画出时域波形差,分析语言信号滤波前后的变化。本次实训是利用MATLAB对语音信号进行时域和频域分析,通过MATLAB对语音进行数字处理。 关键词:语音;噪声;MATLAB;滤波器;信号处理 AbstractSpeech signal processing including voice com

3、munications, speech enhancement, speech synthesis, speech recognition and speaker recognition and so on. Only through the digital processing of voice signals, voice signals good or bad, high and low speech recognition rate are good or bad depends on the voice signal process .Therefore, the voice sig

4、nal processing is a very significant research programs.Voice, the voice of the language is the carrier of linguistic sign systems. It is issued by the human vocal organs, load a certain amount of linguistic meaning. Language dependent voice to achieve its social function. Language is the combination

5、 of sound and meaning of the symbol system, language, the meaning of the voice and language are closely linked, and therefore, although the language is a voice, but the sound in general is essentially different. Voice that people exchange ideas and conduct the most basic means of social activities,

6、so we have to deal with the speech signal analysis and optimization of human communication exchange. The training record a tape recorder with windows own words (audio signal), and draw the speech signal in time domain waveform and frequency spectrum; In the MATLAB software platform, to the speech si

7、gnal with noise, drawn after the speech signal plus noise time domain waveform and frequency spectrum; Bilinear transform method, to design a filter, and draw the frequency response filter; Designed to filter their own filtering of the speech signal, draw the filtered signal in time domain waveform

8、and frequency spectrum, and filter before and after the signals are compared to draw difference time-domain waveform analysis language signal changes before and after filtering . The training is the use of MATLAB on the voice signal in time domain and frequency domain analysis, carried out by MATLAB

9、 digital processing of speech. Key word: Voice ; Noise; MATLAB; Filter ;Signal Processing引言语言是人类持有的功能声音是人类常用的工具,是相互传递信息的最主要的手段。语音信号是人们构成思想疏通和感情交流的最主要的途径,通过语音传递倍息是人类最重要、最有效、最常用和最方便的交换信息的形式。现在随着时代的发展,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。在本次实训中我设计的题目是:语音信号的数字处理。实训的设

10、计是对语音信号的数字处理,通过对所采集的语音信号进行时域波形和频谱图分析,采用双线性变换法设计滤波器,语音信号通过对滤波器进行滤波,然后回放语音信号,并对其滤波前和滤波后的语音变化进行分析。现在社会衍生了很多现代的语音通信方式,手机语音、语音聊天软件以及语音小说等,涉及语音的方面几乎遍及了我们的大部分生活,和我们生活息息相关,因此语音信号处理是具有现实意义的研究课程。1. 语音信号降噪处理分析MATLAB介绍1.1 语音信号 语音信号的采集与分析作为一个重要的研究领域, 20世纪60年代中期形成的一系列数字信号处理方法和技术,如数字滤波器、快速博里叶变换(FFT)等成为语音信号数字处理的理论和

11、技术基础。在方法上,随着电子计算机的发展,以往的以硬件为中心的研究逐渐转化为以软件为主的处理研究。然而,在语音识别领域内,初期有几种语音打字机的研究也很活跃,但后来已全部停了下来,这说明了当时人们对话音识别难度的认识得到了加深。所以1969年美国贝尔研究所的Pierce感叹地说“语音识别向何处去?”1971年,以美国ARPA(American Research Projects Agency)为主导的“语音理解系统”的研究计划也开始起步。这个研究计划不仅在美国园内,而且对世界各国都产生了很大的影响,它促进了连续语音识别研究的兴起。 进入20世纪90年代以来,语音信号采集与分析在实用化方面取得了

12、许多实质性的研究进展。其中,语音识别逐渐由实验室走向实用化。一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工种经网络的结合成为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。 其中MATLAB音频信号的分析与合成,采用MATLAB分析WAV文件。首先选择一个WAV文件作为分析的对象 。继而进行 FFT变换并画频域图形 ,进行该声波主要频谱的分析,根据该声音的频谱,反演时域图形 ,最后进行付立叶逆变换IFFT并画频域图形 。1.2 语音信号的特点通过对大量语音信号

13、的观察和分析发现,语音信号主要有下面两个特点:第一、在频域内,语音信号的频谱分量主要集中在3003400Hz的范围内。利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。第二、在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。下面是一段语音信号的时域波形图(图2-1)和频域图(图2-2),由这两个图可以看出语音信号的两个特点。图1-1语音信号时域波形图1-2 语音信

14、号频域波形1.3 语音信号的采集在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个:(1)抑制输入信导各领域分量中频率超出的所有分量(为采样频率),以防止混叠干扰。(2)抑制50Hz的电源工频干扰。为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔在模拟信号上逐点采取其瞬时值。采样时必须要注意满足奈奎斯特定理,即采样频率必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波它是通过采样脉冲和模拟信号相乘来实现的。下图是一段语音信号在采样频率44.1K

15、Hz情况下的频谱图。图1-3 语音信号频谱图 由图可知,这段语音信号的频率主要集中在1KHz左右,当采样频率为44.1KHz时,由于采样频率比较大,所以采样点数就越密,所得离散信号就越逼近于原信号,频谱也没有发生混叠。对上述信号进行1/80采样频率抽取,即采样频率变为将近500Hz时,由于采样频率比较小,所以采样点数就稀疏,所得离散信号就越偏离于原信号,频谱也发生了混叠。在采样的过程中应注意采样间隔的选择和信号混淆:对模拟信号采样首先要确定采样间隔。如何合理选择涉及到许多需要考虑的技术因素。一般而言,采样频率越高,采样点数就越密,所得离散信号就越逼近于原信号。但过高的采样频率并不可取,对固定长

16、度(T)的信号,采集到过大的数据量,给计算机增加不必要的计算工作量和存储空间;若数据量(N)限定,则采样时间过短,会导致一些数据信息被排斥在外。采样频率过低,采样点间隔过远,则离散信号不足以反映原有信号波形特征,无法使信号复原,造成信号混淆。根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。量化是对幅值进行离散化,即将振动幅值用二进制量化电平来表示。量化电平按级数变化,实际的振动值是连续的物理量。具体振值用舍入法归到靠近的量化电平上。 语音信号经过预滤波和采样后,由A/D变换器变换为二址制数字码。这种防混叠滤波通常与模数转

17、换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。在实际工作中,我们可以利用windows自带的录音机录制语音文件,基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。调节录音机保存界面的“更改”选项,可以存储各种格式的WAV文件。采集到语音信号之后,需要对语音信号进行分析,如画出采样后语音信号的时域波形和频谱图;双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采

18、集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。1.4 信号频谱分析 信号的频谱分析是将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化规律,称为频谱分析。频谱分析主要分析信号是由哪些频率的正弦信号叠加得到的,以及这些正弦信号的振幅。信号的频谱可分为幅值谱、相位谱、功率谱、对数谱等等。对信号作频谱分析的设备主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础

19、,实现信号的时频关系转换分析。傅立叶变换是信号频谱分析中常用的一个工具,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。时域信号x(t)的傅氏变换为: 式中X(f)为信号的频域表示,x(t)为信号的时域表示,f为频率。频谱分析主要用于识别信号中的周期分量,是信号分析中最常用的一种手段。典型信号正弦波、方波、三角波和白噪声信号是实际工程测试中常见的典型信号,这些信号时域、频域之间的关系很明确,并且都具有一定的

20、特性,通过对这些典型信号的频谱进行分析,对掌握信号的特性,熟悉信号的分析方法大有益处,并且这些典型信号也可以作为实际工程信号分析时的参照资料。本次实验利用DRVI快速可重组虚拟仪器平台可以很方便的对上述典型信号作频谱分析。1.5 信号的时域分析语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。这种分析方法的特点是:(1)表示语音信号比较直观、物理意义

21、明确;(2)实现起来比较简单、运算且少;(3)可以得到语音的一些重要的参数;(4)只使用示波器等通用设备,使用较为简单等。语音信号的时域参数有短时能量、短时过零率、短时白相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都要应用。在计算这些参数时使用的一般是凯泽窗或汉明窗。2. MATLAB软件功能介绍2.1 matlab简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simu

22、link两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。Matlab优势:(1)友好的工作

23、平台和编程环境;(2)简单易用的程序语言;(3)强大的科学计算机数据处理能力;(4)出色的图形处理功能;(5)应用广泛的模块集合工具箱;(6)实用的程序接口和发布平台;(7)应用软件开发(包括用户界面);2.2基于MATLAB的语音处理Matlab是一个非常好的语音处理工具箱,对学习语音处理的读者非常有用。基于DSP和MATLAB的语音数据采集和处理系统-MATLAB,该工具包主要应用于语音处理中听觉模型的建立和分析,其中也包含了语音处理的各种基本功能如语谱图,线性预测,识别和合成等等语音信号的频域处理,语音虽然是一个时变、非平稳的随机过程。但在短时间内可近似看作是平稳的。因此如果能从带噪语音

24、的短时谱中估计出“纯净”语音的短时谱,即可达到语音增强的目的。由于噪声也是随机过程,因此这种估计只能建立在统计模型基础上。利用人耳感知对语音频谱分量的相位不敏感的特性,这类语音增强算法主要针对短时谱的幅度估计。3.MATLAB滤波器设计3.1 matlab滤波器设计法介绍3.3 模拟滤波器设计3.3.1设计指标模拟低通滤波器的设计指标有,和。其中和分别称为通带截止频率和阻带截止频率,是通带)中的最大衰减系数,是阻带的最小衰减系数,和一般用dB数表示。在本次实训中%用切比雪夫低通滤波器 t=1;fs=1/t; fp=0.2; fr=0.3;Ap=1;Ar=25;wp=2*pi*fp/fs;wr=

25、2*pi*fr/fs;wpp=2/t*tan(wp/2);wrr=2/t*tan(wr/2);n,wn=cheb1ord(wpp,wrr,Ap,Ar,s);b,a=cheby1(n,Ap,wn,low,s);bz,az=bilinear(b,a,fs);freqz(bz,az,512,fs)3.3.2巴特沃斯滤低通滤波器的设计%用巴特沃斯低通滤波器 t=1;fs=1/t;fp=0.2;fr=0.3;Ap=1;Ar=20;wp=2*pi*fp/fs;wr=2*pi*fr/fs;wpp=2/t*tan(wp/2);wrr=2/t*tan(wr/2);n,wn=buttord(wpp,wrr,Ap,

26、Ar,s);b,a=butter(n,wn,low,s);bz,az=bilinear(b,a,fs);freqz(bz,az,512,fs)典型的模拟滤波器有多种,常用的有巴特沃斯滤波器和切比雪夫滤波器。其设计步骤如下:根据技术指标,和,求出滤波器的阶数N。求出归一化极点,将代入传输函数中,得到归一化传输函数Ha(p)。 将Ha(p)去归一化。将代入Ha(p),得到实际的滤波器传输函数Ha(s)。以上是巴特沃斯低通滤波器,通过频率变换法我们还可以灵活地设计高通,带通等模拟滤波器。3.4 数字滤波器3.4.1IIR滤波器的设计IIR滤波器常用的一类设计方法是借助于模拟滤波器的设计方法进行的。通

27、过模拟滤波器得到传输函数Ha(s)后,再将Ha(s)按某种方法转换成数字滤波器的系统函数H(z)。转换方法有脉冲响应不变法和双线性变换法。脉冲响应不变法所谓脉冲响应不变法就是使数字滤波器的单位脉冲响应序列h(n)等于模拟滤波器的单位冲激响应和(t)的采样值,即:,其中,T为采样周期。在MATLAB中,可用函数impinvar实现从模拟滤波器到数字滤波器的脉冲响应不变映射,调用格式为:Bz,Az=impinvar(B,A,Fs(3.6)Bz,Az=impinvar(B,A)(3.7)其中,B、A分别为模拟滤波器的分子和分母多项式系数向量;Fs为采样频率(Hz),缺省值Fs=1Hz;Bz、Az分别

28、为数字滤波器分子和分母多项式系数向量。双线性变换法图3.3 s平面和z平面的单值双线性映射关系示意图平面和z平面的单值双线性映射关系如图3.3所示由于s平面和z平面的单值双线性映射关系为s=,其中T为采样周期。因此,若已知模拟滤波器的传递函数,将上式代入即可得到数字滤波器的系统函数H(z)。在双线性变换中,模拟角频率和数字角频率的变换关系为:(3.8)可见,和w之间的变换关系为非线性的。设计步骤3.2.1 IIR数字滤波器的设计步骤由于采用了级联结构,因此如何将滤波器的每一个极点和零点相组合,从而使得数字滤波器输出所含的噪声最小是个十分关键的问题。为了产生最优的量化后的IIR数字滤波器,采用如

29、下步骤进行设计。 (1)、首先计算整体传递函数的零极点; (2)、选取具有最大幅度的极点以及距离它最近的零点,使用它们组成一个二阶基本节的传递函数; (3)、对于剩下的极点和零点采用与3.2相类似的步骤,直至形成所有的二阶基本节。 通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小。利用模拟滤波器设计IIR数字低通滤波器的步骤如下:确定数字低通滤波器的技术指标:通带截止频率p、通带衰减p、阻带截止频率s、阻带衰减s。将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。(3.9)如果采用双线性变换法,边界频率的转换关系为(3.10)按照模拟低通滤波器的技术指

30、标设计模拟低通滤波器。 将模拟滤波器Ha(s),从s平面转换到z平面,得到数字低通滤波器系统函数H(z)。基于Butterworth模拟滤波器原型,使用双线性状换设计数字滤波器:各参数值为:通带截止频率Ap=0.2*pi,阻带截止频率Ar=0.3*pi,通带波动值Rp=1dB,阻带波动值Rs=15dB,设Fs=3400Hz。代码:%用巴特沃斯数字低通滤波器 wp=0.2*pi;ws=0.3*pi;Fs=3400;T=1/Fs; Ap=(2/T)*tan(wp/2);Ar=(2/T)*tan(ws/2);rp=0.6;rs=8;as=50;ripple=10(-rp/20);attn=10(-r

31、s/20);n,wn=buttord(Ap,Ar,rp,rs,s);z,p,k=Buttap(n);b,a=zp2tf(z,p,k);bt,at=lp2lp(b,a,wn);b,a=bilinear(bt,at,Fs);3.4.3 滤波器的MATLAB实现MATLAB设计FIR滤波器的相关文件buttord.m用来确定数字低通或模拟低通滤波器的阶次,其调用格式分别是 N,Wn=buttord(Wp,Ws,Rp,Rs)(3.14) N,Wn=buttord(Wp,Ws,Rp,Rs, s)(3.15)格式3.14中的Wn,Wp,Ws为归一化频率,其值在01之间,1对应抽样频率的一半;格式3.15中

32、Wn,Wp,Ws单位为rad/s,因此,它们实际上是频率。对于不同类型的滤波器,参数Wp和Ws有一些限制:对于低通滤波器,WpWs;对于带通滤波器,wp和ws分别为具有两个元素的矢量,Wp=Wp1,Wp2和Ws=Ws1,Ws2,并且Ws1Wp1Wp2Ws2;对于带阻滤波器Wp1Ws1Ws2 wp=0.2*pi;ws=0.3*pi;Fs=3400;T=1/Fs; Ap=(2/T)*tan(wp/2);Ar=(2/T)*tan(ws/2);rp=0.6;rs=8;as=50;ripple=10(-rp/20);attn=10(-rs/20);n,wn=buttord(Ap,Ar,rp,rs,s);

33、z,p,k=Buttap(n);b,a=zp2tf(z,p,k);bt,at=lp2lp(b,a,wn);b,a=bilinear(bt,at,Fs);滤波器的频率响应图如下图1-8 滤波器的频率响应图 4.2.4 语音信号进行滤波对比分析用自己设计的滤波器对语音信号进行滤波,画出滤波后信号的时域波形和频谱图,并对滤波前、后的信号进行对比,画出时域波形差,分析信号的变化。在MATLAB中,用巴特沃斯数字低通滤波器,其程序设计如下:%用巴特沃斯数字低通滤波器 wp=0.2*pi;ws=0.3*pi;Fs=3400;T=1/Fs; Ap=(2/T)*tan(wp/2);Ar=(2/T)*tan(w

34、s/2);rp=0.6;rs=8;as=50;ripple=10(-rp/20);attn=10(-rs/20);n,wn=buttord(Ap,Ar,rp,rs,s);z,p,k=Buttap(n);b,a=zp2tf(z,p,k);bt,at=lp2lp(b,a,wn);b,a=bilinear(bt,at,Fs);y,fs,bits=wavread(C:Documents and SettingsAdministrator.COMPUTER桌面1.wav);d=0.02*randn(length(y),2);x1=y+d;y1=fft(x1,2048);d=filter(b,1,x1);

35、 D=fft(d); subplot(221);plot(x1);grid on;axis tight;title(滤波前的加噪语音信号);xlabel(time(s);ylabel(幅度);subplot(222);plot(abs(y1);grid on;axis tight;title(滤波前的加噪语音信号频谱);xlabel(Hz);ylabel(幅度);subplot(223);plot(d);grid on;axis tight;title(滤波后的语音信号); xlabel(time(s);ylabel(幅度);subplot(224);plot(abs(D);grid on;a

36、xis tight;title(滤波后的语音信号频谱);xlabel(Hz);ylabel(幅度);sound(y,fs,bits);滤波前后信号的时域波形和频谱图对比图如下:5. 总结通过本次数字信号处理实训,我对MATLAB的相关知识有了更深了学习了解,MATLA是一种以数值计算和数据图示为主的计算机软件,并包含适应多个学科的专业软件包,以及完善程序开发功能。本实训设计旨在要求学生熟悉Matlab的功能,掌握Matlab程序设计,培养学生的应用开发能力,为以后的毕业设计奠定一定的基础。首先通过自己对各类MATLAB知识的了解和兴趣,选择了合适自己这次的实训题目,我之所以选择语言信号的降噪,是觉得我在Matlab语音方面了解的很少,借助这次实训的机会,让自己学习更多关于Matlab语音方面的知识。 在这次的实训中,我对Matlab很多的知识进行了再一次或是更深入的学习,对一些不是很懂,课本介绍又少的相关知识,我借助了网络进行了搜索学习,达到了更全面的学习和掌握,本次实训我涉及到M

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1