x: numeric matrix containing the input signal to be filtered.
shape: Subsection of convolution, partially matched to:
"same": Return the central part of the filtered data; same size as x (Default)
"full": Return the full 2-D filtered data, with zero-padding on all sides before filtering
"valid": Return only the parts which do not include zero-padded edges.
Returns
The filtered signal, returned as a matrix
Details
The filter2 function filters data by taking the 2-D convolution of the input x and the coefficient matrix h rotated 180 degrees. More specifically, filter2(h, x, shape) is equivalent to conv2(x, rot90(h, 2), shape).
Examples
op <- par(mfcol = c(1,2))x <- seq(-10,10, length.out =30)y <- x
f <-function(x, y){ r <- sqrt(x^2+y^2);10* sin(r)/r }z <- outer(x, y, f)z[is.na(z)]<-1persp(x, y, z, theta =30, phi =30, expand =0.5, col ="lightblue")title( main ="Original")h <- matrix(c(1,-2,1,-2,3,-2,1,-2,1),3,3)zf <-filter2(h, z,'same')persp(x, y, zf, theta =30, phi =30, expand =0.5, col ="lightgreen")title( main ="Filtered")par(op)