medfilt11D median filteringCalling Sequence
y = medfilt1(x)
y = medfilt1(x, n)
y = medfilt1(x, n, dim)
y = medfitl1(__, nanflag, padding)
Description
y = medfilt1(x)
Applies a 3rd order 1-dimensional median filter to input x along the
first non-zero dimension.The function appropriately pads the signal
with zeros at the endings. For a segment, a median is calculated as
the middle value (average of two middle values) for odd number
number (even number) of data points.y = medfilt1(x,n)Applies a nth order 1-dimensional median filter.y = medfilt1(x,n,dim)Applies the median filter along the n-th dimensiony = medfilt1(__, nanflag, padding)nanflag specifies how NaN values are treated. padding specifies the
type of filtering to be performed at the signal edges.Parametersx: int | doubleInput signal.n: positive integer, scalar
Filter order. Defaults to 3.The order of the median filter. Must be less than
(length of the signal) where signals are 1D vectors along the
dimension of x to be filtered dim: positive integer scalar
Dimension to filter along. Defaults to first non-singleton dimension of xnanflag: 'includenan' (default) | 'omitnan'
NaN condition. * includenan: Filtering such that the median of any segment containing a NaN is also a NaN. * omitnan: Filtering with NaNs omitted in each segment. If a segment contains all NaNs, the result is NaNy: int | double
The filtered signal.y has the same size as xExamples
//Generate a sinusoidal signal sampled for 1 second at 100 Hz. Add a higher-frequency sinusoid to simulate noise.
fs = 100;
t = 0:1/fs:1;
x = sin(2*%pi*t*3)+0.25*sin(2*%pi*t*40);
//Use a 10th-order median filter to smooth the signal. Plot the result.
y = medfilt1(x,10);
plot(t,x,t,y)
legend('Original','Filtered');
y = round(y*10000)/10000;
y = y'
See also| hampel | median | sgolayfiltAuthorsAyush Baid