tomneda / DABstar

A DAB receiver with a technical focus forked from Qt-DAB
GNU General Public License v2.0
14 stars 2 forks source link

Don´t work with Astrometa DVB T2 Stick #19

Closed AustriaMV closed 1 month ago

AustriaMV commented 1 month ago

Don´t work with Astrometa DVB T2 Sticks.

Tested with Windows 10 and Linux Mint. Output:

Suggested size for outputbuffer = 0 stream opened stream started MOT w: 320, h: 240 RTLSDR functions loaded FIR Filter 2400 kHz Found Rafael Micro R828D tuner Found Panasonic MN88473 demod Supported gain values (16): 52.7 48.8 45.3 41.6 38.2 34.6 31.2 27.8 24.0 20.7 17.1 13.7 10.2 6.8 3.4 0.0 [R82XX] No valid PLL values for 1395000 Hz! astrometadvbt2 dvbt2 qt.core.qobject.connect: QObject::connect: No such signal QComboBox::activated (const QString &) qt.core.qobject.connect: QObject::connect: (sender name: 'gainControl') channel reset: all services will be stopped MOT w: 320, h: 240 WinUsb_GetOverlappedResult failed. ErrorCode: 000003E3h DabProcessor has stopped MOT w: 320, h: 240 channel reset: all services will be stopped MOT w: 320, h: 240 MOT w: 320, h: 240 WinUsb_GetOverlappedResult failed. ErrorCode: 000003E3h DabProcessor has stopped MOT w: 320, h: 240 channel reset: all services will be stopped MOT w: 320, h: 240 MOT w: 320, h: 240 MOT w: 320, h: 240 MOT w: 320, h: 240 xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx? xx?

tomneda commented 1 month ago

@AustriaMV: I wonder, you got DABstar running with Windows10? I invested some days doing that bit longer ago (with different approaches) but I always had issues, so I gave it up for the first. In Linux it works quite fine and I am not (more) so deep into Windows. At least the compile time was exorbitant because 16GB RAM was not enough under Windows (the size of the swap file goes up to grab about 30 GB more virtual RAM while linking which slows town the compile time extremely) but meanwhile I ordered 64 GB RAM and so I could give Windows a try again the next days / weeks.

I heard from Astrometa DVB T2 Sticks the first time, I guess it should be DAB-Stick compatible. I know that Qt-DAB got a new driver some months ago to support DAB-Sticks of Version 4. Maybe your stick do need that too. Have you already tried to run Qt-DAB if it works? If yes then I should also upgrade to the new Dab-Stick driver soon.

This lines are familiar to me:

qt.core.qobject.connect: QObject::connect: No such signal QComboBox::activated (const QString &)
qt.core.qobject.connect: QObject::connect: (sender name: 'gainControl')

But I know this error message first with Qt6 but DABstar on the mainline is still using Qt5. I just doing adaption to Qt6 in a side branch (not on the mainline yet which I only want to support) and this was one of the issues I found there. See here for the made Qt6-adaptions (should work with Qt5 too but I am not sure): https://github.com/tomneda/DABstar/commit/f6378555a257b3460540f2a4a10aaf2029fabcbf . Without fixing this issue you would not be able changing the RF gain of the DAB-Stick resp. Astrometa.

The error messageWinUsb_GetOverlappedResult failed. ErrorCode: 000003E3h suggested me a problem within Windows. What error message do you get within Linux?

old-dab commented 1 month ago

I compiled DABstar for Windows with Qt6: https://github.com/old-dab/DABstar/releases/tag/V2.5.0 No Problem with Qt6. Qt5 didn't work because Mingw 8.1 (part of Qt5) needed too much RAM. But a combination of Qt5 with Mingw 11.2 (part of Qt6) worked, too.

@AustriaMV: My Astrometa Stick works fine with DABstar. I would also suggest to try Qt-DAB, AbracaDABra or DABstar AppImage.

AustriaMV commented 1 month ago

Linux Mint DABstar V6.2.0 Work with RTL-SDR.COM V3 and V4 Don´t work with Astrometa DVB T2 Stick. Insufficient data for this program (1)

On Windows 10 whith V2.5.0 Same problem.

Qirx, AbracaDABra, Andis DABplayer have no problem.

AustriaMV commented 1 month ago

DABstar AppImage V7.2.0 on Linux Mint same problem.

tomneda commented 1 month ago

@old-dab : thanks for commenting that. I tried your build version with Windows: DAB-Stick and and SDRPlay3 first work, but with changing the RF-Channel (5A..13D) it hangs on both devices and I could only kill DABstar. Playing files works and I hear a sound, but the GUI control is a bit slowly. I will try building with Windows for myself next and will see what happens there. Thanks for the tip with MinGW. Formerly I tried also a native build with Visual Studio (still on Qt5) and failed also with big memory usage.

BTW: As already mentioned above, I see this

qt.core.qobject.connect: QObject::connect: No such signal QComboBox::activated (const QString &)
qt.core.qobject.connect: QObject::connect: (sender name: 'gainControl')

in the log and I could also not change the gain of the DAB-Stick.


@AustriaMV : It is difficult for me to find out the problem without having that hardware. Could you please still try Qt-DAB as DABstar based on a former version of Qt-DAB. If it should work with Qt-DAB I could look at the differences.

Best would building Qt-DAB for yourself but you could also try an AppImage (see https://github.com/JvanKatwijk/qt-dab/releases). Also, it is not clear to me if you build DABstar for yourself or use the AppImages (https://github.com/tomneda/DABstar/releases)? It makes a bit differences as an AppImage base on an older Ubuntu (DABstar on 20.04) to be compatible also to bit older (Debian based) Linuxes; so also some drivers could be a bit older.

AustriaMV commented 1 month ago

Astrometa Stick works with QT-DAB from your link on Linux Mint and Windows10.

Unfortunately there is a sound problem on BAYERN11D and BR24 has "Schlumpfsound" on Linux Mint.

Windows normal sound.

old-dab commented 1 month ago

I have two more ideas: 1) Have you tried rtl_tcp? 2) The Astrometa uses cheap quartz crystals that can have very large deviations. The coarse correction doesn't work well in DABstar. You could use QIRX, AbracaDABra or QT-DAB to set the ppm correction so that the frequency error is almost 0 kHz. QIRX can even do this automatically. You then enter the ppm value you have determined into DABstar.

tomneda commented 1 month ago

@AustriaMV : you are right, I receive also the BR24 on 11D with "Schlumpfsound" (bit shotgun sound with the frequency on the right channels sounds twice as high). It is the same effect which I handled with the fix for DABstar 2.7.0 for some other services. The other services work fine now but then BR24 (currently the only one) service makes this problem. It seems that the reason for the effect is not a defective codec but somewhere else. I will look further.

tomneda commented 1 month ago

@old-dab : I did not get rtl_tcp really to run in DABstar (I did not set too much attention to it), but it is the same in the (still) newest Qt-DAB, there it is also not working. The rtl_tcp server works because it works with AbracaDABra. Formerly I could only connect my RTL-Stick via rtl_tcp to AbracaDABra because direct connection was not working (is meanwhile fixed there).

In DABstar the direct connection always worked such good that I never missed a ppm correction, but when I change the ppm-value I got an expected response. I know that AbracaDABra has a very good automatic gain control. I tried this also but it is difficult which supporting so much devices because each device has different gain elements to controls. And there should be controled in such way to get the best EVM (Error Vector Magnitude), or simpler the best SNR (Signal to Noise Ratio).

My HackRF has a very huge frequency offset (I need -14ppm). Therefore I build-in a working ppm correction. But there seems no way to change the reference frequency in the HackRf (there is no reaction writing in the belonging registers). I made a workaround to change the sample frequency and input-frequency together so it behaves somehow changing the reference frequency.

@AustriaMV : I just recognized that Qt-DAB (the current version some hours old) suffers from the same problem with the "Schlumpfsound" on BR24.

tomneda commented 1 month ago

I found the "Schlumpfsound"-issue and commented it here https://github.com/tomneda/DABstar/issues/16#issuecomment-2408093070

AustriaMV commented 1 month ago

With V 2.8.0 no soundproblem. Get also Astrometa Stick working with ppm and gain settings Thanks @ Oldenburger.

Astrometa_Color_9C_ 2024-10-12 04-20-12 Astrometa_DABstar2024-10-12 04-09-00

tomneda commented 1 month ago

@AustriaMV : Nice to here that it works now.

-54 ppm is really huge offset. Here you receive at about 206 MHz, -54ppm would be be around -11kHz offset. The problem is, if this offset happens in the reference (crystal) part then it changes also the output sample rate, not only the frequency offset. The sample rate is 2048000 Sps, so 54ppm of it is about 111Hz offset.

I have some kind of this sample rate drift compensation build in. It turns the phase error of each carrier back (but not the not correct fitting BIN-frequency in the OFDM-FFT). You can see this in the lowest graphic when I mistune my DabStick ppm (is usual 0). The sloped line is normally flat:

grafik (the frequency offset is already automatically compensated here, you see that in the "BB freq corr." -3427)

You second picture shows that you have RS (Read Solomon) errors. This should be quite seldom as the signal looks good enough regarding SNR. But the correlation spectrum shows a smaller peak on the left side of the high center peak. This looks like that you have a DAB service nearer to you but with only a little TX power. But maybe high enough that it could disturb (makes ISI, Inter-Symbol-Interferece). The peak afterwards of the center peak (on the right) is also other TX station but their signals cannot interfere such much because there still carry the same OFDM symbol and the "guard period" resp. "cyclic prefix" part will cover that. But nevertheless the current symbol could be also some kind degenerated.

But if you hear no audible drops then the RS decoder seems really work fine. It is made for this (with the Viterbi FEC beforehand).

I guess I can close this issue (or you may)?

@old-dab : thanks for helping here.

old-dab commented 1 month ago

I think the issue "Don´t work with Astrometa DVB T2 Stick" is finished. May I suggest a new title for the issue? "Coarse frequency correction does not work".

tomneda commented 1 month ago

@old-dab : I prefer creating an own topic for that and make this "enhancement": https://github.com/tomneda/DABstar/issues/22

Because the course frequency correction does work principally but not in cases where the cause is a too much drifted reference frequency of the device which also shifts the sample rate of the data too much. But of course, this is a practical problem which should be handled.

So, I would not change this name and close this issue.

@AustriaMV : FYI