On Fri, Apr 4, 2008 at 8:28 AM, Darryl Ross <
address@hidden> wrote:
Hi Tim,
Thanks for the reply.
Tim Meehan wrote:
I'm guessing that I need to process (resample?) the signal from the
sound card before passing it to the flex decoder, but I'm not sure what
that processing would be. I'm very new to signal processing, so don't
know what search terms I should be using.
I think flex_demod is looking for complex data at baseband
I'm not sure how to do this. I have updated my program so that it looks like what's below, but I do not get anything printed.
By converting to complex in this way you are passing flex_demod "complex" data with the imaginary values set to 0. The first thing flex_demod does is a passes the data to quadrature_demod which basically does a FM detection. Take a look at flex_demod.py in the gr-pager tree.
I think the data you are brining in on the sound card has already been "detected" by your radio (if I understand properly based on the link you provided).
My suggestion: Take a good close look at flex_demod.py. There may be someone else on the list who can provide more help.
I have tried both hw:0 and plughw:0.
I have a Uniden Bearcat 92XLT modified to add a discriminator tap, from the instructions at http://www.discriminator.nl/ubc72xlt/index-en.html. (One question I have is what is the purpose of the 10K resistor?)
I did not look too close at the link but these mods are typically to allow the radio to operate in a band they were designed to block. For example mobile phone bands.
Thanks
-Darryl
#!/usr/bin/python
import time
from gnuradio import audio, gr, pager
audio_device = 'hw:0'
sample_rate = 48000
class top_block(gr.top_block):
def __init__(self, queue):
gr.top_block.__init__(self)
src = "" audio_device)
dst = pager.flex_demod(queue)
converter = gr.float_to_complex()
self.connect(src, converter)
self.connect(converter, dst)
if __name__ == '__main__':
queue = gr.msg_queue()
tb = top_block(queue)
tb.start()
while True:
if not queue.empty_p():
msg = queue.delete_head()
print msg.to_string()
time.sleep(0.5)