資源簡介
自己編寫的用自相關法提取基音周期,最后得到的是平均基音周期

代碼片段和文件信息
function?nmax=find_maxn(r)
%尋找峰值最大的n值及基音周期
%r自相關序列
%maxn為峰值最大的n
zer=find(r==0);?%找第一個零點如果存在
jiaocha=0;?%找第一近零點
ii=1;
while?(jiaocha<=0)
if(r(ii)>0?&&?r(ii+1)<0?&&?(ii+1) jiaocha=ii;
end
ii=ii+1;
if?ii==length(r)?%沒有找到符合要求的點
jiaocha=1;
end
end
if?length(zer)>0?%檢查是否存在零點
if?zer(1) jiaocha=zer(1);
end
end
r(1:jiaocha)=0;?%祛除影響
maxn=max(r);?%找最大值
temp=find(r==maxn);%返回第一個最大值
nmax=temp(1);?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????582??2008-10-13?22:16??find_maxn.m
?????文件???????2177??2008-10-14?15:53??jiyinzhouqi.m
?????文件???????3800??2008-10-13?22:07??test2(228hz).wav
?????文件???????4392??2008-10-13?22:08??test3(350hz).wav
?????文件???????4236??2008-10-13?22:09??test4(308hz).wav
-----------?---------??----------?-----??----
????????????????15187????????????????????5
- 上一篇:基于MATLAB的語音信號基音周期檢測的實現
- 下一篇:整車模型方法
評論
共有 條評論