语音信号处理 实验报告用修正的短时自相关检测语音的基音周期 下载本文

内容发布更新时间 : 2024/5/22 1:41:19星期一 下面是文章的全部内容请认真阅读。

语音信号处理课程

专业班级 通信 学 号 姓 名 指导教师

实验报告

……………………………………装………………………………………订…………………………………………线………………………………………实验名称 用修正的短时自相关检测语音的基音周期 同组人 专业班级通信 学号 姓名 成绩

一、实验目的

1.熟悉前一个实验程序以及中心削波的意义

2.用Matlab实现用修正的短时自相关检测语音的基音周期。 3.分析修正的短时自相关在基音周期检测中的应用。 4.能够对程序进行重新编制。 二、实验原理

如果x(n)是一个周期为P的信号,则其自相关函数也是周期为P的信号,且在信号周期的整数倍处,自相关函数取最大值。语音的浊音信号具有准周期性,其自相关函数在基音周期的整数倍处取最大值。计算两相邻最大峰值间的距离,就可以估计出基音周期。观察浊音信号的自相关函数图,其中真正反映基音周期的只是其中少数几个峰,而其余大多数峰都是由于声道的共振特性引起的。因此为了突出反映基音周期的信息,同时压缩其他无关信息,减小运算量,有必要对语音信号进行适当预处理后再进行自相关计算以获得基音周期。 第一种方法是先对语音信号进行低通滤波,再进行自相关计算。因为语音信号包含十分丰富的谐波分量,基音频率的范围分布在50~500Hz 左右,即使女高音升c调最高也不会超过1kHz,所以采用1kHz的低通滤波器先对语音信号进行滤波,保留基音频率;再用2kHz采样频率进行采样;最后用2~20ms的滞后时间计算短时自相关,帧长取10~20ms,即可估计出基音周期。

第二种方法是先对语音信号进行中心削波处理,再进行自相关计算。本实验采用第二种方法。且中心削波函数如式(3-1)所示:

?x?xL(x?xL)?f(x)??0(?xL?x?xL)?x?x(x?x)LL?

一般削波电平

xL取本帧语音最大幅度的60%~70%。将削波后的序列f(x)用短时自相关函数

估计基音周期,在基音周期位置的峰值更加尖锐,可以有效减少倍频或半频错误。 三、实验要求

1.实验前自己用Cool Edit 音频编辑软件录制浊音声音,并把它保存为.txt文件. 2.分别取长度N=160和N’=N+K的矩形窗函数作用于语音信号上,首先对其进行中心削波,比较削波前和削波后语音信号波形,并使得削波后的信号进行乘积并求和,计算延迟为0

3.写出实验报告,分析实验结果。 四、实验条件 计算机 Matlab软件

五、实验步骤

1.用Cool Edit 读入浊音语音,设置采样率为8kHz,16位,单声道。

2.将读入的语音wav文件保存为txt文件。 3.读入Matlab中,并且对照取不同矩形窗长N的短时修正自相关函数,画出图形。

六、试验程序及数据 fid=fopen('voice.txt','rt');

[a,count]=fscanf(fid,'%f',[1,inf]);

L=length(a);

m=max(a);

for i=1:L