I am trying to receive an on-off-keyed signal at 25kHz with USRP N210
and Gnuradio.
The connection between N210 and Gnuradio works - I am able to visualize
it with the waterfall and the fft-sink.
I want to convert the signal to a time-discrete bitstream, where I have
1 for signal on and 0 for signal off. The switching between the two
states in the signal is very fast - only a few oscillations long.
So you can use a clock recovery block in Gnuradio (either the Mueller
and Muller or the polyphase clock recovery blocks) followed by
something to slice (determine whether a particular sample represents a
1 or a 0). One easy way to slice OOK data is to use a single-pole IIR
or moving-average filter to get the DC level of the signal (assuming
the signal is encoded to spend equal time high and low), subtract that
from the original signal, and then just use the simple slicer in
Gnuradio (which returns 1 if the signal level is >0, 0 otherwise) to
convert to bits.
HTH,
Nick
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.