我是否可以仅在局部最大值的点处应用中值滤波器。
在我的简单示例中,局部最大值为5,7,8,4。
我可以在这些点应用中值滤波器吗?我还提供了sin信号的代码,以更好地理解中值滤波器的效果。
我可以在局部最大值处应用中值滤波器。
提前致谢。
代码:
A = [1 0 1 4.3 4.5 5 4.3 4.2 0 0 0 2 6.2 6.3 7 6.2 7.4 8 7.2 1 2 3 4 2];
X= A;
% For sin signal
t= 0:0.01:10;
A = sin(2*pi*t);
X=A;
t = 1:numel(X) ;
[p l] = findpeaks(X);
% [pn ln] = findpeaks(-X);
% yMedFilt = medfilt1(X,5,'truncate');
y = medfilt1(X,2,'truncate');
hold on
plot(p,'r','linewidth',3)
plot(A,'b')
hold off
我想要的是每个峰值都有一条直线。请看附图。在图片中,我希望输出像第3个图表,每个峰值都有直线。