Signal Processing Toolbox | ![]() ![]() |
One-dimensional median filtering.
Syntax
y=
medfilt1(x,n) y=
medfilt1(x,n,blksz)
Description
y
applies an order =
medfilt1(x,n)
n
one-dimensional median filter to vector x
; the function considers the signal to be 0 beyond the end points. Output y
has the same length as x
.
For n odd, y(k)
is the median of x(k-(n-1)/2:k+(n-1)/2)
.
For n
even, y(k)
is the median of x(k-n/2)
, x(k-(n/2)+1)
, ..., x(k+(n/2)-1)
. In this case, medfilt1
sorts the numbers, then takes the average of the (n-1)/2
and ((n-1)/2)+1
elements.
y
uses a =
medfilt1(x,n,blksz)
for
-loop to compute blksz
(block size) output samples at a time. Use blksz
<< length(x)
if you are low on memory, since medfilt1
uses a working matrix of size n-by-blksz
. By default, blksz = length(x)
; this provides the fastest execution if you have sufficient memory.
If x
is a matrix, medfilt1
median filters its columns using
y(:,i) =
medfilt1(x(:,i),n,blksz)
in a loop over the columns of x
.
See Also
|
Filter data with a recursive (IIR) or nonrecursive (FIR) filter. |
medfilt2 |
Two-dimensional median filtering (see the Image Processing Toolbox documentation). |
|
Median value (see the MATLAB documentation). |
References
[1] Pratt, W.K., Digital Image Processing, John Wiley & Sons, 1978, pp. 330-333.
![]() | maxflat | modulate | ![]() |