语音信号处理 课程 实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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