-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash on Fedora with SDRplay #4
Comments
I do not speak English. I use translator. |
I meant 45dB with automatic gain. This is an indication of the signal strength at the antenna. |
P.S. SDRPlay no gain in db, it is gain reduction db |
@Oleg-Malyutin Hopw difficult would be to add compatibility for Hack-RF SDR? Cheers |
I don't have HackRF. Regards. |
Is possible for you to integrate with Soapy so HackRF and other SDRs can be used? |
Unknown. |
I added the QT modifications nedded for HackRF SDR. Now before compiling I need to create Cheers |
I'll see. I don't promise a quick answer. |
Great, no rush whatsoever! Lawrence |
I have the chinese SDRplay (DE BG7YZF) with libmirisdr-4 from f3exv/libmirisdr-4. I made my own rx_sdrplay.cpp and rx_sdrplay.h because the original was not working. This come because mine sdr is not working synchonous. I make it like the rx_airspy manner. My question is about the 8 bit samples. What values expect the software? Is it from 0-225 or from -128-127? |
I am writing through a translator. |
Hello Oleg,
Thank you for your quick response.
I use this driver from https://github.com/f4exb/libmirisdr-4
[https://opengraph.githubassets.com/547824d9ba890242d9975c1068698e4a26f9dc156330d2d02c81cf7d49e4702d/f4exb/libmirisdr-4]<https://github.com/f4exb/libmirisdr-4>
GitHub - f4exb/libmirisdr-4: Support of Mirics MSi001 + MSi2500 SDR devices<https://github.com/f4exb/libmirisdr-4>
Support of Mirics MSi001 + MSi2500 SDR devices. Contribute to f4exb/libmirisdr-4 development by creating an account on GitHub.
github.com
For other projects I use also this driver. I think this works well. I didn't see mistakes because I hadn't made no many projects.
Thank you very much.
Andre
…________________________________
Van: Oleg-Malyutin ***@***.***>
Verzonden: donderdag 4 mei 2023 16:51
Aan: Oleg-Malyutin/sdr_receiver_dvb_t2 ***@***.***>
CC: andre1968 ***@***.***>; Comment ***@***.***>
Onderwerp: Re: [Oleg-Malyutin/sdr_receiver_dvb_t2] Crash on Fedora with SDRplay (Issue #4)
I am writing through a translator.
8-bit -127 128.
I strongly do not advise the driver. Had experience with a similar msi driver on Linux. This is reverse engineering and a lot of mistakes. I did not set the exact frequency.
Chinese SDRPlay should work well with native drivers (I have both the original and from China). I recommend a version no newer than 2.x.
Regards.
Oleg.
—
Reply to this email directly, view it on GitHub<#4 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AHSZ4F73UPU6Z7YTFE3IS5TXEPM75ANCNFSM5H4VNUGQ>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Hello Oleg, |
Hello.
Regards. |
Hello, everybody. |
Hello. |
I've pulled recent changes, re-added HackRF/mirisdr support, fixed segfaults and some memory leaks (not all, I think) and fixed SMP bugs (it was designed as multi-threaded application, but it wasn't using more than 1 CPU core due to incorrect mutex/condition variable usage). |
I'll look at your changes. If you tell me where to look, I'll be grateful. |
My changes are here: https://github.com/vladisslav2011/sdr_receiver_dvb_t2/tree/mirisdr Feel free to cherry-pick, rebase, rewrite or just take ideas and implement differently. HackRF constellation looks fuzzy, but it runs with a lot less LDPC errors, than mirisdr with a clean constellation. Miri constellation is a lot cleaner... HackRF: 2 LDPC errors in ~20 minutes, miri: 8 LDPC errors in ~2 minutes Thanks a lot for an interesting project 👍 |
Ok. |
Hmmm. Lo leakage may slightly damage the central pilot, that can be ignored without any problems. So, Zero-IF frontends should not have any issues receiving DVB-T2 or any other properly designed OFDM (LTE for example).
I've pushed some more fixes to reduce CPU consumption and improve stability and added Ettus USRP frontend support. The constellation is not perfect, but it shows 31db SNR! With recent modifications (P1 correlation result scaling) it is possible to receive a very weak signal. B200 shows 30db SNR even at 0db gain setting (see the P1 constellation). |
"central pilot" - that's the problem. |
I thought, there is second pilot acquisition:
I've tried to do so, found, that things are not working well and I had to put both corrections back here (May be not the best place for that template definition...): This template is used in the signal source blocks: |
DC offset remove" and IQ imbalance remove must work with phase and frequency synchronization and timing synchronization. That is, with a restored signal. |
Why? The sample rate correction and phase angle correction depend on the demodulator output, so delaying these by arbitrary number of sample breaks tracking loops. That's why I have not moved these corrections to rx_* blocks. My tests are showing that the central FFT bin was having a small random magnitude offset before my changes and much the same after my changes. The elliptic distortion correction is working a bit better after my changes - the HackRF demapped constellation was showing some distortion before my changes and almost no distortion after my changes. |
If simply: |
What is happening with the central FFT bin can be seen on the "Miscellaneous plot" tab in the equalizer operation graphs. |
I launched your version and mine. |
I see increase in LDPC decoding failures even when IQ corrections are performed in the dvbt2_demodulator in sync (before vladisslav2011@22ee9e6), so it's different issue. |
"LDPC decoding trials (from 25 to 15 in my fork)". |
preprint_DC.pdf |
The article is interesting, but tracking power distribution grid frequency is completely different challenge... |
I had to remember my project. |
I'm testing commit 7a51d45 using MSi SDR frontend now and it runs for hours receiving the first multiplex without LDPC decoding failures, but it fails in several minutes, receiving the second multiplex... Even commit 9026004 with minimal modifications fails quickly. And the second multiplex shows very bad frequency estimation stability and demapped constellation stability. The constellation is "breathing" and eventually breaks completely for a duration of one symbol, but instantly recovers. It may be possible that some pulsed interference is not fully cancelled by the LPF. There may be a bug in the receiver (likely) or an issue with the transmitter (clipping or distortion, unlikely as the conventional TV receives it quite well). The llr_demapper performance is acceptable to me. There are 2 main CPU eaters, that want decent single thread performance: dvbt2_demodulator and ldpc_decoder. I've tried removing the resampler completely and setting the input rate to 9142857Hz - it works well (the dvbt2_demodulator consumes ~ 40% CPU) when the UDP stream is not played even in the "battery mode", but the LDPC decoder starts eating the whole CPU core upon VLC startup when running in the "battery mode". |
I think, I've fixed the "LDPC decoding failures" issue. There was a race between I've experimented with smaller FIR filters in the decimator and found, that small 16-tap filter works well at least for the 64QAM. |
I've just built this project from source using qmake and make on Fedora 34, and it starts up and detects my SDRplay RSP1a fine. But when I hit 'start', the only things that happen is the gain counting down, then the UI freezing up and a few seconds later a crash with message "Illegal instruction (core dumped)". No other output in the terminal whatsoever. Disabling AGC does not help.
Any way to fix this? Do you need more info?
The text was updated successfully, but these errors were encountered: