空间低通高通滤波 滤波器和中值滤波

即使数据含有nan值,也可以直接处理

法一:空间中值高通低通滤波



% 空间滤波lon6°x lat6°  高通
lon_filt=6;lat_filt=6;  %滤波的经纬度    
mm_lon=lon_filt*4;
mm_lat=lat_filt*4;

mid=sla;
ngrid1=nan(size(mid));
ngrid2=nan(size(mid));
    mid = padarray(mid, [mm_lon/2,mm_lat/2], 'symmetric', 'both');
    for mm=mm_lon/2+1:size(mid,1)-mm_lon/2
         for nn=mm_lat/2+1:size(mid,2)-mm_lat/2
             domain=mid(mm-mm_lon/2+1:mm+mm_lon/2-1,nn-mm_lat/2+1:nn+mm_lat/2-1);
             looc=find(isnan(domain));
             if length(looc)/((mm_lon-1)*(mm_lat-1))<=1
                 domain=domain(~isnan(domain));
                 ngrid1(mm-mm_lon/2,nn-mm_lat/2)=mid(mm,nn)-median(domain);  %表示高通
              %   ngrid2(mm-mm_lon/2,nn-mm_lat/2)=median(domain);  %表示低通
             end
         end
    end   

法二: 空间中值高通低通滤波
采用网上下载程序

使用例子


res=25;
%lamba=200,600,2000,空间2°*2°,6°*6°,20°*20°,高通低空滤波  使用数据分辨率为0.25*0.25
lamba=600;

sla3 = filt2(sla,res,lamba,'hp'); 

filt2 滤波程序下载

示意图

对比显示,中值滤波信号更强一些,中尺度现象较为明显

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值