creating_datasets_for_fingerprinting
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
creating_datasets_for_fingerprinting [2022/10/25 15:46] – christiandc | creating_datasets_for_fingerprinting [2022/11/09 12:15] (current) – christiandc | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | #Creating a dataset for fingerprintinp | + | #Creating a dataset for fingerprinting |
The objective of this tutorial is to create a non biased dataset for transmitter identification. By fixing the reciever on a robot, the distance and the canal is constantly and randomly changing, forcing the deep learning process to learn on the RF fingerprints. This tutorial explains how to use FIT/ | The objective of this tutorial is to create a non biased dataset for transmitter identification. By fixing the reciever on a robot, the distance and the canal is constantly and randomly changing, forcing the deep learning process to learn on the RF fingerprints. This tutorial explains how to use FIT/ | ||
Line 7: | Line 7: | ||
## Create your docker image | ## Create your docker image | ||
- | With docker, we will enable the nodes to use Gnuradio 3.7. The codes used are written in this version (waiting for an updtae). In order to do that, we will create an image containing theGnuradio 3.7 version and the python/C++ files used for the dataset creation. | + | With docker, we will enable the nodes to use Gnuradio 3.7. The codes used are written in this version (waiting for an update). In order to do that, we will create an image containing theGnuradio 3.7 version and the python/C++ files used for the dataset creation. |
First you have to get the python codes used. Download the following folder : | First you have to get the python codes used. Download the following folder : | ||
Line 21: | Line 21: | ||
WORKDIR /root | WORKDIR /root | ||
- | COPY ./docker | + | COPY ./< |
- | RUN chmod -R 777 ./gr-txid-master | + | RUN chmod -R 777 ./< |
</ | </ | ||
Line 29: | Line 29: | ||
In this dockerfile, the first line download the 3.7 Gnuradio version. Then it adds the python files used for the dataset creation and finally it gives the execution rights to the folder. | In this dockerfile, the first line download the 3.7 Gnuradio version. Then it adds the python files used for the dataset creation and finally it gives the execution rights to the folder. | ||
+ | |||
+ | Before building the image, take the node list used by the code which is in the scheduler.py file. This node list will be used in the scenario. | ||
We can now build our image and then access into it with an ssh command : | We can now build our image and then access into it with an ssh command : | ||
Line 52: | Line 54: | ||
</ | </ | ||
- | The following lines might be necessary in case of unfound file error : | + | The following lines might be necessary in case of unfound file error : |
< | < | ||
Line 108: | Line 110: | ||
< | < | ||
- | |||
#!/bin/bash | #!/bin/bash | ||
Line 141: | Line 142: | ||
echo "Tasks finished" | echo "Tasks finished" | ||
- | |||
</ | </ | ||
Line 147: | Line 147: | ||
< | < | ||
- | |||
- | # Example scenario description file | ||
- | # | ||
- | # All lines starting with "#" | ||
- | |||
- | |||
- | # Scenario textual description | ||
- | # | ||
description: | description: | ||
- | |||
- | # Experiment maximum duration | ||
- | # Time after which the experiment is forced to stop | ||
- | # | ||
duration: 3600 | duration: 3600 | ||
- | |||
- | # Node list | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # entry (entry point script relative to the task root) | ||
- | # exit (exit point script relative to the task root. Use " | ||
- | |||
#list of scheduler nodes= = [3, 4, 6, 7, 8, 9, 13, 14, 16, 17, 18, 23, 24, 25, 27, 28, 32, 33, 34, 35, 37] | #list of scheduler nodes= = [3, 4, 6, 7, 8, 9, 13, 14, 16, 17, 18, 23, 24, 25, 27, 28, 32, 33, 34, 35, 37] | ||
- | |||
nodes: | nodes: | ||
Line 183: | Line 161: | ||
- image: <[DOCKER USERNAME]/ | - image: <[DOCKER USERNAME]/ | ||
command: bash -lc " | command: bash -lc " | ||
- | |||
#emitter nodes corresponding to the scheduler list | #emitter nodes corresponding to the scheduler list | ||
Line 209: | Line 186: | ||
#add as many nodes you want to use | #add as many nodes you want to use | ||
- | |||
</ | </ | ||
Line 252: | Line 228: | ||
### | ### | ||
- | Switch on the base of the robot by pressing this switch on : | + | Switch on the base of the robot. |
- | + | ||
- | {{ :img_6215.jpeg?400 |}} | + | |
(the green "// | (the green "// | ||
Line 265: | Line 238: | ||
{{ : | {{ : | ||
- | {{ : | ||
### | ### | ||
Line 271: | Line 243: | ||
Login to the computor with the user : '' | Login to the computor with the user : '' | ||
+ | Transfer the first part python codes folder in the robot computer. | ||
To run the reciever code (from gr-txid) enter into the terminal : | To run the reciever code (from gr-txid) enter into the terminal : | ||
< | < | ||
- | ./ | + | .< |
</ | </ | ||
Line 316: | Line 289: | ||
< | < | ||
- | thomas@srvairlock: | + | username@srvairlock: |
</ | </ | ||
- | All the radios present in the scenario are succesivly sending packets to the robot. You can check thath everything is fine by doing : | + | All the radios present in the scenario are succesivly sending packets to the robot. You can check that everything is fine by doing : |
< | < | ||
Line 333: | Line 306: | ||
## Gathering the results | ## Gathering the results | ||
+ | To gather the results, at the end of the emissions we used a USB stick to collect the results directly from the computer of the robot. Copy and paste all the files under the format : | ||
+ | < | ||
+ | re_00_[number du node] and im_00_[number of node]</ | ||
+ | |||
+ | |||
+ | Congratulations, |
creating_datasets_for_fingerprinting.1666705596.txt.gz · Last modified: 2022/10/25 15:46 by christiandc