Giter Club home page Giter Club logo

Comments (11)

xdsopl avatar xdsopl commented on June 12, 2024

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.

xdsopl avatar xdsopl commented on June 12, 2024

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.

ea4gmz avatar ea4gmz commented on June 12, 2024

from modem.

xdsopl avatar xdsopl commented on June 12, 2024

decode.cc of course ;-)

from modem.

ea4gmz avatar ea4gmz commented on June 12, 2024

from modem.

xdsopl avatar xdsopl commented on June 12, 2024

keep me posted

from modem.

ea4gmz avatar ea4gmz commented on June 12, 2024

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.

xdsopl avatar xdsopl commented on June 12, 2024

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.

ea4gmz avatar ea4gmz commented on June 12, 2024

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.

xdsopl avatar xdsopl commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.