# Seismology - PPV / VDV from geophone waveform data

I'm using an inexpensive seismometer to try and measure the effects of local HGV traffic on buildings. The device is connected to a Raspberry PI that has a Cirrus Logic Audio Card. The signal is fed through the Line In and the card is setup using the default setup scripts provided by Cirrus:

# args: [ VOLUME [ DIGITAL_VOLUME ] ]
record_from_linein_micbias() {
reset_line_in
reset_filter
reset_rpi_in

mixer "Line Input Micbias" on

# better THD in normal mode vs lower noise floor in high performance
mixer "${line_in} High Performance Switch" on # default input gain +8dB setup_line_in "${1:-8}" "${2:-128}" # route input through high pass filter to remove DC setup_high_pass_filter$line_in_signals
set_mixer $rpi_in_signals$filter_signals
}


I am saving the readings from the device as a WAV audio file via arecord:

arecord -c 1 -f S16_LE -r 11025 --max-file-time 86400 --use-strftime %Y-%m-%d_%H:%M:%S.wav


It works, I can normalize the WAV file in Audacity and see the waveform change as a HGV drives past. After reading a few articles about other experiments doing the same I see that I need to convert the readings from the device into Peak Particle Velocity (PPV) and Vibration Dose Value (VDV) for any of it to make sense in terms of ISO/BS standards (BS7385 & BS5228-2 for example) and assessing the likely effect on a structure of local traffic vibrations.

That's where I get unstuck, how to convert the waveform data I have into PPV / VDV? I don't know about a few things, like whether the the arecord sampling frequency and depth are correct, I probably shouldn't be normalizing waveforms in Audacity (i'm only normalizing so I can see if it's working).

I do know that I am looking for frequencies between 15 and 150Hz and that I think I need to get my units into mm/s. My experiment isn't exactly precise from the Lego Seismometer, but it's a starting point for possible future more detailed data collection and analysis.