最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

语音信号处理实验一

来源:动视网 责编:小OO 时间:2025-09-24 08:53:02
文档

语音信号处理实验一

课程名称:语音信号处理实验项目:语音短时平均能量的实现实验地点:起点机房专业班级:通信//学号:2009////学生姓名://////指导教师://////////2012年10月23日一.实验目的1.熟悉Matlab基本程序的运用。2.充分理解取不同窗长时的语音短时平均能量的变化情况。3.熟悉Matlab编程语言在语音信号处理中的作用。4.能够实现程序的重新编制。二.实验原理定义n时刻某语音信号的短时平均能量为:式中N为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。特殊地,当窗函数为矩形
推荐度:
导读课程名称:语音信号处理实验项目:语音短时平均能量的实现实验地点:起点机房专业班级:通信//学号:2009////学生姓名://////指导教师://////////2012年10月23日一.实验目的1.熟悉Matlab基本程序的运用。2.充分理解取不同窗长时的语音短时平均能量的变化情况。3.熟悉Matlab编程语言在语音信号处理中的作用。4.能够实现程序的重新编制。二.实验原理定义n时刻某语音信号的短时平均能量为:式中N为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。特殊地,当窗函数为矩形


课程名称:       语音信号处理          

实验项目:   语音短时平均能量的实现    

实验地点:         起点机房            

专业班级:通信// 学号:2009////

学生姓名:         //////              

指导教师:          //////////

2012年  10月  23日

一.实验目的

1.熟悉Matlab基本程序的运用。

2.充分理解取不同窗长时的语音短时平均能量的变化情况。

3.熟悉Matlab编程语言在语音信号处理中的作用。

4.能够实现程序的重新编制。

二.实验原理

定义n时刻某语音信号的短时平均能量为:

式中N为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。特殊地,当窗函数为矩形窗时,有

三.实验要求

1.实验前自己用Cool Edit音频编辑软件录制声音“我到北京去”,并把它保存为.txt文件。

2.编程实现不同矩形窗长N=50、100、200、800的短时平均能量。

3.用Matlab画出不同窗长的短时平均能量的图形。

4.写出实验报告,分析实验结果。

四.实验条件

计算机   Matlab软件

五.实验步骤

1.用Cooledit读入语音“我到北京去”。设置采样率为8kHz,16位,单声道。

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(50,25,x)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,1)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=50')

axis([0,2500,0,4* 10^10])

s=fra(100,50,x)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,2)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=100')

axis([0,1200,0,8* 10^10])

s=fra(400,200,x)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,3)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=400')

axis([0,300,0,3* 10^11])

s=fra(800,400,x)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,4)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=800')

axis([0,150,0,6* 10^11])

其中fra()为分帧函数,其MATLAB程序如下:

function f=fra(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

七.思考题

1.通过改动不同的窗长和窗移,观看短时平均能量的变化。

答:窗长越小短时平均能量越小,细节越多,随着窗长的增大短时平均能量越大,曲线越光滑,个别细节被平滑掉了,同时随着窗长和窗移的增加,帧数越来越少。

2.在相同的实验环境下,把本文中的矩形窗改成hamming窗,来实现语音短时平均能量。

fid=fopen('zqq.txt','rt');

    x=fscanf(fid,'%f');

fclose(fid);

s=fra(50,25,x)*hamming(50)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,1)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=50')

axis([0,2500,0,1* 10^10])

s=fra(100,50,x)*hamming(100)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,2)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=100')

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

s=fra(400,200,x)*hamming(400)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,3)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=400')

axis([0,300,0,3* 10^11])

s=fra(800,400,x)*hamming(800)

s2=s.^2;

energy=sum(s2,2)

subplot(2,2,4)

plot(energy)

xlabel('帧数')

ylabel('短时能量 E')

legend('N=800')

axis([0,150,0,8* 10^11])

文档

语音信号处理实验一

课程名称:语音信号处理实验项目:语音短时平均能量的实现实验地点:起点机房专业班级:通信//学号:2009////学生姓名://////指导教师://////////2012年10月23日一.实验目的1.熟悉Matlab基本程序的运用。2.充分理解取不同窗长时的语音短时平均能量的变化情况。3.熟悉Matlab编程语言在语音信号处理中的作用。4.能够实现程序的重新编制。二.实验原理定义n时刻某语音信号的短时平均能量为:式中N为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。特殊地,当窗函数为矩形
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top