資源簡介
使用matlab仿真,加入譜減法去噪處理,門限值可調整,含加高斯白噪聲處理
代碼片段和文件信息
%基于自適應子帶頻譜熵的穩健性語音端點檢測
clear?all;
clc;
close?all;
N?=?1024;%FFT變換的點數;
Winsiz?=?256;%幀長;
Shift?=?90;%幀移
y?=?wavread(‘022.wav‘);
x?=?awgn(y?40‘measured‘‘linear‘);
len?=?length(x);
%%nois=0.05*rand(len1);?
%x=x+nois;?
%x=x./max(x);
x?=?x?/?max(abs(x));?????
%?對信號做預加重處理
x=filter([1?-0.9375]?1?x);?
nseg=floor((length(x)-Winsiz)/Shift)+1;?
A=zeros(Winsiz/2+1nseg);?
%下面循環是x信號的加窗處理并求出各點頻譜能量
for?i=1:nseg?
n1=(i-1)*Shift+1;
????n2=n1+(Winsiz-1);?
xx=x(n1:n2);
????xx=xx.*hamming(Winsiz);?
y=fft(xxN);?
y=y(1:Winsiz/2+1);?
y=y.*conj(y);?
A(:i)=y;?
end?
%計算總能量
Esum?=?zeros(1nseg);?
for?i=1:nseg?
for?j=1:Winsiz/2?
Esum(i)=Esum(i)+A(ji);?
end?
end?
%下面是計算每一幀的譜的能量
for?i=1:nseg?
for?n=1:Winsiz/2?
E(ni)=A(ni);?
end?
end?
%下面是計算每幀中每個樣
- 上一篇:用matlab實現語音識別的算法
- 下一篇:MATLAB在時間序列建模預測及程序代碼
評論
共有 條評論