Prefer a different chat interface? The Graph Search chatbot is also on chat.rcp.epfl.ch (VPN required off campus). Same bot, different look.
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 the mathematical field of numerical analysis, spline interpolation is a form of interpolation where the interpolant is a special type of piecewise polynomial called a spline. That is, instead of fitting a single, high-degree polynomial to all of the values at once, spline interpolation fits low-degree polynomials to small subsets of the values, for example, fitting nine cubic polynomials between each of the pairs of ten points, instead of fitting a single degree-ten polynomial to all of them. Spline interpolation is often preferred over polynomial interpolation because the interpolation error can be made small even when using low-degree polynomials for the spline. Spline interpolation also avoids the problem of Runge's phenomenon, in which oscillation can occur between points when interpolating using high-degree polynomials. Originally, spline was a term for elastic rulers that were bent to pass through a number of predefined points, or knots. These were used to make technical drawings for shipbuilding and construction by hand, as illustrated in the figure. We wish to model similar kinds of curves using a set of mathematical equations. Assume we have a sequence of knots, through . There will be a cubic polynomial between each successive pair of knots and connecting to both of them, where . So there will be polynomials, with the first polynomial starting at , and the last polynomial ending at . The curvature of any curve is defined as where and are the first and second derivatives of with respect to . To make the spline take a shape that minimizes the bending (under the constraint of passing through all knots), we will define both and to be continuous everywhere, including at the knots. Each successive polynomial must have equal values (which are equal to the y-value of the corresponding datapoint), derivatives, and second derivatives at their joining knots, which is to say that This can only be achieved if polynomials of degree 3 (cubic polynomials) or higher are used. The classical approach is to use polynomials of exactly degree 3 — cubic splines.
[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
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