24小时热门版块排行榜    

查看: 551  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Allen2014

铜虫 (小有名气)

[求助] 模平方去噪算法运行问题!

最近在编写利用模平方阀值函数去噪时,遇到了如下问题:
首先对高频小波系数进行阀值处理,然后对大于阀值的小波系数进行模平方处理,下面是算法:ind=find(abs(dcoef)>=thr(i))+prod(S(1,);  %返回大于阀值thr1小于阀值thr的高频系数的坐标
    C(ind)=sign(C(ind)) .* sqrt( C(ind).^2 - alpha* thr(i)^2 ) ; %返回改进模平方阀值函数处理后的高频系数 (计算后有复数)   。
算法要对>=thr(i)的高频系数进行模平方处理,但是第二句算法运行后,计算的结果里面有 “复数”,其中alpha的值为[0,1],不知道我的第二句算法里面哪出问题了?
谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qujing

木虫 (小有名气)

【答案】应助回帖

abs(dcoef)>=thr(i)) 就肯定有C(ind).^2 >= alpha* thr(i)^2 ?
273977914~
4楼2013-01-08 12:53:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

qujing

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
如果有复数,那就说明 C(ind).^2 有可能小于 alpha* thr(i)^2 咯
273977914~
2楼2013-01-08 09:18:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Allen2014

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by qujing at 2013-01-08 09:18:18
如果有复数,那就说明 C(ind).^2 有可能小于 alpha* thr(i)^2 咯

谢谢!
我的第一举算法里已经有条件限制abs(dcoef)>=thr(i)),所以开方里面的数不会出现负数,但是运行后出现负数了!
3楼2013-01-08 10:45:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Allen2014

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by qujing at 2013-01-08 12:53:35
abs(dcoef)>=thr(i)) 就肯定有C(ind).^2 >= alpha* thr(i)^2 ?

abs(dcoef)是C(ind)行向量中的一部分,所以我认为只要abs(dcoef)>=thr(i),那么就有C(ind)^2>=alpha*thr(i)^2 。谢谢!
5楼2013-01-08 17:17:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见