Digging into Baudline capabilities, I soon realized it could be very useful capturing meteors and data in showers, so inspired in Iban's code, I wrote a new script to automatize the tedious task of meteor capture / counting / analysis: Baudmeteors
Baudmeteors uses Baudline and your sound card attached to a SSB receiver, or a RTL2832 based DVB-T dongle to capture spectrograms and frequency / amplitude data from the detected meteors. It was wrote with the idea of measure doppler head echoes.
Baudmeteors (Baudline) in action with a SSB receiver
rtl_baudmeteors (baudline) in action with a RTL-2832 based DVB-T dongle
Installation
Installation is very simple.If you want to use a SSB receiver and your computer's sound card, download Baudline and put its executable somewhere in your path (~/bin is a good idea). Second, download Baudmeteors, put it somewhere in your path (~/bin is still a good place) and check it has the executable bit set. (A simple chown +x ~/bin/baudmeteors will do).
If you want to use your RTL2832 based DVB-T dongle, download RTL_Baudmeteors, and put it somewhere in your path (~/bin is still a good place) and check it has the executable bit set. (A simple chown +x ~/bin/rtl_baudmeteors will do). Now use your favorite text editor and open rtl_baudmeteors. Edit these two first lines to suit your working conditions:
RXFREQ: The carrier frequency of the signal you use to detect meteors. In my case it is 143050000 Hz ( Graves, the french radar)
RTLPPM: Dongle's fine clock adjustment. It's a must for you to know this value, because RTL_Baudmeteors uses a 8 kHz receiving window. If your dongle is severely off frequency, you will miss the meteor reflections.
Usage
Usage is also quite simple. Baudmeteors uses only one simple argument: The signal to noise ratio threshold.Baudmeteors constantly monitors Baudline's data output, and when a meteor with larger signal to noise ratio than the specified level appears, Baudmeteors takes a screenshot of Baudline's display and saves to disk the data for that meteor. Therefore, the usage is:
baudmeteors [SNR_threshold]
or
rtl_baudmeteors [SNR_threshold]
Signal to noise thresholds around -3 to 3 dB are ok most of times for SSB receivers and -6 to 0 dB to RTL based dongles. If no SNR_threshold is supplied, Baudmeteor uses 3dB as default value. Baudmeteors saves the files into the current directory, so it will be better to cd into a new directory before launch Baudmeteors.
Now, connect the output of your SSB receiver to your computer's line input, and adjust the input level (using the sound mixer or the receiver's output level) until you get a comfortable spectrogram as shown it the previous image.
If you are using a RTL2832 based dongle, and your spectrogram is too dark or too bright, you can adjust it using Baudline's own function. Right click on Baudline's main window, select input, and then, color aperture. If you want to make that changes permanent, look in rtl_baudmeteors the lines coloraperture.upper and coloraperture.lower and edit them accordingly.
RTL_Meteors uses rtl_fm utility to read samples from the DVB-T dongle in automatic gain mode. This will sufice in most cases. If not, you can experiment adding the -g parameter to the rtl_fm command. Maybe you can think rtl_sdr is better suited to this kind of job, and you are right but as November 13, 2013 rtl_sdr lacks ppm adjustment, which is a must for this kind of job.
Baudmeteors output samples
When baudmeteors detects an event, a message will be displayed at the standard output, for example:2013-11-07_08-32-12 Meteor at -3 dB!
The first part is the event timestamp, and the second part is the amplitude that triggered the event. This event will create two data files in the current directory: An image and a txt file with the same timestamp as part of the name, in this case:
The PNG file is a screenshot of Baudline' screen. You can see the meteor, and in this case, a clearly visible head echo that precedes the stationary meteor reflection. If you need more information about the meteor, you can check the txt file. The txt data file is pure ascii text in three columns. The first column is the time, in Unix time. For example, 1383805932.674264 can be translated to 2013-11-07 07:32:12 and 674264 nanoseconds, using for example the command:
date -d @1383805932.674264 '+%Y-%m-%d %H:%M:%S.%6N'
The second column display the frequency of the peak at that time, and the third column, the signal to noise ratio of that peak. This simple data file format permits to do quick graphs, for example, the amplitude-time graph:
It is easy to see the fading from the meteor, with a periodicity of about 0.3 seconds. Using the third column you can plot the frequency-time graph, to display doppler both in the head and in the tail echoes:
Now it is easy to see how the head echo appeared at around 1600 Hz and went down to the rest frequency (about 970Hz) in just 0.17 seconds, producing an slope of nearly -3.9 kHz/sec.
Baudline's main windows can't be minimized, otherwise it will not be possible to capture.
Depends on your window manager, but with some of them, there can't be another window over Baudline's main window. Otherwise, only the visible area will be captured. For example, using KDE and OpenGL composting, there is no problem with other windows over Baudline's main window. In fact, I left Baudmeteors running in a virtual desktop alone while I work in the other ones without any problems.
Primary Hz and SNR windows can be minimized, but can't be closed. If you close any of them, Baudlilne will not output the corresponding data, and Baudmeteors will fail.
Sometimes, when starting Baudmeteors, you can find some "Low audio. Increase audio input level" messages. They are ok.
Baudmeteors is a bash script, but it uses some external commands, like parec, basename, echo, date, grep, sleep and import (from ImageMagick). They should be available in any Unix-like OS.
Drawbacks and some notes
There are some drawbacks using baudmeteors. For example:Baudline's main windows can't be minimized, otherwise it will not be possible to capture.
Depends on your window manager, but with some of them, there can't be another window over Baudline's main window. Otherwise, only the visible area will be captured. For example, using KDE and OpenGL composting, there is no problem with other windows over Baudline's main window. In fact, I left Baudmeteors running in a virtual desktop alone while I work in the other ones without any problems.
Primary Hz and SNR windows can be minimized, but can't be closed. If you close any of them, Baudlilne will not output the corresponding data, and Baudmeteors will fail.
Sometimes, when starting Baudmeteors, you can find some "Low audio. Increase audio input level" messages. They are ok.
Baudmeteors is a bash script, but it uses some external commands, like parec, basename, echo, date, grep, sleep and import (from ImageMagick). They should be available in any Unix-like OS.
The last but not least important, Baudmeteors is my first "big script" in bash. Don't blame on me if it is poorly coded ;-)
Miguel Angel. Me quito el sombrero una vez mas. ¡¡¡ Que aplicacion mas util para MS !!!. Me gustaria poderla funcionando para las Geminidas, que estan a la vuelta de la esquina.
ReplyDeleteGracias por documentar y compartir tu trabajo.
73s
David EA4SG
Gracias! Ya me contarĂ¡s si lo pruebas.
Delete73!