---
# System prepended metadata

title: TSA - TD 10
tags: [TSA, S2]

---

* # TSA - TD 10
###### tags: `TSA` `S2`

## Execice 3 Architecture

La routine de cet exercice sert à calculer l'équation aux différences pour un filtre de taille L et des données d'entrée de taille N

### Rappel de l'architecture

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


Multiplication du contenu de dma et pma (16bits) dans PREG (32bits)
On ajoute à chaque fois le contenu de PREG dans un accumulateur (32+n bits)
n correspond au(x) bit(s) de garde pour eviter le depassement
On prend apres que les 16bits de poids fort

il y a un registre à décalage qui sert aux divisions faciles par des puissances de 2

### Petit rappel convolution avec un filtre FIR de longueur L

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

### Que font les 3 lignes ? 

La routine d'interruption fait exactement une convolution du signal par un filtre FIR (quelle coïncidence !)

```
RPT #L-1
MACD hL-1, *-
APAC
```


### Instruction RPT 

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

Première instruction : Repeat uniquement MACD L fois


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

Le registre auxiliaire pointe sur l'échantillon le plus ancien (X n-(L-1))

### Insctruction MACD


![](https://i.imgur.com/cazhN3T.png)
Les parties en rouge sont importantes

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

MAC = multiplier puis accumule
Mais ici on fait l'inverse

* Addition accumulateur plus sortie du multiplieur 
* On va mettre ce qui vient de dma dans TREG0
* On va faire la multiplication DMA * PMA dans le PREG (produit)
* \* indique l'@ de AR0 et \- on decremente 
* Le moins sert à modifier le pointeur vers une adresse inférieure à chaque fois
* (PFC)+ 1 -> PFC indique que PFC va etre incrémenté de 1
* (dma) -> (dma)+1 sert à recopier le contenu de l'@ de DMA dans la case @+1 (cette ligne donne le nom de MACD)
* 

![](https://i.imgur.com/CHr6PhI.png)
On écrase à chaque fois la valeur d'en dessous jusqu'à arriver tout en haut du dma


### Instruction APAC

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

On ajoute d'abord puis on multiplie
C'est pourquoi on met un APAC a la fin pour ajouter la derniere valeur

### Adressage circulaire

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

Adressage circulaire possible en C

La valeur courante vient écraser la valeur la plus ancienne. Mémoire organisé de façon circulaire

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


La routine d'interruption calcule y[n] en faisant des additions et multiplications. Déclenché à chaque fois à la fréquence d'horloge d'acquisition du signal (a chaque fois qu'on a un nouvel échantillon)


## Exercice 2 : Structure de filtrage

1)
![](https://i.imgur.com/bJ7AjCX.png)

Travailler en z sur ce type de structure


![](https://i.imgur.com/66ZDHu7.png)

2)
![](https://i.imgur.com/sMA26UO.png)

Fonction de transfert = produit des 4 systèmes.
Les découpes sont possible uniquement là où il y a un fil tout seul (pas aux + et au fonction de retard)

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

**H1.**
![](https://i.imgur.com/ZoPr4vh.png)

**H2.**
![](https://i.imgur.com/u4ZhyRI.png)



**H3.**
![](https://i.imgur.com/Svnyuhq.png)

**H4.**
![](https://i.imgur.com/6xCZHAl.png)


Avec un peu de reflexion on voit que les 2 filtres sont identiques
![](https://i.imgur.com/GLdmZAR.png)

**Rappel du filtre moyenneur**
![](https://i.imgur.com/jfw4QHz.png)

**Bilan et type de filtre**
![](https://i.imgur.com/yL3FhO8.png)

Petit exemple : 
![](https://i.imgur.com/Y2kocr2.png)


## Exercice 1: Quantification

1.a) On a un pas de quantification de 2.5V 
Niveaux arrondis au milieu des intervales (-3.75,-1.25,1.25,3.75)


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

1.b) On a plus de point vers 2.5V
Nombre identique d'échantillons dans chaque intervalle

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

2)

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


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

Peut être comparé à la QAM


