Hello, I'm trying to receive tetra signal from rtl_sdr by tetra-demod.py, but I got this error:
rtl_sdr -s 195312 -f 392.1M -|demod/python/tetra-demod.py -s 195312 -i /dev/stdin -o /dev/stdout|./float_to_bits /dev/stdin /dev/stdout|./tetra-rx /dev/stdin Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 000000xx
Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner
gr_fir_ccc: using SSE
sample rate: 195312
gr_fir_ccf: using SSE
Invalid sample rate: 195312 Hz WARNING: Failed to set sample rate. Tuned to 392100000 Hz. Tuner gain set to automatic. Reading samples in async mode... Signal caught, exiting! Signal caught, exiting! Short write, samples lost, exiting! EOF User cancel, exiting...
FAQ:
Q: Why don't you use osmosdr-tetra_demod_fft.py instead tetra-demod.py? A: osmosdr-tetra_demod_fft.py is a nightmare for tuning, I've never got to center a signal successfully, so I want to modify rtl_sdr for tunning with mouse wheel.
Q: Why don't you modify osmosdr-tetra_demod_fft.py? A: Well, I have a large experience programming c, not idea of programming python.
Q: Why don't you learn python? A: That's the last bullet in my belt, but i wanna try something faster :)
Now a question for you all. Why is not there a C version of tetra demodulator?
Thanks and regards.
On Thu, 2 Apr 2015, Espectro Digital wrote:
Hello, I'm trying to receive tetra signal from rtl_sdr by tetra-demod.py, but I got this error:
rtl_sdr -s 195312 -f 392.1M -|demod/python/tetra-demod.py -s 195312 -i /dev/stdin -o /dev/stdout|./float_to_bits /dev/stdin /dev/stdout|./tetra-rx /dev/stdin
seems rtl_sdr is not generating the proper format. this was one of the items on my list, give me a few days - i will try to find a solution during the easter holiday, and send it to you. the software was meant to be used with multiple receivers, so this should not be a problem.
[...]
Q: Why don't you learn python? A: That's the last bullet in my belt, but i wanna try something faster :)
i used the python stuff because it was already there, but prefer c too.
Now a question for you all. Why is not there a C version of tetra demodulator?
the qpsk demodulator is in python (i might try a c version later), the rest down the chain is proper c.
jacek
Thank you very much, Jacek.
A C version of tetra demodulator would be great.
Best regards.
----- Mensaje original ----- De: "Jacek Lipkowski" sq5bpf@lipkowski.org Para: "Espectro Digital" jack@espectrodigital.com CC: tetra@lists.osmocom.org Enviados: Jueves, 2 de Abril 2015 20:12:52 Asunto: Re: tetra-demod.py chain pipe error
On Thu, 2 Apr 2015, Espectro Digital wrote:
Hello, I'm trying to receive tetra signal from rtl_sdr by tetra-demod.py, but I got this error:
rtl_sdr -s 195312 -f 392.1M -|demod/python/tetra-demod.py -s 195312 -i /dev/stdin -o /dev/stdout|./float_to_bits /dev/stdin /dev/stdout|./tetra-rx /dev/stdin
seems rtl_sdr is not generating the proper format. this was one of the items on my list, give me a few days - i will try to find a solution during the easter holiday, and send it to you. the software was meant to be used with multiple receivers, so this should not be a problem.
[...]
Q: Why don't you learn python? A: That's the last bullet in my belt, but i wanna try something faster :)
i used the python stuff because it was already there, but prefer c too.
Now a question for you all. Why is not there a C version of tetra demodulator?
the qpsk demodulator is in python (i might try a c version later), the rest down the chain is proper c.
jacek
On Thu, 2 Apr 2015, Espectro Digital wrote:
Thank you very much, Jacek. A C version of tetra demodulator would be great.
sorry for my previous post, got the lists mixed up :)
but since i've already answered, here goes:
don't use rtl_sdr with low sample rates (<1Msps), either it doesn't work, or works bad. also tetra-demod.py will segfault in gri_mmse_fir_interpolator_cc() - and this is the probably the main reason for the error that you're seing.
if you want to use rtl_sdr, then the easiest will be to write something that decimates the data to 36ksps and feed it to the qpsk demodulator (use simdemod2.py if you don't want to write your own). this way most of the processing chain will be C (the qpsk demodulator can be exchanged later for a c version too, but i doubt this will significantly lower the system load). this is on my (long) todo list for telive, because this would allow using cheap hardware for listening to a lot of channels at once.
but it depends what you want to use rtl_sdr for. do you want it for less system load, or do you want it to have remote control over the receiver. in the latter case you can control gnuradio via http. i can post a gnuradio flowgraph that i use for scanning tetra networks. the frequency is controlled via http from a modified version of telive (scans the frequencies and logs the network parameters it finds)
jacek
but it depends what you want to use rtl_sdr for. do you want it for less system load, or do you want it to have remote control over the receiver. in the latter case you can control gnuradio via http. i can post a gnuradio flowgraph that i use for scanning tetra networks. the frequency is controlled via http from a modified version of telive (scans the frequencies and logs the network parameters it finds)
I want remote control over the receiver, I need change frecuency for a smooth fine tuning control with a mouse wheel or a Griffin PowerMate knob. I'm developing a multithreading modified version of tetra-rx, this branch has 64 priority queues with the logical voice channels from Sylvain's patch, these queues (producer thread) feed another thread (the consumer) that decodes audio and send to a fork process (aplay, at present) to speaker. Consumer thread supports wav recording (mp3 in near future) and float_to_bits and tetra codecs are integrated into the main c program. At present, I'm using a fifo for feeding from python demodulator, but I need frecuency control for manual fine tuning and scanner modes.
My goal is making a all-in-one app programmed entirely in c and the main problem is the python demod.
Thanks for your attention.
Best regards.
J.