---
# System prepended metadata

title: TPS - TP 4
tags: [TPS, S2]

---

# TPS - TP 4

###### tags: `TPS` `S2`

## simulation

### emetteur

1) ![](https://i.imgur.com/WLaMdfV.png)
2) Relation entre le temps bit et le temps symbole: N = nombre de bits par symbole Tb = temps bit, Ts = N * Tb ![](https://i.imgur.com/OqsdpEl.png) Dans cette fenetre on voit bien que la periode de D2 est de 2 fois le bit time (donc le nombre de symbole par bits est de 2)
3) 
![](https://i.imgur.com/tGqoEfq.png) Pour changer la constellation de manière a avoir l'affichage en bits il faut changer le parametre input type du bloc mapping
4) Les 2 bits sont chacun liés à la valeur I(k) ou Q(k) 
| premier bit | deuxieme bit |
| -------- | -------- |
| 0 = im positif 1 = im négatif | lié à Q(k) |
| 0 = re positif 1 = re négatif | lié à I(k) |
5) Les blocs qui génèrent cos(wt) et sin(wt) sont des blocs sinwave, la fréquence de la porteuse (et donc de ces blocs) est a 2000pi. 
6) 
![](https://i.imgur.com/1id4nnl.png)
7) On utilise les cursor mesurements pour connaitre la largeur de la bande principale. on trouve 
$$
    \Delta = 100Hz
$$
![](https://i.imgur.com/HtAf5Jg.png)
La DSP se lit directement sur le schéma ou avec peak finder : 10.81 dBm/Hz pour la fréquence porteuse. En mW: 12.05 mW/Hz
On compare cette valeur à la valeur obtenue avec la formule de benett (j'ai la flemme de la mettre donc osef). :warning: dans le tp fc = carrier frequence (frequence porteuse pour hugo qui ne parle pas top anglais).
$$
    Sxx(f) = \frac{T_s}{2} * sinc^2(\pi (f - f_c) * T_s)
$$

Si on prend la valeur à la fréquence de la porteuse, sinc = 1. On a Ts/2 car il y a un lobe symétrique à -fc. AN avec la formule : 10 mW/Hz soit 10 dBm/Hz

### 1.2 Le recepteur, partie RF

1. montage
2. ![](https://i.imgur.com/1Zv1Q7h.png)
on regle la frequence fp du filtre (passband edge frequency) à 1200 Hz (environ fc + ordre de grandeur du lobe principal)
On remarque que I-demod n'est quand meme pas synchronisé à I mais osef la forme est OK

## 2. Emission Réelle avec USRP

### 2.1 Premiere approche

On fait le montage avec les valeurs suivantes

__bernouilly binary__:
sample time 1e-4
bit per sample 2

__QPSK Modulator Baseband__:
no config

__upsample__:
10
allow multirate processing

__Discrete FIR filter__:

coefficients: ones(1, 10)

__buffer__:
no config

__SDRU Transmitter__:
fc = 2.4545e9
master clock rate = 25,6 MHz
interpolation factor = 256
sample rate = frequence des symboles (100kHz avec le upsample)

Le upsample + FIR filter permettent d'ajouter des échantillons.

Spectre obtenus
span : 0.1 MHz
average (Traces/Markers > Trace Mode)
set ref : -30 dBm
![](https://i.imgur.com/uzImKMG.jpg)

montage simulink : ![](https://i.imgur.com/wVLST5w.png)


### Le filtre d'emission (ou de mise en forme)

Le filtre de mise en forme permet de réduire la bande du spectre utilisée. Pour cela on utilise un cosinus surélevé à la place du filtre ones(1, 10) : rcosdesign(alpha, span, OSR, shape)
les valeurs utilisées sont
alpha (roll-off): 0.2
span 8
OSR (Oversampling Ratio): 10
shape: normal

On peut tester directement dans matlab avec la commande 
> my_filter = rcosdesign(alpha, span, OSR, shape)
> fvtool(my_filter)

![](https://i.imgur.com/7LrAxIV.png)

:warning: pour afficher la réponse fréquencielle et pas impulisonnelle c'est :arrow_up: 
réponse sur 37 échantillons, max à 18