Top 20

1 0x00h 689 pts
2 boris39 689 pts
3 neoxquick 670 pts
4 maf-ia 652 pts
5 eax 651 pts
6 thefinder 633 pts
7 nikokks 608 pts
8 benito255 598 pts
9 mego 582 pts
10 madbat2 573 pts
11 plucth 555 pts
12 Mart 543 pts
13 rostale 542 pts
14 Stupefy 523 pts
15 tehron 508 pts
16 Kithyane 491 pts
17 egosum 465 pts
18 malose 421 pts
19 CoYoTe99 410 pts
20 Undr 406 pts

Classement complet

Shoutbox

17 Sep - 11:51 am

Salut thefinder, ça faisait longtemps ! Oula ça en fait des problèmes :'( Le premier challenge ? La somme de deux nombres ?

23 Jul - 2:13 am

Coucou, j'ai essayé de reprendre avec python. J'ai plusieurs soucis. 1) Il faut rajouter headers={'Content-Type': 'application/x-www-form-urlencoded'} avec un requests.session(). 2) Je n'ai pas réponse du serveur si je soumet une réponse au premier challenge. J'essaye finir en python les 3 dernières épreuves qui me reste. :)

6 Nov - 8:17 am

Bonjour, un léger problème sur l'épreuve 10 : Une fois réussie, le champ "points earned" indique 72 au lieu de 7 En revanche sur le site le nombre de points comptabilisés est bien 7 Merci pour ce site génial !

21 Oct - 9:48 pm

Équation du challenge 52 corrigée, merci

16 Oct - 8:43 am

Bonjour, il y a aussi un problème d'affichage "invalid equation" dans le challenge 52. Merci

14 Oct - 8:57 pm

Barbapapou l'équation du challenge 29 a été corrigée

4 Oct - 10:30 am

Bonjour, il y a un problème avec l'affichage d'une équation dans le challenge 29

24 Aug - 7:10 pm

@rostale, en effet l'épreuve 21 ne fonctionne plus depuis un moment, pour l'instant on a pas prévu de temps pour la réparer je pense qu'on va finir par la supprimer tout simplement. @nikokks, ok je t'envoie un mail

22 Aug - 11:40 pm

Salut Metatr0n. pourrait on avoir une discussion en MP. J'imagine que tu as mon mail. Ce serait pour discuter de microcontest en general.

28 Jul - 10:38 pm

Pouvez-vous vérifier l'épreuve Email (21) ? En effet, je ne reçois pas d'email de la part du site. Merci

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Multimédia :: Transmission of a digital signal (33)

Résumé

ID : 33
Points : 18
Validations :
Page de l'épreuve
Reporter un bug

Description


Cette épreuve aborde la problématique de la transmission d'un signal numérique grâce à un signal analogique.

Prenons tout d'abord la suite binaire que nous désirons transmettre : 011000101.
La première étape consiste par exemple à associer un signal analogique à chaque bit.
De nombreuses possibilités existent, une des plus connues et plus simples est d'associer un état 0 au bit 0, et une constante au bit 1. On obtient donc des créneaux (codage NRZ-L unipolaire :p).

Mais ce ne serait pas rigolo si c'était aussi simple, c'est pourquoi on va utiliser le codage suivant :
- Le bit 1 correspond à une période de sinusoïde de phase nulle.
- Le bit 0 correspond à une période de sinusoïde de phase Pi.

Cela veut dire que 1 correspond à ceci :


et 0 correspond à :



Ceci étant dit, on peut maintenant représenter notre suite numérique par un signal analogique :



On pourrait envoyer directement ce signal analogique pour transmettre l'information. Mais pour compliquer un peu, on va moduler ce signal en amplitude avec une porteuse sinusoïdale.

La modulation d'amplitude consiste simplement en la multiplication d'une porteuse et du signal utile. Le signal utile est représenté sur le graphe ci-dessous, la porteuse a alors cette allure :



Le produit de ces deux signaux donne le signal qu'on va réellement transmettre (et que vous devez démoduler et décoder !) suivant :



On se met donc dans le rôle du récepteur, qui reçoit ce signal. Pour l'analyser, il l'échantillonne. Le signal échantillonné se trouve alors dans la variable signal_recu, au format WAV.

Vous devez renvoyer la suite binaire dans la variable resultat sous forme d'une chaîne de caractères '0' et '1'.
Ici vous devriez renvoyer "011000101".

Comme nous sommes gentils, la fréquence de la porteuse est fournie dans la variable freq_porteuse.

A vous de jouer !


Variables


Nom Type Description
Variables à récupérer
signal_recuChaîne de caractèreschar*Le signal reçu au format wav. Vous devez le démoduler et décoder la suite binaire qu'il représente. Attention : Ce buffer peut contenir des '\0', utilisez la longueur fournie par la bibliothèque plutôt que la fonction strlen.
freq_porteuseEntierintFréquence de la porteuse, en Hz
Variables à renvoyer
resultatChaîne de caractèreschar*La suite binaire décodée, composée de caractères '0' et '1'.