%读入数据 采样fs=8000Hz 采样位数16bitfid=fopen(&#39;voice.txt&#39;,&#39;rt&#39;);[a,count]=fscanf(fid,&#39;%f&#39;,[1,inf]);L=length(a);m=max(a);for i=1; a(i)=a(i)/m;end%找到归一化后数据的最大值和最小值m=max(a);n=min(a);%为保证幅度之和横坐标轴对称,采用计算公式是n+(m-n)/2,合并为(m+n)/2ht=(m+n)/2;for i=1; a(i)=a(i)-ht;endfigure(1);subplot(2,1,1);plot(a,&#39;k&#39;);axis([0,1711,-1,1]);title(&#39;中心削波前语音波形&#39;);xlabel(&#39;样点数&#39;);ylabel(&#39;幅度&#39;);coeff=0.7;th0=max(a)*coeff;for k=1; if a(k)>=th0 a(k)=a(k)-th0;elseif a(k)<=(-th0); a(k)=a(k)+th0;else a(k)=0; endendm=max(a);for i=1; a(i)=a(i)/m;endsubplot(2,1,2);plot(a,&#39;k&#39;)axis([0,1711,-1,1]);title(&#39;中心削波后语音波形&#39;);xlabel(&#39;样点数&#39;);ylabel(&#39;幅度&#39;);fclose(fid);%没有经过中心削波的修正自相关计算为什么运行到第一个plot(a,&#39;k&#39;);显示出错呢?显示内容为:error=using ==>plot Invalid first data argurment,什么问题啊 |
|
|
|
|
共 0 个关于本帖的回复 最后回复于 2013-5-23 16:00