Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

# Regular Control Point Interpolation Matrix with Boundary Conditions 1.0

Date Added: June 19, 2013  |  Visits: 210

The main file interpMatrix.m in this package creates a sparse Toeplitz-like matrix representing a regularly-spaced interpolation operation between a set of control points. The user can specify the interpolation kernel, the number of control points, the spacing between the control points, and certain boundary conditions governing the behavior at the first and last control point. The tool has obvious applications to interpolation, curve fitting, and signal reconstruction. More generally, the ability to represent interpolation as a matrix is useful for minimizing cost functions involving interpolation operations. For such functions, the interpolation matrix and its transpose inevitably arise in the gradient. The file Example1D.m in the package gives an example application of the tool to upsampling/signal reconstruction using cubic B-splines with different possible boundary conditions. The screenshot above shows the output of this example, and illustrates how improved signal reconstruction is obtained using boundary extrapolation by mirroring.Although the matrix generated by interpMatrix() is for 1D interpolation, it can be generalized to n-dimensional tensorial interpolation using kron(). However, a more efficient alternative to kron() is this tool, http://www.mathworks.com/matlabcentral/fil...ct-manipulationwhose usage in conjunction with interpMatrix() is illustrated in the file Example2D.m, a generalization of Example1D.m to two dimensions. USAGE: T=interpMatrix(kernel, origin, numCtrlPoints, CtrlPointSep, extraprule) out: T: sparse output matrix. The columns of T are copies of a common interpolation kernel (with adjustments for boundary conditions), but shifted in increments of the CtrlPointSep parameter (see below) to different control point locations. The result is that if x is a vector of coefficients, then T*x is the interpolation of these coefficients on the interval enclosed by the control points. in: kernel: vector containing samples of an interpolation function, shifted copies of which will be used to create the columns of T. This vector never needs to be zero-padded. Zero-padding is derived automatically from the other input arguments below. origin: Index i such that kernel(i) is located at the first control point. It is also possible to specify the origin using the following string options: 'max': origin i will be selected where kernel(i) is maximized. 'ctr': origin i will be selected as ceil((length(kernel)+1)/2). numCtrlPoints: number of control points in the system. CtrlPointSep: a stricly positive integer indicating the number of samples between control points. extraprule: Initially, the shifted copies of "kernel" form the columns of T. The columns are then modified to satisfy edge conditions indicated by the "extraprules" parameter. Options for this parameter are the strings 'zero', 'mirror','rep', 'circ', or 'allcontrib'. These are explained in the help doc.

 Requirements: No special requirements Platforms: Matlab Keyword: Coefficients,  Create,  Dinterpmatrixkernel,  Enclosed,  Function,  Interval,  Locations,  Parameter,  Result,  Samples,  Usage,  Vector,  Zeropadded,  Zeropadding Users rating: 0/10