?? 語音信號的時域分析.m
字號:
clear all;close all;clc;
Fs=8000;%采樣率8000Hz
y=wavrecord(3*Fs,Fs,'single');%錄音時長3秒,16位量化
wavplay(y,Fs);
figure(1);plot(y);
title('語音波形');
figure(2);
F1=enframe(y,200);
eng=sum(F1.^2);
subplot(2,2,1);plot(eng);xlabel('幀');ylabel('短時平均能量');title('N=200');
F2=enframe(y,150);
eng=sum(F2.^2);
subplot(2,2,2);plot(eng);xlabel('幀');ylabel('短時平均能量');title('N=150');
F3=enframe(y,100);
eng=sum(F3.^2);
subplot(2,2,3);plot(eng);xlabel('幀');ylabel('短時平均能量');title('N=100');
F4=enframe(y,50);
eng=sum(F4.^2);
subplot(2,2,4);plot(eng);xlabel('幀');ylabel('短時平均能量');title('N=50');
figure(3);
F1=enframe(y,200);
eng=sum(abs(F1));
subplot(2,2,1);plot(eng);xlabel('幀');ylabel('短時平均幅度');title('N=200');
F2=enframe(y,150);
eng=sum(abs(F2));
subplot(2,2,2);plot(eng);xlabel('幀');ylabel('短時平均幅度');title('N=150');
F3=enframe(y,100);
eng=sum(abs(F3));
subplot(2,2,3);plot(eng);xlabel('幀');ylabel('短時平均幅度');title('N=100');
F4=enframe(y,50);
eng=sum(abs(F4));
subplot(2,2,4);plot(eng);xlabel('幀');ylabel('短時平均幅度');title('N=50');
figure(4);
F1=enframe(y,200);
S1=F1>=0;
K1=diff(S1);
Z1=sum(abs(K1))./2;
subplot(2,2,1);plot(Z1);xlabel('幀');ylabel('短時平均過零率');title('N=200');
F2=enframe(y,150);
S2=F2>=0;
K2=diff(S2);
Z2=sum(abs(K2))./2;
subplot(2,2,2);plot(Z2);xlabel('幀');ylabel('短時平均過零率');title('N=150');
F3=enframe(y,100);
S3=F3>=0;
K3=diff(S3);
Z3=sum(abs(K3))./2;
subplot(2,2,3);plot(Z3);xlabel('幀');ylabel('短時平均過零率');title('N=100');
F4=enframe(y,50);
S4=F4>=0;
K4=diff(S4);
Z4=sum(abs(K4))./2;
subplot(2,2,4);plot(Z4);xlabel('幀');ylabel('短時平均過零率');title('N=50');
%close all;
figure(5);
%[y,fs,N]=wavread('Blip.wav');
F=enframe(y,200);
f75=F(:,75);
a=lpc(f75,12);
est_f75=filter([0-a(2:end)],1,f75);
e=f75-est_f75;
[acs,lags]=xcorr(e,'coeff');
subplot(2,2,1);
plot(1:199,f75(1:199),1:199,est_f75(1:199),'--');
title('原始信號 vs. LPC估計信號(清音幀)');
xlabel('樣點');ylabel('幅度');grid;
legend('原始信號','LPC估計信號')
subplot(2,2,2);
plot(lags,acs);
title('預(yù)測誤差的自相關(guān)(清音幀)');
xlabel('延時');ylabel('歸一化值');grid;
f80=F(:,80);
a=lpc(f80,12);
est_f80=filter([0-a(2:end)],1,f80);
e=f80-est_f80;
[acs,lags]=xcorr(e,'coeff');
subplot(2,2,3);
plot(1:199,f80(1:199),1:199,est_f80(1:199),'-');
title('原始信號 vs. LPC估計信號(濁音幀)');
xlabel('樣點');ylabel('幅度');grid;
legend('原始信號','LPC估計信號');
subplot(2,2,4);
plot(lags,acs);
title('預(yù)測誤差的自相關(guān)(濁音幀)');
xlabel('延時');ylabel('歸一化值');grid;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -