基于小波变换的滤波算法matlab程序

MATLAB 同时被 2 个专栏收录
790 篇文章 84 订阅

function ynewq = func_wavelet_filter(Signal);

num    = 220;
coef   = 3;
ynewq  = zeros(1,length(Signal));
x      = zeros(1,1024);
xx     = zeros(1,num);
b      = zeros(1,21);
 
for i=1:1:length(Signal)
    if i<=1024
       ynewq(i) = Signal(i);
       x(i)     = Signal(i);
    else
        if i==1025
           for m=1:1:1023-num
               x(m) = x(m+1+num);
           end  
           x(1024-num)=Signal(i);  
           for p = 1025-num:1:1024
               x(p)=x(2*(1024-num)-p+1);
           end
           [ynewq(i),xx] = liftingwave(x,1024-num,1024-2*num,1023-num);
           for m=1:1:num
               ynewq(1025-m)=xx(num-m+1);
           end
        else
           for m=1:1:1024-num
               x(m)=x(m+1);
           end  
           x(1025-num)=Signal(i);
           a=2*ynewq(i-1)-ynewq(i-2);
           for m=1:1:num
               x(1025-num+m)=a+coef*(Signal(i-m)-ynewq(i-m));
           end
          [ynewq(i),xt]=liftingwave(x,1024-num,1023,1023);
        end
    end
end

  • 2
    点赞
  • 0
    评论
  • 10
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页

打赏作者

fpga&matlab

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值