[0001] L'invention concerne un procédé et dispositif de réception de signaux en provenance
d'une pluralité d'émetteurs, par exemple à infra-rouges, tels que des télécommandes
pour appareils audio-visuels. L'invention concerne également une télécommande utilisée
en conjonction avec le dispositif mentionné, ainsi qu'un système incluant un dispositif
de réception et une pluralité d'émetteurs. L'invention s'applique notamment dans le
domaine de la vidéo et de la télévision.
[0002] De nombreux appareils d'électronique grand public peuvent être commandés grâce à
une télécommande sans fil transmettant des commandes à un dispositif récepteur de
l'appareil à commander. Cette transmission s'effectue généralement par infra-rouges,
ultra-sons ou à fréquence radio, les données étant modulés sur une porteuse appropriée.
[0003] Il peut être souhaitable de pouvoir utiliser plusieurs télécommandes de manière simultanée
avec un seul dispositif récepteur. Se pose alors le problème des interférences entre
ces télécommandes, ainsi que le problème d'identification d'une télécommande émettrice
par le dispositif récepteur.
[0004] La demande de certificat d'utilité FR 2 698 979 propose un système mettant en oeuvre
des télécommandes et un récepteur.
[0005] L'invention a pour objet un procédé de réception de signaux issus d'au moins deux
émetteurs (RCi) caractérisé en ce que,
pour chaque émetteur, les données ("0", "1") étant représentées par l'intervalle de
temps (T0i, T1i) entre deux impulsions consécutives émises par cet émetteur,
lesdits intervalles de temps ainsi que la largeur des impulsions (Tpi) étant caractéristiques
de chaque émetteur,
ledit procédé comprenant les étapes:
de réception d'un signal résultant de la superposition des signaux émis par lesdits
émetteurs,
de détermination des paramètres des impulsions dudit signal résultant, lesdits paramètres
comprenant la largeur des impulsions ainsi que leur espacement,
d'attribution d'une donnée à un émetteur en fonction de ces paramètres
[0006] Le fait d'utiliser des émetteurs émettant des impulsions de largeur différente et
codant des données par des intervalles de temps également caractéristiques de ces
émetteurs permet par une analyse appropriée de séparer les informations superposées
avec une grande efficacité.
[0007] Selon un mode de réalisation particulier, les données sont les deux valeurs possibles
d'un bit.
[0008] Selon un mode de réalisation particulier, l'on associe à chaque émetteur une donnée
représentant l'état d'un message issu de cet émetteur.
[0009] Selon un mode de réalisation particulier, l'état du message est l'attente d'un premier
bit d'un message, l'attente de bits supplémentaires, l'attente de la fin du message
ou l'attente de la fin du temps de repos entre deux messages.
[0010] Selon un mode de réalisation particulier, un premier bit est détecté pour un émetteur
donné lorsque l'intervalle de temps entre l'impulsion courante et une impulsion parmi
les impulsions précédemment reçues est égal à un des intervalles définissant une valeur
de bit pour ledit émetteur et que la durée de ladite impulsion parmi les impulsions
précédemment reçues est égale à la durée d'une impulsion associée audit émetteur donné.
[0011] Selon un mode de réalisation particulier, la comparaison entre l'intervalle de temps
entre lesdites deux impulsions et les intervalles définissant une valeur de bit pour
ledit émetteur est effectuée par intervalles croissants définissant une information,
toutes les impulsions précédemment reçues et stockées étant passées en revue pour
chacun des intervalles définissant une valeur de bit.
[0012] Selon un mode de réalisation particulier, les intervalles définissant une valeur
de bit étant au nombre de deux, si aucun bit n'est détecté mais qu'il y a eu égalité
entre la durée la plus courte correspondant à une valeur de bit et l'intervalle de
temps séparant l'impulsion courante et une impulsion précédemment reçue, alors la
valeur de bit détectée correspond à cette durée la plus courte.
[0013] Selon un mode de réalisation particulier, la détection d'un premier bit n'est réalisée
pour un émetteur que lorsque la durée de l'impulsion courante est supérieure ou égale
à la durée d'une impulsion en provenance de cet émetteur.
[0014] Selon un mode de réalisation particulier, lorsqu'au moins un bit a déjà été attribué
à un émetteur, un autre bit est attribué au même émetteur si l'impulsion courante
forme avec la dernière impulsion ayant permis une attribution d'un bit à cet émetteur
un intervalle correspondant à une valeur de bit pour cet émetteur.
[0015] Selon un mode de réalisation particulier, la détection d'un bit n'est réalisée pour
un émetteur que lorsque la durée de l'impulsion courante est supérieure ou égale à
la durée d'une impulsion en provenance de cet émetteur.
[0016] Selon un mode de réalisation particulier, si une impulsion courante n'a pu être utilisée
pour détecter un bit, alors cette impulsion est attribuée au premier émetteur auquel
aucun bit n'a encore été attribué dans l'ordre décroissant des durées d'impulsions,
ladite impulsion ainsi attribuée servant à définir le point de départ d'un bit dont
la seconde impulsion parviendra ultérieurement.
[0017] Selon un mode de réalisation particulier, si le nombre de bits attribué à un émetteur
est égal au nombre maximal de bits attribuables pour un message, mais que néanmoins
un bit supplémentaire est détecté pour cet émetteur, alors le premier bit du message
est éliminé, et le dernier bit détecté est rajouté audit message.
[0018] Selon un mode de réalisation particulier, lorsque l'impulsion courante n'a pu être
attribuée précédemment et forme avec l'avant-dernière impulsion stockée un intervalle
correspondant à une valeur de bit pour un émetteur donné et qu'au moins un bit a déjà
été attribué à cet émetteur, alors le dernier bit attribué est remplacé par la nouvelle
valeur détectée.
[0019] Selon un mode de réalisation particulier, si une impulsion courante n'a pas pu être
utilisée auparavant, alors on recherche un émetteur auquel a été attribué un seul
bit et on détermine si l'intervalle entre l'impulsion courante et la première impulsion
attribuée audit émetteur correspond à une valeur de bit pour ledit émetteur, auquel
cas ladite valeur de bit est retenue.
[0020] Selon un mode de réalisation particulier, les paramètres de chaque impulsion reçue
sont mémorisés après l'analyse de ladite impulsion.
[0021] Selon un mode de réalisation particulier, le passage de l'état "Attente de premier
bit" à l'état "Attente de bits supplémentaires" se fait lorsqu'un bit a été détecté,
le passage de l'état "Attente de bits supplémentaires" à l'état "Attente de fin de
message" se fait lorsque le nombre maximal de bits a été attribué à un émetteur,
le passage de l'état "Attente de fin de message" à l'état "Attente de période de repos"
se fait si après une attente d'un temps supérieur à l'intervalle le plus long correspondant
à une information pour l'émetteur considéré aucun bit n'a été identifié pour cet émetteur,
le passage de l'état "Attente de période de repos" à l'état "Attente de premier bit"
se fait si le temps écoulé depuis le dernier bit reçu (Dernier_temps_i) est supérieur
au temps de repos (Trn) de l'émetteur considéré,
le passage de l'état "Attente de bits supplémentaires" à l'état "Attente du premier
bit" se fait lorsqu'après l'attribution d'un premier bit, un temps supérieur à l'intervalle
le plus long correspondant à une information pour l'émetteur considéré s'écoule sans
qu'un bit supplémentaire ne soit détecté.
[0022] L'invention a aussi pour objet un dispositif de réception de signaux caractérisé
en ce qu'il comprend
des moyens de réception d'un signal résultant de la superposition de signaux émis
par au moins deux émetteurs, pour chaque émetteur, les données étant représentées
par l'intervalle de temps entre deux impulsions consécutives émises par cet émetteur,
lesdits intervalles de temps ainsi que la largeur des impulsions étant caractéristiques
de chaque émetteur,
des moyens d'analyse dudit signal résultant en fonction de la largeur des impulsions
détectées dans ledit signal résultant et en fonction des intervalles de temps entre
ces impulsions.
[0023] Selon un mode de réalisation particulier, la largeur des impulsions détectées est
égale ou proportionnelle à la largeur des impulsions émises par lesdits émetteurs.
[0024] Selon un mode de réalisation particulier, lesdits moyens de réception comprennent
un récepteur à infra-rouges, lesdits émetteurs émettant des signaux infra-rouges et
utilisant la même porteuse.
[0025] Selon un mode de réalisation particulier, lesdits moyens d'analyse comprennent un
microprocesseur, une mémoire stockant des paramètres d'impulsions reçues, des mémoires
stockant les bits correspondant aux messages des différents émetteurs.
[0026] Selon un mode de réalisation particulier, le dispositif de réception met en oeuvre
le procédé mentionné ci-dessus.
[0027] L'invention a aussi pour objet une télécommande à infra-rouges caractérisée en ce
qu'elle est utilisée en conjonction avec un dispositif tel que décrit ci-dessus et
en ce qu'elle comporte des moyens de réglage de la largeur des impulsions utilisées
pour représenter les données transmises audit dispositif, ledit réglage étant effectué
de sorte à être unique par rapport à d'autres télécommandes pouvant être utilisées
simultanément.
[0028] Selon un mode de réalisation particulier, ladite télécommande comporte également
des moyens de réglage des intervalles de temps entre deux impulsions servant à représenter
les différentes données destinées à être transmises.
[0029] L'invention a aussi pour objet un système de réception de signaux caractérisé en
ce qu'il comprend
au moins deux émetteurs, chaque émetteur représentant des données sous la forme d'impulsions
de largeur caractéristique dudit émetteur, une donnée étant définie par l'intervalle
de temps séparant deux impulsions consécutives émises par cet émetteur, ledit intervalle
de temps étant également caractéristique ce chaque émetteur,
un récepteur comportant des moyens de réception du signal résultant de la superposition
des signaux émis par lesdits émetteurs,
des moyens d'analyse dudit signal résultant en fonction de la largeur des impulsions
détectées dans ledit signal résultant et des intervalles de temps séparant lesdites
impulsions.
[0030] Selon un mode de réalisation particulier, ledit système met en oeuvre le procédé
mentionné ci-dessus.
[0031] D'autres avantages et caractéristiques de l'invention apparaîtront à travers la description
d'un exemple de réalisation particulier non limitatif illustré par les figures parmi
lesquelles:
- les figures 1a et 1b représentent des signaux émis par deux télécommandes suivant un exemple de réalisation
de l'invention,
- la figure 1c représente les signaux de la figure précédente tels qu'ils sont perçus par un récepteur,
- la figure 2 est un diagramme-bloc d'un dispositif récepteur mettant en oeuvre le présent exemple
de réalisation de l'invention,
- la figure 3 est un diagramme-bloc d'un exemple de télécommande utilisé dans le présent exemple
de réalisation,
- la figure 4 est un diagramme d'état d'une pile mémorisant des bits correspondant à un message
conformément au présent exemple de réalisation, une pile étant associée à chaque télécommande,
- la figure 5 est un organigramme général du présent exemple de réalisation du procédé utilisé
pour acquérir et analyser les données en provenance du récepteur à infra-rouges,
- la figure 6 représente un organigramme d'une première sous-procédure ("Déterminer premier bit")
du procédé de la figure 5,
- la figure 7 représente un chronogramme illustrant une configuration particulière des signaux
émis par deux télécommandes,
- la figure 8 est un organigramme correspondant à une seconde sous-procédure ("Analyser bit courant")
du procédé de la figure 5,
- les figures 9a et 9b représentent ensemble un organigramme d'une troisième sous-procédure ("Vérifier dernier
bit") du procédé de la figure 5,
- la figure 10 représente un organigramme d'un procédé ("Attribuer impulsion") utilisé dans la sous-procédure
de la figure 9,
- la figure 11a représente une configuration particulière des signaux émis par les télécommandes
et pouvant donner lieu à une première erreur corrigée par la sous-procédure de la
figure 9,
- la figure 11b représente une configuration particulière des signaux émis par les télécommandes
et pouvant donner lieu à une seconde erreur corrigée par la sous-procédure de la figure
9,
- la figure 11c représente une configuration particulière des signaux émis par les télécommandes
et pouvant donner lieu à une troisième erreur corrigée par la sous-procédure de la
figure 9,
- la figure 12 représente un organigramme d'une procédure ("Faux Départ") utilisée dans l'organigramme
de la figure 9,
- la figure 13 représente un organigramme d'une procédure ("Fin de message") utilisé pour déterminer
l'interruption ou la fin d'un message.
[0032] La description de l'exemple particulier contient une référence soit à un exemple
de deux télécommandes, soit à une généralisation à N télécommandes, étant donné que
certaines explications seront plus claires lorsque seulement deux télécommandes sont
mises en jeu.
[0033] L'exemple particulier décrit dans ce qui suit concerne deux télécommandes RC1 et
RC2, émettant en infra-rouges sur la même fréquence porteuse (par exemple 400 KHz
en Europe ou 56.8 KHz aux Etats-Unis) et avec le même protocole de communication.
Les signaux sont modulés de façon appropriée sur la porteuse pour la transmission.
L'invention n'est bien évidemment pas limitée à la transmission par infra-rouges.
[0034] La figure
1a illustre le codage de messages (ou suites de bits) utilisé par la première télécommande
RC1. Les quatre paramètres suivants sont utilisés pour caractériser les signaux émis
par RC1 :
la durée Tp1 définit la durée d'une impulsion,
la durée T01 entre les fronts actifs de deux impulsions définit la valeur logique
"0",
la durée T11 entre les fronts actifs de deux impulsions définit la valeur logique
"1",
la durée Tr1 définit la durée de repos ("relax time"), c'est à dire l'intervalle de
temps minimal entre deux messages.
[0035] La figure
1b reprend des notations similaires pour illustrer le codage de messages pour une seconde
télécommande RC2. De manière générale, un indice n indique l'association avec la télécommande
RCn.
[0036] Dans le présent exemple de réalisation, on suppose que Tp1<Tp2. Il suffira de classer
les télécommandes suivant la durée de leurs impulsions.
[0037] La figure
1c illustre le signal perçu par un récepteur infra-rouge unique. Ce signal correspond
à la superposition des signaux des figures
1a et
1b. On voit que la première impulsion en provenance de RC1 est occultée par la première
impulsion en provenance de RC2, tandis que les secondes impulsions respectives se
recoupent partiellement pour former une impulsion plus large.
[0038] Comme on le verra plus en détail par la suite, la différence entre les durées des
impulsions des différentes télécommandes joue un rôle important dans la séparation
des informations en provenance de ces télécommandes.
[0039] La figure 2 est un diagramme-bloc d'un dispositif récepteur mettant en oeuvre le
présent exemple de réalisation. Ce dispositif récepteur comporte un récepteur à infra-rouges
1, géré par un circuit de réception spécifique
2. Ce circuit
2 fournit un signal qui, pour la suite des explications, sera supposé semblable à celui
de la figure 1c. Le circuit spécifique
2 est connecté à une unité de traitement
3, par exemple un microcontrôleur de type ST90E30 fabriqué par SGS Thomson. Les fonctions
des circuits 1 et 2 sont remplis par exemple et non limitativement par le circuit
Sharp GP1U527Y.
[0040] Selon un mode de réalisation particulier, le circuit de réception
2 élabore à partir d'une impulsion reçue du récepteur à infra-rouges
1 une impulsion de durée sensiblement proportionnelle. Ainsi, une impulsion de durée
T issue d'une télécommande est perçue comme une impulsion de durée µT, où µ est un
coefficient correcteur. La relation d'ordre entre des impulsions de durée différente
à l'entrée du dispositif récepteur est ainsi maintenue lors du traitement des signaux.
Si le coefficient µ n'est pas connu avec précision, c'est à dire si µT se situe dans
une fourchette de valeurs, alors on prendra les précautions nécessaires pour éviter
un chevauchement de ces fourchettes en choisissant de façon adéquate les durées des
impulsions au niveau des émetteurs.
[0041] L'unité de traitement
3 gère entre autres trois mémoires vives
4 à
6. Ces mémoires sont représentées de manière séparée sur le schéma, mais peuvent physiquement
appartenir à un même circuit.
[0042] La première mémoire, la mémoire
4, est utilisée pour stocker les informations en provenance du récepteur infra-rouge.
Deux informations sont enregistrées par impulsion: la durée de l'impulsion (dénommé
Impulsion_mem[i] par la suite), ainsi que le temps absolu d'apparition du front actif
de cette impulsion (appelé Début_mem[i]). Ces données permettent de caractériser le
signal reçu.
[0043] Selon le présent exemple de réalisation, la mémoire
4 peut stocker les données correspondant à au moins 2*N-1 impulsions. Elle est organisée
suivant le principe de la pile premier entré dernier sorti (pile FIFO). L'indice i
a la valeur
0 pour l'impulsion la plus récemment mémorisée et croît pour les impulsions plus anciennes.
[0044] Les deux autres mémoires,
5 et
6, sont attribuées chacune à une des télécommandes. Avant d'être stockées dans la mémoire
4 (le contenu de cette mémoire composant l'historique des signaux reçus), les données
sont traitées par l'unité centrale
3, et le résultat de cette analyse, correspondant normalement à l'identification d'un
bit d'information et à l'identification de la télécommande émettrice, est stocké dans
celle des mémoires qui correspond à la télécommande identifiée. Il peut être nécessaire
d'effacer un bit dans l'une de ces mémoires lorsque l'on se rend compte ultérieurement
qu'une information précédente a été mal analysée.
[0045] La figure
3 représente un diagramme-bloc d'une des télécommandes. Un clavier
7 est associé à une unité centrale
8. Cette dernière gère de manière connue l'interface modulateur
9 avec la diode émettrice
10. L'unité centrale est par exemple un microcontrôleur 68HC05C8 de Motorola. Un oscillateur
11 fournit la fréquence porteuse à l'interface modulateur
9.
[0046] Selon une variante de réalisation particulière, la télécommande comporte sur son
clavier des moyens de réglage de la largeur des impulsions émises par cette télécommande
et/ou des intervalles de temps entre fronts actifs de deux impulsions servant à coder
un bit. Le réglage est effectué en plaçant un commutateur
12 sur une position particulière parmi N positions. Les durées d'impulsion Tp, ainsi
que les durées T0i et T1i pour les différentes positions du commutateur sont mémorisées
dans une mémoire
13 gérée par le microcontrôleur
8. Il est ainsi aisé d'ajouter une télécommande dans un système déjà existant en lui
assignant des paramètres non encore utilisés.
[0047] A chacune des télécommandes, l'unité centrale 3 associe un état et un compteur. Il
y a quatre états différents:
(A)-Attente du premier bit d'un message
(B)-Attente d'un bit supplémentaire d'un message
(C)-Attente de fin de message
(D)-Attente de la durée de repos.
[0048] Le compteur indique le nombre de bits stockés dans la mémoire correspondante.
[0049] Les états et compteurs sont gérés par l'unite de traitement 3.
[0050] La figure
4 illustre le changement d'un état à un autre.
[0051] Dans l'état A, aucun bit, donc aucun début de message, n'a encore été détecté pour
une télécommande.
[0052] Dans l'état B, au moins un premier bit a été reçu, mais le nombre attendu de bits
dans le message (N_Bits) n'a pas encore été atteint.
[0053] N_Bits correspond par exemple à 8 bits.
[0054] Dans l'état C, le nombre attendu de bits a été atteint. Si un bit supplémentaire
est détecté pour ce message, une erreur d'analyse a été commise précédemment, et le
message stocké est modifié en conséquence.
[0055] Dans l'état D, on cherche à détecter le temps de repos Trn, temps minimal devant
précéder l'éventuel message suivant.
[0056] Pour l'état associé à la télécommande n, le passage de l'état A à l'état B se fait
lorsqu'un bit a été détecté pour cette télécommande. Le compteur de bits est alors
à
1.
[0057] Le passage de l'état B à l'état C se fait lorsque le compteur de bits atteint N_Bits.
[0058] Le passage de l'état C à l'état D se fait si après une attente d'un temps Tan, tel
que Tan = max (T0n, T1n), aucun bit n'a été identifié pour cette télécommande. Dans
le cadre du présent exemple de réalisation, Tan=T1n.
[0059] Le passage de l'état D à l'état A se fait lorsque le temps écoulé depuis le dernier
bit reçu est supérieur au temps de repos Trn.
[0060] Il est également possible de passer de l'état B à l'état A, si après la réception
du premier bit, un temps Tan s'écoule sans qu'un autre bit soit détecté pour cette
télécommande.
[0061] La figure
5 est un organigramme du présent exemple de réalisation du procédé utilisé pour acquérir
et analyser les données en provenance du récepteur à infra-rouges. L'organigramme
de la figure 5 est un organigramme général, dont les différentes sous-procédures seront
détaillées par la suite.
[0062] Les étapes E1 à E4 concernent l'acquisition des paramètres caractérisant le signal
reçu. Un début d'impulsion (front montant) est détecté par l'unité de traitement 3
lors de la première étape. L'état d'une horloge temps réel est mémorisé dans une variable
"Début" lors de l'étape E2. L'unité centrale attend la fin de cette impulsion (front
descendant) et détermine sa durée. (Variable "Durée"). Une variable booléenne ("Impulsion_utilisée")
indique si oui ou non l'impulsion a pu être attribuée à une télécommande et par conséquent
utilisée pour attribuer un bit.
[0063] On rappelle que les télécommandes sont classées suivant un ordre croissant de la
durée Tpn des impulsions qu'ils émettent. L'unité centrale tentera d'attribuer (dans
l'ordre donné et par l'intermédiaire des étapes E5 à E10) une impulsion détectée à
chaque télécommande.
[0064] L'étape E5 est une comparaison entre la durée de l'impulsion détectée "Durée" et
la durée Tpn de l'impulsion correspondant à la télécommande courante.
[0065] Si "Durée" est strictement inférieur à Tpn, alors il est certain que cette impulsion
détectée ne peut être attribuée à la télécommande n. On passe alors à la télécommande
suivante, s'il y a lieu (Etapes E6 et éventuellement E7 si toutes les télécommandes
n'ont pas été passées en revue).
[0066] Dans le cas d'une supériorité non stricte, une attribution reste possible. En effet,
l'impulsion peut correspondre parfaitement à Tpn ou être masquée dans une impulsion
plus large.
[0067] On teste alors l'état associé à la télécommande n (Etape E8). Si cet état correspond
à une attente d'un premier bit (Etat A), alors l'unité centrale met en oeuvre un première
sous-procédure "Déterminer premier bit" (Etape E9). Dans la négative, on teste si
l'état est l'attente de la fin du message (Etat C). Si cela est le cas, on passe aux
étapes E6 et E7, comme décrit précédemment. Dans le cas contraire, l'analyse de l'impulsion
est effectuée au niveau d'une seconde sous-procédure "Analyser bit courant" (Etape
E10). Les deux routines seront vues en détail en liaison avec les figures 6 et 7.
Les étapes E9 et E10 sont suivies par l'étape E6, qui détermine si toutes les télécommandes
ont été passées en revue.
[0068] Si effectivement toutes les télécommandes ont été passées en revue, le procédé passe
à l'étape E11. Le paramètre Impulsion utilisée est alors testé pour savoir si lors
de l'une des deux routines spécifiques, il a été possible d'attribuer l'impulsion
en cours d'analyse à une télécommande ou non à partir des paramètres de l'impulsion
courante. Dans la négative, cela veut dire qu'une erreur d'interprétation d'un bit
précédent a été commise. C'est le rôle de la troisième sous-procédure ("Vérifier dernier
bit", étape E12) que de corriger cette anomalie.
[0069] Une fois les étapes E11 et E12 passées, les paramètres de l'impulsion courante sont
mémorisés dans la mémoire 4.
[0070] La sous-procédure "Déterminer premier bit" est illustrée par l'organigramme de la
figure 6. Cette sous-procédure est mise en oeuvre pour une télécommande n lorsque
l'état associé à cette télécommande est celui d'attente du premier bit et qu'à priori,
la durée de l'impulsion que l'on vient de recevoir est telle qu'une impulsion de durée
Tpn correspondant à la télécommande n pourrait y être incluse.
[0071] Les principes utilisés par cette sous-procédure sont les suivants: La durée de T0N
étant inférieure à la durée T1N dans le présent exemple, on cherche tout d'abord à
déterminer si le début de l'impulsion courante peut, en combinaison avec une impulsion
précédemment stockée dans la mémoire 4, former un "0" pouvant être un premier bit
au sens de la télécommande n. Ceci est réalisé par les étapes E101 à E109. Si un "0"
n'est pas détecté, alors on cherche à déterminer la présence d'un "1". Ceci est réalisé
par les étapes E111 à E118.
[0072] Ce n'est donc pas uniquement l'impulsion la plus récente que l'on cherche à analyser,
celle-ci n'étant pas encore mémorisée dans la mémoire 4. Dans le cadre de la routine
"Déterminer premier bit", on s'intéresse essentiellement au front montant de cette
impulsion la plus récente. Pour former un bit, deux impulsions sont nécessaires.
[0073] Les étapes E119 à E121 correspondent au traitement d'un cas particulier selon lequel
on choisit de reconnaître un "0" alors que les conditions normales de cette reconnaissance
ne sont pas tout à fait remplies. Ce cas particulier, illustré par la figure 7, est
suivi à travers la valeur d'une variable appelée "PossibleZero". Une valeur nulle
de cette variable indique que l'on ne se trouve pas dans le cas particulier. C'est
à cette valeur que l'on initialise la variable.
[0074] Par la suite, on distinguera bien la durée d'une impulsion (Tpn) de la durée d'un
bit (T0n ou T1n).
[0075] L'étape E101 concerne l'initialisation de la boucle de vérification de la présence
d'un "0". On analyse systématiquement chaque impulsion mémorisée, en partant de la
plus récente (indice i=0). Il est rappelé que les données stockées dans la mémoire
4 permettent de déterminer la durée d'une impulsion, ainsi que le moment d'apparition
de son front montant.
[0076] Si la durée de l'impulsion i est strictement inférieure à Tpn, cette impulsion n'a
pu être émise par la télécommande n, l'impulsion étant trop courte (E102). Dans ce
cas, on passe à l'impulsion suivante (E106). Si par contre une impulsion de durée
Tpn peut être contenue dans l'impulsion i, alors on détermine la durée du bit correspondant.
Cette durée (appelée Durée_bit) est constituée par la différence entre le moment d'apparition
du front montant de l'impulsion courante (Variable Début) et le moment d'apparition
du front montant de l'impulsion i (Variable Début_mem[i]) (Etape E103).
[0077] Si cette durée n'est pas égale (à une fourchette d'erreur près et dont l'unité de
traitement 3 prend toujours compte lors des comparaisons) à la durée d'un bit "0"
pour cette télécommande n, alors l'impulsion est rejetée et la prochaine impulsion
est analysée (Etapes E104, puis E106 et E107). Par contre si on a l'égalité entre
T0n et Durée_bit, alors on vérifie encore si l'impulsion a débuté dans un intervalle
de relaxation Trn (E105).
[0078] Dans l'affirmative, l'impulsion est rejetée et la recherche est poursuivie en incrémentant
i (E106).
[0079] Dans la négative, on vérifie si la durée de l'impulsion i est égale (toujours à une
fourchette d'erreur près) à la durée d'une impulsion de la télécommande n (Etape E108).
Si cette condition est vérifiée, alors on identifie un "0" (Etape E109). Si cette
égalité n'est pas vérifiée, ceci voulant dire en l'occurrence que la durée de l'impulsion
i est strictement supérieure à T0n, il est possible, mais non obligatoire, qu'un front
d'impulsion correspondant à un "0" soit masqué par une impulsion de plus grande largeur.
La variable "Possible Zero" est alors mise à 1 et une recherche d'un "1" est lancée
(Etape E111).
[0080] Le chronogramme de la figure 7 illustre le cas particulier que l'on désire résoudre
grâce à ce mécanisme. La première ligne de cette figure correspond au premier bit
émis par une première télécommande, dont les impulsions ont une durée Tpa inférieure
à celle Tpb d'une seconde télécommande, dont une émission est illustrée par la seconde
ligne de la figure 7. Les intervalles T1a et T0a correspondent aux durées des bits
pour la première télécommande.
[0081] Si une impulsion A de la seconde télécommande s'insère entre deux fronts d'impulsions
B et C de la première télécommande de façon à ce que l'intervalle de temps entre le
front de A et le front de C corresponde à T0a, une absence de test sur la durée de
l'impulsion A (étape E108) aurait pour effet la détection d'un 0.
[0082] Ceci n'est pas gênant si effectivement l'impulsion A masque une impulsion issue de
la première télécommande, mais est gênant lorsqu'un "1", de durée plus longue qu'un
"0", doit être détecté, tel que cela est illustré par la figure 7. C'est pour cette
raison que l'on cherche à détecter la présence d'un "1". Si cette détection n'est
pas réalisée à partir du contenu de la mémoire 4 et que la variable "PossibleZero"
est vraie, alors un "0" est détecté.
[0083] La détection d'un "1" est tout à fait similaire à la détection d'un "0". Les étapes
E101 à E107 correspondent aux étapes E111 à E117. Le mécanisme de correction mettant
en oeuvre l'étape de comparaison E108 n'est pas utilisé pour la détection d'un "1".
Le test de l'étape E115 (correspondant à l'étape E108) amène directement à la reconnaissance
d'un "1" (étape E118).
[0084] Lorsque toutes les possibilités de détection d'un "1" ont été épuisées sans succès
(test de l'étape E117 vérifié), l'état de la variable "PossibleZero" est testé, et
un bit "0" reconnu si cette variable est à 1. Si le test s'avère négatif, alors l'on
sort directement de la routine par l'intermédiaire de l'étape E122.
[0085] Suite aux trois cas où un bit "0" ou "1" a été reconnu, un certain nombre de paramètres
doivent être mis à jour (E110). Le premier paramètre est le compteur de bits N_bits_n
associé à la télécommande n. Ce compteur doit être mis à 1, signifiant qu'à ce moment,
un premier bit a été détecté pour cette télécommande.
[0086] D'autre part, l'état (Etat_n) associé à la télécommande change: de l'état d'attente
du premier bit (A), on passe à l'état d'attente de bits supplémentaires (B).
[0087] De plus, il a été possible d'attribuer le dernier bit mémorisé. La variable Impulsion_utilisée
est donc mise à l'état vrai.
[0088] En dernier lieu, on mémorise dans la variable Dernier_temps_n le moment identifiant
le front montant de l'impulsion courante ("Début").
[0089] Après cette remise à jour, on procède également vers l'étape E122.
[0090] Revenons maintenant à l'organigramme général de la figure 5. Supposons que l'état
associé à la télécommande n n'ait pas été l'état d'attente du premier bit lors de
l'étape E8. On teste alors si cet état correspond à l'attente de bits supplémentaires.
Ceci est par exemple le cas lorsqu'un bit a déjà été détecté précédemment pour la
télécommande n. Si ce test est positif, alors une analyse spécifique est réalisée
à l'étape E10 pour déterminer si, à partir des impulsions mémorisées dans la mémoire
4 et par rapport au front montant de l'impulsion courante, un bit "0" ou "1" peut
être attribué à la télécommande n.
[0091] La figure 8 est un organigramme correspondant à la routine "Analyser bit courant".
[0092] Lorsque cette routine est abordée pour la télécommande n, il est certain que l'état
de cette télécommande est l'état d'attente de bits supplémentaires. En l'occurrence,
au moins un bit a déjà été attribué à cette télécommande n et a été stocké dans la
mémoire adéquate. D'autre part, on sait par l'intermédiaire de la variable Dernier_temps_n
à quel moment a été détecté le front montant de la dernière impulsion utilisée pour
attribuer le bit le plus récent mémorisé dans la mémoire. C'est à partir de cette
information et du moment de l'arrivée du front montant de l'impulsion courante que
l'on détermine la durée de bit Durée_bit (Etape E201). Les autres étapes ont pour
but de déterminer si ce bit peut correspondre à un bit supplémentaire issu de la télécommande
n.
[0093] On compare dans un premier temps la durée de bit Durée_bit à la durée T1n d'un "1"
logique pour la télécommande 1, ceci bien évidemment à une certaine erreur près (E202).
Si effectivement les deux durées se correspondent, alors un "1" logique est identifié
et inséré dans la pile associée à la télécommande n (Etape E203).
[0094] Si un "1" n'est pas identifié, alors la durée de bit est comparée à T0n (E204). Si
les deux durées correspondent, un "0" logique est identifié et mémorisé dans la mémoire
correspondante (Etape E205).
[0095] Après identification soit d'un "1", soit d'un "0" logiques, le compteur de bits N_Bit_n
est incrémenté, la variable Dernier_temps_n est remise à jour et le fait que l'impulsion
courante ait été utilisée est mémorisé en mettant la variable Impulsion utilisée à
1 (Etape E208).
[0096] On détermine alors si le message reçu et stocké contient le nombre maximal de bits,
à savoir N_Bits (E210). Si tel est le cas, l'état associé à la télécommande n devient
l'état d'attente de fin de message (E209). Si ce n'est pas le cas, ou après le changement
d'état, le procédé de la figure 5 est repris (E211).
[0097] Si les tests des étapes E202 et E204 se sont avérés négatifs, un troisième test est
entrepris à l'étape E206. Si la durée de bit Durée_bit est strictement supérieure
à T1n (qui représente, entre T0n et T1n et selon le présent exemple de réalisation
la durée la plus longue), alors la durée de bit ne peut correspondre à un bit issu
de la télécommande n. On suppose alors que le message de la télécommande n a été interrompu.
L'état associé à la télécommande n redevient l'état d'attente du premier bit (E207)
et la mémoire correspondante est vidée. La variable Impulsion_attribuée_n est aussi
mise à 1 pour indiquer que la télécommande n a reçu sa première impulsion (mais non
encore son premier bit, celui-ci étant déterminé par deux impulsions).
[0098] Si le test de l'étape E206 s'avère négatif, alors le procédé de la figure 5 est repris
(E211).
[0099] En revenant à la figure 5, l'on voit que l'ensemble des étapes E5, E8, E9, E10 et
E14 est répété pour chaque télécommande.
[0100] En cas de test négatif à l'étape E5, en cas de test positif à l'étape E14 ou après
les deux routines décrites ci-dessus, on détermine si l'indice n correspond à son
maximum N (E6). Si tel n'est pas le cas, l'indice est incrémenté (E7) et l'étape E5
est reprise.
[0101] Une fois l'ensemble des télécommandes passées en revue, on détermine si l'impulsion
courante a bien été utilisée pour attribuer un bit à une des télécommandes (E11).
Si ce n'est pas le cas, on suppose qu'une erreur d'interprétation a été faite pour
un bit précédemment stocké dans l'une des mémoires.
[0102] C'est la fonction de la troisième routine (E12) que de corriger cette erreur d'interprétation.
Par la suite, les paramètres concernant cette impulsion sont mémorisés dans la mémoire
4 (E13).
[0103] Le déroulement principal de cette étape est illustré par l'organigramme constitué
des figures 9a et 9b.
[0104] Dans un premier temps, une étape E301 permet de vérifier si l'impulsion courante
est la première impulsion d'un message envoyé par une des télécommandes. Cette impulsion
n'a pas été utilisée lors de l'une des deux sous-procédures E9 ou E10 pour l'attribution
d'un bit. La première impulsion attribuée à une télécommande ne permet pas d'attribuer
un bit, étant donné qu'un bit est défini par l'intervalle de temps entre deux fronts
d'impulsions successives. L'utilisation de la variable "Impulsion_attribuée_i" permet
d'attribuer une impulsion à une seule télécommande dont l'état est "Attente du premier
bit".
[0105] L'étape E301 permet ainsi d'éviter certains cas de correction ultérieure.
[0106] L'étape E301 est décrite de manière détaillée par l'organigramme de la figure 10.
[0107] Pour chaque télécommande, les étapes suivantes sont réalisées:
[0108] On vérifie tout d'abord si l'état associé à la télécommande est bien l'état d'attente
du premier bit (E401). Dans la négative, on passe à la télécommande suivante, par
l'intermédiaire de la boucle E402/E406 (l'étape E407 servant à initialiser cette boucle).
Dans l'affirmative, on vérifie si la durée Tp de l'impulsion est telle qu'elle correspond
à la durée d'une impulsion de la télécommande actuellement traitée ou si elle peut
cacher une telle impulsion (E403). Si le résultat de la comparaison est négatif, alors
on passe de même à la télécommande suivante. Dans le cas d'une comparaison positive,
on vérifie si une impulsion a déjà été attribuée à cette télécommande (E404).
[0109] Une même télécommande ne peut avoir qu'une seule impulsion de départ. Cet état de
fait est mémorisé par la variable Impulsion_attribuée_i. Si cette variable indique
qu'une impulsion a déjà été attribuée (c'est à dire selon l'exemple présent si elle
possède la valeur 0), alors on conclut que l'impulsion actuellement traitée ne provient
pas de la télécommande considérée et on passe le cas échéant à la télécommande suivante
(E404). Par contre, si aucune impulsion n'a encore été attribuée à la télécommande
considérée, alors l'impulsion lui est attribuée (E405). L'impulsion est alors marquée
comme ayant été utilisée. D'autre part, la variable Impulsion_attribuée_i est mise
à
1 pour indiquer qu'une impulsion a été attribuée à la télécommande i. Si une attribution
a eu lieu, alors on met fin au procédé de la figure
10.
[0110] La boucle de l'étape E301 travaille par valeurs décroissantes de la durée d'impulsion
Tpi. De cette façon, l'impulsion sera attribuée à la télécommande la plus probable.
[0111] Une fois le procédé de la figure
10 terminé on revient au procédé de la figure
9. Etant donné que toute impulsion provient d'une des n télécommandes, si aucune attribution
n'a pu être réalisée au cours de l'étape E301, on conclut qu'il y a eu mauvaise interprétation
d'une impulsion précédente. Dans ce cas, une analyse plus profonde est effectuée pour
les télécommandes auxquelles ont déjà été associés des bits.
[0112] Trois cas sont à considérer, illustrés respectivement par les figures
11a, 11b et
11c.
[0113] Dans une première configuration, on s'intéresse aux télécommandes dont l'état associé
est "Attente de fin de message" (C). On détermine alors si l'impulsion actuelle pourrait
former un "0" ou un "1" avec une impulsion précédemment attribuée à ces télécommandes.
Si c'est effectivement le cas, alors on suppose que le premier bit du message de la
télécommande a été mal attribué. Ce premier bit est éliminé, tandis que le nouveau
bit est rajouté à la fin du message. La figure
11a illustre une configuration des signaux issus de télécommandes pouvant induire une
telle erreur.
[0114] La première ligne de la figure
11a correspond aux signaux émis par une première télécommande, tandis que la seconde
ligne de cette figure correspond aux signaux émis par une seconde télécommande. L'impulsion
B correspond à la première impulsion émise par la première télécommande. L'impulsion
A émise par la seconde télécommande est telle que l'intervalle de temps entre son
front montant et le front montant d'une impulsion B émise par la première télécommande
correspondent au temps T01. La routine "Déterminer premier bit" telle que décrite
ci-dessus détectera un "0" pour la première télécommande lors de l'analyse de l'impulsion
B. Un bit est donc détecté avant le véritable début du message. Ceci est dû au fait
qu'une impulsion de la première télécommande pourrait être cachée par l'impulsion
A, plus large.
[0115] Dans ce cas, il convient d'éliminer ce premier bit détecté, de décaler l'ensemble
du message et de rajouter un "0" ou un "1", selon le bit détecté grâce à l'analyse
de l'impulsion la plus récente.
[0116] Cette première configuration est détectée lorsque l'état associé à une télécommande
est "Attente de fin de message" mais qu'un bit supplémentaire est néanmoins détecté
pour cette télécommande.
[0117] Selon une seconde configuration illustrée à la figure 11b, le front montant d'une
impulsion de la première télécommande (impulsion D) forme avec le front montant d'une
impulsion consécutive de la seconde télécommande (impulsion E) un bit "0" pour la
première télécommande. L'analyse pratiquée par la routine "Analyser bit courant" (l'état
associé à la télécommande étant "Attente de bits supplémentaires") est telle qu'un
bit "0" sera associé à la première télécommande. Or, si l'impulsion E ne masque pas
d'impulsion émise par la première télécommande, c'est que le front montant de l'impulsion
F émise par la première télécommande forme un "1" avec le front montant de l'impulsion
D. Un "0" serait donc détecté à la place d'un "1".
[0118] Cette correction est proche de celle effectuée au niveau de l'étape E119 de la figure
6, mais la sous-procédure de la figure 6 ne concerne que la détection d'un premier
bit, tandis que dans le cas présent, l'état associé à une télécommande peut être différent
de l'état "Attente du premier bit".
[0119] Selon une troisième configuration illustrée à la figure 11c, un "0" peut être détecté
au mauvais moment. Supposons que les fronts de deux impulsions émises par une première
télécommande (impulsions G et H) forment un "0". Comme cela a déjà été mentionné,
le test effectué pour déterminer si la durée d'un bit correspond à T0i tient compte
d'une erreur ±Δ qui constitue une fourchette autour de la valeur T0i. Si l'intervalle
de temps entre le front montant d'une impulsion I émise par une seconde télécommande
et le front montant de l'impulsion G tombe dans la fourchette ainsi déterminée, alors
un "0" peut être détecté. La valeur "0" n'est pas en soi fausse, puisque de toute
façon, les impulsions G et H donnent la même information. Cependant, la variable "Dernier_temps_i"
contiendrait une valeur faussée, ce qui aurait pour conséquence une éventuelle mauvaise
interprétation des bits suivants.
[0120] Cette troisième configuration s'applique également à la détection erronnée de bits
à "1".
[0121] La correction réalisée pour la seconde et la troisième configuration consiste, lors
de l'analyse de l'impulsion F, à vérifier si cette impulsion donne une information
cohérente pour une télécommande donnée en liaison avec l'avant-dernier bit. Si cette
information correspond à un "
1" ou à un "
0", le dernier bit attribué à cette télécommande est remplacé par cette information.
[0122] Revenons à la figure
9 pour voir plus en détail le procédé utilisé. L'étape E301 est maintenant franchie
et on teste lors d'une étape E302 si l'impulsion a pu être attribuée lors de l'étape
E301. Dans l'affirmative, les trois configurations explicitées ci-dessus n'ont pas
lieu d'être corrigées, et la routine se termine (E303).
[0123] Comme précédemment, une boucle (réalisée par l'intermédiaire des étapes E304, E305
et E306) passe en revue les différentes télécommandes.
[0124] Dans un premier temps (E304), on détermine si l'impulsion en cours d'analyse est
identique à ou est telle qu'elle peut cacher une impulsion en provenance de la télécommande
i. Si ce n'est pas le cas, on passe à la télécommande suivante en incrémentant l'indice
des télécommandes (étape E306). Dans l'affirmative, on détermine la durée de bit (Variable
Durée bit) correspondant à l'intervalle de temps entre le front montant de l'impulsion
en cours d'analyse et le dernier front montant mémorisé pour la télécommande, à savoir
Dernier_temps_i.
[0125] Dans un premier temps, on teste par l'intermédiaire des étapes E309 à E313 si l'on
se trouve dans la première configuration (figure 11a) décrite ci-dessus. Pour cela,
on cherche d'abord à savoir si l'état associé à la télécommande examinée est bien
"Attente de fin de message". Si ce n'est pas le cas, on passe à la vérification des
conditions correspondant aux seconde et troisième configurations. Dans l'affirmative,
les étapes E310, respectivement E312 testent si la durée de bit correspond à un "1"
ou un "0". Si l'un des deux tests est positif, alors le message enregistré pour la
télécommande en cours d'examen est décalé et un "1" ou "0" est respectivement rajouté
(étapes E311 et E313). L'impulsion ainsi utilisée, la routine se termine à l'étape
E303, après que l'impulsion la plus récente ait été marquée comme ayant été utilisée.
[0126] Si la première configuration n'a pu être détectée ou si l'état associé à la télécommande
est "Attente de bits supplémentaires" (Test E314), alors on détermine si les conditions
de la seconde ou troisième configuration (figures
11b et
11c) sont remplies.
[0127] On détermine alors la valeur du dernier bit mémorisé pour la télécommande examinée
(E316). On calcule l'intervalle de temps séparant le front montant de l'impulsion
en cours d'analyse (par exemple front montant des impulsions F ou H des figures
11b et
11c et dont l'instant d'apparition est mémorisé par la variable Départ) et le front montant
de l'avant dernière impulsion mémorisée (par exemple impulsions D ou G des figures
11b et
11c). Ce calcul est réalisé en calculant l'intervalle de temps entre Durée et Dernier_Temps_i,
et en rajoutant
T0i ou
T1i suivant la valeur du dernier bit mémorisé (étapes E317, respectivement E318).
[0128] Puis on compare cet intervalle de temps à la durée d'un bit "0" et "1" pour la télécommande
actuellement examinée (durées T0i et T1i aux étapes E319 et E320). Si l'une de ces
durées correspond à l'intervalle de temps précédemment calculé, alors le dernier bit
mémorisé pour la télécommande est effacé et remplacé par la nouvelle valeur déterminée.
De plus, le paramètre indiquant le dernier front montant d'une impulsion ayant donné
lieu à l'attribution d'un bit à la télécommande est remis à jour (Paramètre Dernier_temps_i).
[0129] Si après l'examen correspondant aux trois configurations citées, une impulsion n'a
pu être attribuée à aucune télécommande, alors une routine supplémentaire, appelée
"Départ erronné" est lancée. Cette routine (E321) n'est exécutée que pour les télécommandes
auxquelles un premier bit a été attribué, et elle reprend la routine "Déterminer premier
bit" précédemment décrite. L'organigramme correspondant est représenté à la figure
12.
[0130] En revenant à l'organigramme principal de la figure
5, il reste encore à valider les messages stockés s'il y a lieu, ou à déterminer si
ces messages ont été interrompus en cours de transmission.
[0131] La figure
13 donne l'organigramme du procédé correspondant (appelé "Fin de message") selon le
présent exemple de réalisation. Cette procédure est lancée lorsqu'aucune impulsion
n'est détectée (étape E1). Il est également possible de la lancer à un autre moment.
[0132] Comme précédemment, une boucle est créée pour passer en revue l'ensemble des télécommandes
(étapes E501, E502 et E503).
[0133] Pour chaque télécommande, on détermine le temps écoulé depuis le front montant de
la dernière impulsion attribuée à cette télécommande en faisant la différence entre
l'état de l'horloge du système et le paramètre Dernier_temps_i (Etape E504). On teste
alors (E505) si cette durée est supérieure à la durée de bit la plus longue pour cette
télécommande (en l'occurrence
T1i suivant le présent exemple). Si ce n'est pas le cas, on passe à la télécommande suivante
(E502). En effet, une impulsion destinée à la télécommande peut encore parvenir au
récepteur. Il n'y a donc pas lieu de mettre fin au message reçu, celui-ci n'étant
pas forcément complet ou correct.
[0134] Si par contre le test de l'étape E505 s'avère positif, à priori aucune impulsion
future ne pourra être attribuée à la télécommande considérée. Suivant l'état du message,
il est alors considéré comme complet ou comme interrompu. On détermine tout d'abord
si l'état du message est l'état d'attente de fin de message ou non (E506). Si ce n'est
pas le cas, alors on vérifie (E507) si la durée écoulée depuis la dernière impulsion
attribuée à la télécommande est supérieure au temps de repos de cette télécommande.
Si c'est le cas, alors le message est considéré comme interrompu et l'état du message
est remis à l'état d'attente du premier bit (E508). Si la durée est inférieure au
temps de repos on passe à la télécommande suivante (E502).
[0135] Si l'état du message est bien l'état d'attente de fin de message, alors cet état
est changé en attente du temps de repos (E508). Le message est alors considéré comme
complet et peut être analysé de manière connue par ailleurs pour déterminer sa signification
(E509). Lors d'une reprise ultérieure du procédé de la figure
13, l'état du message sera remis à l'état d'attente du premier bit, autorisant ainsi
la réception d'un nouveau message.
[0136] L'exemple de réalisation décrit comporte une multitude de corrections de diverses
configurations des signaux. Selon la complexité souhaitée du dispositif et du traitement
effectué, certaines corrections peuvent, selon une variante de réalisation, être éliminées.
Ceci risque d'être préjudiciable pour la performance, mais permettra de simplifier
le traitement.
[0137] En dernier lieu, bien que l'exemple de réalisation concerne un codage de valeurs
d'un bit, deux intervalles de temps (T0i et T1i) étant utilisés, l'invention ne se
limite pas à un tel codage.
[0138] Les applications de l'invention sont nombreuses: jeux vidéo ou télévision interactive,
contrôle de plusieurs appareils à travers un seul récepteur de signaux de commande
en utilisant plusieurs télécommandes, etc...
1. Procédé de réception de signaux issus d'au moins deux émetteurs (RCi) caractérisé
en ce que,
pour chaque émetteur, les données ("0", "1") étant représentées par l'intervalle de
temps (T0i, T1i) entre deux impulsions consécutives émises par cet émetteur,
lesdits intervalles de temps ainsi que la largeur des impulsions (Tpi) étant caractéristiques
de chaque émetteur,
ledit procédé comprenant les étapes:
de réception d'un signal résultant de la superposition des signaux émis par lesdits
émetteurs,
de détermination des paramètres des impulsions dudit signal résultant, lesdits paramètres
comprenant la largeur des impulsions ainsi que leur espacement,
d'attribution d'une donnée à un émetteur en fonction de ces paramètres
2. Procédé selon l'une des revendications 1, caractérisé en ce que les données sont les
deux valeurs possibles d'un bit.
3. Procédé selon la revendication 2, caractérisé en ce que l'on associe à chaque émetteur
une donnée représentant l'état d'un message issu de cet émetteur.
4. Procédé selon la revendication 3, caractérisé en ce que l'état du message est l'attente
d'un premier bit d'un message (A), l'attente de bits supplémentaires (B), l'attente
de la fin du message (C) ou l'attente de la fin du temps de repos entre deux messages
(D).
5. Procédé selon l'une des revendications 2 à 4, caractérisé en ce qu'un premier bit
est détecté pour un émetteur donné lorsque l'intervalle de temps (Durée_bit) entre
l'impulsion courante et une impulsion parmi les impulsions précédemment reçues (Début_mem[i])
est égal à un des intervalles (T0i, T1i) définissant une valeur de bit pour ledit
émetteur et que la durée (Durée_mem[i]) de ladite impulsion parmi les impulsions précédemment
reçues est égale à la durée (Tpi) d'une impulsion associée audit émetteur donné.
6. Procédé selon la revendication 5, caractérisé en ce que la comparaison entre l'intervalle
de temps (Durée_bit) entre lesdites deux impulsions et les intervalles définissant
une valeur de bit pour ledit émetteur est effectué par intervalles croissants définissant
une information (T0i, T1i), toutes les impulsions précédemment reçues et stockées
(Début_mem[i], Durée_mem[i]) étant passées en revue pour chacun des intervalles définissant
une valeur de bit.
7. Procédé selon la revendication 6, caractérisé en ce que les intervalles définissant
une valeur de bit (T0i, T1i) étant au nombre de deux, si aucun bit n'est détecté mais
qu'il y a eu égalité entre la durée la plus courte correspondant à une valeur de bit
(T0i) et l'intervalle de temps (Durée_bit) séparant l'impulsion courante et une impulsion
précédemment reçue, alors la valeur de bit détectée correspond à cette durée la plus
courte (T0i).
8. Procédé selon l'une des revendications 5 à 7, caractérisé en ce que la détection d'un
premier bit n'est réalisée pour un émetteur que lorsque la durée de l'impulsion courante
(Durée) est supérieure ou égale à la durée (Tp) d'une impulsion en provenance de cet
émetteur.
9. Procédé selon l'une des revendications 2 à 8, caractérisé en ce que lorsqu'au moins
un bit a déjà été attribué à un émetteur, un autre bit est attribué au même émetteur
si l'impulsion courante forme avec la dernière impulsion ayant permis une attribution
d'un bit à cet émetteur un intervalle correspondant à une valeur de bit pour cet émetteur.
10. Procédé selon la revendication 9, caractérisé en ce que la détection d'un bit n'est
réalisée pour un émetteur que lorsque la durée de l'impulsion courante (Durée) est
supérieure ou égale à la durée (Tp) d'une impulsion en provenance de cet émetteur.
11. Procédé selon l'une des revendications 5 à 10, caractérisé en ce que si une impulsion
courante n'a pu être utilisée pour détecter un bit (Impulsion_utilisée), alors cette
impulsion est attribuée au premier émetteur (i) auquel aucun bit n'a encore été attribué
dans l'ordre décroissant des durées d'impulsions (Tpi), ladite impulsion ainsi attribuée
servant à définir le point de départ d'un bit dont la seconde impulsion parviendra
ultérieurement.
12. Procédé selon l'une des revendications 5 à 11, caractérisé en ce que si le nombre
de bits (N_bits_i) attribué à un émetteur est égal au nombre maximal (N_bits) de bits
attribuables à un message, mais que néanmoins un bit supplémentaire est détecté pour
cet émetteur, alors le premier bit du message est éliminé, et le dernier bit détecté
est rajouté audit message.
13. Procédé selon l'une des revendications 5 à 12, caractérisé en ce que lorsque l'impulsion
courante n'a pu être attribuée à un émetteur et forme avec l'avant-dernière impulsion
stockée un intervalle correspondant à une valeur de bit pour un émetteur donné et
qu'au moins un bit a déjà été attribué à cet émetteur, alors le dernier bit attribué
est remplacé par la nouvelle valeur détectée.
14. Procédé selon la revendication 13, caractérisé en ce que si une impulsion courante
n'a pas pu être utilisée auparavant, alors on recherche un émetteur auquel a été attribué
un seul bit et on détermine si l'intervalle entre l'impulsion courante et la première
impulsion attribuée audit émetteur correspond à une valeur de bit pour ledit émetteur,
auquel cas ladite valeur de bit est retenue.
15. Procédé selon l'une des revendications 5 à 14, caractérisé en ce que les paramètres
(Durée, Début) de chaque impulsion reçue sont mémorisés (Durée_mem[i], Début_mem[i])
après l'analyse de ladite impulsion.
16. Procédé selon l'une des revendications 4 à 15, caractérisé en ce que
le passage de l'état "Attente de premier bit" à l'état "Attente de bits supplémentaires"
se fait lorsqu'un bit a été détecté,
le passage de l'état "Attente de bits supplémentaires" à l'état "Attente de fin de
message" se fait lorsque le nombre maximal de bits a été attribué à un émetteur,
le passage de l'état "Attente de fin de message" à l'état "Attente de période de repos"
se fait si après une attente d'un temps supérieur à l'intervalle le plus long correspondant
à une information pour l'émetteur considéré aucun bit n'a été identifié pour cet émetteur,
le passage de l'état "Attente de période de repos" à l'état "Attente de premier bit"
se fait si le temps écoulé depuis le dernier bit reçu (Dernier_temps_i) est supérieur
au temps de repos (Trn) de l'émetteur considéré.
le passage de l'état "Attente de bits supplémentaires" à l'état "Attente du premier
bit" se fait lorsqu'après l'attribution d'un premier bit, un temps supérieur à l'intervalle
le plus long correspondant à une information pour l'émetteur considéré s'écoule sans
qu'un bit supplémentaire ne soit détecté.
17. Dispositif de réception de signaux caractérisé en ce qu'il comprend
des moyens de réception (1, 2) d'un signal (Rec) résultant de la superposition de
signaux émis par au moins deux émetteurs (RC1, RC2), pour chaque émetteur, les données
("0", "1") étant représentées par l'intervalle de temps (T0i, T1i) entre deux impulsions
consécutives émises par cet émetteur,
lesdits intervalles de temps ainsi que la largeur des impulsions (Tpi) étant caractéristiques
de chaque émetteur,
des moyens d'analyse (3, 4, 5, 6) dudit signal résultant en fonction de la largeur
(Impulsion_mem[i], Durée) des impulsions détectées dans ledit signal résultant et
en fonction des intervalles de temps entre ces impulsions.
18. Dispositif selon la revendication 17, caractérisé en ce que la largeur des impulsions
détectées est égale ou proportionnelle à la largeur des impulsions émises par lesdits
émetteurs.
19. Dispositif selon l'une des revendications 17 ou 18, caractérisé en ce que lesdits
moyens de réception comprennent un récepteur à infra-rouges (1, 2), lesdits émetteurs
(RC1, RC2) émettant des signaux infra-rouges et utilisant la même porteuse.
20. Dispositif selon l'une des revendications 17 à 19, caractérisé en ce que lesdits moyens
d'analyse comprennent un microprocesseur (3), une mémoire (4) stockant des paramètres
d'impulsions reçues (Impulsion_mem[i], Début_mem[i]), des mémoires (5, 6) stockant
les bits correspondant aux messages des différents émetteurs.
21. Dispositif selon l'une des revendications 17 à 20, caractérisé en ce qu'il met en
oeuvre le procédé selon l'une des revendications 1 à 16.
22. Télécommande (RC1, RC2) à infra-rouges caractérisée en ce qu'elle est utilisée en
conjonction avec un dispositif selon l'une des revendications 17 à 21 et en ce qu'elle
comporte des moyens de réglage (12) de la largeur des impulsions utilisées pour représenter
les données transmises audit dispositif, ledit réglage étant effectué de sorte à être
unique par rapport à d'autres télécommandes pouvant être utilisées simultanément.
23. Télécommande selon la revendication 22, caractérisé en ce qu'elle comporte également
des moyens de réglage (21) des intervalles de temps entre deux impulsions servant
à représenter les différentes données ("0", "1") destinées à être transmises.
24. Système de réception de signaux caractérisé en ce qu'il comprend
au moins deux émetteurs (RC1, RC2), chaque émetteur codant des données sous la forme
d'impulsions de largeur caractéristique (Tpi) dudit émetteur, une donnée étant définie
par l'intervalle de temps (T0i, T1i) séparant deux impulsions consécutives émises
par cet émetteur, ledit intervalle de temps étant également caractéristique ce chaque
émetteur,
un récepteur comportant des moyens de réception (1, 2) du signal résultant de la superposition
des signaux émis par lesdits émetteurs,
des moyens d'analyse (3, 4, 5, 6) dudit signal résultant en fonction de la largeur
des impulsions détectées dans ledit signal résultant et des intervalles de temps séparant
lesdites impulsions.
25. Système selon la revendication 24, caractérisé en ce que lesdits émetteurs comportent
une télécommande conforme à une des revendications 22 ou 23.