去噪的极度凝聚的信号

1视图(30天)
我试图消除干扰high-sampeled光谱通过删除所有的感染高峰,然后执行一种保形分段三次样条插值保留多光谱信息。然而,我不能清除所有的山峰,包括高峰开始。我失踪,我接近这明智吗?顺便说一句。,I have several of these spectra that I need to process.
提前感谢任何输入! !
SI_original.png
SI_after_950.png
SI_after_interp.png
尝试
minval = 0;
maxval = 950;
图();
情节(λ,是的,“- - -”)
包含(“波长”)
ylabel (的信号强度)
ylim ([minval maxval])
标题(原始信号的)
ind_min =找到(SI < = minval);
ind_max =找到(SI > = maxval);
λ([ind_min。',ind_max。']) = [];
SI ([ind_min。',ind_max。']) = [];
图();
情节(λ,是的,“- - -”)
包含(“波长”)
ylabel (的信号强度)
ylim ([minval maxval])
标题(“信号后删除所有值高于950”)
%定义阈值代表第25百分位区别信号值
diffSI = abs (diff (SI));
用力推=分位数(diffSI, 0.25);
% %删除所有锋利的山峰
%删除所有信号值不同于邻近值以上
%计算阈值和替换它们的值估计
%一种保形分段三次样条插值
我= 2:(长度(SI) - 1)
如果abs (SI (i) - SI (i + 1)) >刺
SI (i) =南;
SI (i + 1) =南;
elseifabs (SI (i) - SI(张))>刺
SI (i) =南;
SI(张)=南;
结束
结束
如果= fillmissing(是的,“pchip”);
图()
情节(λ,是的,“- - -”)
包含(“波长”)
ylabel (的信号强度)
ylim ([minval maxval])
标题(信号插值后的)

接受的答案

图像分析
图像分析 2018年12月7日
尝试movmin信封()。然后试着Saivtky-Golay过滤器如果你想顺利一些。
%初始化步骤:
clc;%清除命令窗口。
关闭所有;%关闭所有数据(除了imtool。)
clearvars;
工作空间;%确定工作区面板显示。
格式长g;
格式紧凑的;
字形大小= 15;
s =负载(“SI_and_lambda.mat”)
如果= s.SI;
λ= s.lambda;
minval = 0;
maxval = 950;
次要情节(1,1);
情节(λ,是的,“- - -”)
包含(“波长”,“字形大小”字形大小)
ylabel (的信号强度,“字形大小”字形大小)
ylim ([minval maxval])
标题(原始信号的,“字形大小”字形大小)
%全屏放大图。
集(gcf,“单位”,“归一化”,“Outerposition”,(0、0.05、1、0.95));
%过滤器和一个移动的最小窗口。
windowWidth = 27
windowWidth filteredSignal = movmin (SI);
次要情节(3、1、2);
情节(λ,filteredSignal“- - -”,“线宽”,2)
包含(“波长”,“字形大小”字形大小)
ylabel (的信号强度,“字形大小”字形大小)
ylim ([minval maxval])
标题(过滤信号移动最小的,“字形大小”字形大小)
网格;
% Savitzky-Golay过滤器过滤。
windowWidthSG = 55
filteredSignal = sgolayfilt (filteredSignal 2 windowWidthSG);
次要情节(3,1,3);
情节(λ,filteredSignal“- - -”,“线宽”,2)
包含(“波长”,“字形大小”字形大小)
ylabel (的信号强度,“字形大小”字形大小)
ylim ([minval maxval])
标题(与移动二次Savitzky-Golay过滤器过滤信号的,“字形大小”字形大小)
网格;
%全屏放大图。
集(gcf,“单位”,“归一化”,“Outerposition”,(0、0.05、1、0.95));
0000年Screenshot.png
2的评论
图像分析
图像分析 2018年12月18日
movemin()基本上就是imerode()——当地一分钟过滤器。
imclose侵蚀(本地min)(),后跟一个扩张(当地最大)。
我不知道为什么你会想要一个形态学关闭,因为它可能会引入更多的工件,但是如果你觉得它给你一个更好的形状,然后继续使用它。
轻微下降的转变是一个工件,取决于窗口大小。你让它越大,信号向下转移。您可以试一试改进型中值滤波-像盐和胡椒过滤器。基本上这个过滤器中值滤波器的信号,无论信号不同于中值滤波,然后取而代之的是中位数。请看附呈的程序演示了一个2 d版本。你想适应使用medfilt1()而不是medfilt2 ()。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!