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:

record_from_linein_micbias() {

    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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.