The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
RFIF provides an R interface to a C implementation of Fast Iterative Filtering (FIF) for decomposing a univariate signal into intrinsic mode functions (IMFs) plus a residual.
Install from a source tarball:
install.packages("RFIF_1.0.tar.gz", repos = NULL, type = "source")RFIF performs many FFTs during decomposition. To guarantee portability, the package ships with a self-contained fallback FFT that works everywhere, but it can be much slower.
For best performance, RFIF can use FFTW3 when available.
During installation:
pkg-config → RFIF enables the
fast FFTW backendWhen FFTW3 is found, installation prints:
Found fftw3 via pkg-config (enabling fast FFT).
sudo port install pkgconfig
sudo port install fftw-3Verify:
pkg-config --modversion fftw3brew install pkg-config fftwsudo apt-get install libfftw3-dev pkg-configInstall Rtools: https://cran.r-project.org/bin/windows/Rtools/
Open the Rtools MSYS2 shell, then install FFTW and pkg-config:
pacman -S mingw-w64-x86_64-fftw
pacman -S mingw-w64-x86_64-pkg-configVerify:
pkg-config --modversion fftw3Then install RFIF from source in R as usual.
library(RFIF)
t <- seq(0, 1, length.out = 1000)
x <- sin(2*pi*5*t) + 0.5*sin(2*pi*20*t)
res <- rfif(x)
str(res)Returned object:
imfs: numeric matrix (rows = IMFs, columns = time)residual: numeric vector (same length as input)nimf: integer number of IMFsrecon <- if (res$nimf > 0) colSums(res$imfs) + res$residual else res$residual
max(abs(x - recon))browseVignettes("RFIF")These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.