1

20:03 GUNNM: quelqu'un sait combien de bauds font 38khz, svp?
20:15 Ethaniel: 20:03 > ta question est incomplète : 38 kHz, c’est l’échantillonnage ? combien de bits par échantillon ? bits de contrôle ?
Merci de ta réponse.
Je souhaite pouvoir décoder un signal InfraRouge, dont je connais la signification de chaque bits, mais je n'arrive pas à configurer mon port COM, pour recevoir le signal IR, d'où ma question sur les bauds.

38 KHZ c'est la fréquence de modulation du signal. (37,63KHZ exactement, voir ce graph.)
Ensuite, escuses moi, mais je te donne les données en anglais, car je ne pige pas le "pulse" (durée ou frequence?), je ne veux pas faire une erreur de traduction.

Le signal est constitué de 21 Bits de cette façon : S1 S2 S2 S3 S3 C1 C0 T3 T2 T1 T0 B3 B2 B1 B0 R2 R1 R0 P0 P1 S2
S1 is the first sync pulse that is 2.5ms (1.9 on 0.6 off)
S2 is the second length sync pulse that is 1.3ms (0.7 on 0.6 off) also used as stop bit
S3 is the third length sync pulse that is 1.8ms (1.2 on 0.6 off)
Sur ce graph il y a un Zoom sur les 5 premiers bits.

Les autres bits C1...P1 sont encodés comme suit :
1 = 2.2ms (1.1 on 1.1 off)
0 = 1.1ms (0.55 on 0.55 off)

Voila, donc je me demande comment configurer mon port COM? (name (c'est quoi ça?), baudrate, nb de bits, parité,sopBits, DTR et RTS dont je ne connais pas la signification)

Merci d'avance pour l'aide que vous pourrez m'apporter.

2

Ça marchera pas parce que :

- Le baudrate des ports séries standards c'est de la forme (115 200 / n) bps, avec n entier. Si ta fréquence correspond pas à ça à quelques pourcents près, c'est mort.
- Même si tu tombes sur une fréquence qui va bien, le contrôleur s'attend à avoir des bits de start et de stop à certains endroits, ça ne va pas coller avec ton signal.

Et même si ça marchait, le format de ton signal n'est pas du tout celui d'un port série, donc tu devrais réinterpréter derrière.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3

Merci de ta réponse.
En fait je m'attendais à me passer des bits start et stop, puisque je sais que le signal fait 21 bits, je trouverais le stop si j'ai le start, et l'écart plus important entre chaque signals pourrait me permettre de retrouver la position de départ. (enfin, dans mon monde idéal grin )
Donc j'aimerais, mais je ne sais pas si c'est possible, me passer du controlleur, pour lire directement la liste de bits.
A propos, 37,63KHZ ca fait 3763 bps ?

J'ai entendu parler d'un mode IRRaw qui permet de faire "plus ou moins" ce qu'on veux en IR, mais j'avoues n'avoir jamais trouvé de sources l'utilisant.
Ca doit pourtant exister puisqu'il existe des applis pour controller le PC avec une télécommande.

4

GUNNM (./3) :
En fait je m'attendais à me passer des bits start et stop, puisque je sais que le signal fait 21 bits, je trouverais le stop si j'ai le start, et l'écart plus important entre chaque signals pourrait me permettre de retrouver la position de départ. (enfin, dans mon monde idéal biggrin.gif ) Donc j'aimerais, mais je ne sais pas si c'est possible, me passer du controlleur, pour lire directement la liste de bits.
Avec un port série standard, tu ne peux pas faire ça, on n'a pas accès au flux de bits "bruts". Peut-être que certains contrôleurs infrarouge le permettent, mais j'ai pas d'expérience là-dessus.
GUNNM (./3) :
J'ai entendu parler d'un mode IRRaw qui permet de faire "plus ou moins" ce qu'on veux en IR, mais j'avoues n'avoir jamais trouvé de sources l'utilisant.
Ça existe sur certains appareils portables (PDA, etc.) : http://msdn.microsoft.com/en-us/library/aa916572.aspx
Sur PC je n'en ai pas entendu parler...
GUNNM (./3) :
Ca doit pourtant exister puisqu'il existe des applis pour controller le PC avec une télécommande.
EDIT :
http://www.engadget.com/2006/05/16/how-to-ir-remote-control-your-computer/
Remarquer que le récepteur qu'ils utilisent démodule déjà les signaux, ce qui donne un signal de sortie à quelques kbps*. En configurant un port série à la vitesse maximum (115 200 bps), tu peux retrouver une partie des données d'après
les caractères reçus (certains bouts du signal correspondent à des caractères valides). Mais c'est assez foireux...

(* la plupart du temps, les données ne sont pas envoyées directement, le signal module une porteuse d'environ 36~40 kHz).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5

c'est quasiment impossible de faire ce que tu veux avec un port de PC sans électronique externe SAUF si c'est de l'IrDa.

Mais une télécommande basique RC5 comme celle d'une TV c'est un protocole chelou et c'est compatible avec rien. Faut synthétiser et lire le signal 'à la main'

a la limite t'aurais plus de chance en le connectant le récepteur IR à une carte son rapide, puis en décodant le fichier WAV obtenu.

6

Bon, pour compléter ce que dit Squalyl, et parce que j'ai pas détaillé dans mon post précédent :

Dans "2.2ms (1.1 on 1.1 off)" par exemple, "on" ça ne veut pas dire que la diode est allumée constamment pendant 1.1 ms, mais qu'elle envoie un signal carré à 37,63 kHz pendant 1.1 ms. "off" c'est le temps pendant que la diode n'émet rien.

(ça complique un peu les choses, mais les protocoles infrarouges sont fait comme ça pour éviter qu'ils soient perturbés par l'éclairage ambiant, d'autres signaux, etc.)

La première étape de réception, c'est de faire passer le signal dans un démodulateur qui va te sortir un 1 quand il détecte le 37.63 kHz, et un 0 sinon. À cet étape-là, tu retrouves un signal comme celui décrit dans ton document (c'est ce qu'ils montrent dans la 2ème image que tu as mis en lien), qu'il va falloir interpréter pour retrouver finalement tes bits de données.
Si tu branches le résultat sur un port série, dans certains cas tu peux retrouver les données d'après les caractères reçus, mais ça dépend des données, du protocole et ça sera pas fiable parce que le principe est foireux.

Comme dit squalyl, une carte son c'est beaucoup plus simple : tu enregistres à 44.1 kHz ou 48 kHz, et avec un peu de traitement derrière, tu auras directement le signal émis. Tu peux même te passer du démodulateur, vu que la porteuse à 37.63 kHz est supérieure à la fréquence max enregistrable par la carte son (~21 kHz), tu ne la verras pas.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

7

Merci pour vos réponses.
squalyl (./5) :
c'est quasiment impossible de faire ce que tu veux avec un port de PC sans électronique externe SAUF si c'est de l'IrDa.
C'est de l'IRDA, c'est le port IR d'un portable. Qu'est ce que L'IRDA permet de plus ?
Zerosquare (./4) :
EDIT :
http://www.engadget.com/2006/05/16/how-to-ir-remote-control-your-computer/Remarquer que le récepteur qu'ils utilisent démodule déjà les signaux, ce qui donne un signal de sortie à quelques kbps*.
J'ai regardé le schema du recepteur, qui est assez simple (un condo et une resitance), et je ne vois pas ce que tu veux dire par "démodule".
Avec ce montage, est-ce que je pourrais passer par mon port COM pour recevoir le signal IR?

8

ah!

ben l'Irda est un vrai RS 232 (port série). En fait on émet simplement une impulsion pour chaque bit à à 1, car l'IR marche mieux en pulsé qu'en continu.

apparemment tu peux tenter 115200 38400 et 9600 bauds.

et te fais pas chier, y'a des dongles USB-IRDA!

9

GUNNM (./7) :
J'ai regardé le schema du recepteur, qui est assez simple (un condo et une resitance), et je ne vois pas ce que tu veux dire par "démodule".
Le récepteur infrarouge (le truc à 3 pattes) n'est pas un simple récepteur tout bête, il analyse le signal pour détecter s'il y a du 37.63 kHz ou pas. La démodulation, c'est ça.

En clair ça donne ça :
tx_modulation.BMP
La courbe du haut, c'est ce que donne un récepteur "brut".
La courbe du bas, c'est ce que donne un récepteur qui démodule.
GUNNM (./7) :
Avec ce montage, est-ce que je pourrais passer par mon port COM pour recevoir le signal IR?
Uniquement si tu as de la chance et que ton signal correspond à quelque chose d'interprétable par le port série... C'est beaucoup plus simple de brancher çà sur l'entrée ligne d'une carte son (en atténuant le niveau, parce que des signaux logiques directement, ta carte son va pas aimer grin).

squalyl > je pense que GUNNM veut dire qu'il veut essayer de recevoir ça avec le port IrDA d'un portable. Le protocole qu'il a posté ./1 n'est pas du tout de l'IrDA.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

10

Zerosquare (./6) :
Tu peux même te passer du démodulateur, vu que la porteuse à 37.63 kHz est supérieure à la fréquence max enregistrable par la carte son (~21 kHz), tu ne la verras pas.

Au contraire, y a un filtre passe-bas pour éviter l'aliasing donc oui "tu ne la verras pas" mais tu verras pas le signal non plus grin

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

11

Pollux (./10) :
Au contraire, y a un filtre passe-bas pour éviter l'aliasing donc oui "tu ne la verras pas" mais tu verras pas le signal non plus biggrin.gif
Si, si, ça marche, je l'ai déjà fait smile

Ce que tu dis serait vrai si le signal était centré sur zéro, mais en fait tu as quelque chose comme ça (aux constantes près) :

- 0 pendant les phases "inactives"
- signal carré qui alterne entre 0 et 1 pendant les phases "actives"

On peut considérer les phases "actives" comme un signal carré qui alterne entre -0.5 et +0.5 plus une composante continue d'amplitude 0.5

Donc une fois que la carte son a dégagé le signal carré (vu qu'il a une fréquence supérieure à la fréquence de Nyquist), on obtient grosso modo 0 pendant les phases inactives et 0.5 pendant les phases actives.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

12

euh, mais du coup ça veut dire que les basses fréquences sont transmises également ? du coup quel est l'intérêt de la modulation ? confus simplement permettre de filtrer la composante continue ? si oui ça veut dire que l'émetteur peut très bien s'amuser à varier la fréquence de modulation n'importe comment entre 20 et 40 kHz sans que ça change quoi que ce soit ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

13

non, l'émetteur de la zapette et le démodulateur sont accordés. ça permet de faire un tuning basique

à la base c'est pour éviter de prendre le clignotement des ampoules pour un signal grin
Pollux (./12) :
passe-bas

et un démodulateur c'est quoi à part un passe bas? grin

14

Pollux (./12) :
du coup quel est l'intérêt de la modulation ? confus.gif simplement permettre de filtrer la composante continue ?
Entre autres. La composante continue, ça correspond à l'éclairage ambiant.
Pollux (./12) :
si oui ça veut dire que l'émetteur pour très bien s'amuser à varier la fréquence de modulation n'importe comment entre 20 et 40 kHz sans que ça change quoi que ce soit ?
Ça marchera avec la méthode de la carte son, mais en pratique les récepteurs infrarouges ont un filtre passe-bande assez étroit, centré sur la fréquence porteuse. Ça évite que les fréquences autres soient détectées (par exemple, dans certains cas, les tubes néons).

Edit : cross avec squalyl
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

15

squalyl (./13) :
non, l'émetteur de la zapette et le démodulateur sont accordés. ça permet de faire un tuning basique

ok donc on se prend le clignotement des ampoules en pleine poire avec la méthode de Zerosquare :]
squalyl (./13) :
et un démodulateur c'est quoi à part un passe bas? grin

un truc qui décale les fréquences avant de faire le passe-bas tongue

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

16

oué ben là t'as pas besoin de décaler la fréquence vu que tu peux directement acquérir la porteuse :]

17

Zerosquare (./14) :
Ça marchera avec la méthode de la carte son, mais en pratique les récepteurs infrarouges ont un filtre passe-bande assez étroit, centré sur la fréquence porteuse. Ça évite que les fréquences autres soient détectées (par exemple, dans certains cas, les tubes néons).

Ah ok, donc on fait c'est la diode elle-même qui fait la démodulation, pas la carte son... mais elle le fait de manière primitive parce que la démodulation a pas besoin d'être linéaire.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

18

squalyl (./16) :
oué ben là t'as pas besoin de décaler la fréquence vu que tu peux directement acquérir la porteuse :]

ben oui mais c'est le cas parce que la diode a déjà fait le décalage (au sens de transformer 37+epsilon kHz en epsilon kHz)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

19

Alors, faut pas confondre 2 trucs :

- les diodes toutes bêtes ressortent directement le signal reçu
- les récepteurs infrarouges qui démodulent d'abord
Pollux (./15) :
ok donc on se prend le clignotement des ampoules en pleine poire avec la méthode de Zerosquare :]
Effectivement, c'est moins performant qu'une vraie démodulation accordée. Mais c'est de la bidouille de toute façon, tu peux te permettre d'approcher la télécommande pour augmenter le rapport signal/bruit, pour que l'influence de l'éclairage soit négligeable. Alors qu'un vrai récepteur doit pouvoir fonctionner avec la télécommande à plusieurs mètres et des conditions d'éclairage défavorables.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

20

et vu que le signal qu'on attend en sortie de démod est numérique y'a pas trop à se prendre la tête smile

en général un récepteur c'est pas une simple photodiode/phototrans mais un truc comme ça: http://www.hebeiltd.com.cn/led.datasheet/PL-IRM0101-3.pdf (page 3)

21

squalyl (./8) :
ben l'Irda est un vrai RS 232 (port série). En fait on émet simplement une impulsion pour chaque bit à à 1, car l'IR marche mieux en pulsé qu'en continu.
(...)
et te fais pas chier, y'a des dongles USB-IRDA!
J'ai un dongle USB IRDA, j'ai d'abord essayé avec, mais c'est encore plus difficile de trouver des sources en dot.net, et je trouve que ça ne vaut pas un port IRDA sur COM de portable. Sur le dongle je n'arrive même pas à communiquer avec un PDA ou un téléphone. Mais c'est peut-être un problème de config.
Donc, je pensais que je n'aurais pas ce problème avec un port serie.

Quand à passer par la carte son, ça m'oblige à faire du traitement de signal, et je suis une quiche dans ce domaine, puisque je n'ai jamais codé quoique ce soit utilisant la carte son.

Pour resumer la situation:
Je voudrais recevoir le signal (du post #1) sur PC, de la façon la plus simple.

Je cherche aussi à l'émettre depuis le PC. Mais je pense que le problème est plus ou moins le même.

22

"Donc, je pensais que je n'aurais pas ce problème avec un port serie."


mais l'irda c'est un port série grin

23

Mon dongle usb irda ne crée pas de port serie, ou alors il n'est pas accessible.

24