Hello, I'm using modes_rx in order to decode ADS-B messages.
Usually I use it with an RTL-based SDR simply as:
modes_rx -d
In this way it works perfectly.
However I need to record raw IQ samples using rtl_sdr and later
process them with modes_rx -F option (that reads data from file, in
the gnuradio format).
So I tried the following:
rtl_sdr -f 1090000000 -s 4000000 /tmp/modes.bin
And alter I converted modes.bin into modes.cfile using the following C program:
int main(void) {
unsigned char in[2];
float out[2];
while(fread(in,1,2,stdin) == 2) {
out[0] = in[0];
out[1] = in[1];
out[0] = (out[0] - 127)*(1.0/128);
out[1] = (out[1] - 127)*(1.0/128);
fwrite(out,sizeof(float),2,stdout);
}
return 0;
}
I'm using a little endian computer so in theory I'm converting the 8
bit I,Q samples into 4 byte floats I,Q samples in little endian
format, that should be the native format of Gnuradio from what I read
on the internet.
Unfortunately after this conversion modes_rx -F does not work as
expected, and instead outputs garbage.
I guess I'm doing something wrong in the recording or in the
conversion step, but I can't find what the problem is. If you can
point me to the right direction I'll appreciate your help.
Regards,
Salvatore
--
Salvatore 'antirez' Sanfilippo
open source developer - VMware
http://invece.org
Beauty is more important in computing than anywhere else in technology
because software is so complicated. Beauty is the ultimate defence
against complexity.
— David Gelernter
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio