| Signal Processing Toolbox™ | ![]() |
y = medfilt1(x,n)
y = medfilt1(x,n,blksz)
y = medfilt1(x,n,blksz,dim)
y = medfilt1(x,n) applies an order 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/2 and (n/2)+1 elements.
The default for n is 3.
y = medfilt1(x,n,blksz) uses a 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.
y = medfilt1(x,n,blksz,dim) specifies the dimension, dim, along which the filter operates.
[1] Pratt, W.K., Digital Image Processing, John Wiley & Sons, 1978, pp.330-333.
![]() | maxflat | modulate | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |