MatchingPursuit: Processing Time Series Data Using the Matching Pursuit...

MatchingPursuitR Documentation

Processing Time Series Data Using the Matching Pursuit Algorithm

Description

Tools for analyzing and decomposing time-series data using the Matching Pursuit (MP) algorithm, a greedy signal decomposition technique that represents complex signals as a linear combination of simpler functions (called atoms) selected from a redundant dictionary.

Details

In addition to working with generic time-series data, the package also supports direct loading of data stored in EDF and EDF(+) files. These formats are widely used for storing physiological signals such as EEG, EMG, or ECG recordings. By enabling the import of EDF and EDF(+) files, the package facilitates the analysis of biomedical signals. The package requires the installation of an external program, Enhanced Matching Pursuit Implementation (EMPI). This tool implements the Matching Pursuit algorithm developed by Piotr T. Różański and is available at https://github.com/develancer/empi

Example datasets available through the system.file() function are:

  • EEG.edf

    • 19 EEG channels + 1 EDF Annotations channel

    • sampling frequency: 256 Hz, signal length: 10 sec.

    • channel names: Fp1, Fp2, F3, F4, F7, F8, Fz, C3, C4, Cz, T3, T5, T4, T6, P3, P4, Pz, O1, O2, EDF_Annotations

  • sample1.csv

    • 1 channel

    • sampling frequency: 1024 Hz, signal length: 1 sec.

  • sample2.csv

    • 1 channel

    • sampling frequency: 128 Hz Hz, signal length: 10 sec.

  • sample3.csv

    • 3 channels (random numbers from 0 to 1 in each channel)

    • sampling frequency: 128 Hz Hz, signal length: 2 sec.

The first line of the .csv file contains two numbers: the sampling rate in Hz (freq) and the signal length in seconds (sec). read.csv.signals function checks whether the file actually contains round(freq*sec) samples. The two numbers must by separated by one or more whitespace characters.

Author(s)

Maintainer: Artur Gramacki a.gramacki@gmail.com (ORCID)

Other contributors:

References

Durka, P. J. (2007). Matching Pursuit and Unification in EEG Analysis. Artech House, Engineering in Medicine and Biology. Boston. ISBN: 978-1596932497

Elad, M. (2010). Sparse and Redundant Representations: From Theory to Applications in Signal and Image Processing. Springer. ISBN 978-1-4419-7010-7, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/978-1-4419-7011-4")}

Gramacki, A. & Kunik, M. (2025). Deep learning epileptic seizure detection based on matching pursuit algorithm and its time-frequency graphical representation. International Journal of Applied Mathematics & Computer Science, vol. 35, no. 4, pp. 617-630, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.61822/amcs-2025-0044")}

Mallat, S. & Zhang, Z. (1993). Matching Pursuits with Time-Frequency Dictionaries. IEEE Transactions on Signal Processing, vol. 41, no. 12, pp. 3397-3415, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1109/78.258082")}

Pati, Y.C. & Rezaiifar, R. & Krishnaprasad, P.S. (1993). Orthogonal Matching Pursuit: Recursive Function Approximation with Applications to Wavelet Decomposition. Proceedings of the 27th Asilomar Conference on Signals, Systems and Computers, vol. 1, pp. 40-44 \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1109/ACSSC.1993.342465")}

Różański, P.T. (2024). empi: GPU-Accelerated Match ing Pursuit with Continuous Dictionaries. ACM Transactions on Mathematical Software, vol.50, no. 3, pp. 1-17, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1145/3674832")}


MatchingPursuit documentation built on April 9, 2026, 9:08 a.m.