- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab语音信号分析的大作业
语音信号分析求解及报告
实验程序
1.语音信号的采集
利用Windows下的录音机,录制一段自己的话音,时间在1s左右。将文件命名为a格式转化为wav,放在E盘目录下。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样。确认E:\a.wav 为文件路径
2.语音信号的频谱分析
要求首先画出语音信号的时域波形;
%原始语音信号采样后的时域分析
[x1,fs,bits]=wavread(E:\a.wav);
figure(1)
subplot(2,1,1);
plot(x1)
title(原始语音采样后时域信号);
xlabel(时间轴 n);
ylabel(幅值);
然后对语音号进行快速傅里叶变换,得到信号的频谱特性。
%采样后的FFT变换分析
y1=fft(x1,8182);
subplot(2,1,2);
plot(abs(y1(1:512)))
title(原始语音FFT频谱)
xlabel(点数N);
ylabel(幅值);
3、在采集得到的语音信号中加入高斯白噪声信号(可用randn函数来实现,注意要根据语音的强度来控制白噪声的强度),然后对加入噪声信号后的语音号进行快速傅里叶变换,得到信号的频谱特性。并利用sound试听前后语音信号的不同。x1=x1+0.01*randn(34816,2);
figure(2)
subplot(2,1,1);
plot(x1)
title(原始语音采样后时域信号);
xlabel(时间轴 n);
ylabel(幅值);
%加入噪声信号后的语音信号采样后的FFT变换分析
y1=fft(x1,8182);
subplot(2,1,2);
plot(abs(y1(1:512)))
title(原始语音FFT频谱)
xlabel(点数N);
ylabel(幅值);
分别设计IIR和FIR滤x1=x1+0.01*randn(34816,2);
Ts=1/fs;R1=10;
wp=2*pi*100/fs;ws=2*pi*4000/fs;
Rp=3;Rs=45;
wp1=2/Ts*tan(wp/2);ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,Rp,Rs,s);
[Z,P,K]=buttap(N);
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2lp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,fs);
[H,W]=freqz(bz,az);
figure(3)
plot(W*fs/(2*pi),abs(H))
grid
xlabel(频率/Hz);ylabel(幅度)
title(IIR 低通滤波器)
f1=filter(bz,az,x1);
figure(4)
subplot(2,1,1)
plot(x1)
title(IIR 低通滤波器滤波前的时域波形);
subplot(2,1,2)
plot(f1);
title(IIR 低通滤波器滤波后的时域波形);
F0=fft(f1,8182);
f=fs*(0:511)/8182;
figure(5)
y2=fft(x1,8182);
subplot(2,1,1);
plot(f,abs(y2(1:512)));
sound(f1,44100);
title(IIR 低通滤波器滤波前的频谱)
xlabel(频率/Hz);ylabel(幅值);
subplot(2,1,2)
F1=plot(f,abs(F0(1:512)));
title(IIR 低通滤波器滤波后的频谱)
xlabel(频率/Hz);ylabel(幅值);
方法二:窗函数法设计FIR数字滤波器
%窗函数法设计FIR数字滤波器
[x1]=wavread(E:\a.wav);
x1=x1+0.01*randn(34816,2);
Ts=1/fs;R1=10;
wp=2*pi*100/fs;
ws=2*pi*4000/fs;
Rp=3;
Rs=45;
wdelta=ws-wp;
N=ceil(8*pi/wdelta);wn=(ws+wp)/2;
[b,a]=fir1(N,wn/pi,hamming(N+1));
figure(6)
freqz(b,a,512);
title(FIR 低通滤波器);
f2=filter(b,a,x1);
figure(7)
subplot(2,1,1)
plot(x1)
title(FIR 低通滤波器滤波前的时域波形);
subplot(2,1,2)
plot(f2)
title(FIR 低通滤波器滤波后的时域波形);
sound(f2,44100);
F0=fft(f2,8192);f=fs*(0:511)/8192;
figur
文档评论(0)