Matlab语音信号采集
1.语音信号的采集:
1)利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道),录制一段自己的话音“信号”, 时间控制在2秒左右,然后将音频文件保存“C:\Documents and Settings\Administrator\桌面\”
2)在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
[z1,fs,bits]=wavread('C:\Documents and Settings\Administrator\桌面\')
运行结果: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中。
2.语音信号的频谱分析
①首先画出语音信号的时域波形
z1=wavread('C:\Documents and Settings\Administrator\桌面\');
plot(z1);图像输出如图10
②对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性
z1=wavread('C:\Documents and Settings\Administrator\桌面\');
y1=z1(1:8192);
Y1=fft(y1);
n=0:8191;
plot(n,Y1);
2.
:
x=wavread('C:\Documents and Settings\Administrator\桌面\');
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;
4 1.设计IIR低通滤波器滤波
程序如下:
clear;close all
[z1,fs,bits]=wavread('C
Matlab语音信号采集 来自淘豆网www.taodocs.com转载请标明出处.