processing -A output

36 views
Skip to first unread message

Greg Troxel

unread,
Jun 24, 2025, 2:13:38 PMJun 24
to rtl433
I'm trying to decode a signal I think is there, and also try to figure
out if there are any non-decodable signals I don't know about. I'm
finding it tricky and thought I'd share a bit of shell script.

First, I run rtl_433 with -S unknown and get a lot of files. Looking, I
see some had valid decodes. But apparently also unknown energy. Some
were noise bursts, and some were just some background carriers (from an
unintentional radiator probably).

The basic concept is to remove
any capture that has a valid decode
any capture for which -A failed to guess something
any capture suggested as noise
any capture suggested as unmodulated

Yes, I know I'm tossing valid perhaps-interesting signals if they are in
the same capture as something known. I have hundreds of files after
this.

I know this is hacky, and if you can't read the sh and be comfortable
editing it, it probably isn't for you.

It's probably buggy; I am finding it confusing

what's on stdout

what's on stderr

boilerplate stuff like version that IMHO should never appear unless
you ask for it


----------------------------------------
#!/bin/sh

rm -f FLEX DECODE ANALYZE

for f in g*.cu8; do
rm OUT.json OUT.analyze
rtl_433 -A -r $f -F json > OUT.json 2> OUT.analyze

lines_data=`wc -l OUT.json | awk '{print $1}'`
if [ "$lines_data" -ge 2 ]; then
echo "DECODE: $f"
rm $f
fi

lines_analyze=`wc -l OUT.analyze | awk '{print $1}'`
if [ "$lines_analyze" = 2 ]; then
echo "NO ANALYSIS: $f"
rm $f
fi

if egrep 'or just noise' OUT.analyze > /dev/null; then
echo "NOISE: $f"
rm $f
fi

if egrep 'Un-modulated signal' OUT.analyze > /dev/null; then
echo "UNMODULATED: $f"
rm $f
fi

egrep "Use a flex decoder" OUT.analyze >> FLEX

echo -n "$f "; egrep "Guessing modulation" OUT.analyze

# s short
# l long
# y sync
# r reset
# g gap
# t tolerance
FLEX= Fill this in from something in FLEX that seems common

rtl_433 -X ${FLEX} -r $f -F json >> DECODE 2>> ANALYZE

done

David

unread,
Jun 24, 2025, 5:41:46 PMJun 24
to rtl433
I find this very interesting,  and would like to subscribe to your newsletter. 😀

Seriously,  let us know if you find anything interesting! 

dp


-- 
You received this message because you are subscribed to the Google Groups "rtl_433" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtl_433+u...@googlegroups.com.

Christian Z.

unread,
Jun 25, 2025, 6:27:28 AMJun 25
to rtl_433
Very nice. Perhaps we could add the pulse analyzer as filter to the -S option, e.g. -S undecoded

Greg Troxel

unread,
Jun 25, 2025, 6:42:50 AMJun 25
to Christian Z., rtl_433
"Christian Z." <chri...@zuckschwerdt.org> writes:

> Very nice. Perhaps we could add the pulse analyzer as filter to the -S
> option, e.g. -S undecoded

An interesting thought but I'm not sure that it's what I want to use.

I would think about options to (separating what is default from what is doable)

- Don't save if any decoder decoded anything in the sample. I realize
this discards some possible samples, but I am already having a hard
time coping with the volume.

- Run the analyzer, and if it detects just unmodulated, don't save.
In my case, I think there's some RFI source with a faint carrier or
two. Or maybe it's a dongle artifact. But it's not interesting
when searching for signals.

- Run the analyzer, and if it detects just a few stray pulses, not
enough to be data, don't save.



This would mean that I do get captures for things that the pulse
analyzer thinks are real signals. To me that's what's of interest, and
what I tried to do in the script.

I posted the script because I suspect many might want to do something
similar, but I also suspect all of them want something slightly
different.

Christian Z.

unread,
Jun 25, 2025, 8:05:17 AMJun 25
to rtl_433
There is now a rough sketch of this feature in https://github.com/merbanan/rtl_433/pull/3309
Basically -S unknown with added filter of "must have multiple pulses" and "must have varying pulse/gap lengths".
It's just a draft and won't handle FSK right now.
Reply all
Reply to author
Forward
0 new messages