Wav2phh is a Qt frontend based audio/wav to pulse height histogram converter. It may be used to postprocess and generate a gamma spectrum from a scintillation counter wav record.
Wav2phh can be build for linux and windows. Prerequisites:
- On Linux:
- Install the packages qt5-qtbase-devel and qt5-qtmultimedia-devel
- Execute
/usr/bin/qmake-qt5 wav2phh.pro
- Type
make
- On Windows:
- Install Qt 5.6.2 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) qt-opensource-windows-x86-mingw492-5.6.2.exe
- Building from within qtcreator:
openwav2phh.pro
press the "play button" - Building from cmd line:
Set the environmentset PATH=C:\Qt\Qt5.6.2\5.6\mingw49_32\bin;C:\Qt\Qt5.6.2\Tools\mingw492_32\bin;C:\Qt\Qt5.6.2\Tools\QtCreator\bin;C:32;C:
Typeqmake.exe -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile wav2phh.pro
Typemingw32-make -f Makefile.Debug
Depending on the shaper output a very rough estimation can be made as follows: Assume an input pulse shape u(t)~exp(-(a*t)^2). It's fourier transform equals to U(w)~exp(-(w/2a)^2). U is mainly located within w=-6a..6a (+-3 standard deviations) therefore U has a bandwith of approximately B=6a. To avoid aliasing during sampling the Nyquist Shannon theorem recommends a sampling frequency ws>2B. With Ts=2pi/ws one will get Ts=1/2a and therefore the sampling points at the positions n*Ts are given as u(n*Ts)=exp(-(n/2)^2). u is approximately located within n=-6 .. 6 and therefore minimum 12 sampling points per pulse should be considered for sampling rate calculations. Lower sampling rates are possible if the aliasing error made is allowable.
I have obtained good results using a variation of the semi-gaussian filter of second order.
LGPLv2.1+