AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Nice feature, but seems not to be quite ok:
- AbracaDABra recording played with qirx: recorded frequency looks ok.
- qirx recording properties in AbracaDABra : error in the recorded frequency display. Was 227.360MHz, Block 12C
- AbracaDABra recording played with qirx: recorded frequency looks ok.
- qirx recording properties in AbracaDABra : error in the recorded frequency display. Was 227.360MHz, Block 12C
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Thanks for reporting, could you please share the recording?
AbracaDABra: multiplatform DAB & DAB+ SDR | https://github.com/KejPi/AbracaDABra
Support forum: viewtopic.php?f=11&t=60938
Support forum: viewtopic.php?f=11&t=60938
-
- Beiträge: 5934
- Registriert: Sa 1. Sep 2018, 19:11
- Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
- Kontaktdaten:
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Or at least share the XML header...
What happens, when the kHz is written as KHz?
Clem, do you know what uff stands for? Otherwise I will ask Jan.
What happens, when the kHz is written as KHz?
Clem, do you know what uff stands for? Otherwise I will ask Jan.
-
- Beiträge: 630
- Registriert: Mo 1. Jun 2020, 02:28
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
After five minutes crawling through the sources, it seems that you're right. The given XML-Header (on the last page here) says "KHz", the program looks for the tag "kHz" (rawfileinput.cpp line 316). This is not the same, if this "blockElement.attribute("Unit", "kHz")" stuff is case-sensitive.
EDIT: Clem uses "Hz" and Abracadabra theats this value as "kHz". Doing so, it multiplies the given 227360000Hz by 1000 which overflowes a 32-Integer. The result (lower 32bits) is 0xEFB64800 (its 4.021.700.608)
uff - universal file format (according to wikipedia it is used for a CAD-program)
EDIT: Clem uses "Hz" and Abracadabra theats this value as "kHz". Doing so, it multiplies the given 227360000Hz by 1000 which overflowes a 32-Integer. The result (lower 32bits) is 0xEFB64800 (its 4.021.700.608)
uff - universal file format (according to wikipedia it is used for a CAD-program)
viterbi.dll replacement for QIRX-SDR (all versions): https://github.com/Drehrumbum/viterbi.dll#viterbidll
PathTweaker for QIRX-SDR: https://github.com/Drehrumbum/PathTweaker#pathtweaker
PathTweaker for QIRX-SDR: https://github.com/Drehrumbum/PathTweaker#pathtweaker
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
blockElement.attribute("Unit", "kHz") means look for Unit and if not found, set value to "kHz", it is correct, but the bug is on line 319. I will fix it in the eveneing.
AbracaDABra: multiplatform DAB & DAB+ SDR | https://github.com/KejPi/AbracaDABra
Support forum: viewtopic.php?f=11&t=60938
Support forum: viewtopic.php?f=11&t=60938
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
And here comes the link for download:
https://www.dropbox.com/s/49eflda70861j ... 0.raw?dl=0
https://www.dropbox.com/s/49eflda70861j ... 0.raw?dl=0
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Thanks for sharing!
AbracaDABra: multiplatform DAB & DAB+ SDR | https://github.com/KejPi/AbracaDABra
Support forum: viewtopic.php?f=11&t=60938
Support forum: viewtopic.php?f=11&t=60938
-
- Beiträge: 5934
- Registriert: Sa 1. Sep 2018, 19:11
- Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
- Kontaktdaten:
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
In case you need it, these are the common xml header for various dongles and software. I am aware that AbracaDABra currently only supports 2048 kHz sampling frequency (you already wrote that some days ago).
Qirx under Windows with DAB stick
Qirx under Windows with DAB stick
Airspy under Qt-DAB$ head -c 2000 ./dab_test_2023_02_06_20_36_55_2048000_fHz181936000_qirx405.raw.uff.raw.u8
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Name="QIRX" Version="4.0.5.0" />
<Device Name="R820T" Version="" Model="" />
<Time Unit="UTC" Value="2023-02-06T19:36:55Z" />
<Sample>
<Samplerate Unit="Hz" Value="2048000" />
<Channels Bits="8" Container="uint8" Ordering="N/A">
<Channel Value="I" />
<Channel Value="Q" />
</Channels>
</Sample>
<Datablocks>
<Datablock Count="72843264" Number="1" Unit="Channel">
<Frequency Value="181936000" Unit="Hz" />
<Modulation Value="DAB" />
</Datablock>
</Datablocks>
Qt-DAB under Windows 4.3$ head -c 2000 ./dab_test_AIRspy-6A-Mo--Feb--6-2023-21-31-26.uff
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Name="Qt-DAB" Version="5.0"/>
<Device Name="AIRspy" Model="I"/>
<Time Unit="UTC" Value="Mon Feb 6 21:31:40 2023
"/>
<Sample>
<Samplerate Unit="Hz" Value="3000000"/>
<Channels Bits="12" Ordering="LSB" Container="int16">
<Channel Value="I"/>
<Channel Value="Q"/>
</Channels>
</Sample>
<Datablocks>
<Datablock Unit="Channel" Count="61341696" Number="1">
<Frequency Unit="KHz" Value="100"/>
<Modulation Value="DAB"/>
</Datablock>
</Datablocks>
</SDR>
Qt-DAB under Ubuntu 4.4.2$ head -c 2000 ./dab_test_Generic\ RTL2832U\ OEM-6A-Mo--Feb-6-2023-20-35-32_windows.uff
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Name="Qt-DAB" Version="4.3"/>
<Device Name="rtlsdr" Model="Generic RTL2832U OEM"/>
<Time Value="Mon Feb 06 20:36:00 2023
" Unit="UTC"/>
<Sample>
<Samplerate Value="2048000" Unit="Hz"/>
<Channels Container="uint8" Ordering="LSB" Bits="8">
<Channel Value="I"/>
<Channel Value="Q"/>
</Channels>
</Sample>
<Datablocks>
<Datablock Number="1" Count="35006440" Unit="Channel">
<Frequency Value="181936" Unit="KHz"/>
<Modulation Value="DAB"/>
</Datablock>
</Datablocks>
</SDR>
Qt-DAB under Ubuntu 5.0$ head -c 2000 ./dab_test_Generic\ RTL2832U\ OEM-6A-Mo--Feb--6-2023-20-43-40_ubuntu_442.uff
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Name="Qt-DAB" Version="5.0"/>
<Device Model="Generic RTL2832U OEM" Name="rtlsdr"/>
<Time Unit="UTC" Value="Mon Feb 6 20:44:09 2023
"/>
<Sample>
<Samplerate Unit="Hz" Value="2048000"/>
<Channels Container="uint8" Bits="8" Ordering="LSB">
<Channel Value="I"/>
<Channel Value="Q"/>
</Channels>
</Sample>
<Datablocks>
<Datablock Number="1" Unit="Channel" Count="41154776">
<Frequency Unit="KHz" Value="181936"/>
<Modulation Value="DAB"/>
</Datablock>
</Datablocks>
</SDR>
Qt-DAB with Hack RF 5.0$ head -c 2000 ./dab_test_Generic\ RTL2832U\ OEM-6A-Mo--Feb--6-2023-20-44-58_ubuntu_50.uff
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Version="5.0" Name="Qt-DAB"/>
<Device Model="Generic RTL2832U OEM" Name="rtlsdr"/>
<Time Value="Mon Feb 6 20:45:21 2023
" Unit="UTC"/>
<Sample>
<Samplerate Value="2048000" Unit="Hz"/>
<Channels Ordering="LSB" Bits="8" Container="uint8">
<Channel Value="I"/>
<Channel Value="Q"/>
</Channels>
</Sample>
<Datablocks>
<Datablock Unit="Channel" Count="51051738" Number="1">
<Frequency Value="181936" Unit="KHz"/>
<Modulation Value="DAB"/>
</Datablock>
</Datablocks>
</SDR>
AbracaDABbra with rtl_tcp DAB stick under Ubuntu$ head -c 2000 ./dab_test_hackrf-6A-Mo--Feb--6-2023-21-26-29_hackrf.uff
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Version="5.0" Name="Qt-DAB"/>
<Device Model="--" Name="Hackrf"/>
<Time Value="Mon Feb 6 21:26:45 2023
" Unit="UTC"/>
<Sample>
<Samplerate Value="2048000" Unit="Hz"/>
<Channels Ordering="LSB" Container="int8" Bits="8">
<Channel Value="I"/>
<Channel Value="Q"/>
</Channels>
</Sample>
<Datablocks>
<Datablock Number="1" Count="37084430" Unit="Channel">
<Frequency Value="181936" Unit="KHz"/>
<Modulation Value="DAB"/>
</Datablock>
</Datablocks>
</SDR>
Thanks to this overview I found another bug in Qt-DAB (in combination with Airspy).$ head -c 2000 /tmp/abra_2023-02-06_214501_6A_rtltcp.uff
<?xml version="1.0" encoding="utf-8"?>
<SDR>
<Recorder Name="AbracaDABra" Version="1.99.4+"/>
<Device Name="rtl_tcp" Model="Generic RTL2832U OEM"/>
<Time Value="2023-02-06 20:45:15" Unit="UTC"/>
<Sample>
<Samplerate Value="2048000" Unit="Hz"/>
<Channels Ordering="LSB" Bits="8" Container="uint8">
<Channel Value="I"/>
<Channel Value="Q"/>
</Channels>
</Sample>
<Datablocks>
<Datablock Number="1" Count="14745600" Offset="2048" Unit="Channel">
<Frequency Value="181936" Unit="KHz"/>
<Modulation Value="DAB"/>
</Datablock>
</Datablocks>
</SDR>
-
- Beiträge: 630
- Registriert: Mo 1. Jun 2020, 02:28
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
What's up with the "
" (Linefeed) at the end of the "Qt-DAB" Timestrings? Who needs this there?
BTW: I can't understand that one uses "KHz" instead of the correct "kHz" in such a program...
BTW: I can't understand that one uses "KHz" instead of the correct "kHz" in such a program...
viterbi.dll replacement for QIRX-SDR (all versions): https://github.com/Drehrumbum/viterbi.dll#viterbidll
PathTweaker for QIRX-SDR: https://github.com/Drehrumbum/PathTweaker#pathtweaker
PathTweaker for QIRX-SDR: https://github.com/Drehrumbum/PathTweaker#pathtweaker
-
- Beiträge: 5934
- Registriert: Sa 1. Sep 2018, 19:11
- Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
- Kontaktdaten:
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Thanks, although I am not a programmer, I've fixed these two bugs (along with the Airspy bug) in Qt-DAB and sent Jan two pull requests.
https://github.com/JvanKatwijk/qt-dab/pull/283
https://github.com/JvanKatwijk/qt-dab/pull/282
BTW, I also fixed the UTC time in Qt-DAB, which was used as local time, not UTC.
https://github.com/JvanKatwijk/qt-dab/pull/283
https://github.com/JvanKatwijk/qt-dab/pull/282
BTW, I also fixed the UTC time in Qt-DAB, which was used as local time, not UTC.
-
- Beiträge: 5934
- Registriert: Sa 1. Sep 2018, 19:11
- Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
- Kontaktdaten:
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Petr:
In https://github.com/KejPi/AbracaDABra/bl ... r.cpp#L217 you should also use kHz, instead of KHz as I also sent Jan a PR to use it as well.
Hope this doesn't break the other function you have fixed today...
In https://github.com/KejPi/AbracaDABra/bl ... r.cpp#L217 you should also use kHz, instead of KHz as I also sent Jan a PR to use it as well.
Hope this doesn't break the other function you have fixed today...
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
I agree that kHz should be used, I used KHz in order not to break compatibility with other tools. I will change that and we will see what happens. The problem is tha XML is case sensitive and potential insensitivity has to be solved extra in code.
Currently i use this:
This is checking if unit is Hz (any case) and if not it is considered as kHz. It is aloso not 100% safe bacause I do not consider MHz being also possible unit.
Currently i use this:
Code: Alles auswählen
QString unit = blockElement.attribute("Unit", "Hz");
if ("hz" == unit.toLower())
{
m_deviceDescription.rawFile.frequency_kHz = freq/1000;
}
else
{
m_deviceDescription.rawFile.frequency_kHz = freq;
}
AbracaDABra: multiplatform DAB & DAB+ SDR | https://github.com/KejPi/AbracaDABra
Support forum: viewtopic.php?f=11&t=60938
Support forum: viewtopic.php?f=11&t=60938
-
- Beiträge: 5934
- Registriert: Sa 1. Sep 2018, 19:11
- Wohnort: Arnoldstein, Bezirk Villach Land, Österreich
- Kontaktdaten:
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
well, actually we only have 3 tools creating these kind of files:
- Qirx (uses Hz)
- Qt-DAB (used KHz, but will use kHz after my Pull request)
- AbracaDABra (actually uses KHz, you might change it into kHz)
Of course users still have created files with KHz (and don't want to hex edit them), so we need to be checking for KHz and kHz. As this is just showing the frequency, the main functionality is not affected, because Clem found that overflow out but could replay the file anyway.
- Qirx (uses Hz)
- Qt-DAB (used KHz, but will use kHz after my Pull request)
- AbracaDABra (actually uses KHz, you might change it into kHz)
Of course users still have created files with KHz (and don't want to hex edit them), so we need to be checking for KHz and kHz. As this is just showing the frequency, the main functionality is not affected, because Clem found that overflow out but could replay the file anyway.
Re: AbracaDABra - multiplatform SDR for RTL-SDR USB sticks
Overflow was caused by bug in implementation, not KHz unit. It is already fixed. I will change the unit to kHz when storing the header.
AbracaDABra: multiplatform DAB & DAB+ SDR | https://github.com/KejPi/AbracaDABra
Support forum: viewtopic.php?f=11&t=60938
Support forum: viewtopic.php?f=11&t=60938