Skip to content
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

reformat example data files to SigMF format. #3

Open
wants to merge 1 commit into
base: public_squash
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ You can use `inspectrum` to visualize the raw sample file:

```
sudo apt install inspectrum
inspectrum -r 50e6 samples/mini2_sm
inspectrum samples/mini2_sm.sigmf-data
```

<img alt="Inspectrum screenshot of Drone-ID bursts" width=500 src="./img/inspectrum.png"></a></p>
Expand All @@ -45,7 +45,7 @@ pip3 install -r requirements.txt

You can now run the decoder on the sample file:
```
./src/droneid_receiver_offline.py -i samples/mini2_sm
./src/droneid_receiver_offline.py -i samples/mini2_sm.sigmf-data
```

### Results
Expand Down Expand Up @@ -82,9 +82,9 @@ The script performs detection and decoding just as the live receiver would. It p
}
```

The summary contains decoding stats and flight path. In the `mini2_sm` sample, the drone did not have GPS coordinates locked yet, and only the smartphone's location is transmitted:
The summary contains decoding stats and flight path. In the `mini2_sm.sigmf-data` sample, the drone did not have GPS coordinates locked yet, and only the smartphone's location is transmitted:
```
$ ./src/droneid_receiver_offline.py -i samples/mini2_sm
$ ./src/droneid_receiver_offline.py -i samples/mini2_sm.sigmf-data
… … …
Frame detection: 10 candidates
Decoder: 9 total, CRC OK: 7 (2 CRC errors)
Expand All @@ -96,9 +96,9 @@ App Coordinates:
(51.447176178716916, 7.266528392911369)
```

For `samples/mavic_air_2` both locations are transmitted:
For `samples/mavic_air_2.sigmf-data` both locations are transmitted:
```
$ ./src/droneid_receiver_offline.py -i samples/mavic_air_2
$ ./src/droneid_receiver_offline.py -i samples/mavic_air_2.sigmf-data
Decoder: 1 total, CRC OK: 1 (0 CRC errors)
Drone Coordinates:
Expand Down Expand Up @@ -139,7 +139,7 @@ The receiver will hop through a list of frequencies and, if a drone is detected,

> If you're looking for a deeper dive into the processing steps, we suggest calling the offline decoder with `--debug`. This will **enable a GUI** with step-by-step decoding.
> ```
> ./src/droneid_receiver_offline.py -i samples/mini2_sm
> ./src/droneid_receiver_offline.py -i samples/mini2_sm.sigmf-data
> ```


Expand Down
File renamed without changes.
52 changes: 52 additions & 0 deletions samples/mavic_air_2.sigmf-meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"annotations": [
{
"core:freq_lower_edge": 2455000000,
"core:freq_upper_edge": 2464000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 93010,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2455000000,
"core:freq_upper_edge": 2464000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 128639,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2440530000,
"core:freq_upper_edge": 2449530000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 165465,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2440530000,
"core:freq_upper_edge": 2449530000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 24190,
"core:sample_start": 201090,
"core:generator": "OmniSIG Studio"
}
],
"captures": [
{
"core:sample_start": 0,
"core:frequency": 2457500000.0
}
],
"global": {
"core:version": "1.1.0",
"core:datatype": "cf32_le",
"core:description": "3 complete and one partial DroneID Bursts from a DJI Mavic Air 2",
"core:sample_rate": 50000000
}
}
File renamed without changes.
106 changes: 106 additions & 0 deletions samples/mini2_sm.sigmf-meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{
"annotations": [
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 8030,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 56710,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 105340,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 250850,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 444520,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 493250,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 541780,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 590080,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 638530,
"core:generator": "OmniSIG Studio"
},
{
"core:freq_lower_edge": 2410000000,
"core:freq_upper_edge": 2419000000,
"core:label": "DroneID",
"core:description": "DroneID",
"core:sample_count": 32180,
"core:sample_start": 687290,
"core:generator": "OmniSIG Studio"
}
],
"captures": [
{
"core:sample_start": 0,
"core:frequency": 2404885000.0
}
],
"global": {
"core:version": "1.1.0",
"core:datatype": "cf32_le",
"core:description": "10 complete DroneID Bursts from a DJI Mini 2",
"core:sample_rate": 50000000
}
}