当前位置:文档之家› 基于MATLAB的语音信号采集与处理课程设计报告

基于MATLAB的语音信号采集与处理课程设计报告

基于MATLAB的语音信号采集与处理课程设计报告
基于MATLAB的语音信号采集与处理课程设计报告

MATLAB 课程设计报告书

课题名称 基于MATLAB 的语音信号采集与处理

姓 名

学 号

院、系、部 专 业 指导教师

2009年 5月 31日

※※※※※※※※※

※※

※※

※※ 2007级学生MATLAB 课程设计

基于MATLAB的语音信号采集与处理

一、实践的目的和要求

1. MATLAB软件功能简介

MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。

MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。2. 本题目的意义

本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB 的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。

此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。

二、实践原理:

1.理论原理

利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。

2. 具体流程

(1). 语音信号的采集及分析

基于声卡进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动录音机。按下录音按钮,对话筒说话,说完后停止录音。要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。在 Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x1,同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。图figure 1为原始语音信号的时域图形。从图中可以看出在时域环境下,信号呈现出6不规则的信号峰值。通过freqz函数绘制原始语音信号的频率响应图figure 2 。然后对语音信号进行频谱分析,在Matlab中可以利用函数fft 对信号行快速傅里叶变换,得到信号的频谱图figure 3,从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。

(2). 给原始信号加上一个高频噪声

在Matlab中人为设计一个固定频率5500Hz的噪声干扰信号。噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=[Au*sin(2*pi*5500*t)]',给出的干扰信号为一个正弦信号,针对上面的语音信号 ,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在4000Hz和 6000Hz频点处有一高峰 ,其中5500Hz 正是本设计所要利用的。

(3). 设计一个滤波器,滤除高频噪声

由模拟滤波器变换为数字滤波器时,采用的是双线性变换法, 它保留的是从模拟到数字域的系统函数表示。在滤波器的选取时, 由于设计方法的侧重点不同, 作出比较是困难的。如果FIR滤波器情况下,最优的设计将是椭圆滤波器。用双线性变换法设计低通滤波器。的

本设计是用双线性变换法设计BW带阻型滤波器。在 MATLAB中 ,可以利用函数 butterworth,设计FIR滤波器,利用 MATLAB 中的函数freqz 画出各滤波器的频率响应。用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中 FIR滤波器利用函数fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。在一个窗口同时画出滤波前后的波形及频谱。从图中可以看出 ,5500Hz看到的高峰消失了 ,语音信号与开始的一样 ,滤波器成功的滤除了干扰信号。利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

三、实践步骤

1.用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱

程序:

fs=22050; %语音信号采样频率为22050

x1=wavread('C:\Documents and Settings\Administrator\桌面\声音文件.wav');

%读取语音信号的数据,赋给变量x1,

sound(x1,22050); %播放语音信号

y1=fft(x1,1024); %对信号做1024点FFT变换

f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024

的值,赋值给f

figure(1) %创建图形窗1

plot(x1) %做原始语音信号的时域图形

title('原始语音信号');

xlabel('time n'); %x轴的名字是“time n”

ylabel('fuzhi n'); %y轴的名字是“fuzhi n”

figure(2)

freqz(x1) %绘制原始语音信号的频率响应图

title('频率响应图')

figure(3)

subplot(2,1,1); %创建两行一列绘图区间的第1个绘图区间

plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图

title('原始语音信号FFT频谱')

subplot(2,1,2);

plot(f,abs(y1(1:512))); %abs是绝对值,plot是直角坐标下线性刻度曲线title('原始语音信号频谱')

xlabel('Hz');

ylabel('幅值');

时域波形和频谱:

图1 原始语音信号

图2 语音信号频率响应图

图3 原始语音信号FFT与信号频谱

2. 给原始的语音信号加上一个高频余弦噪声,频率为5500hz。对加噪后的语音进行分析,并画出其信号时域和频谱图。

程序:

fs=22050;

x1=wavread('C:\Documents and Settings\Administrator\桌面\声音文件.wav');

%读取语音信号的数据,赋给变量x1

f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024

的值,赋值给f

t=0:1/fs:(length(x1)-1)/fs; %将0到x1的长度减1后的值除以fs的值,且步长为

1/fs的值,的序列的值,赋予t

Au=0.03; %噪声幅值

d=[Au*sin(2*pi*5500*t)]'; %所加的噪声是正弦信号

x2=x1+d; %将正弦信号噪声加在语音信号上

sound(x2,22050); %播放语音信号

y1=fft(x1,1024); %对信号y1做1024点FFT变换

y2=fft(x2,1024); %对信号y2做1024点FFT变换

figure(1); %创建图形窗1

plot(t,x2); %做加噪后的信号时域图形(绘出t对x2的线性图)title('加噪后的信号');

xlabel('time n'); %x轴的名字是“time n”

ylabel('fuzhi n'); %y轴的名字是“fuzhi n”

figure(2) %创建图形窗2

subplot(2,1,1); % 创建两行一列绘图区间的第1个绘图区间

plot(f,abs(y1(1:512))); %做原始语音信号的频谱图

title('原始语音信号频谱');

xlabel('Hz'); %x轴的名字是“time n”

ylabel('fuzhi'); % y轴的名字是“fuzhi”

subplot(2,1,2); %创建两行一列绘图区间的第2个绘图区间

plot(f,abs(y2(1:512))); %做加噪后的语音信号的频谱图(abs是绝对值,plot

是直角坐标下线性刻度曲线)

title('加噪后的信号频谱');

xlabel('Hz'); %x轴的名字是“time n”

ylabel('fuzhi'); % y轴的名字是“fuzhi”时域波形和频谱:

图4 加噪后的信号时域图

图5 原始信号与加噪后信号频谱对比

与原始信号对比,区别:

先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。如图5原始信号与加噪后信号频谱对比图所示。

3. 设计合适的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:

程序:

%用双线性变换法设计巴特沃思低通滤波器

wp=0.25*pi; %通带截止频率

ws=0.3*pi; %阻带截止频率

Rp=1; %通带最大衰减(db)

Rs=15; %阻带最大衰减(db)

Fs=22050;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2); %将模拟指标转换成数字指标

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s'); %选择滤波器的最小阶数(估算得到Butterworth

低通滤波器的最小阶数N和3dB截止频率Wc)[Z,P,K]=buttap(N); %创建Butterworth低通滤波器原型

[Bap,Aap]=zp2tf(Z,P,K); %将零极点增益转换为普遍分子,分母

[b,a]=lp2lp(Bap,Aap,Wn); %将普遍的分子和分母转换为以Wn为截止频率[bz,az]=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器

的转换(模拟转换为数字)

[H,W]=freqz(bz,az); %求频率响应

figure(9)

plot(W*Fs/(2*pi),abs(H))%绘制Butterworth低通滤波器频率响应曲线

grid %添加图格

xlabel('频率/Hz')

ylabel('频率响应幅度')

title('Butterworth')

f1=filter(bz,az,z); %利用上面已做好的滤波器(已bz和az为特征的

滤波器)对x2信号进行滤波,赋值给f1 figure(10)

subplot(2,1,1) %创建两行一列绘图区间的第1绘图区间

plot(t,z) %做加噪后的信号时域图形

title('滤波前的时域波形');

subplot(2,1,2) %创建两行一列绘图区间的第2绘图区间

plot(t,f1);

title('滤波后的时域波形');

sound(f1,22050); %播放语音信号

p=length(f1);

F0=fft(f1,p);

f=0:fs/p:fs*(s-1)/p;

figure(11)

y2=fft(z,1024); %对信号y2做1024点FFT变换

subplot(2,1,1); %创建两行一列绘图区间的第1绘图区间

plot(f,abs(y4));

title('滤波前的频谱')

xlabel('Hz'); %x轴的名字是“Hz”

ylabel('fuzhi'); %y轴的名字是“fuzhi”

subplot(2,1,2)

F1=plot(f,abs(F0));

title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

时域波形和频谱:

图6 低通滤波器频率响应曲线

图7 滤波前后时域波形图

图8 滤波前后频谱图

与原噪音信号对比,区别:

通过对比分析可知,滤波后的输出波形和原始语音加噪声信号的图形发生了一些变化,在3000-6000Hz之间的信号消失,出现0-1000和7000-8000之间的信号。滤波后的输出波形明显在对应时间幅度比原语音加噪声信号的要小,而且滤波的效果也与滤波器的选择有关,可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以发现滤波前后的声音有变化.低通滤波后,已很接近原来的声音,人耳几乎辨别不出。从频谱图中我们还可以看出声音的能量信号主要集中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。

四、心得体会

正所谓“纸上得来终觉浅,觉知此事要躬行。”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的。因此在学期末来临之际,我们迎来了MATLAB课程设计。

通过为期一周半的MATLAB课程设计,我对MATLAB这个仿真软件有了更进一步的认识和了解。在这一周半时间里,我通过自己摸索,查阅资料,并且在指导老师田老师的指导下完成了:语音信号的采集及分析;给原始信号加上一个高频噪声;设计一个滤波器,滤除高频噪声;并最终将课程设计报告总结完毕。

在整个设计过程中我懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。

在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质。希望以后像这样的课程设计在多一点。

参考文献:

1. 姚东.MATLAB及在电子信息课程中的应用[M].第二版.北京:北京电子工业出版社,2000

2. 张智星.MATLAB程序设计与应用.北京:清华大学出版社,2002

3. 陈怀琛.MATLAB及其在理工课程中的应用指南.西安:西安电子科技大学出版社,1999.10

4. 肖伟、刘忠. MATLAB程序设计与应用[M].北京:清华大学出版社 2005

语音信号处理实验指导书

语音信号处理实验指导书 实验一 语音信号采集与简单处理 一、 实验目的、要求 (1)掌握语音信号采集的方法 (2)掌握一种语音信号基音周期提取方法 (3)掌握短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 基本概念: (a )短时过零率: 短时内,信号跨越横轴的情况,对于连续信号,观察语音时域波形通过横轴的情况;对于离散信号,相邻的采样值具有不同的代数符号,也就是样点改变符号的次数。 对于语音信号,是宽带非平稳信号,应考察其短时平均过零率。 其中sgn[.]为符号函数 ?? ?? ?<=>=0 x(n)-1sgn(x(n))0 x(n)1sgn(x(n)) 短时平均过零的作用 1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。 2.从背景噪声中找出是否有语音,以及语音的起点。 (b )基音周期 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 ∑--= -=1 )]1(sgn[)](sgn[21N m n n n m x m x Z

由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容 易。③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。④基音周期变化范围大,从老年男性的50Hz 到儿童和女性的450Hz ,接近三个倍频程,给基音检测带来了一定的困难。由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。 尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT 、谱图法、小波法等等。 三、使用仪器、材料 微机(带声卡)、耳机,话筒。 四、 实验步骤 (1)语音信号的采集 利用Windows 语音采集工具采集语音信号,将数据保存wav 格式。 采集一组浊音信号和一组清音信号,信号的长度大于3s 。 (2)采用短时相关函数计算语音信号浊音基音周期,考虑窗长度对基音周期计算的影响。采用倒谱法求语音信号基音周期。 (3)计算短时过零率,清音和浊音的短时过零率有何区别。 五、实验过程原始记录(数据,图表,计算) 短时过零率 短时相关函数 P j j n s n s j R N j n n n n ,,1) ()()(1 =-=∑-= ∑--=-=10 )]1(sgn[)](sgn[21N m n n n m x m x Z

语音信号处理与及其MATLAB实现分析

目录 摘要 (2) 第一章绪论 (3) 1.1 语音课设的意义 (3) 1.2 语音课设的目的与要求 (3) 1.3 语音课设的基本步骤 (3) 第二章设计方案论证 (5) 2.1 设计理论依据 (5) 2.1.1 采样定理 (5) 2.1.2 采样频率 (5) 2.1.3 采样位数与采样频率 (5) 2.2 语音信号的分析及处理方法 (6) 2.2.1 语音的录入与打开 (6) 2.2.2 时域信号的FFT分析 (6) 2.2.3 数字滤波器设计原理 (7) 2.2.4 数字滤波器的设计步骤 (7) 2.2.5 IIR滤波器与FIR滤波器的性能比较 (7) 第三章图形用户界面设计 (8) 3.1 图形用户界面概念 (8) 3.2 图形用户界面设计 (8) 3.3 图形用户界面模块调试 (9) 3.3.1 语音信号的读入与打开 (9) 3.3.2 语音信号的定点分析 (9) 3.3.3 N阶高通滤波器 (11) 3.3.4 N阶低通滤波器 (12) 3.3.5 2N阶带通滤波器 (13) 3.3.6 2N阶带阻滤波器 (14) 3.4 图形用户界面制作 (15) 第四章总结 (18) 附录 (19) 参考文献 (24)

摘要 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

语音信号处理实验报告

语音信号处理实验 班级: 学号: 姓名:

实验一 基于MATLAB 的语音信号时域特征分析(2学时) 1) 短时能量 (1)加矩形窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32; for i=2:6 h=linspace(1,1,2.^(i-2)*N);%形成一个矩形窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if (i==2) ,legend('N=32'); elseif (i==3), legend('N=64'); elseif (i==4) ,legend('N=128'); elseif (i==5) ,legend('N=256'); elseif (i==6) ,legend('N=512'); end end 00.51 1.52 2.5 3 x 10 4 -1 100.5 1 1.5 2 2.5 3x 10 4 024 N=3200.5 1 1.5 2 2.5 3x 10 4 05 N=6400.5 1 1.5 2 2.5 3x 10 4 0510 N=12800.5 1 1.5 2 2.5 3x 10 4 01020 N=2560 0.5 1 1.5 2 2.5 3x 10 4 02040 N=512 (2)加汉明窗 a=wavread('mike.wav'); a=a(:,1); subplot(6,1,1),plot(a); N=32;

for i=2:6 h=hanning(2.^(i-2)*N);%形成一个汉明窗,长度为2.^(i-2)*N En=conv(h,a.*a);% 求短时能量函数En subplot(6,1,i),plot(En); if (i==2), legend('N=32'); elseif (i==3), legend('N=64'); elseif (i==4) ,legend('N=128'); elseif (i==5) ,legend('N=256'); elseif (i==6) ,legend('N=512'); end end 00.51 1.52 2.5 3 x 10 4 -1 100.5 1 1.5 2 2.5 3x 10 4 012 N=3200.5 1 1.5 2 2.5 3x 10 4 024 N=6400.5 1 1.5 2 2.5 3x 10 4 024 N=12800.5 1 1.5 2 2.5 3x 10 4 0510 N=2560 0.5 1 1.5 2 2.5 3x 10 4 01020 N=512 2) 短时平均过零率 a=wavread('mike.wav'); a=a(:,1); n=length(a); N=320; subplot(3,1,1),plot(a); h=linspace(1,1,N); En=conv(h,a.*a); %求卷积得其短时能量函数En subplot(3,1,2),plot(En); for i=1:n-1 if a(i)>=0 b(i)= 1;

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论.............................................................................................................. 错误!未定义书签。 1.1课题背景及意义................................................................................. 错误!未定义书签。 1.2国内外研究现状................................................................................. 错误!未定义书签。 1.3本课题的研究内容和方法................................................................. 错误!未定义书签。 1.3.1 研究内容................................................................................ 错误!未定义书签。 1.3.2 开发环境................................................................................ 错误!未定义书签。 2 语音信号处理的总体方案............................................................................ 错误!未定义书签。 2.1 系统基本概述.................................................................................... 错误!未定义书签。 2.2 系统基本要求与目的........................................................................ 错误!未定义书签。 2.3 系统框架及实现................................................................................ 错误!未定义书签。 2.3.1 语音信号的采样.................................................................... 错误!未定义书签。 2.3.2 语音信号的频谱分析............................................................ 错误!未定义书签。 2.3.3 音乐信号的抽取.................................................................... 错误!未定义书签。 2.3.4 音乐信号的AM调制.............................................................. 错误!未定义书签。 2.3.5 AM调制音乐信号的同步解调............................................... 错误!未定义书签。 2.4系统设计流程图................................................................................. 错误!未定义书签。 3 语音信号处理基本知识................................................................................ 错误!未定义书签。 3.1语音的录入与打开............................................................................. 错误!未定义书签。 3.2采样位数和采样频率......................................................................... 错误!未定义书签。 3.3时域信号的FFT分析......................................................................... 错误!未定义书签。 3.4切比雪夫滤波器................................................................................. 错误!未定义书签。 3.5数字滤波器设计原理......................................................................... 错误!未定义书签。 4 语音信号实例处理设计................................................................................ 错误!未定义书签。 4.1语音信号的采集................................................................................. 错误!未定义书签。

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计 摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。 关键词:Matlab,语音信号,傅里叶变换,滤波器 1课程设计的目的和意义 本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的: 1.1.了解Matlab软件的特点和使用方法。 1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法; 1.3.掌握数字滤波器的设计方法及应用。 1.4.了解语音信号的特性及分析方法。 1.5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 2 设计任务及技术指标 设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,

利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是: 2.1.采集语音信号。 2.2.对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。 2.3.针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。 2.4.对噪声滤除前后的语音进行时频域分析。 2.5.对语音信号进行重采样,回放并与原始信号进行比较。 2.6.对语音信号部分时域参数进行提取。 2.7.设计图形用户界面(包含以上功能)。 3 设计方案论证 3.1语音信号的采集 使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。 3.2语音信号的处理 语音信号的处理主要包括信号的提取播放、信号的重采样、信号加入噪声、信号的傅里叶变换和滤波等,以及GUI图形用户界面设计。 Ⅰ.语音信号的时域分析 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法。 Ⅱ.语音信号的频域分析 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更

《语音信号处理》实验报告材料

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息0704 学生名称:阮光武 学生学好:0903070430 提交日期:2010年6月18日

实验一 语音波形文件的分析和读取 一、实验的任务、性质与目的 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验: (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 二、实验原理和步骤: WAV文件格式简介 WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。

语音信号处理matlab实现

短时能量分析matlab源程序: x=wavread('4.wav'); %计算N=50,帧移=50时的语音能量 s=fra(50,50,x);%对输入的语音信号进行分帧,其中帧长50,帧移50 s2=s.^2;%一帧内各种点的能量 energy=sum(s2,2);%求一帧能量 subplot(2,2,1); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=50'); axis([0,500,0,30]) %计算N=100,帧移=100时的语音能量 s=fra(100,100,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,2); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=100'); axis([0,300,0,30]) %计算N=400,帧移=400时的语音能量 s=fra(400,400,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,3); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=400'); axis([0,60,0,100]) %计算N=800,帧移=800时的语音能量 s=fra(800,800,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,4); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=800'); axis([0,30,0,200]) 分帧子函数: function f=fra(len,inc,x) %对读入语音分帧,len为帧长,inc为帧重叠样点数,x为输入语音数据 fh=fix(((size(x,1)-len)/inc)+1);%计算帧数 f=zeros(fh,len);%设一个零矩阵,行为帧数,列为帧长 i=1;n=1; while i<=fh %帧间循环 j=1; while j<=len %帧内循环 f(i,j)=x(n); j=j+1;n=n+1; end n=n-len+inc;%下一帧开始位置 i=i+1; end

语音信号处理实验报告实验二

通信工程学院12级1班 罗恒 2012101032 实验二 基于MATLAB 的语音信号频域特征分析 一、 实验要求 要求根据已有语音信号,自己设计程序,给出其倒谱、语谱图的分析结果,并根据频域分析方法检测所分析语音信号的基音周期或共振峰。 二、 实验目的 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。 由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。 三、 实验设备 1.PC 机; 2.MATLAB 软件环境; 四、 实验内容 1.上机前用Matlab 语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5.依次给出其倒谱、语谱图的分析结果。 6. 根据频域分析方法检测所分析语音信号的基音周期或共振峰。 五、 实验原理及方法 1、短时傅立叶变换 由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为: 其中w(n -m)是实窗口函数序列,n 表示某一语音信号帧。令n -m=k',则得到 ()()()jw jwm n m X e x m w n m e ∞-=-∞= -∑

基于MATLAB的有噪声语音信号处理毕设

大学本科毕业设计论文 基于MATLAB的有噪声语音信号处理

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB 有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词?数字滤波器;MATLAB;窗函数法;巴特沃斯; 切比雪夫; 双线性变换

Abstract ?Filterdesignin digital signal processingplaysan extre melyimportant role, FIR digital filters and IIR filter is an importan tpart of filter design.Matlab is powerful,easy to learn,programming efficiency,which was welcomed bythemajority ofsc ientists. Matlab alsohas a particular signalanalysis toolbox,it need nothave strongprogrammingskills can be easily signal analysis, processing and design. Using MATLAB Signal Processing Toolbox can quickly andefficiently design avarietyof digitalfilters. MATLAB basedon the noise issuespeech signal processing design and implementation of digital signalprocessing integrated use of the theoretical knowledge ofthe speechsignal plus noise, time domain, frequencydomainanalysis andfiltering. Thecorrespondingresults obtainedthroughtheoreticalderivation, and then use MATLAB as a programming toolfor computer implementation.Implemented inthe design process,usingthewindow function methodtodesign FIR digital filters with Butterworth, Chebyshev andbilinear Reform IIR digital filter design and use ofMATLAB as asupplementary tool to complete thecalculation and graphic design Drawing. Throughthesimulation of thedesigned filter and the frequency analysis shows thatusingMatlabSignal Processing Toolbox can quickly and easily design digital filters FIR andIIR,the processis simple and convenient, the results of the performance indicators to meetthe specifiedrequirements. ? Keywords: digital filter; MATLAB;Chebyshev;Butterworth;

大学本科语音信号处理实验讲义8学时

语音信号处理实验讲义 时间:2011-12

目录 实验一语音信号生成模型分析 (3) 实验二语音信号时域特征分析 (7) 实验三语音信号频域特征分析 (12) 实验四语音信号的同态处理和倒谱分析 (16)

实验一 语音信号生成模型分析 一、实验目的 1、了解语音信号的生成机理,了解由声门产生的激励函数、由声道产生的调制函数和由嘴唇产生的辐射函数。 2、编程实现声门激励波函数波形及频谱,与理论值进行比较。 3、编程实现已知语音信号的语谱图,区分浊音信号和清音信号在语谱图上的差别。 二、实验原理 语音生成系统包含三部分:由声门产生的激励函数()G z 、由声道产生的调制函数()V z 和由嘴唇产生的辐射函数()R z 。语音生成系统的传递函数由这三个函数级联而成,即 ()()()()H z G z V z R z = 1、激励模型 发浊音时,由于声门不断开启和关闭,产生间隙的脉冲。经仪器测试它类似于斜三角波的脉冲。也就是说,这时的激励波是一个以基音周期为周期的斜三角脉冲串。单个斜三角波的频谱表现出一个低通滤波器的特性。可以把它表示成z 变换的全极点形式 12 1()(1) cT G z e z --= -? 这里c 是一个常数,T 是脉冲持续时间。周期的三角波脉冲还得跟单位脉冲串的z 变换相乘: 112 1 ()()()1(1)v cT A U z E z G z z e z ---=?= ?--? 这就是整个激励模型,v A 是一个幅值因子。 2、声道模型 当声波通过声道时,受到声腔共振的影响,在某些频率附近形成谐振。反映在信号频谱图上,在谐振频率处其谱线包络产生峰值,把它称为共振峰。 一个二阶谐振器的传输函数可以写成 12 ()1i i i i A V z B z C z --= -- 实践表明,用前3个共振峰代表一个元音足够了。对于较复杂的辅音或鼻音共振峰要到5个以上。多个()i V z 叠加可以得到声道的共振峰模型 12 1 11 ()()11R r r M M i r i N k i i i i k k b z A V z V z B z C z a z -=---======---∑∑∑ ∑ 3、辐射模型 从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了

数字语音信号处理实验报告

语音信号处理实验报告 专业班级电子信息1203 学生姓名钟英爽 指导教师覃爱娜 完成日期2015年4月28日 电子信息工程系 信息科学与工程学院

实验一语音波形文件的分析和读取 一、实验学时:2 学时 二、实验的任务、性质与目的: 本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验 (1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等; (2)掌握语音信号的录入方式和*.WAV音波文件的存储结构; (3)使学生初步掌握语音信号处理的一般实验方法。 三、实验原理和步骤: WAV 文件格式简介 WAV 文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV 文件的头四个字节就是“RIFF”。WAV 文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。常见的WAV 声音文件有两种,分别对应于单声道(11.025KHz 采样率、8Bit 的采样值)和双声道(44.1KHz 采样率、16Bit 的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8 位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16 位的整数(int),高八位和低八位分别代表左右两个声道。WAV 文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV 文件中,道0 代表左声道,声道1 代表右声道;在多声道WAV 文件中,样本是交替出现的。WAV 文件的格式 表1 wav文件格式说明表

语音信号处理实验报告实验一

通信工程学院12级1班罗恒2012101032 实验一语音信号的低通滤波和短时分析综合实验 一、实验要求 1、根据已有语音信号,设计一个低通滤波器,带宽为采样频率的四分之一,求输出信号; 2、辨别原始语音信号与滤波器输出信号有何区别,说明原因; 3、改变滤波器带宽,重复滤波实验,辨别语音信号的变化,说明原因; 4、利用矩形窗和汉明窗对语音信号进行短时傅立叶分析,绘制语谱图并估计基音周期,分析两种窗函数对基音估计的影响; 5、改变窗口长度,重复上一步,说明窗口长度对基音估计的影响。 二、实验目的 1.在理论学习的基础上,进一步地理解和掌握语音信号低通滤波的意义,低通滤波分析的基本方法。 2.进一步理解和掌握语音信号不同的窗函数傅里叶变化对基音估计的影响。 三、实验设备 1.PC机; 2.MATLAB软件环境; 四、实验内容 1.上机前用Matlab语言完成程序编写工作。 2.程序应具有加窗(分帧)、绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5. 改变滤波带宽,辨别与原始信号的区别。 6.依据曲线对该语音段进行所需要的分析,并且作出结论。 7.改变窗的宽度(帧长),重复上面的分析内容。 五、实验原理及方法 利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws 的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率∩c ;根据阶数N查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。之后,通过双线性变换法转换公式s=2/T((1-1/z)/(1+1/z))得到所要设计的IIR滤波器的系统函数H(z)。

基于matlab的语音信号处理程序

wavefile='a.wav'; [y,fs,nbits]=wavread(wavefile);%读取信号,采样率和采样位数[10000,19999] sound(y,fs,nbits) fs %采样频率这里每秒22050,发现采样频率为音频信号的典型值22050Hz nbits Y=fft(y,1024);%数据点数 whos y figure(1), subplot(2,1,1),plot(y);title('原始信号波形');grid on subplot(2,1,2),plot(abs(Y));title('原始信号频谱'); grid on%横坐标频率,纵坐标振幅%subplot(3,1,3),plot(angle(Y));title('原始信号相位');grid on %双线性变换法设计的低通滤波器 fp=1000;%fp为通带频率 fc=1200;%fc为阻带起始频率 As=100;%As-阻带最小衰减(dB); Ap=1;%Ap-通带波纹(dB); fs1=fs; wp=2*fp/fs1;%wp-椭圆滤波器通带截止角频率; wc=2*fc/fs1;%Ws-椭圆滤波器阻带起始角频率; [n,wn]=ellipord(wp,wc,Ap,As); %n-椭圆滤波器最小阶数; [b,a]=ellip(n,Ap,As,wn);%返回长度为n+1的滤波器系数行向量b和a, b为分子a 为分母 figure(2),freqz(b,a,512,fs1); %数字滤波器的频率响应函数,512表示选取单位圆的上半圆等间距的N个点作为频响输出; x=filter(b,a,y);%一维数字滤波器,y2为滤波前输入,x为滤波结果序列 X=fft(x,1024); figure(3), subplot(2,1,1),plot(x);title('低通滤波后信号波形');grid on subplot(2,1,2),plot(abs(X));title('低通滤波后信号频谱');grid on sound(x,fs); %分析图形,比较滤波前后时域波形和频域频谱。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %短时能量 y=y*2^nbits/2; frameSize=256; overlap=128; %[y,fs,nbits]=wavReadInt(wavefile); fprintf('length of %s is %g sec.\n',wavefile,length(y)/fs);

语音信号处理实验报告11

实验一 语音信号的时域分析 一、 实验目的、要求 (1)掌握语音信号采集的方法 (2)掌握一种语音信号基音周期提取方法 (3)掌握语音信号短时能量和短时过零率计算方法 (4)了解Matlab 的编程方法 二、 实验原理 语音是一时变的、非平稳的随机过程,但由于一段时间内(10-30ms)人的声带和声道形状的相对稳定性,可认为其特征是不变的,因而语音的短时谱具有相对稳定性。在语音分析中可以利用短时谱的这种平稳性,将语音信号分帧。 10~30ms 相对平稳,分析帧长一般为20ms 。 语音信号的分帧是通过可移动的有限长度窗口进行加权的方法来实现的。几种典型的窗函数有:矩形窗、汉明窗、哈宁窗、布莱克曼窗。 语音信号的能量分析是基于语音信号能量随时间有相当大的变化,特别是清音段的能量一般比浊音段的小得多。定义短时平均能量 [][]∑∑+-=∞-∞=-=-= n N n m m n m n w m x m n w m x E 122)()()()( 下图说明了短时能量序列的计算方法,其中窗口采用的是直角窗。 过零就是信号通过零值。对于连续语音信号,可以考察其时域波形通过时间轴的情况。而对于离散时间信号,如果相邻的取样值改变符号则称为过零。由此可以计算过零数,过零数就是样本改变符号的次数。单位时间内的过零数称为平

均过零数。 语音信号x (n )的短时平均过零数定义为 ()[]()[]()()[]()[]() n w n x n x m n w m x m x Z m n *--=---= ∑∞ -∞=1sgn sgn 1sgn sgn 式中,[]?sgn 是符号函数,即 ()[]()()()()???<-≥=01 01sgn n x n x n x 短时平均过零数可应用于语音信号分析中。发浊音时,尽管声道有若干个共振峰,但由于声门波引起了谱的高频跌落,所以其语音能量约集中干3kHz 以下。而发清音时.多数能量出现在较高频率上。既然高频率意味着高的平均过零数,低频率意味着低的平均过零数,那么可以认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数。然而这种高低仅是相对而言,没有精确的数值关系。 短时平均过零的作用 1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。 2.从背景噪声中找出是否有语音,以及语音的起点。 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的

相关主题
文本预览
相关文档 最新文档