Posts by SWL - markro92

    Here is version 2.0.6, mainly a stability update.

    Download: http://v.1337team.tk/dvb-s_gui_amsat.zip


    !!! Edit: I forgot to add the 'platforms' folder to 2.0.6 release initially, so you need to download the release again if it's missing, sry :)


    Changelog:

    • CPU supporting AVX is no longer required for the Viterbi Worker Thread (S1 only). Minimum is SSE4.1. Viterbi decoder should be a bit slower now, but that isn't the bottleneck right now anyway.
    • compiling with GCC flag -msse4.1 instead of -msse4.2
    • Window height is now as small as possible at startup
    • Upgraded Qt Version from 5.5.0 to 5.12.2
    • Upgraded Compiler Version from GCC 5.1.0 to GCC 7.3.0
    • Added CPU name and Features to Titlebar
    • Added additional debug output
    • LimeSDR: calling LMS_SetLPF only once at startup now (Setting filter bw is a bit faster)
    • Changed default TED gain/damping values back to more stable ones


    i2NDT: this version should work now for you i think.

    to everyone else: I require SSE4.1 for the LDPC decoder, and that won't change in the near future. So i'll take that as a minimum requirement.


    For the next version i'll primarily do SDRPlay support and Demodulator performance improvements.

    ik1hgi Tony: the supported instruction set. The CPU on the right screenshot supports SSE4.1 and SSE4.2 in the Instructions list, thats what my software needs as minimum currently.

    I will add code that runs without SSE4 soon, but at the moment, CPUs without it are not supported right now!

    @IW1DTU: is it decoding in realtime? no buffer overflows?

    Your CPU seems to be barely making it :D good job, also with the RTLSDR and very low bandwidth. congratulations is all i can say :)


    @IU2KAC: Whats your CPU model?


    @ik1hgi Tony: Your CPU only supports the SSSE3 instruction set. My software currently uses SSE4.2 instructions, i can't do anything about that now. I'm optimizing critical sections of my code with hand-written assembler code, because i need to squeeze every single bit of computing power out of it. But I'll do multiple versions in the near future, which are intended to run on older CPUs. I will let you know.

    Also, what did you mean in your last post (#81) ? something with SDRSharp? I cant really tell :)


    @all: I'll add CPUID info to the next version, so it's easier to tell which CPU model you use, and which feature flags are enabled. In the meantime, you can use the tool CPU-Z to provide me with infos about your CPU model, interesting things are clock speed, and features, like SSE / AVX. That way i can set priorities on what change next. I'm doing preparations on receiving multiple transponders at once in one of the next versions. That could be a bigger update end of May/June, which could be a great addition for the full duplex users.

    @DD1US: try to disable LDPC decoding temporarily and try to set the correct FEC. otherwise the LDPC decoder eats up too many resources. Can you send me a mail with a screenshot? mail addr. is inside the menubar. Help -> Info, or releasenotes.

    I'm also in teh amsat spectrum monitor chat.

    k, here is the new release 2.0.5.

    Download: http://v.1337team.tk/dvb-s_gui_amsat.zip


    Changelog:

    • ~30% performance improvement for FIR Worker Thread
    • ~100% performance improvement for Resample Worker Thread
    • Fixed Spectrum Inversion not working depending on DVB-S mode.
    • Frequency and symbolrate can now also be set via textbox (press enter or tab).
    • Saving last used FEC setting when changing DVB-S Modes
    • Added worker stats for debugging
    • Added Version to titlebar
    • Config file (LimeSDR rx channel / path settings)
    • LimeSDR Debug output


    For the next version i'll probably improve frame sync detection (SOF) for weak signals, and overall demodulator performance. There will also be a decimation setting to improve reception of very low symbolrate transponders. I'll probably order a RSP1A (i should start to think about donations :P), also there could be 8PSK support in the next version as well.


    @DD1US: input port selection for the LimeSDR should now be possible.


    @vu3tyg: I have a NooElec RTL, it says NooElec.com and NESDR Smart in the casing,

    but no problems here with that. Also tried a Terratec stick, very weird.

    I'll try to compile a new librtlsdr and provide you with a test version in a bit.

    Hi all :)

    I'll release a new version tomorrow, with mostly performance and gui improvements / bugfixes and a config file.


    To the people requesting support for the SDRPlay:

    no it's not supported at the moment, but i can implement experimental support for it in one of the next versions.

    Ok, there you go! version 2.0.4

    - Added LimeSDR support. Tested with LimeSDR Mini.

    - Added DVB-S1 support

    - Made UDP output address and port changeable

    - Minor GUI fixes


    http://v.1337team.tk/dvb-s_gui_amsat.zip


    Small addition because of the new DVB-S1 feature:

    there is a new Skip Symbol button. if you have timing and carrier lock, the next step is to choose the right FEC. after that, skip symbols, and rotate the constellation with the derotate slider, until the sync_confidence value at the bottom of the window increases and stays high. There are two possible derotate settings causing the sync_confidence value to go up, but only one of them works. they are 180° apart.

    k, that should explain a lot :D No auto-lock feature yet. Still have many more things to improve.

    Hi, it supports DVB-S too, but it's not enabled in this version.

    I'll try to make it switchable at runtime in the next version. It has been a compiler flag until now. I think that next weekend is realistic. just working on LimeSDR support.

    Ok a few tips to make locking to the signal easier:


    Getting Timing recovery right is the first step.

    There is a Symbolrate Slider that needs to be very close to the actual symbolrate after centering the transponder in the waterfall display. You can check if you have timing lock by watching the symbolrate display at the very bottom of the window. It should stay very close to the sliders symbolrate without drifting away. If it drifts away too much, change the symbolrate slider again, to reset the current value (bottom of screen) to the sliders value, because the slider only affects filtering, but not resampling!

    It this is done correctly, the IQ Plot is flashing from time to time. You will see a circle for strong signals, but not more until this point. Timing recovery should work reliably, also for very weak signals.


    The next thing to do is to enable carrier recovery in the 'Fine' carrier cecovery tab. If you do this right, you should see more symbols inside the IQ plot. A valid QPSK constellation should also appear. For weak signals, increasing gain and damping can be necessary. If you see the derotated QPSK constellation, you can decrease the gain again.


    I'll choose better default settings in the next release.

    Hope this helps :)


    Marcel

    Ok, i just released a new version where the LDPC decoder should be more robust for low SNR signals. Also cleaned up the UI a bit.

    The next version (2.0.3) will probably be a usability update (changeable udp port, config file for saving last used freq / gain settings).

    After that (2.0.4), probably improvements to the demodulator (frame sync detection, carrier recovery, and LimeSDR support. Just ordered one :D)


    http://v.1337team.tk/dvb-s_gui_amsat.zip

    I3LPO: Try Müller & Muller algorithm (M&M TED) instead of gardner, if symbolrate and samplerate are close together. should help! (gain settings are a bit more important in that mode.)

    Also, you didn't set the correct symbolrate in the "Timing Recovery" tab.

    You also need to enable Carrier recovery after having Timing Lock. That means, that the symbolrate display at the bottom of the window should stay close to the symbolrate you set. The higher Timing Loop damping and gain are, the faster you'll get a timing lock, but that can also increase inter-symbol interference.


    And make sure that the transponder is in the middle, every little bit counts at this bandwidth with the RTLSDR.


    @Ron DATV: i really should get a LimeSDR :D

    Hi ron, it's udp port 8888, like i wrote in my first post.

    VLC URL: udp://@:8888


    One thing i noticed: no need to use the equalizer feature.

    Equalized symbols are only shown in the I/Q plot, but are not used otherwise.

    Forgot to mention that.