语音信号处理 课程 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语音信号处理课程实验报告

专业班级通信14-1

学号

姓名

指导教师

实验名称语音短时平均能量的实现同组人 专业班级通信 学号 姓名 成绩 一、实验目的 1、熟悉Matlab 基本程序的运用。 2、充分理解取不同窗长时的语音短时平均能量的变化情况。 3、熟悉Matlab 编程语言在语音信号处理中的作用。 4、能够实现程序的重新编制。 二、实验原理 定义n 时刻某语音信号的短时平均能量En 为: 式中N 为窗长,可见短时平均能量为一帧样点值的加权平方和。特殊地,当窗函数为矩形窗时,有 三、实验要求 1.实验前自己用Cool Edit 音频编辑软件录制声音“我到北京去”,并把它保存为.txt 文件。 2.编程实现不同矩形窗长N =50、100、400、800的短时平均能量。 3.用Matlab 画出不同窗长的短时平均能量的图形。 4.写出实验报告,分析实验结果。 四、实验条件 计算机 Matlab 软件 五、实验步骤: 1.用Cooledit 读入语音“我到北京去”。设置采样率为8kHz,16位,单声道。 …

……

……

……

……

……

…装

……

……

……

……

……

……

……

订…

……

………………………………

…线

……

……

……

……

……

……

……

22(1)[()()] [()()] n n m m n N E x m w n m x m w n m +∞=-∞=--=-=-∑∑2(1)() n n m n N E x m =--=∑

2.将读入的语音wav 文件保存为txt 文件,即zqq.txt 文件。

3.把保存的文件zqq.txt 文件读入Matlab 。

4.对采样到的语音样点值进行分帧。

5.对照不同矩形窗长N 的短时平均能量,画出图形。 六、实验程序及数据: fid=fopen('zqq.txt','rt'); x=fscanf(fid,'%f'); fclose(fid); s=fra(25,50,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,1) plot(energy) xlabel('帧数') ylabel('短时能量 E') legend('N=50') axis([0,15,0,2* 10^10]) s=fra(60,100,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,2) plot(energy) xlabel('帧数') ylabel('短时能量E') legend('N=100') axis([0,15,0,2* 10^10]) s=fra(250,400,x) s2=s.^2; …

……

……

……

……

……

装…

……

……

……

……

……

……

订…

……

……

……

……

……

……

…线

……

……

……

……

……

……

……

energy=sum(s2,2)

subplot(2,2,3)

plot(energy)

xlabel('帧数')

ylabel('短时能量E')

legend('N=400')

axis([0,15,0,2* 10^10])

s=fra(500,800,x)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,4)

plot(energy)

xlabel('帧数')

ylabel('短时能量E')

legend('N=800')

axis([0,15,0,2* 10^10])

其中fra()为分帧函数,其MATLAB程序如下:function f=fra(len,inc,x)

fh=fix(((size(x,1)-len)/inc)+1)

=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

相关文档
最新文档