Microsf01 TDPOR [ Transmetteur Données Par Ondes Radio ]

Microsf01 TDPOR

Transmetteur Données Par Ondes Radio

Voilà , je vous présente un programme que j'ai pas encore terminée

le but , est de passer des données informatique par des ondes radio

cet a dire

de transformer les caractères Ascii d'un fichier de nimporte quelle extention en des fréquences sonores

des BIIIPS BEEP quoi ^^

Enfaite, les caractères ASCII son convertis en Fréquence Sonore

EXEMPLE :  Microsf01 TDPOR - SON.wav

Regardez le texte ci desous pendant l'ecoute :

Salut Sébastien Favier 0123456789 0123456789 A A A A A A A B B B B B B B B9876543210 9876543210


Puis cela sera communiqué par ondes Radio , auquelle le récepteur va convertir les fréquences sonores en ASCII

Voilà ! c'est tout Con !

Screenshots :

Menu Principal

Menu de réception de données ( NON AU POINT ! ( le programme + interface graphique ) )

Menu de Conversion et transmition

L'ors d'un envoie


Et il faut aussi que je bidouille le matos ;) (I't GOOD ! )

Donc , pour l'instant , je peux que emettre des données, on peut les intercepter mais pas encore les traduires en ASCII

donc pour l'instant , je résoue une equation et je cherche l'inconnue au premier degré , mais j'avoue que j'ai du mal

La fréquence des Sinusoïdale donc il faut utiliser le Sinus

ps : Calculer en Radian , et non en Degré

voir : http://www.ilemaths.net/forum-sujet-433707.html#msg3675015

 

freq = 500

Srate = 8000

i1 = 540

D1 = 2 * pi * Freq / SRate

D2 = 127 * Math.Sin(i1 * D1)

 

Donc voilà :
-127 = 127 * Sin(540 * (2 * pi * Freq / 8000))

 L'inconnue c'est freq et il faut le trouver >_< , vive ls maths

Si quelqu'un peux m'aider Criant

4 votes. Moyenne 5.00 sur 5.

Commentaires (6)

1. MEGAvx 24/10/2014

Bonjour,moi aussi j'ai le même projet mais en python,mon idée et d'ouvrir le fichier puis le lister en binaire (0101011001110) puis,exemple: pour les 1 un bip , et pour 0 un autre truc..., mon code:
import binascii

Fichier = open('fichier.exe','rb')

data = Fichier.read()

print('Taille du fichier :',len(data),'octets')

print bin(int(binascii.hexlify(data), 16))[2:]

Fichier.close()
Se code n'est pas terminer du tous !! il fait qu'afficher le fichier en binaire.Mais j'avance dans le projet... Je pense aussi a le faire sur un émetteur FM,un lien d'un émetteur audio facile a fabriquer: Image
Le lien de la page : http://www.sonelec-musique.com/electronique_realisations_emetteur_fm_001.html

2. microsf01 (site web) 08/06/2012

Oulàà , t'alaire bien callé en maths toi !! x)
Ouai je comprend un peux ce que tu m'a écrit là :)
je vais voir ce que je peux faire avec tes bonnes explication là qui me met bouche bléé x)

Ouaish merci :)

3. 666by 05/06/2012

XD Ouai mais pas que pour ca.
Bon même si le projet est abandonnée je te donne les résultats au cas ou tu veuille le déterrer parce qu'il intéresse beaucoup (j'ai pomper les résultats de l’équation sur un petit site bien pratique pour tricher aux exos de maths un peu complexes lol):
le liens:http://www.wolframalpha.com/input/?i=-127+%3D+127sin%28540+%282%CF%80+x+%2F+8000%29%29

freq = 100 / 27 (4 * n + 3) où n est un entier
et
freq = 100 / 27 (4 * n - 1) où n est un entier

C'est un genre de modulation de fréquence que tu utilise. Chaque caractères utilise une fréquence.

Pour choisir la fréquence de chaque caractère ca serait une formule du genre:
(FrequenceMax - FrequenceMin) / NombreCaractere * x + FrequenceMin

où x est le nombre correspondant au caractère dans la table ASCII ou autre(s) et FrequenceMin = 2 * BitRate (selon le théorème de Shannon)
A mon avis la valeur idéale de FrequenceMax c'est 20000 (rares sont les hauts-parleurs pouvant émettre au dessus).

Et pour fournir une certaine fréquence (la fonction sinus étant en radian et non en degrés):
(sin(2 * pi * x * fréquence) + 1) * 127
fréquence = fréquence du son à émettre et x = temps ou numéro de l'échantillon.
Ça te retourne un nombre entre 0 et 255.
Je pense avoir tout dit ^_^"
Sinon beau boulot :D.

4. microsf01 (site web) 05/06/2012

Salut 666by
( mdr comme tu m'avais expliqué pour les "6" "6" "6" à la soirée xD ) BREF

Euh , j'ai pas de protocole particulier , je l'ai moi même développé grace a une équation que j'ai chercher chercher ,

127 * Sin(Boucle * (2 * pi * FREQUENCE / RATE))

Puis après transformer le résulta en CByte ( entre 0 et 255 )

Boucle etant le temps d'enchantillonnage

Ce qui permet de créer des fréquences sinusoïdales de format WAVE

Enfaite , chaques "caractères" ont a code ASCII ( de 0 à 255 ) , et celon le caractère , ca crée un Beep plus aigue ou plus grave

Et je sais que c'est con d'utiliser une t-elle equation pour des "biips" , mais c'est pour en enregsitrer un echantillonnage Wave tant que fichier ^^


Ouai j'ai regardé le théorème de Shannon , mais je vous pas comment l'appliquer sur du format Wave dans mon code :/ ..

Mais bon , ce projet moitié abandonné , même mon prof de maths a du mal a résoudre mon équation ( incconnue au premier degré en Radian )

127 = 127 * Sin(540 * (2 * pi * Freq / 8000))

enfin Voilà ;/

5. 666by 04/06/2012

Tu utilise quel(s) protocole(s) d’envoi ? Une certaine fréquence sert d'horloge et d'autres horloges servent de données ou une fréquence sert de 1 et une autre de 0 ou encore un autre ?

Je sait pas si sa peut t'aider mais regarde du coter du théorème de Shannon qui est le suivant:
la fréquence d'échantillonnage d'un signal doit être égale ou supérieure au double de la fréquence maximale contenue dans ce signal, afin de convertir ce signal d'une forme continue à une forme discrète.

6. The Geek 20/08/2011

On se croirait dans James' Bond !
LOL

Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site

×