Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
In mathematics, bicubic interpolation is an extension of cubic spline interpolation (a method of applying cubic interpolation to a data set) for interpolating data points on a two-dimensional regular grid. The interpolated surface (meaning the kernel shape, not the image) is smoother than corresponding surfaces obtained by bilinear interpolation or nearest-neighbor interpolation. Bicubic interpolation can be accomplished using either Lagrange polynomials, cubic splines, or cubic convolution algorithm. In , bicubic interpolation is often chosen over bilinear or nearest-neighbor interpolation in image resampling, when speed is not an issue. In contrast to bilinear interpolation, which only takes 4 pixels (2×2) into account, bicubic interpolation considers 16 pixels (4×4). Images resampled with bicubic interpolation can have different interpolation artifacts, depending on the b and c values chosen. Suppose the function values and the derivatives , and are known at the four corners , , , and of the unit square. The interpolated surface can then be written as The interpolation problem consists of determining the 16 coefficients . Matching with the function values yields four equations: Likewise, eight equations for the derivatives in the and the directions: And four equations for the mixed partial derivative: The expressions above have used the following identities: This procedure yields a surface on the unit square that is continuous and has continuous derivatives. Bicubic interpolation on an arbitrarily sized regular grid can then be accomplished by patching together such bicubic surfaces, ensuring that the derivatives match on the boundaries. Grouping the unknown parameters in a vector and letting the above system of equations can be reformulated into a matrix for the linear equation . Inverting the matrix gives the more useful linear equation , where which allows to be calculated quickly and easily. There can be another concise matrix form for 16 coefficients: or where Often, applications call for bicubic interpolation using data on a rectilinear grid, rather than the unit square.
[2]Paolo Prandoni, [3]LCAV, EPFL
The Parks-McClellan (PM) algorithm is a clever application of advanced
polynomial fitting techniques to the problem of FIR filter design. In
this notebook we will explore the key ideas behind the method by
considering the design of a simple Type-I lowpass filter.
NOTE: This notebook uses interactive widgets. If the interactive
controls do not work or show up, please fo [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will implement a simple fractional resampler that
uses local Lagrange interpolation. The resampler can be used to perform
any rational sampling rate change (but beware of aliasing when
downsampling!)
In [1]:
import numpy as np
import IPython
from scipy.io import wavfile
Local Lagrange interpolation[4]¶
To perform resampling we will need to compute subsample values and, in [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will explore various ways to implement a system
that changes the voice of a speaker. Typical applications for these
techniques, strictly sorted by plausibility, include international spy
missions and prank telephone calls, and devices such as the one
displayed here can be easily bought on the web... or in a novelty shop.
No description has been provided for t