Comments (11)
That CPU does not have NEON, which then needs to be emulated for the Polar list decoder. It also has very little cache.
You could try to lower the list size or replace list decoding with normal decoding and also lower the OSD decoder order or replace with RS decoding but this all will reduce receiver performance by a large margin.
Instead maybe you should get a more modern CPU with NEON, like the one in the Raspberry Pi 400: It only needs 150 ms to decode Rattlegram messages with the untouched code from the short branch and in only 20 ms when lowering the OSD order to 3 instead of the default 4.
from modem.
You should probably play with the OSD ORDER
first and set it to two: CODE::OrderedStatisticsDecoder<255, 71, ORDER> osddec;
And then change the list SIZE
to maybe four: typedef SIMD<code_type, SIZE> mesg_type;
See if that helps.
from modem.
from modem.
decode.cc
of course ;-)
from modem.
from modem.
keep me posted
from modem.
Hello,
My findings so far.
As I posted above, decode modified with your notes now runs very fast in a RPi 1. I wanted to make a comparison on how robust the alternative version was, and planned to record signals and have them processed by the two decode versions. I wanted to do that in a computer as it runs faster. Now I can see that the modified program ends with segmentation fault after showin Es/N0 data. This only happens in the PC, as it runs fine in a RPi. I also tried downloading the latest version of "modem" and compiling it again, unmodified, and it also gives a segfault. But it works in RPi.
Summary:
modem code, weeks old, unmodified. PC: ok. RPi 1: ok, but takes 10s to decode.
modem code, weeks old, modified. PC: seg fault. RPi 1: ok, fast, robustness not yet compared.
modem code, cloned today, unmodified. PC: seg fault. RPi 1: ok, but takes 10s to decode.
I can provide more detailed information like logs, scripts, etc.
regards
from modem.
You should also update the code repository. I made a lot of SIMD related changes lately that might cause the problems you see. If that does not help, please add more info here, and please give me the output of:
grep -m 1 flags /proc/cpuinfo
from modem.
Hello
The modified program runs fast in a Raspberry pi 1 and the sensitivity or ability to decode weak signals seems just as good as the original program. I am doing more experiments. I plan to set up a permanent digipeater and RF to http gateway running on this old rpi.
regards
from modem.
That's good to hear. I did more improvements in the DSP and CODE repositories and would be interested to know how well they work on the old pi as well.
from modem.
Related Issues (11)
- F-Droid HOT 2
- Original and decoded files differ HOT 14
- Header files? HOT 2
- The modem works fine offline, but not when looping back through the sound card. HOT 3
- stream decoding process HOT 2
- Dynamic large file HOT 2
- 'fast'-branch issues HOT 2
- encode command options, compatibility with Rattlegram HOT 2
- decode program, output information, Es/N0 HOT 2
- Change packet size HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from modem.