Top 20

1 0x00h 688 pts
2 boris39 688 pts
3 thefinder 688 pts
4 neoxquick 669 pts
5 maf-ia 651 pts
6 eax 650 pts
7 nikokks 607 pts
8 benito255 598 pts
9 mego 581 pts
10 madbat2 572 pts
11 plucth 555 pts
12 Mart 542 pts
13 rostale 542 pts
14 Stupefy 523 pts
15 tehron 507 pts
16 Kithyane 490 pts
17 egosum 466 pts
18 LouisJ 444 pts
19 malose 420 pts
20 CoYoTe99 410 pts

Classement complet

Shoutbox

8 Oct - 10:01 am

Salut nikokks Ce problème n'est pas évident en effet. Une manière de faire est de trouver les formes les plus simples, et de les "effacer" de l'image avant de chercher les formes plus complexes ;)

4 Oct - 11:56 am

Salut a tous =) , je bug sur le problème 28 (forme analysis). Quelqu'un aurait il une piste ?

29 Sep - 5:38 pm

Coucou oui, tu peux m'envoyer un mail si tu veux. Le plus simple, ce serait d'avoir un package pour python 3. J'ai essayé et ça n'a pas marché!

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

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'.