Fitting B-splines to discrete data is especially challenging when the given data contain noise, jumps, or corners. Here, we describe how periodic data sets with these features can be efficiently and robustly approximated with B-splines by analyzing the Fourier spectrum of the data. Our method uses a collection of spectral filters to produce different indicator functions that guide effective knot placement. In particular, we describe how spectral filters can be used to compute high-order derivatives, smoothed versions of noisy data, and the locations of jump discontinuities.
David Lenz, Oana Marin, Vijay S. Mahadevan, Raine Yeh, Thomas Peterka