there is now a test sample (bit file) with speech at
Please only add samples to this page if you have the full
agreement for publishing from all involved parties (e.g.
operator of the network, people speaking during the capture).
This is not the place to share captures which were made
from someone else without their knowledge.
Dieter Spaar, Germany spaar(a)mirider.augusta.de
Attached is a patch that fixes some global ugliness. The dependencies
are a bit iffy, so you need a make clean after applying this.
This fix needs to be in place before you decode multiple carriers. I
would like to suggest that tetra-rx.c be changed so that it can receive
multiplexed streams of input. Byte values of 0 / 1 will be the primary
stream, but other values can be used to encode the multiplexed streams.
The easiest method is to use the high order bits of the input as a
"stream id", and dynamically create new state structs as they appear in
Does this sound like a decent solution ?
This is a Mailman mailing list bounce action notice:
Action: Subscription disabled.
Reason: Excessive or fatal bounces.
The triggering bounce notice is attached below.
Questions? Contact the Mailman site administrator at
Hello, I just started to write a java port of osmotetra and I wonder if
there is some people interested who can help me to debug, clean and make
documentation (javadoc format) for this code.
I want to write a java implementation of codec too, but I don't know if I
can distribute the code or if its license forbids it, can you tell me about
Jesús M. Tormo.
I have gotten some code working now to a proof of concept level. What it
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
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 ?
I made this change:
diff --git a/src/float_to_bits.c b/src/float_to_bits.c
index 08fad54..4547ffe 100644
@@ -113,7 +113,7 @@ int main(int argc, char **argv)
} else if (rc == 0)
- rc = process_sym_fl(0.3f, fl);
+ rc = process_sym_fl(0.0f, fl);
//printf("%2d %1u %1u %f\n", rc, bits, bits, fl);
Which improved decoding rate on correctly tuned captures. I think this
0.3 offset is an oversight that will generally increase BER.
In other news, I have gotten my own GPU (openCL) assisted demodulator
working, I am thinking about decoding multiple carriers concurrently
with this code, but I think the gnu_radio demodulator has an edge with
regards to BER, especially if the offset is set to 0.0f :-)