用MATLAB实现语音信号的时域分析甄选范文..pdf 立即下载
2024-08-13
约4.2千字
约8页
0
695KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

用MATLAB实现语音信号的时域分析甄选范文..pdf

用MATLAB实现语音信号的时域分析甄选范文..pdf

预览

免费试读已结束,剩余 3 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用MATLAB实现语音信号的时域分析


实验一、用MATLAB实现语音信号的时域分析


1/8doc格式可编辑
1.实验目的

观察并验证语音信号的时域特性,理解并掌握典型的语音信号时域分析方法和时域特征,为深入学习

语音信号处理的各种应用奠定基础。

2.MATLAB程序代码

(1)由麦克风采集语音数据,将采集的数据存成WAV文件(采样率为8000Hz),存在本人的文件夹中。

所用程序代码为:

clear;

closeall;

Fs=8000;

y=wavrecord(5*Fs,Fs,'double');

wavwrite(y,'f:\a');

soundview(y,Fs,'name')

(2)读取WAV文件,显示语音信号的波形。所用程序代码为:

x=wavread('f:\a.wav');

figure;

plot(x);

axis([0,size(x,1),-0.35,0.3]);%坐标轴范围

title('语音信号时域波形');xlabel('样点数');ylabel('幅度');(

3)读取WAV文件,计算并显示语音的短时能量(窗函数为矩形窗,帧长为20)。所用程序代码为:

x=wavread('f:\a.wav');

x=double(x);

f=enframe(x,20,100);

energy=sum(abs(f),2);

subplot(2,2,1);plot(x);

axis([0,size(x,1),-0.7,0.9]);

title('语音信号时域波形');xlabel('样点数');ylabel('幅度');

subplot(2,2,2);plot(energy);

title('语音信号的短时能量');

legend('帧长LEN=20');

f=enframe(x,20,200);

energy=sum(abs(f),2);

subplot(2,2,3);plot(energy);

title('语音信号的短时能量');


0/8doc格式可编辑
legend('帧长LEN=100');

f=enframe(x,20,400);

energy=sum(abs(f),2);

subplot(2,2,4);plot(energy);

title('语音信号的短时能量');

legend('帧长LEN=200');



(4)读取WAV文件,计算并显示语音的短时过零率(窗函数为矩形窗,帧长为256,帧移为128),

所用程序代码为:

x=wavread('f:\a.wav');

x=double(x);

LEN=100;

INC=100;

f=enframe(x,LEN,INC);%分帧

%计算短时过零率

z=zeros(size(f,1),1);

difs=0.01;

fori=1:size(f,1)

s=f(i,:);

forj=1:(length(s)-1)

ifs(j)*s(j+1)<0&abs(s(j)-s(j+1))>difs;

z(i)=z(i)+1;

end

end

end

subplot(2,1,1);plot(x);

axis([0,size(x,1),-0.35,0.3]);

title('语音信号时域波形');xlabel('样点数');ylabel('幅度');

subplot(2,1,2);plot(z);

title('语音信号的短时过零率');xlabel('帧数');ylabel('短时过零率');

(5)读取WAV文件,当窗函数为矩形窗、帧长为20时,计算一帧浊音的短时自相关函数所用的程序代

码为:

x=wavread('f:\a.wav');

1/8doc格式可编辑
x=double(x);

LEN=100;

INC=100;

f=enframe(x,LEN,INC);

ff=f(72,:);%选取一帧浊音信号

ff=ff'.*rectwin(length(ff));

%计算短时自相关

N=LEN;

R=zeros(1,N);

fork=1:N

R(k)=sum(ff(k:N).*ff(1:N-k+1));

end

fork=1:N

R1(k)=R(k)/R(1);

end

subplot(2,1,1);plot(ff);

axis([0,N,-0.5,0.5])

title('加矩形窗的语音帧');xlabel('样点数');ylabel('幅度');

subplot(2,1,2);plot(R1);

axis([0,N,-1,1])

title('加矩形窗的短时自相关函数');xlabe
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

用MATLAB实现语音信号的时域分析甄选范文.

文档大小:695KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用