Comments (20)
from dab-cmdline.
Sure: https://sdrangel.org/downloads/dab_tii_2023-02-28T13_02_10_458.zip
from dab-cmdline.
from dab-cmdline.
Confirmed, very strange.
Qt-DAB even says, "File not found" when I change the extension to *.sdr
(assuming it's wav).
Mediainfo says,
Complete name : /home/andreas/Downloads/test.sdr
Format : Wave
File size : 37.9 MiB
Duration : 4 s 856 ms
Overall bit rate mode : Constant
Overall bit rate : 65.5 Mb/s
FileExtension_Invalid : act at9 wav
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 4 s 856 ms
Bit rate mode : Constant
Bit rate : 65.5 Mb/s
Channel(s) : 2 channels
Sampling rate : 2 048 kHz
Bit depth : 16 bits
Stream size : 37.9 MiB (100%)
eti-cmdline
says
./eti-cmdline-wavfiles -F ~/Downloads/test.sdr
/home/andreas/Downloads/test.sdr is not a recorded dab file, sorry
Installing device failed, fatal25
from dab-cmdline.
It"s a 16-bit 2.048MSa/s IQ .wav file recorded in SDRangel. I'll have to build qt-dab to see what it needs.
from dab-cmdline.
from dab-cmdline.
Oh, indeed, it's a 16bit 2ch wave file, Jan.
I checked under Windows. It's very difficult to lock. Left and right there are very strong signals.
Needed to use a bw filter.
I get
QIRX 4.0.7.0 TII Logger started at 2023_03_01 19:07:17 UTC
All times in the log are UTC as received from DAB!
Date/Time Chn EId Label MER Thrsh Patt M_Id S_Id Stren km abs km rel Bearing Own Lat Own Long OwnMSL Valid
---------------------- --- ---- ------------------ ---- ----- ---- ---- ---- ----- ------ ------ ------- --------- --------- ------ -----
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 9.1 0.24 0x59 22 18 0.872 1178.0 0.0 299.2 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 9.9 0.13 0x59 22 18 0.869 1178.0 0.0 299.2 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 9.9 0.13 0x59 22 1 0.157 1192.5 14.5 298.1 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 7.8 0.24 0x65 26 5 0.645 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 7.8 0.24 0x93 39 8 0.610 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 7.8 0.24 0xac 50 0 0.558 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 7.8 0.24 0xac 50 1 0.524 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 7.8 0.24 0xf 0 22 0.479 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0x65 26 5 0.645 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0x93 39 8 0.610 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0xac 50 0 0.558 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0xac 50 1 0.524 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0xf 0 22 0.479 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.7 0.24 0x65 26 5 0.645 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.7 0.24 0x93 39 8 0.610 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.7 0.24 0xac 50 0 0.558 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.7 0.24 0xac 50 1 0.524 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.7 0.24 0xf 0 22 0.479 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 8.7 0.28 0x59 22 18 0.894 1178.0 0.0 299.2 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 9.8 0.14 0x59 22 18 0.874 1178.0 0.0 299.2 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 8.0 0.24 0x65 26 5 0.645 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 8.0 0.24 0x93 39 8 0.610 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 8.0 0.24 0xac 50 0 0.558 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 8.0 0.24 0xac 50 1 0.524 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 8.0 0.24 0xf 0 22 0.479 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0x65 26 5 0.645 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0x93 39 8 0.610 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0xac 50 0 0.558 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0xac 50 1 0.524 0.000000 0.000000 -999 False
2023-02-28 13:02:00 Z NN C1B2 (Herts Beds Bucks) 4.9 0.24 0xf 0 22 0.479 0.000000 0.000000 -999 False
from dab-cmdline.
These are the transmitters, right?
---------------------------
Hemel Hempstead/Pimlico
---------------------------
Id: 2800259
Latitude: 51.7285
Longitude: -.4261
Altitude: 137m
Name: Hemel Hempstead/Pimlico
DAB Block: 10D
EId: C1B2
Main, SubId: 22 18
Frequency: 215.072MHz
Ant. Height: 69m
Power: 4KW
Polarisation: v
from dab-cmdline.
Dear Clem, assuming (= I don't know the spec, but even my muxes here have 2 hex numbers) that the pattern always contains of 2 hex numbers, Qirx shows it as 0xf (one digit) as well.
Any idea?
from dab-cmdline.
Yes, those are the transmitters. I updated the original comment to use the correct decimal number!
So actually, it looks like pattern is calculated properly as 0x59 / 89 / 0131
In table[]
0131, // 0 1 0 1 1 0 0 1 22
However, is the bug here:
for (i = 0; i < 70; ++i)
invTable [table [i]] = i;
for (i = 71; i < 256; i ++)
invTable [i] = -1;
The first for loop sets invTable[89] to 22, then the second for loop sets it back to -1.
from dab-cmdline.
If I change the code to:
for (i = 0; i < 256; i ++)
invTable [i] = -1;
for (i = 0; i < 70; ++i)
invTable [table [i]] = i;
The TII is now correctly decoded as 0x16 (22).
from dab-cmdline.
but do you mean 0xff or 0xf?
from dab-cmdline.
I was always getting a main TII of 0xff (which makes sense, as that table entry is set to -1 in the code above)
I'm not quite sure what you are referring to with regards to Qirx and 0xf. I can't see that in the screenshot you posted.
from dab-cmdline.
The 8th line shows 0xf, not 0xff
from dab-cmdline.
The 8th line shows 0xf, not 0xff
Ah, I see, in the text below the image. I presume that is because a pattern of 0xf maps to a M_Id of 0:
0017, // 0 0 0 0 1 1 1 1 0
I was definitely getting a pattern of 0x59, which was mapping to a TII of 0xff.
I think it is a bug just by inspecting the code above. invTable is corrupted.
from dab-cmdline.
Dear Clem, assuming (= I don't know the spec, but even my muxes here have 2 hex numbers) that the pattern always contains of 2 hex numbers, Qirx shows it as 0xf (one digit) as well.
Any idea?
Hello Andreas,
Please have a look at the DAB Standard ETSI EN 300 401 V2.1.1, p. 114, Table 26:
The column p is the TII Main Id, the pattern is the column ab(p). The correspondence is 1:1.
The pattern is just a binary number, which is usually converted into hexadecimal.
The pattern 00001111 (binary) is in hex 0x0f or simple f. 0x0f and f and 00001111 are all identical, decimal 15.
Thus, if the pattern f (=0x0f=00001111) is deocded, this indicates a Main Id of 0 (p value in that row of the table).
As you see by inspecting the table, there is no pattern 0xff, as the table ends at 0xf0 (binary 11110000). The rule guiding the pattern construction is that there MUST be exactly four binary 1's in the pattern, otherwise it is no longer unambiguous (I describe the drawback of this construction principle in detail in my "TII collision" tutorial).
The raw file which I also downloaded is near to unusable, as it is only a few seconds short. This is not enough (at least in qirx) to let all the TII carriers come to a stable state, to allow a correct decoding. As you see from the CIR spectrum, there are probably 5 transmitters contributing to the spectrum, as there are 5 clear peaks in the sepctrum. Due to the short time in my run only one is decoded, being 22/18.
This is also the reason why most of the entries in the TII logging file presented above are crap, they indicate mostly noise.
As correctly mentioned by @srcejon (in his revised table), the ETSI table shows for the Main Id 22 the binary pattern 01011001, which is hex 0x59, or decimal 89.
If a somewhat longer raw file were possible, I am pretty confident that at least three transmitters - perhaps even five - could be decoded, as the carriers are rather clearly showing up in the TII spectrum.
Best,
Clem
Here is the decoding with CIR and TII spectra.
from dab-cmdline.
Many thanks, Clem for your very detailed answer! Appreciating that a lot!
from dab-cmdline.
You're very welcome, as always!
from dab-cmdline.
from dab-cmdline.
Thanks for the fix!
from dab-cmdline.
Related Issues (20)
- debian package build for dab-cmdline HOT 3
- mot-object: does not save object to filesystem HOT 3
- AAC_OUT: it seems AAC LC format changed to AAC SBR HOT 10
- Use newer SSE2NEON for more intrinsics with Arm/Aarch64 fastpath HOT 1
- Stack corruption in reedSolomon::decode_rs HOT 4
- [Win32] crash in FULL_SPIRAL_sse() HOT 11
- streamInit() failed in python-example HOT 3
- Random "Sorry cannot handle service" HOT 14
- no audio out with Raspberry Pi OS Lite HOT 5
- Library for python HOT 2
- Example 1 - dataOutHandler question HOT 7
- Audio-device for cmdline.py HOT 2
- Example 3 crashes HOT 13
- dab-library within MPD plugin HOT 7
- semaphore.h clashes with system semaphore.h HOT 1
- tii_data_t doesn't include userData parameter HOT 4
- Problem in example 1 HOT 5
- Formal things HOT 5
- dabProcessor::reset sometimes terminates the app HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dab-cmdline.