Regressive discrete Fourier series
# Regressive discrete Fourier series

In applied mathematics, the regressive discrete Fourier series (RDFS) is a generalization of the discrete Fourier transform where the Fourier series coefficients are computed in a least squares sense and the period is arbitrary, i.e., not necessarily equal to the length of the data. It was first proposed by Arruda (1992a, 1992b). It can be used to smooth data in one or more dimensions and to compute derivatives from the smoothed curve, surface, or hypersurface.

## Technique

### One-dimensional regressive discrete Fourier series

The one-dimensional RDFS proposed by Arruda (1992a) can be formulated in a very straightforward way. Given a sampled data vector (signal) $x_{n}=x(t_{n})$, one can write the algebraic expression:

    $x_{n}=\sum _{k=-q}^{q}X_{k}e^{\frac {-i2\pi kt_{n}}{T}}+\varepsilon _{n},t_{n}{\text{ arbitrary }},\quad n=1,\dots ,N.\,$

Typically $t_{n}=n\,\Delta t$, but this is not necessary.

The above equation can be written in matrix form as

    $WX=x+\varepsilon .\,$

The least squares solution of the above linear system of equations can be written as:

    ${\hat {X}}=(W^{H}W)^{-1}W^{H}x\,$

where $X^{H}$ is the conjugate transpose of $X$, and the smoothed signal is obtained from:

    ${\hat {x}}=W{\hat {X}}\,$

The first derivative of the smoothed signal ${\hat {x}}$ can be obtained from:

    ${\frac {dx}{dt}}(t_{n})=\sum _{k=-q}^{q}{\frac {-i2\pi k}{T}}X_{k}e^{\frac {-i2\pi kt_{n}}{T}},\quad n=1,\dots ,N.\,$

### Two-dimensional regressive discrete Fourier series (RDFS)

The two-dimensional, or bidimensional RDFS proposed by Arruda (1992b) can also be formulated in a straightforward way. Here the equally spaced data case will be treated for the sake of simplicity. The general non-equally-spaced and arbitrary grid cases are given in the reference (Arruda, 1992b). Given a sampled data matrix (bi dimensional signal) $x_{mn}=x(\xi _{m},\nu _{n}),m=1,\dots ,M;\ n=1,\dots ,N;$ one can write the algebraic expression:

    $x_{mn}=\sum _{k=-p}^{p}\sum _{l=-q}^{q}X_{kl}e^{\frac {-i2\pi k\xi _{m}}{L_{\xi }}}e^{\frac {-i2\pi l\nu _{n}}{L_{\nu }}}+\varepsilon _{mn},\quad m=1,\dots ,M;\ n=1,\dots ,N.\,$

The above equation can be written in matrix form for a rectangular grid. For the equally spaced sampling case :$\xi _{m}=m\Delta \xi ,\nu _{n}=n\Delta \nu \,$ we have:

    $x_{mn}=\sum _{k=-p}^{p}\sum _{l=-q}^{q}X_{kl}e^{\frac {-i2\pi km\Delta \xi }{L_{\xi }}}e^{\frac {-i2\pi ln\Delta \nu }{L_{\nu }}}+\epsilon _{mn},\quad m=1,\dots ,M;\ n=1,\dots ,N.\,$

The least squares solution may be shown to be:

    ${\hat {X}}=(W_{L_{\xi }}^{H}W_{L_{\xi }})^{-1}W_{L_{\xi }}^{H}xW_{L_{\nu }}^{*}(W_{L_{\nu }}W_{L_{\nu }}^{H})^{-1}\,$

and the smoothed bidimensional surface is given by:

    ${\hat {x}}=W_{L_{\xi }}{\hat {X}}W_{L_{\nu }}^{t}\,$

where $X^{H}$ is the conjugate, and $X^{t}$ is the transpose of $X$.

Differentiation with respect to $\xi {\text{ and }}\nu$ can be easily implemented analogously to the one-dimensional case (Arruda, 1992b).

## Current applications

* Spatially dense data condensation applications: Arruda, J.R.F. [1993] applied the RDFS to condense spatially dense spatial measurements made with a laser Doppler vibrometer prior to applying modal analysis parameter estimation methods. More recently, Vanherzeele et al. (2006,2008a) proposed a generalized and an optimized RDFS for the same kind of application. A review of optical measurement processing using the RDFS was published by Vanherzeele et al. (2009).
* Spatial derivative applications: Batista et al. [2009] applied RDFS to obtain spatial derivatives of bi dimensional measured vibration data to identify material properties from transverse modes of rectangular plates.
* SHM applications: Vanherzeele et al. [2009] applied a generalized version of the RDFS to tomography reconstruction.

## Software

Recently, a package that includes one and two-dimensional RDFS was developed in order to make easier its use in the free and open source software R:

* A R package for RDFS at Github
