High-Pass Filtering
Before pulse analysis is performed, the recording passes through a high-pass filter.
The purpose of this stage is to suppress low-frequency noise that is unlikely to contain bat calls, allowing the higher-frequency echolocation structure to stand out more clearly. Its role is not to isolate bat calls completely, but to reduce low-frequency clutter before the later analysis stages.
Typical sources of low-frequency noise include:
- Handling noise from the detector or recorder
- Wind rumble
- Distant traffic or environmental vibration
- General low-frequency background energy
After time expansion, bat calls usually occupy a much higher frequency range than these sources, making high-pass filtering an effective first step.
Butterworth Filtering
The pipeline uses a Butterworth high-pass filter.
Butterworth filters are designed to produce a smooth frequency response without strong ripples or abrupt resonances. This makes them well suited to exploratory signal analysis, where preserving the overall shape of the waveform is more important than aggressive filtering.
Frequencies below the cutoff are progressively attenuated, while frequencies above the cutoff are retained.
The steepness of this transition is controlled by the filter order.
Zero-Phase Filtering
To avoid shifting or distorting pulse timing, the filter is applied using a zero-phase forward-and-reverse pass.
This works by filtering the recording twice:
- Once forwards through the waveform
- Once backwards through the waveform
The second pass cancels the phase shifts introduced by the first.
This is important because much of the later analysis depends on accurate pulse timing and spacing. Introducing timing offsets at this stage could alter PRI measurements and behavioural structure.
Tool
Spectrogram Viewer
A tool for exploring bat recordings through spectrograms and pulse-level analysis
The analyses presented in this section were developed using the Spectrogram Viewer, a command-line application designed for examining bat echolocation recordings.
The tool combines waveform and spectrogram visualisation with noise reduction, pulse detection, and behavioural call analysis, allowing recordings to be explored in detail.
Structured outputs, including pulse measurements and JSON analysis files, can be exported for downstream analysis and notebook-based workflows.
The application, example workflows, and instructions on how to run it are provided in the GitHub repository.