文档库 最新最全的文档下载
当前位置:文档库 › 语音信号处理-语音信号的线性分析.

语音信号处理-语音信号的线性分析.

语音信号处理-语音信号的线性分析.
语音信号处理-语音信号的线性分析.

2015.10.14

1.介绍

语音是人类相互交流和通信最方便快捷的手段。如何高效地实现语音传输、存储或通过语音实现人机交互,是语音信号处理领域中的重要研究课题。语音信号处理涉及数字信号处理、语言学、语音学、生理学、心理学、计算机科学以及模式识别、人工智能等诸多学科领域,是目前信息科学技术学科中发展最为迅速的一个领域。

在语音处理技术中,线性预测是第一个真正得到实际应用的技术,可以用于估计基本的语音参数,如基因周期、共振峰频率、频谱特征及声道面积函数等。

线性预测的基本原理是把待分析的信号用一个模型表示出来,信号是这个模型的输出,构成这个模型的参数是这个信号的重要特征,称为线性预测系数。一个语音取样的现在值可以用若干个语音取样的过去值的加权线性组合来逼近。加权系数称为预测系数。如果利用过去p个样点值来进行预测,称为p 阶线性预测。线性预测编码就是利用过去的样值对新鲜值进行预测,然后将样值的实际值与其预测值相减得到一个误差信号,显然误差信号的动态范围小于原始语音信号的动态范围,对误差信号进行量化编码,可大大减少量化所需的比特数,使编码速率降低。通常情况下,随着线性预测阶数p的增大,预测误差也将会越来越小,但是p也不是一直增加的,随着线性预测阶数p的增大,信号中的可预测部分也将越来越少,预测误差的变化趋于平稳,误差减小不再明显。此时,伴随着预测阶数p的增大,整个系统的计算量将会越来越大。为此,对于不同的信号,我们需要确定一个最优的预测阶数p,进而进行预测分析。

在对原始语音信号进行处理之前我们要对信号进行预处理,语音信号的预处理也叫作前端处理,是指在特征提取之前,先对原始语音进行处理,使处理后的信号更能满足实际的需要,对提高处理精确度有重要的意义。一般预处理的步骤包括采样、预加重、加窗分帧和去噪等,本文采取分帧去除直流分量后再剔除噪声帧来进行预处理,本文求阈值的方法就是求出语音信号中的高斯白噪声,然后设置阈值,将没帧信号和阈值进行比较,如果比阈值小的就是噪声帧,直接去除。预处理结束后,我们对语音信号进行LPC分析,本文中通过Levinson-Durbin 算法求出预测系数,在通过不同阶数P的滤波器得到预测误差从而找出最小误差值下的最优阶数P,最后作出最小误差与P的关系曲线图。

2.LPC 基本原理

(1)语音信号的样值序列为s(n),n=1,2,3……n ,s(n)的预测值为()s n ∧

1

()()p

i i s n a s n i ∧

==-∑ (1)

线性误差为e(n) ()()

()e n s n s n

=- (2) 设计传递函数为A(z),为LPC 误差滤波器,设计预测误差滤波器A(z)就是求解预测系数,使得误差在预定准则下最小

1()1p

i

i i A z a z -==-∑ (3)

(2)理论上常用的是均方误差2[()]E e n 最小的准则,对2[()]E e n 各个系数求偏导,另其结果为0,得到

1

[()()]

[()()()()]0p

i

i E e n s n k E s n s n k a s n i s n k =-=----=∑ (4)

S(n)的自相关序列为

()[()()]R k E s n s n k =- (5) 因为它是偶对称,因此

()()[()()]R k R k E s n s n k =-=+ (6) 所以上式可以表示为

1()()0p

i i R k a R k i =--=∑,1,2,3......,k p = (7)

设12[,,,]T

P p A a a a =???,(0)

(1)(1)(1)(0)(2)(1)(2)(0)p R R R p R R R p R R p R p R -????-?

?=???

?--??,(1)(2)()p

R R R R p α??

????=??????

式子(7)的矩阵形式为0p p p R R A α-=,所以就可以求出P 个线性预测系数。

3. Levinson-Durbin 算法

杜宾算法是一种有效计算预测系数的算法,它主要是采用递归算法求解,基本思想是:递归解法分步进行。在某一步已经有了一个解,这是第(i-1)阶预测器的系数。然后利用(i-1)阶方程组的解来表示,(i-1)阶方程组的解又可以用(i-2)阶方程组的解表示,依此类推。因此只要解出任意一阶方程的解,就可以通过递推解出任意方程组的解。利用杜宾算法我们从最低阶开始,从低阶到高阶逐阶递推。过程如下:

1

(1)(1)1

[()()]/,1i i i j i j k r i a r i j E i p ---==--≤≤∑ (8)

(0)(0)E r = (9)

2(1)(1)i i i E k E -=- (10)

()i i i a k = (11)

(1)(1)

,11i i i j j i i j a a k a j i ---=-≤≤- (12)

(),1p j j a a j p =≤≤ (13)

上式(8)—(13)对i=1,2,……,p 进行递推求解,其最终解为

(),1p j j a a j p =≤≤ (14)

在上面的一组式子中,i 表示预测器阶数,如i

j a 表示i 阶预测器的第j 个预测系数。对于p 阶预测器,在上述求解预测器系数的过程中,阶数低于p 的各个阶预测器系数也同时得到。

4.结果图像分析

5.结论

从上图中我们可以看出来不同的语言信号在相同的算法下得到的最佳预测阶数是不同的,鸟儿语音所要的阶数是最高的,其余三个语音的阶数相差不大。

6.附加程序

BIRD语音程序

clear all;

clc;

filename='Bird';

load Bird wavedata;%读入语音

%对语音进行分帧

len=200;inc=80; %设置帧长,帧移

wavesize=size(wavedata,2);

fsum=fix((wavesize-len+inc)/inc);%计算帧数

f=zeros(fsum,len);%初始化

i=1;n=1;

while i<=fsum

j=1;

while j<=len

f(i,j)=wavedata(1,n);

n=n+1;

j=j+1;

end

n=n+inc-len;

i=i+1;

end

%去除噪声帧

if size(wavedata,1)<=1 %求出鸟鸣语音的直流量

dc=sum(wavedata(30000:34000))/4000;

else

a=wavedata(1,:);

for i=2:size(wavedata,1)

a=cat(2,a,wavedata(i,:));

end

dc=sum(a(1:4000))/4000;

end

wavesize1=size(f,2);

n=1;

for i=1:size(f,1)

fp=sum((f(1:wavesize1)-dc).^2)/(wavesize1-1);%帧信号的平均能量

eva=sum((wavedata(30000:34000)-dc).^2)/4000;%鸟鸣语音求出高斯白噪声的估计方差threshold=2*wavesize1*eva*(erfcinv(10^-3))^2/(wavesize1-1);%求阈值

if fp>=threshold%阈值进行比较,比阈值大的就是有效帧

wvalid(n,:)=f(i,:);%设置有效语音矩阵

n=n+1

end

end

vs=n-1;%将有效帧的个数赋给vs

for k=1:vs

[ap(1:50,1:50,k),g(k,1:50),ep(k,1:50),r0(1,k)]=levinson_durbin(wvalid(k,:),50,dc);%调用函数求得预测系数,增益G,以及误差值

end

div=zeros(2,50);

for p=1:50

div(1,p)=sum((ep(1:vs,p)')./r0(1,1:vs))/vs;%使用方法一来获取最小均方误差与帧能量的比值

end

%绘制图形

plot((1:1:50),div(1,:),'-*k');

title(['归一化误差与阶数关系','(',filename,')']);

xlabel('线性预测阶数p');ylabel('归一化误差')

axis([1,50,0,1]);

grid on;

杜宾算法函数

function [ap,g,ep,r0]=levinson_durbin(waveframe,p,dc)

fl =size(waveframe,2);%求帧信号的长度

r=zeros(1,p);%自相关序列

wave=waveframe-dc;%帧信号减去直流量

for k=1:fl

r(k) =wave(1:fl-k+1)*(wave(k:fl))'/fl; %求自相关函数的渐近无偏估计end

k=zeros(1,p);%反射系数

e=zeros(1,p);%最小均方误差

a=zeros(p,p);%线性预测系数矩阵

k(1)=r(2)/r(1);%初始化

e(1)=(1-k(1)^2)*r(1);

a(1,1)=k(1);

for i=2:p%levinson_durbin递推算法

k(i)=(r(i+1)-a(i-1,1:i-1)*fliplr(r(1+1:i))')/e(i-1);

a(i,i)=k(i);

for j=1:i-1

a(i,j)=a(i-1,j)-k(i)*a(i-1,i-j);

end

e(i)=(1-k(i)^2)*e(i-1);

end

ap=a;

g=sqrt(e(1:p));

ep=e(1:p);

r0=r(1);

犬吠的高斯白噪声部分在10000~14000部分

人声的部分在1~4000部分,所以上述程序中只要将白噪声部分数据更换就可以得到其余的图像。

7.参考文献

[1]宋知用. MATLAB在语音信号分析与合成中的应用[M] 北京:北京航空航天大学出版社,2013.

[2]张雪英.数字语音处理及MATLAB仿真[M] 北京:电子工业出版社,2010.

语音信号处理与及其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爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

语音信号处理实验指导书

语音信号处理实验指导书 实验一 语音信号采集与简单处理 一、 实验目的、要求 (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学时) 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语音信号的采集................................................................................. 错误!未定义书签。

语音信号处理试验教程

语音信号处理试验 实验一:语音信号时域分析 实验目的: (1)录制两段语音信号,内容是“语音信号处理”,分男女声。 (2)对语音信号进行采样,观察采样后语音信号的时域波形。 实验步骤: 1、使用window自带录音工具录制声音片段 使用windows自带录音机录制语音文件,进行数字信号的采集。启动录音机。录制一段录音,录音停止后,文件存储器的后缀默认为.Wav。将录制好文件保存,记录保存路径。男生女生各录一段保存为test1.wav和test2.wav。 图1基于PC机语音信号采集过程。 2、读取语音信号 在MATLAB软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样、采样频率、采样位数等概念! Wavread函数调用格式: y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。 3、编程获取语音信号的抽样频率和采样位数。 语音信号为test1.wav和test2.wav,内容为“语音信号处理”,两端语音保存到工作空间work文件夹下。在M文件中分别输入以下程序,可以分两次输入便于观察。 [y1,fs1,nbits1]=wavread('test1.wav') [y2,fs2,nbits2]=wavread('test2.wav') 结果如下图所示 根据结果可知:两端语音信号的采样频率为44100HZ,采样位数为16。 4、语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且夜市最直观的是它的时域波形。语音信

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程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的工作空间。

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

实用 中南大学 信息科学与工程学院 语音信号处理 实验报告 指导老师:覃爱娜 学生班级:信息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。

大学本科语音信号处理实验讲义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、辐射模型 从声道模型输出的是速度波,而语音信号是声压波。二者倒比称为辐射阻抗,它表征了

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

通信工程学院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 ∞-=-∞= -∑

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

语音信号处理实验报告 专业班级电子信息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)。

语音信号处理实验报告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.从背景噪声中找出是否有语音,以及语音的起点。 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的

新语音信号处理实验指导2015年秋

《语音信号处理》 实验指导书 哈尔滨理工大学 自动化学院 电子信息科学与技术系 2014.10

语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生理学、心理学等许多学科也有非常密切的联系。 20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术—矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前HMM已构成了现代语音识别研究的重要基石。近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。 为了深入理解语音信号数字处理的基础理论、算法原理、研究方法和难点,根据数字语音信号处理教学大纲,结合课程建设的需求,我们编写了本实验指导书。

哈尔滨工程大学 语音信号处理实验报告

实 验 报 告 实验课程名称: 语音信号处理实验 姓名: 班级: 20120811 学号: 指导教师 张磊 实验教室 21B#293 实验时间 2015年4月12日 实验成绩 实验序号 实验名称 实验过程 实验结果 实验成绩 实验一 语音信号的端点检测 实验二 语音信号的特征提取 实验三 语音信号的基频提取

实验一 语音信号的端点检测 一、实验目的 1、掌握短时能量的求解方法 2、掌握短时平均过零率的求解方法 3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。 二、实验设备 HP 计算机、Matlab 软件 三、实验原理 1、短时能量 语音信号的短时能量分析给出了反应这些幅度变化的一个合适的描述方法。对于信号)}({n x ,短时能量的定义如下: ∑ ∑∞ -∞ =∞ -∞ =*=-= -= m m n n h n x m n h m x m n w m x E )()()()()]()([222 2、短时平均过零率 短时平均过零率是指每帧内信号通过零值的次数。对于连续语音信号,可以 考察其时域波形通过时间轴的情况。对于离散信号,实质上就是信号采样点符号变化的次数。过零率在一定程度上可以反映出频率的信息。短时平均过零率的公式为: ∑∑-+=∞ -∞=--= ---=1)] 1(sgn[)](sgn[2 1 ) ()]1(sgn[)](sgn[21N n n m w w m n m x m x m n w m x m x Z 其中,sgn[.]是符号函数,即 ? ? ?<-≥=0)(10)(1 )](sgn[n x n x n x

语音信号处理与识别

信号系统课程设计报告 欧阳光亮2012029020025 语音信号处理与识别 目的:理解时域和频域尺度变换基本概念,掌握信号时频域分析方法,正确理解采样定理,准确理解滤波器的概念。 内容: (1)使用Matlab中wavrecord命令录制一段3秒的语音信号,使用wavplay命令播放,录制命令和播放命令中的采样频率设置成相同和不同两种情况,对观察到的现象进行分析并结合课本中的知识对该现象进行解释; (2)使用不同的采样频率录制一段3秒的语音信号,画出信号的时域波形和频谱;找到语音信号的主要频谱成分所在的带宽;观察并分析不同采样频率对波形和频谱的影响;寻找声音信号不出现明显失真的最低采样频率;(3)录制一段男生的语音信号和一段女生的语音信号,对两段音频信号进行混合,设计滤波器将混合的语音信号分开成单独的男声和女声信号,如果分离效果不好,对原因进行解释。 Matlab命令:wavrecord, wavplay, wavwrite, wavread, save, load, fft, fftshift, filter, plot, subplot, figure. 过程: (1)相同: fs1=16000; %取样频率 fs2=16000; %播放频率 duration=5; %录音时间 fprintf('Press any key to start %g seconds of recording...\n',duration); pause; fprintf('Recording...\n'); y=wavrecord(duration*fs1,fs1); %duration*fs 是总的采样点数 fprintf('Finished recording.\n'); fprintf('Press any key to play the recording...\n'); pause; wavplay(y,fs2);

语音信号处理实验

哈尔滨工程大学实验报告 班级:电信三班 学号:2013081416 姓名:刘世杰

语音信号处理实验 一、实验目的 1、掌握短时能量的求解方法、短时平均过零率的求解方法,对输入的语音信号进行端点检测。 2、掌握语音信号的Mel 倒谱特征(MFCC )的求解方法,语音信号的线性预测原理以及LPC 特征的求解方法。 3、掌握语音信号基频的概念,加深对基频刻画声调特征作用的理解,掌握语音信号基频特征的典型求解方法。 4、掌握MATLAB 相应的功能以及使用方法。 二、仪器设备 HP 计算机、MATLAB 软件 三、实验原理 (一)语音信号的短时分析 端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。 先引入以下三个概念 1、短时能量计算 定义n 时刻某语言信号的短时平均能量En 为: ∑∑--=+∞∞--=-=n N n m m n w m x m n w m x En )1(22 )]()([)]()([ 式中N 为窗长,可见短时平均能量为一帧样点值的平方和。特殊地,当窗函数为矩形窗时,有∑--== n N n m m x En )1(2)( 2、短时过零率 过零就是指信号通过零值。过零率就是每秒内信号值通过零值的次数。 对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。可以用相邻两个取样改变符号的次数来计算。 如果窗的起点是n=0,短时过零率Z 为 波形穿过横轴(零电平)的次数

《语音信号处理》实验3-LPC特征提取

华南理工大学《语音信号处理》实验报告 实验名称:LPC特征提取 姓名: 学号: 班级:10级电信5班 日期:2013年5 月24日

1. 实验目的 1、熟练运用MATLAB 软件进行语音信号实验; 2、熟悉短时分析原理、LPC 的原理; 3、学习运用MATLAB 编程进行LPC 的提取; 4、学会利用短时分析原理提取LPC 特征序列。 2. 实验原理 1、LPC 分析基本原理 LPC 分析为线性时不变因果稳定系统V (z )建立一个全极点模型,并利用均方误差准则,对已知的语音信号s(n)进行模型参数估计。 如果利用P 个取样值来进行预测,则称为P 阶线性预测。假P 个 取样值()()(){ } 1,2,S n S n S n p --- 的加权之和来预测信号当前取样值()S n ,则预测 信号()S n ∧ 为: ()() 1 p k k S n a n k ∧==-∑ (1) 其中加权系数用k a 表示,称为预测系数,则预测误差为: ()()()()() 1 p k k e n s n S n s n a n k ∧ ==-=--∑ (2) 要使预测最佳,则要使短时平均预测误差最小有: ()2 min E e n ε??==?? (3) ()20,(1) k e n k p a ????? =≤≤? (4) 令 ()()(),,i k E s n i S n k φ=--???? (5) 最小的ε可表示成: ()() min 10,00,p k k a k εφφ==-∑ (6) 显然,误差越接近于零,线性预测的准确度在均方误差最小的意义上为最佳,由此可以计算出预测系数。 通过LPC 分析,由若干帧语音可以得到若干组LPC 参数,每组参数形成一个

相关文档
相关文档 最新文档