Projet

Général

Profil

PhyGRC » Historique » Version 2

Robin Gerzaguet, 08/09/2014 16:06

1 1 Robin Gerzaguet
h1. PhyGRC
2
3
Ce wiki a pour objectif de rassembler la documentation réalisée pendant le stage de Florian Cotte. Son objectif est de créer une chaîne OFDM dans l'environnement GnuRadio (principalement par l'établissement de la couche Phy), et d'utiliser cette technique de modulation multiporteuse pour diagnostiquer les performances de la radio URSP N210, notamment en présence d'auto-interférences.
4
5
6 2 Robin Gerzaguet
7
h2. Installation du module phyGRC pour l'environnement Gnuradio
8
9
h3. Configuration de GnuRadio
10
11
Par défaut, l'installation de nouveaux modules dans gnuradio se fait dans des répertoires nécessitant des droits administrateurs (/usr/local) ce qui peut poser des soucis à la fois pour le maintien de versions à jour et le déploiement de mises à jour des modules. L'objectif est de déporter la compilation du module dans un répertoire accessible en lecture écriture par l'utilisateur, et reconnu par GnuRadio. Le répertoire choisit sera /home/user/modulesGRC. 
12
Le répertoire en question doit être reconnu comme un repertoire contenant des modules par Gnuradio. Il faut donc éditer le fichier ~/.gnuradio/config.conf et y ajouter
13
> [grc]
14
> local_blocks_path=/home/user/modulesGRC
15
16
17
18
h2. Synoptique et descriptif des blocs 
19
20
h2. Problématiques Rencontrées
21
22
h3.  Absence de log4cpp
23
24 1 Robin Gerzaguet
Ce problème survient lors de la compilation d'un module.
25
Son apparition provient de l'absence de la librairie adaptée. Il peut être résolu par les manipulations suivantes : 
26
   - Installation à partir du site : http://log4cpp.sourceforge.net/
27
   - Récupération des sources directes. http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/log4cpp-1.1.1.tar.gz/download
28
   - Compilation par les commandes suivantes : 
29
* ./configure
30
* make
31
* make check
32
* sudo make install
33
34 2 Robin Gerzaguet
h3. Compilation de Modules dans un répertoire local sans droits administrateur
35 1 Robin Gerzaguet
36
Dans l'objectif de compiler des modules sans passer par /usr/, on peut définir un répertoire local de compilation. La compilation se fait alors de la manière suivante :
37
* mkdir build
38
* cd build
39
* cmake ../
40
* make
41
Une fois la compilation terminée, il faut se rendre dans le répertoire build et éditer le fichier cmake_install.cmake. Il faut remplacer les premières lignes et changer le répertoire par défaut /usr/local, par le répertoire par le répertoire local voulu.
42
<pre>
43
 IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
44
 SET(CMAKE_INSTALL_PREFIX "/usr/local")
45
</pre>
46
Ensuite procéder à l'installation sans avoir des besoin des droits administrateurs.
47
* make install
48
49
Pour avoir les blocs dans GRC il faut créer ou éditer le fichier ~/.gnuradio/config.conf et y ajouter
50
> [grc]
51
> local_blocks_path=path-to-installed-module
52
53
54 2 Robin Gerzaguet
h3. Cannot import module
55 1 Robin Gerzaguet
56
Cette problématique survient dans GRC une fois que les blocs sont importés, lors de l'exécution du flux de process en python. Le problème vient de l'absence de définition du path adéquat, permettant la bonne importation du module.
57
Il faut modifier le fichier .bashrc de manière à charger la configuration des modules.
58
<pre>
59
# Setting Pythonpath 
60
export LD_LIBRARY_PATH=/home/riesco/modulesGRC/lib:$LD_LIBRARY_PATH
61
export PYTHONPATH=$PYTHONPATH:/home/riesco/modulesGRC/lib/python2.7/dist-packages
62
</pre>