哪位高手能帮忙解答一下此段matlab程序在选择新阈值n时,怎么也不能正确出图是怎么回事?在线急等。 10

x=wavread('F:\MALTLAB\work\毕设\clean\sp02.wav');subplot(3,1,1);plot(x);axis([022521-0.... x=wavread('F:\MALTLAB\work\毕设\clean\sp02.wav');
subplot(3,1,1);
plot(x);
axis([0 22521 -0.5 0.5]);

y=wavread('F:\MALTLAB\work\毕设\SNR5_sp02.wav');

subplot(3,1,2);
plot(y);
axis([0 22521 -0.5 0.5]);

%Bark 小波包分解
wptree=wpdec(y,7,'db5');%一维小波包分解采用db5,7层小波包分解
%把 Bark 小波分解包中的第五层的叶结点合并
for k=47:62
wptree=wpjoin(wptree,k);
end
%把 Bark 小波分解包中的第六层的叶结点合并
for k=79:86
wptree=wpjoin(wptree,k);
end
%把 Bark 小波分解包中的第七层的叶结点合并
for k=91:94
wptree=wpjoin(wptree,k);
end
plot(wptree);

%将各节点按相应阈值进行处理
sorh='n'; %所选阈值函数
%-----------
%处理 7 层节点
%-----------
for i=0:31
c70(:,i+1)=wpcoef(wptree,[7 i]);
q70=median(abs(c70(:,i+1)));
arr70(i+1)=(q70/0.6745).*sqrt(2*log(442));
if(i>0)
c70(:,i+1)=wthresh(c70(:,i+1),sorh,arr70(i+1));
wptree = write(wptree,'data',[7 i],c70(:,i+1)); %修改节点系数值
end
for i=48:55
c71(:,i-47)=wpcoef(wptree,[7 i]);
q71=median(abs(c71(:,i-47)));
arr71(i-47)=(q71/0.6745).*sqrt(2*log(442));
c71(:,i-47)=wthresh(c71(:,i-47),sorh,arr71(i-47));
wptree = write(wptree,'data',[7 i],c71(:,i-47));%修改节点系数值
end
%-----------
%处理 6 层节点
%-----------
for j=16:23
c60(:,j-15)=wpcoef(wptree,[6 j]);
q60=median(abs(c60(:,j-15)));
arr60(j-15)=(q60/0.6745).*sqrt(2*log(876));
c60(:,j-15)=wthresh(c60(:,j-15),sorh,arr60(j-15));
wptree = write(wptree,'data',[6 j],c60(:,j-15));%修改节点系数值
end
for j=28:31
c61(:,j-27)=wpcoef(wptree,[6 j]);
q61=median(abs(c61(:,j-27)));
arr61(j-27)=(q61/0.6745).*sqrt(2*log(876));
c61(:,j-27)=wthresh(c61(:,j-27),sorh,arr61(j-27));
wptree = write(wptree,'data',[6 j],c61(:,j-27));%修改节点系数值
end
%-----------
%处理 5 层节点
%-----------
for k=16:31
c5(:,k-15)=wpcoef(wptree,[5 k]);
q5=median(abs(c5(:,k-15)));
arr5(k-15)=(q5/0.6745).*sqrt(2*log(1743));
c5(:,k-15)=wthresh(c5(:,k-15),sorh,arr5(k-15));
wptree = write(wptree,'data',[5 k],c5(:,k-15)); %修改节点系数值
end
%重建信号
z = wprec(wptree);
subplot(3,1,3);
plot(z);
axis([0 22521 -0.5 0.5]);
wavwrite(z,8000,'F:\MALTLAB\work\毕设\WtDeSpeech.wav');
end
axis([0 22521 -0.5 0.5]);单步运行到这时能出现图

wavwrite(z,8000,'F:\MALTLAB\work\毕设\WtDeSpeech.wav');到这儿整个图就全变成蓝色的了
展开
 我来答
百度网友3c63e6c
2014-05-15 · TA获得超过2847个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2736万
展开全部
只是因为频率太高。。。放大细节看看
更多追问追答
追问
呃,那么请问该怎么改呢?所谓放大细节是什么意思?matlab不太会用。
追答
出来的图上面的工具栏有个放大镜的图标,放大局部,看看特性。

axis([0 22521 -0.5 0.5]);单步运行到这时能出现图 单步的时候到这其实没执行这一条语句。可能是设置坐标轴的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式