EDF-resampler

edf-resampler converts the samplerate of all signals from an EDF or BDF file and
saves them in a newly created EDF or BDF file.
Both up- and downsampling are supported.
If the source file contains annotations, they will be copied into the destination
file. The source file will not be modified.
Both the input samplerate(s) and the output samplerate must have integer values.
i.e. fractional samplerates are not supported.
The signals in the source file may have different samplerates, they will all be
converted to the new samplerate.
Parameter samplefrequency must be either one value for all signals or a comma
separated list of values for all signals e.g. -s 200,500,300 or --samplerate=200,500,300
The output samplerate must be >= 10 Hz.
If the destination filename is not given, the source filename will be used as the
destination filename concatenated with "_out.edf" or "_out.bdf".
The recording length of the destination file will be truncated to a multiple of seconds.

Stopband attenuation: optional parameter for the lowpass filtering expressed in dB.
Valid range: 60 - 140. Default is 120 dB.

Passband ripple: optional parameter for the lowpass filtering expressed in dB.
Valid range: 0.0001 - 0.01. Default is 0.01 dB.

Userratios: optional parameter, ratios to use to build multistage samplerate converter, in the following format:
"L1/M2 L2/M2 ...". This parameter is optional.

System requirements: GNU/Linux

Download

Compiling and installing on Debian Linux and derivatives (Ubuntu, Mint, Raspberry Pi OS, etc.)

Simply execute the following commands in a terminal:


  sudo apt update
  sudo apt install gcc make git
  git clone https://gitlab.com/Teuniz/EDF-resampler.git
  cd EDF-resampler
  make -j8


Compiling and installing on Fedora

Simply execute the following commands in a terminal:


  sudo dnf update
  sudo dnf install gcc make git
  git clone https://gitlab.com/Teuniz/EDF-resampler.git
  cd EDF-resampler
  make -j8


Compiling and installing on openSUSE

Simply execute the following commands in a terminal:


  sudo zypper refresh
  sudo zypper install -t pattern devel_basis devel_C_C++
  git clone https://gitlab.com/Teuniz/EDF-resampler.git
  cd EDF-resampler
  make -j8


Usage


  edf-resampler <-i inputfilename | --inputfile=inputfilename>
                <-s samplefrequency | --samplerate=samplefrequency>
                [-u userratios | --userratios=userratios]
                [-o outputfilename | --outputfile=outputfilename]
                [-a stopband attenuation | --atten=stopband attenuation]
                [-r passband ripple | --ripple=passband ripple]
                [-v | --verbose]
                [-h | --help]


More info