I have gotten some code working now to a proof of concept level. What it does is:
A) Capture 2 MHz of spectrum to fifo (1) (gnuradio-companion)
B) Frequency shift, filter and decimate fifo(1) -> fifo(2) using GPU
C) Demodulate fifo (2) into bits to fifo(3) using my own "dodgy demodulator"
D) Running tetra-rx from fifo(3) - for display in wireshark
This runs realtime at around 30% CPU load (for a single core) and 30% GPU load on an ATI 5850 card. So I can easily add more carriers to tetra-rx (I have 2 such GPUs), but tetra-rx doesn't seem well prepared for handling such situations, for instance the GSMTAP packets are not tagged by ARFCN - besides I don't have a good understanding of what others would want to do when demodulating multiple carriers. Personally I have to limit myself to traffic analysis on a fully encrypted network.
Are there any plans for how to progress tetra-rx that I can follow, or should I just rip the thing apart and make it do what I want it to do ?
f
Hi Frank,
On Sat, Nov 17, 2012 at 09:39:28PM +0100, Frank A. Stevenson wrote:
So I can easily add more carriers to tetra-rx (I have 2 such GPUs), but tetra-rx doesn't seem well prepared for handling such situations, for instance the GSMTAP packets are not tagged by ARFCN -
Feel free to extend it in a way that keeps existing functionality but adds those bits as required. A lot of the state (like tetra_mac_state) is already not in global variables, so it should not be too hard.
In terms of the ARFCN: I'd suggest just add the current arfcn to the PHY state and pass it up from there.
besides I don't have a good understanding of what others would want to do when demodulating multiple carriers. Personally I have to limit myself to traffic analysis on a fully encrypted network.
I don't think anyone has any big plans for osmo-tetra at this point. It mostly works for what we originally wrote it. Feel free to post any patches here for review / merge.
Regards, Harald