该【Matlab语音信号采集 】是由【爱的奉献】上传分享,文档一共【6】页,该文档可以免费在线阅读,需要了解更多关于【Matlab语音信号采集 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:
1)利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换
—8000KHz,8位,单声道),录制一段自己的话音“信号” ,时间控制在 2秒左右,然后将
音频文件保存“ 桌面\”
2)在MATLAB软件平台下,利用函数 wavread对语音信号进行采样,记住采样频率和采样
点数。
桌面\')
运行结果:fs=8000 bits=8
wavread函数调用格式:
y=wavread(file),读取file所规定的 wav文件,返回采样值放在向量 y中。
[y,fs,nbits]=wavread(file),采样值放在向量 y中,fs表示采样频率(Hz),nbits表示采样位数。
y=wavread(file,N),读取前 N点的采样值放在向量 y中。
y=wavread(file,[N1,N2]),读取从 N1点到N2点的采样值放在向量 y中。
①首先画出语音信号的时域波形
桌面\');
plot(z1);图像输出如图 10
②对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性
桌面\');
y1=z1(1:8192);
Y1=fft(y1);
n=0:8191;
plot(n,Y1);
2.
:
桌面\');
N=length(x);
n=x+noise; %噪声信号的叠加
sound(s)
Subplot(2,1,1);
plot(s);title('加噪后的时域波形 ');
S=oise=rand(N,1)/10;
sfft(s);
Subplot(2,1,2);
plot(abs(S));title('加噪后的频域波形 ');
axis([0,30000,0,400]);
grid;
:
clear;closeall
桌面\')
y1=z1(1:8192);
Y1=fft(y1);
fp=1000;fc=1200;As=100;Ap=1;;Fs=8000;
wc=2*fc/Fs;wb=2*fp/Fs;
[n,wp]=cheb1ord(wc,wb,Ap,As);
[b,a]=cheby1(n,Ap,wp);
figure(1);
freqz(b,a);
x=filter(b,a,z1);
X=fft(x,8192);
figure(2);
subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,]);
title('滤波前信号频谱 ');
subplot(2,2,2);plot(abs(X));axis([0,4000,0,]);
title('滤波后信号频谱 ');
subplot(2,2,3);plot(z1);
title('滤波前信号波形 ');
subplot(2,2,4);plot(x);
title('滤波后信号波形 ');
sound(x,fs,bits);
Matlab语音信号采集 来自淘豆网www.taodocs.com转载请标明出处.