lenvironnement SCICOS
MODULE TRC6
I) Prsentation de la problmatique :
SCICOS permet de raliser une programmation par objet facilitant ainsi la mise en place dun
module de communication. Nanmoins la toolbox communication nest pas implante par
dfaut, il faut donc la charger dans SCICOS pour utiliser les palettes configures dans le cadre
de notre projet.
Il est noter que les squences de TPs sont libres dans le sens ou vous pouvez installer
SCICOS et les librairies associes chez vous.
Nanmoins, la note prendre en compte lavanc de votre travail et le guide technique portant
sur lutilisation de votre chane de transmission.
1
II) Initiation Scilab/Scicos.
Ralisation pratique
APPLICATION 1 :
Afin de se familiariser avec le logiciel, nous allons raliser un premier schma de conception
se composant dune source alatoire, dun modulateur QPSK et de fentre de visualisation
temporelle.
Le schma se compose dune horloge dvnement qui active chaque bloc et des blocs
suivants :
2
- Gnrateur de nombre alatoire
- Dun modulation M-PSK, avec M=4
- De fentre de visualisation temporelle
On trouvera ces lments dans les palettes Mod Num Source, Mod Num Communication et
sink.
Les entres/sorties sont reprsentes par un trait noir, obtenu en double cliquant sur la sortie
du bloc concern. Les traits rouges reprsentent les venements.
APPLICATION 2 :
Nous allons apprendre dans cette application excuter scicos sous scilab et rcuprez les
rsultats de la simulation sous Scilab.
3
NOUS ALLONS PROCEDER PAR PARTIE, dabord lmetteur progressivement et on
validera lorsquon observera la squence filtre en mission. Puis aprs lmetteur et filtre
nyquist de reception, on observera la squence filtre.
On met ensuite en place le rcepteur et au final le bruit.
Attention, le plus ne marche pas, on rcuprera au final lexemple qui sera sauvegard.
La simulation portera sur 100 symboles (Nu), chaque symbole tant cod sur 2 bits (Nbit=2).
La source devra donc gnrer un vecteur ligne de Nu symboles (ones(Nu,1), chaque symbole
tant cod sur 2 bits (Nbits=2) soit un nombre de bit par entier =2*(ones(100,1)).
Chaque entier dfini prend pour valeur 0 ou 1, on choisira donc un type =1 pour chaque
symbole soit Type=1*ones(100,1) ;
La modulation choisir est une modulation QPSK, soit 4 tats possibles pour chaque
symboles. Donc le nombre dtat total gnrer est (2^Nbit)*ones(Nu,1).
La convolution ralis est un filtrage sur Nu bits pour I et Nu bits pour Q. la fonction de
transfert du filtre est dfini en temporel par :
4*r/pi*(cos((1+r)*pi*t_Ts) + (sin((1-r)*pi*t_Ts)./(4*r*t_Ts)))./(1-(4*r*t_Ts).^2); '
ou r=0,35 le facteur de roll off, et t_Ts la priode destimation du filtre.
Il sagit dun demi filtre de nyquist : Vector of impulse reponse = pulse*gain_em.
Un filtre de Nyquist est non causal, on va le dfinir sur 127 points (Nb_coeff)
Ainsi, t_Ts=1/fe*(-nb_coef/2:nb_coef/2-1) reprsente le vecteur temps.
Toutes ces variables sont enregistres sous scilab avant de lancer la simulation sous scicos
manuellement ou en excutant un programme de paramtre :
scs_m.props.context=[
'Te=0.1;'
'Nu=16;'
'Nech=15;'
'N=Nu*Nech;'
'Nbit=2;'
'nb_coef=127; '
'r=0.35; '
'fe=Nech; '
'gain_em=1; '
'gain_rec=1/Nech; '
'pulse=zeros(1,1); '
't_Ts=1/fe*(-nb_coef/2:nb_coef/2-1); '
'pulse = 4*r/%pi*(cos((1+r)*%pi*t_Ts) + (sin((1-r)*%pi*t_Ts)./(4*r*t_Ts)))./(1-
(4*r*t_Ts).^2); '
4
'Nb_vec=2^11; '
'nb_event=3;'
'Tfin=Te*Nb_vec'
'sigma=0.6;'
];
Ce programme sera nomm qpsk_teb_sim_ctxt
Lapplication est cette fois ci lance partir de scilab (onglet fichier -> Exec). Rcuprez le
fichier sous Y:/.. TRC6/Programme SCILAB/qpsk_teb_sim.
Dveloppement du projet
Vous allez raliser une chane de transmission QPSK, vous allez procder par tape afin de
valider chaque maillon de la chane.
Etape 1 :
- Concevoir une source binaire alatoire 2 sorties I et Q (modulation_QPSK)
- Sur-chantillonner votre signal par un facteur M
- Sous Echantillonner votre signal par un facteur M ce qui revient dmoduler
Etape 2 :
- Raliser un filtre de Nyquist
- Raliser un demi filtre de Nyquist en mission et en rception
- Gnrer un canal de bruit additif Gaussien
- Rajouter des multi-trajets dans votre canal.
Etape 3 :
- Raliser un dmodulateur par la mthode du minimum de vraisemblance (cf. le
rcepteur conu dans lapplication 2 de la premire sance de TP)
- Ajouter une technique de multiplexage par code au niveau de lemetteur (Code de
Walsh et code de Gold)
- Raliser le rcepteur
Etape 4 :
- Concevoir lalgorithme de Viterbi en mission et en rception
- Amliorer le rcepteur par un rcepteur Rake
5
-