FR 2790620 A1 20000908 FR 9902584 A 19990302 DOMAINE TECHNIQUE ET ART ANTERIEUR L'invention concerne d'abord le domaine des circuits électroniques à fonction de transfert non linéaire. Dans le domaine des systèmes électroniques, se pose en effet le problème de réaliser des circuits mettant en oeuvre des fonctions ou caractéristiques de transfert non linéaires. La fonction, ou caractéristique de transfert d'un circuit, est le rapport entre le signal de sortie et son signal d'entrée. Plus précisément, se pose le problème de réaliser des circuits pouvant être facilement réalisés de manière à mettre en oeuvre une fonction de transfert non linéaire donnée. L'invention concerne également le domaine des procédés et des dispositifs de contrôle. En particulier, elle trouve application à des procédés et des dispositifs de contrôle mettant en oeuvre des règles de logique floue ("fuzzy logic"). Elle trouve notamment application au contrôle de dispositifs implantés dans le corps humain, comme par exemple les stimulateurs cardiaques à fréquence asservie à l'effort. Le contrôle à base de logique floue est appliqué à de nombreux domaines techniques. La mise en oeuvre d'algorithmes de contrôle à l'aide de règles de logique floue est possible, soit à l'aide de logiciels implantés sur des microprocesseurs standards ou dédiés, ou bien à l'aide de circuits analogiques. Chaque technique présente ses propres avantages et ses propres inconvénients. La mise en oeuvre à l'aide de logiciels permet une grande flexibilité et une grande souplesse de programmation. De plus, elle permet une certaine précision. Cependant le coût pour tous ces avantages réside en une puissance consommée élevée et une vitesse relativement basse. Les réalisations analogiques permettent d'obtenir des vitesses plus élevées et des consommations plus faibles, mais sont moins souples ou flexibles et permettent de n'obtenir qu'une faible précision. La technologie des stimulateurs cardiaques, quant à elle, évolue assez rapidement. De nouvelles versions de stimulateurs sont offertes pratiquement chaque année par les constructeurs, qui en améliorent donc régulièrement les propriétés. 2 /2790620 Les utilisateurs, cependant, n'ont pas à leur disposition de dispositif qui soit réellement satisfaisant, en particulier du fait des algorithmes de contrôle, qui ne sont pas tout à fait adaptés. Par ailleurs, de l'avis des utilisateurs la programmation du dispositif de contrôle est trop compliquée pour permettre une personnalisation optimale ou satisfaisante du stimulateur. Il se pose donc le problème de trouver un nouveau procédé et un nouveau dispositif de contrôle, applicable en particulier au contrôle d'un stimulateur cardiaque, et qui soit de préférence aisément programmable et économe en consommation d'énergie. Il se pose également le problème, dans le cas de l'application à un stimulateur cardiaque, d'optimiser le taux d'activité cardiaque à partir de signaux de contrôle, les critères d'optimisation retenus étant: l'adaptation du rythme cardiaque, au repos et au cours d'un effort, à la demande métabolique. - l'accroissement approprié du rythme cardiaque au début de l'effort - la diminution du rythme cardiaque à la fin d'un effort Il se pose également le problème de simplifier et d'optimiser les procédures d'adaptation d'un dispositif de régulation à chaque variation dans la conception d'un système à réguler, en particulier dans le cas d'un stimulateur cardiaque. Enfin, il est important de pouvoir disposer de systèmes de régulation pouvant être adaptés à tout type de stimulateur cardiaque, quelqu'en soit le type de signal ou de signaux de contrôle utilisés. EXPOSE DE L'INVENTION L'invention a tout d'abord pour objet un dispositif électronique à caractéristique de transfert non-linéaire, constituée par, ou approchée par, une fonction linéaire par morceaux, les morceaux étant définis sur des intervalles de variation d'un signal d'entrée du dispositif, comportant: 3 2790620 - des premiers moyens pour déterminer, pour chaque valeur d'un signal d'entrée, l'intervalle auquel appartient cette valeur, et le degré d'appartenance pour cet intervalle, - des seconds moyens pour produire un signal de sortie du dispositif, en fonction des informations sur l'intervalle d'appartenance et le degré d'appartenance de la valeur du signal d'entrée précédemment déterminés, ainsi que de la fonction linéaire par morceaux. Selon une autre définition, l'invention a également pour objet un dispositif électronique à caractéristique de transfert non-linéaire, constituée par, ou approchée par, une fonction linéaire par morceaux, les morceaux étant définis sur des intervalles de variation d'un signal d'entrée du dispositif, comportant: - une première et une deuxième sources de courant permettant respectivement de décaler une valeur d'un signal d'entrée à l'aide d'une première valeur de décalage, et de multiplier le signal ainsi obtenu par un premier coefficient multiplicatif, - une troisième et une quatrième sources de courant, permettant respectivement de multiplier le deuxième valeur obtenue par un deuxième coefficient multiplicatif, puis de décaler la troisième valeur ainsi obtenue d'une certaine intensité à l'aide d'une deuxième valeur de décalage - des moyens pour produire un signal numérique identifiant un intervalle de variation dans lequel se situe le signal d'entrée et pour faire varier ou déterminer les coefficients multiplicatifs et les valeurs de décalage en fonction de l'intervalle dans lequel se situe le signal d'entrée. Un dispositif selon l'invention permet de mettre aisément en oeuvre une fonction de transfert non-linéaire, constituée par, ou approchée par, une fonction linéaire par morceaux, les morceaux étant définis sur des intervalles de variation d'un signal d'entrée. Un tel dispositif peut avantageusement comporter en outre des moyens numériques de mémorisation, pour mémoriser des données définissant ou caractérisant la fonction linéaire par morceaux sur chacun des intervalles sur lesquels les morceaux de la fonction linéaire sont définis. 4 2790620 Les premiers moyens peuvent également produire un premier signal de sortie représentatif de l'intervalle auquel la valeur Q appartient et un deuxième signal représentatif du degré d'appartenance à cet intervalle. Notamment, les premiers moyens comportent: - des moyens pour produire un signal analogique définissant le degré d'appartenance de la valeur du signal d'entrée à l'intervalle auquel elle appartient. - des moyens pour produire un signal numérique définissant l'intervalle auquel la valeur du signal d'entrée appartient. Une telle réalisation permet d'obtenir un dispositif qui,en outre, a une faible consommation d'énergie. Avantageusement, une boucle de rétroaction numérique permet de modifier la détermination du degré d'appartenance d'une valeur du signal d'entrée en fonction de l'intervalle auquel elle appartient. Par exemple, des moyens peuvent être prévus pour comparer le deuxième signal de sortie, représentatif du degré d'appartenance, à des première et deuxième valeurs limites, respectivement inférieure et supérieure, et pour modifier le degré d'appartenance, ainsi que le premier signal représentatif du degré d'appartenance, lorsque le deuxième signal devient inférieur à la première valeur limite ou lorsque le deuxième signal devient supérieur à la deuxième valeur limite. Un dispositif selon l'invention peut être appliqué à un dispositif de contrôle d'une grandeur physique Z d'un système. Un tel dispositif de contrôle comporte alors un dispositif tel que ci-dessus, le signal d'entrée comportant au moins un signal de mesure, et le signal de sortie étant un signal de contrôle de la grandeur physique Z. Un exemple d'un système physique pouvant être ainsi régulé est celui d'un stimulateur cardiaque. Un exemple de fonction de transfert non linéare pouvant être mise en oeuvre avec l'invention est constitué d'une fonction de transfert linéaire par morceaux, en particulier du type dérivée d'un système à logique floue. Ainsi, l'invention concerne également un système de régulation à logique floue, mettant en oeuvre un dispositif tel qu'exposé ci-dessus. 2790620 Un tel dispositif de régulation peut en outre avantageusement comporter des moyens pour limiter les variations du signal de sortie. En particulier, ce dispositif peut comporter au moins deux circuits en parallèle, tels que déjà décrits ci-dessus, l'un permettant de calculer les valeurs de la grandeur physique Z, au moins l'un des autres permettant de calculer une variation maximum de cette grandeur à partir d'une valeur mesurée de cette même grandeur. Selon un mode de réalisation préféré, le dispositif comporte trois circuits en parallèle, tels que déjà décrits ci-dessus, un premier circuit permettant de calculer les valeurs de la grandeur physique Z, un deuxième circuit ayant pour signal d'entrée la valeur réelle de Z, mesurée sur ou dans le système et pour signal de sortie l'accroissement maximum possible de Z, le troisième ayant lui aussi pour signal d'entrée la valeur réelle de Z, et pour signal de sortie la diminution maximum possible de Z. Un circuit comparateur peut permettre en outre de limiter la correction de Z, calculée à l'aide du premier circuit, à une valeur tenant compte des valeurs d'accroissement maximum possible et de diminution maximum possible calculées. Par conséquent le circuit selon l'invention comporte: - des moyens pour déterminer, pour chaque valeur mesurée Q, l'intervalle auquel appartient cette valeur, et le degré d'appartenance pour cet intervalle - des moyens pour calculer une valeur d'un signal de sortie ou bien une valeur d'un signal de contrôle, à partir des informations sur l'intervalle auquel appartient la valeur Q et son degré d'appartenance pour cet intervalle. En particulier, ce dispositif peut comporter: - des moyens pour produire un signal numérique définissant l'appartenance d'une valeur d'entrée pour un intervalle, et pour produire un signal analogique de degré d'appartenance de ladite valeur d'entrée au dit intervalle. - des moyens numériques pour déterminer des coefficients (c, d) dépendant de l'intervalle auquel appartient la valeur d'entrée, pour calculer une valeur du signal de sortie ou de contrôle Z. - des moyens analogiques pour calculer ladite valeur de contrôle en fonction du degré d'appartenance au sous-ensemble, et en fonction des coefficients (c, d). 6 2790620 Les moyens pour produire un signal analogique et un signal numérique peuvent comporter une partie analogique et une partie numérique, montées en boucle fermée. Un signal de commande de la partie numérique est par exemple établi à l'aide d'un comparateur, qui compare la sortie de la partie analogique avec des valeurs prédéterminées. Le circuit tel que défini ci-dessus permet de réaliser un circuit de commande à faible consommation d'énergie, ce qui est extrêmement important et critique dans le cas de certaines applications, notamment pour la réalisation de stimulateurs cardiaques. BREVE DESCRIPTION DES FIGURES Les caractéristiques et avantages de l'invention apparaîtront mieux à la lumière de la description qui va suivre. Cette description porte sur les exemples de réalisation, donnés à titre explicatif et non limitatif, en se référant à des dessins annexés sur lesquels: - la figure 1 représente schématiquement un dispositif selon l'invention - la figure 2 est un exemple de caractéristique de transfert non linéaire, et de son approximation, linéaire par morceaux - la figure 3 représente de manière plus détaillée un dispositif selon l'invention - les figures 4 et 5 représentent des réalisations détaillées de certains composants du dispositif selon l'invention - les figures 6 à 9 sont des caractéristiques de transfert de certaines variables internes et de la variable de sortie, par rapport à la variable d'entrée, d'un dispositif selon l'invention. - la figure 10 représente un système de régulation mettant en oeuvre un dispositif selon l'invention. - la figure 11 est un diagramme représentant, pour un paramètre constitué par un signal d'entrée ou de contrôle donné, une fonction d'appartenance pour un algorithme de contrôle à logique floue - la figure 12 est un diagramme représentant une fonction de transfert linéaire par morceaux, pour un algorithme de contrôle à logique floue 7 2790620 - la figure 13 représente schématiquement un système de régulation d'un stimulateur cardiaque, mettant en oeuvre un dispositif selon l'invention la figure 14 représente une comparaison entre une simulation et un circuit selon l'invention. DESCRIPTION DETAILLEE DE MODES DE REALISATION DE L'INVENTION Un exemple d'un circuit selon l'invention est donné en figure 1. Le circuit comporte une entrée 21, pour un signal d'entrée Q, et une sortie 29 pour délivrer un signal de sortie Z. Chacun de ces signaux peut être représenté par exemple par un courant d'entrée l,, et un courant de sortie Iout. Une caractéristique de transfert non linéaire, à mettre en oeuvre, est illustré par la courbe C de la figure 2. La variable, ou signal, d'entrée Q (ou Tin) varie sur une plage de valeurs de signal d'entrée comprise entre une valeur minimale Iin,min = Io= (ou Qmin= Qo) et une valeur maximale I3 = Im,mnx (ou Q3= Qmax). Selon un exemple, et pour simplifier les explications, on peut prendre Qmin = 0. Comme on peut le voir sur la figure 2, la courbe C peut être approximée ou approchée par des morceaux de fonctions linéaires sur les intervalles [Qo,QI], [Qi,Q2] et [Q2,Q3]. L'ouvrage de R.W.Hamming intitulé "Numerical Methods for Scientists and Engineers", Mac Graw Hill, New York, 1962, part II traite notamment des problèmes d'approximation par des polynômes du premier degré et d'interpolation linéaire, questions qui sont directement liées à celle de l'approximation d'une fonction non linéaire par une fonction linéaire par morceaux. La fonction de transfert pourrait aussi être elle même une fonction linéaire par morceaux. Les points (Xi,Yi) indiquent des points de concordance entre la fonction de transfert C et les morceaux ou segments linéaires. Chaque intervalle, et chaque morceau, peut être repéré par un nombre N: N= 0, N= 1, N= 2. A chaque valeur No peuvent être associées des données ou un ensemble de données permettant d'identifier la fonction linéaire correspondante, par exemple, les coordonnées des points de concordance (Xi , Yi ): on associe alors au morceau ou à l'intervalle N= 8 2790620 0 les coordonnées (X0,Y0) et (X1,Y1), au morceau N= 1 les coordonnées (X1,Yi) et (X2,Y2) et au morceau N= 2 les coordonnées (X2,Y2) et (X3,Y3). Selon l'invention, on attribue à une valeur Q (ou Ini) de la variable d'entrée, ou du signal d'entrée, le morceau ou le segment linéaire correspondant, donc la valeur de N identifiant ce segment: selon l'exemple de la figure 2, N= 1 pour Q' (ou I'inl). On attribue également à Q une valeur p permettant d'identifier ou de caractériser sa position dans l'intervalle [QI,Q2]. Par exemple, on peut attribuer à Q la valeur t= 0 pour Q= QI et la valeur pi= 1 pour Q= Q2. Autrement dit, on a attribué à la valeur courante Q la valeur: it=(QQI)/(Q2-QI) (1) (ou à la valeur courante I du courant d'entrée la valeur it= (I - IJ)/(I2 - I,) (1')). Cette valeur (on fonction) it est la valeur (ou fonction) d'appartenance de la variable d'entrée à l'intervalle [QI,Q2]. Autrement dit, on associe, à chaque valeur du signal d'entrée Q, d'une part une grandeur discrète N et d'autre part une grandeur continue gi repérant la position de Q dans l'intervalle [QI,Q2] des valeurs d'entrée. Lorsque les valeurs N et pi sont déterminées, il est possible de déterminer la grandeur de sortie Z correspondante: Z= Pi(Y2- Y])+ Yi ou, plus généralement: Z= 1t(Yi+1- Yi) + Yi (2), avec i = 0, 1 ou 2 selon que Q (valeur du signal d'entrée) appartient à [QoQi] ou [QQ2] ou [Q2Q3]. Le procédé selon l'invention a été décrit avec l'exemple d'une fonction d'appartenance i= (Q - Qi)/(Qi+ - Qi), mais d'autres fonctions pourraient être formées ou choisies, avec une adaptation correspondante de la fonction permettant de calculer la grandeur de sortie Z. Autrement dit, selon l'invention, une fonction de transfert non linéaire peut être préalablement définie. Cette fonction est approchée par une fonction linéaire par morceaux sur des intervalles du domaine de variation de la variable ou du signal d'entrée, par exemple sur une succession de tels intervalles. A chaque valeur de la variable, ou du signal, d'entrée est attribuée une grandeur discrète N repérant l'intervalle auquel la valeur d'entrée appartient, et une valeur d'une fonction d'appartenance gi de cette valeur pour cet intervalle. A partir de N et g, la valeur du signal de sortie peut être calculée en fonction de paramètres 9 2790620 identifiant ou caractérisant ou définissant, dans l'intervalle N, la fonction linéaire qui approche la fonction de transfert. Un exemple de circuit développé pour mettre en oeuvre le procédé selon l'invention est représenté sur la figure 1. Ce circuit comporte: - des moyens 20, 22, 24 pour déterminer, pour chaque valeur du signal d'entrée Q, l'intervalle N auquel appartient cette valeur, et le degré d'appartenance kt de cette valeur pour cet intervalle - des moyens 26, 28, 30 pour calculer la valeur du signal de sortie Z, à partir des informations sur l'intervalle N auquel appartient la valeur Q et son degré d'appartenance p pour cet intervalle. Les moyens 20 permettent d'attribuer à chaque valeur d'entrée mesurée Q, deux signaux de sortie: un premier signal, digital, N, et un second signal, analogique pt, o N représente le sous-ensemble QiQ auquel la valeur mesurée Q appartient et la représente le degré d'appartenance de Q à ce sousensemble. Ces moyens 20 comportent par exemple des moyens 22, purement analogiques ou bien encore réalisés en technologie analogique-digitale, qui permettent de transformer la grandeur ou variable Q (ou le courant d'entrée correspondant Iin) en un second signal de sortie p, ou signal d'appartenance. Par exemple, kt est calculé selon une formule de type: p = a. (Iin - Ib) (3) o a et b sont des coefficients dont les valeurs sont programmables, en fonction de N, et o Ib est un courant qui dépend de b. Selon l'exemple donné ci-dessus: - pour N= 0: Ib= X0 et a= (XI-X0)1 - pour N= 1: Ib= XI et a= (X2-Xl)-' - pour N= 2: Ib= X2 et a= (X3-X2)' Les moyens 20 peuvent également comporter des moyens 24 qui permettent d'obtenir le nombre N, ainsi que les coefficients a et b correspondants pour les moyens 22. Les coefficients a et b peuvent être représentés sous forme analogique ou numérique. En fait, ces coefficients peuvent être mémorisés dans un dispositif de mémorisation 32 (mémoire digitale). 2790620 Les moyens 26 permettent de calculer les grandeurs de sortie Z, en fonction de t, de N et de coefficients c et d qui peuvent être stockés en mémoire dans des moyens de mémorisation, par exemple les moyens 32. Dans le cas de plusieurs grandeurs ou variables d'entrée Q. Q', Q"..., les moyens 26 peuvent être reliés à plusieurs blocs ou moyens 20, chaque bloc correspondant à une variable d'entrée.. Ces moyens 26 comportent par exemple des moyens 28, purement analogiques ou bien encore réalisés en technologie analogique-digitale, qui permettent de transformer le signal pt en signal de sortie Z. Par exemple, Z est calculé selon une formule de type: Z = c. (1i + Id) (4) o c et d sont des coefficients dont les valeurs sont programmables en fonction de N, et o Id est un courant qui dépend de d. Selon l'exemple donné ci-dessus: - pour N: 0: c= Y, -Y0 et Id=Y0 - pourN= 1: c= Y2 -Y, et Id=Y1 - pour N= 2: c= Y3 -Y2 et Id=Y2 Les moyens 26 peuvent également comporter des moyens 30 qui permettent d'obtenir les valeurs ou les coefficients c et d pour les moyens 28. c et d peuvent être représentés sous forme analogique ou numérique. Les valeurs d'entrée du bloc 30, ou des moyens 30, sont d'une part la valeur de N et d'autre part les valeurs ou coefficients stockés en mémoire 32. La mémoire 32 permet donc de stocker des coefficients qui décrivent une caractéristique de transfert appropriée, linéaire par morceaux ou par sections, qui approche la caractéristique non linéaire réelle C. A chaque valeur de N est associé un ensemble de coefficients, stckés en mémoire à des adresses déterminées. Pour chaque nouvelle valeur de N, les zones correspondantes de la mémoire 32 sont adressées, et les valeurs appropriées des coefficients sont transmises de la mémoire aux circuits 24, 30. Ainsi, dans l'exemple déjà donné ci-dessus, quatre valeurs de coefficients a,b,c,d sont affectées à chaque valeur de N. Donc, pour chaque valeur de N, quatre adresses de la mémoire 32 sont générées, qui déterminent les valeurs appropriées de a,b,c,d. Les adresses pour a et b sont engendrées par les moyens 24 et les adresses pour c et d par les moyens 30. Lorsque N augmente ou diminue d'une unité, les adresses appropriées sont générées par les moyens 24 et 30 et envoyées Il vers la mémoire, et les valeurs modifiées de a,b,c,d sont transmises de la mémoire vers les moyens 24 et 30, pour contrôler les sources de courant. Le fonctionnement d'un dispositif de contrôle tel qu'illustré ci-dessus peut être expliqué avec l'exemple de la caractéristique de transfert C, de la figure 2, qui peut être approximée par morceaux par des fonctions linéaires. Des données permettant de définir, ou définissant, les morceaux ou les segments linéaires, sont mémorisées dans la zone mémoire 32. La fonction de transfert réelle est approchée par Nmax + I sections linéaires (Nmax = 2 dans le cas de l'exemple de la figure 2). De préférence, dans une première étape, le signal d'entrée Q est normalisé à l'aide des moyens 22. La normalisation permet de faciliter le traitement dans le bloc 26. Le signal est décalé (ce qui peut être réalisé à l'aide d'une source de courant, comme il sera expliqué plus en détail ci-dessous), puis sa pente est normalisée (ceci qui peut être réalisé à l'aide d'un circuit multiplicateur, comme il sera expliqué plus en détail ci-dessous), ces étapes correspondant à l'équation (1) ci-dessus. Le signal normalisé est entré dans le circuit 24 qui détermine N. Le circuit 24 incrémente N d'une unité lorsque jI croît au-delà d'une valeur limite supérieure (équivalente à la valeur "1" de la fonction d'appartenance) et décrémente N d'une unité lorsque It décroît en dessous d'une valeur limite inférieure (équivalente à la valeur "0" de la fonction d'appartenance). Une telle modification de la valeur de N entraîne une modification correspondante des coefficients a, b, c, d engendrés par les moyens ou les circuits 24 et 30, à partir des valeurs stockées en mémoire 32. Une valeur normalisée p est fournie au circuit 26, 28. La pente du signal est ensuite modifiée afin d'obtenir la pente du signal de sortie dans l'intervalle QiQi+lauquel la valeur d'entrée Q appartient (ceci peut aussi être réalisé à l'aide d'une source de courant) puis le signal est décalé afin d'obtenir le signal de sortie défini par la caractéristique de transfert dans l'intervalle QiQi+l, ces étapes correspondant à l'équation (4) ci-dessus. La figure 3 représente de manière plus détaillée un exemple de la structure d'un dispositif selon l'invention. Le signal analogique Q d'entrée est représenté par un courant Iin. A chaque valeur de ce courant, le bloc ou les moyens 20 fait correspondre un signal analogique, ou un courant, 12 et un signal numérique N. Le signal I2 correspond au signal pI de la figure 2. 12 2790620 Les moyens 22 permettent de transformer Iin, (Q) en I2 (pi) selon l'équation (1) ou (1') ci-dessus. Les moyens 24 sont constitués respectivement de moyens 34 et 36. Les moyens 34 permettent d'engendrer les coefficients a et b, en fonction des valeurs stockées dans la mémoire digitale 32 et du nombre N engendré par les moyens 36. La gamme sur laquelle le nombre N varie dépend du nombre de sections linéaires utilisées pour approximer la caractéristique de transfert. Nnax est égal au nombre de sections moins 1. Le courant de sortie 12, engendré par les moyens 22, est contrôlé par les moyens 36. Lorsque, comme déjà expliqué ci-dessus, ce courant excède une valeur limite, la valeur de N est augmentée d'une unité. Lorsque ce courant atteint une valeur limite inférieure, la valeur de N est diminuée d'une unité. Les moyens 26 permettent de calculer la valeur de sortie Iou, (ou le signal de sortie Z), en fonction des entrées constituées par la valeur analogique I2, le nombre N, et les coefficients c et d mémorisés dans la mémoire 32. La fonction de transformation de I2 en Iou est déterminée par les moyens 28. out est calculé en fonction de 12 selon la formule (2) ci-dessus. Les moyens 30 engendrent les coefficients c et d à fournir aux moyens 28, en prenant comme paramètres d'entrée les coefficients stockés dans la mémoire digitale 32 et le nombre N engendré par les moyens 36. Les moyens 22 et 28 peuvent être réalisés en utilisant des miroirs de courant et un gain en courant contrôlé de manière digitale. La figure 4 représente une réalisation du circuit multiplicateur qui multiplie le courant d'entrée par un certain facteur (une valeur digitale). Ce circuit peut être utilisé pour la réalisation des moyens 38 et 44 de la figure 3. Ils mettent en oeuvre une technologie MOS, et en particulier les transistors NMOS M 12-M22. La figure 6 représente une réalisation de la source de courant contrôlée de manière digitale, qui peut être utilisé dans les blocs 40 et 42 de la figure 3. Là encore, la technologie utilisée met en oeuvre des transistors NMOS MlMl I. Sur ces deux figures 4 et 5, aO, al, a2, bO, bl, et b2 représentent des bits (engendrés par les moyens 30 et 34) individuels de mots binaires qui permettent de contrôler les sources de courant 38, 40, 42, 44. Chaque bit commute un 13 2790620 transistor MOS (M20, M21, M22 sur la figure 4, M9, M10, Mi 1 sur la figure 5). Ainsi, les courants I, I2, 13, 14 sont contrôlés numériquement. Les circuits des figures 4 et 5 sont des miroirs de courant en technologies CMOS, qui génèrent des courants de sortie contrôlés de manière digitale. Les courants dans les différentes branches sont contrôlés par les bits d'entrée bO,b I,b2,aO,a I,a2. Par exemple, pour le dispositif de la figure 5, si 10 est le courant qui circule à travers M9, et qui est commuté par le bit b0, alors le courant circulant dans M10, commuté par le bit bl, a la valeur 2.10, et le courant circulant dans MlI 1, commuté par le bit b2, a la valeur 4.10. Ainsi, le courant total de sortie I2 est proportionnel à la valeur du coefficient b représenté de manière digitale par bO,bl,b2. De la même manière, le courant Ic est engendré à partir de la représentation digitale d0,dl,d2 (non représentés sur la figure 5) du coefficient c. Sur la figure 4, les mêmes principes de fonctionnement s'appliquent. Un courant Ia (ou Id) est engendré, qui dépend de la valeur de a (ou de d), représenté de manière digitale par aO,al,a2 (respectivement dO,dl,d2, non représentés sur la figure 4). Le courant I=const. est un courant de polarisation. Sa valeur est choisie par l'utilisateur du circuit et sera le résultat d'un compromis: si elle est trop élevée, le circuit consommera plus d'énergie que nécessaire; si elle est trop faible le circuit aura une précision moindre. Dans la partie analogique du dispositif, les moyens 36 peuvent être réalisés à l'aide d'un simple comparateur. La complexité de la partie digitale du système (moyens 24, 30, 34, 36 de la fig.4) dépend de l'environnement dans lequel le contrôleur peut-être utilisé (les bus de données 27, 31 et d'adresse 25, 29, l'organisation de la mémoire digitale, etc.) et des besoins en vitesse et en précision. De manière typique, cette partie digitale est un simple circuit séquentiel qui peut être automatiquement réalisé à partir d'une description fonctionnelle. Les figures 6-9 sont des exemples des fonctions décrivant les caractéristiques de transferts des systèmes des figures 1 et 3, et en particulier: - la dépendance du courant Il en fonction du courant d'entrée Ij, (fig.6) - la dépendance du courant I2 en fonction du courant d'entrée Iin (fig.7) - la dépendance du courant 13 en fonction du courant d'entrée Iin (fig.8) - la dépendance du courant I4 en fonction du courant d'entrée I1, (fig. 9). Pour le courant Ii(fig.6): 14 2790620 N= 0 => Il= In,- X0 N= 1 => I,=In- X1 N= 2 Z Il= Iin- X2 Pour le dépendance de I2 en fonction de In (fig.7): N= 0 > I2= (Ii,- Xo)/(X1-Xo) N= 1 => 12= (Iin- Xl)/(X2-X1) N= 2 = I2= (Iin- X2)/(X3-X2) Pour la dépendance de I3 en fonction de Ii (fig.8): N= 0 => 13= (Iin- Xo)(Y1Yo)/(Xi-Xo) N= 1 => I3= (In- Xl)(Y2- Y1)/(X2-XI) N= 2 => 13= (Iin- X2)(Y3Y2)/(X3-X2) Pour la dépendance de I4 en fonction de Ii. (fig.9): N= 0 => 14= [(IiJ- Xo)(Y1- Y0)/(Xl- X0)]+ Y0 N= I > I4= [(Iin- Xl)(Y2- YI)/(X2Xl)]+ YI N= 2 =:> I4= [(Iin- X2)(Y3- Y2)/(X3- X2)]+ Y2 La caractéristique de transfert de ce dispositif (figure 9) a la même allure que celle représentée sur la figure 2, l'axe des abscisses correspondants au courant d'entrée Im et l'axe des ordonnées au courant de sortie Iout. Dans le circuit selon l'invention, le signal analogique d'entrée est représenté, de manière interne, par le signal analogique I2 et par le signal numérique correspondant au nombre N. Une première conversion de signal d'entrée en cette double représentation analogique-digitale est effectuée à l'aide des moyens 22. Le signal analogique I2 et le signal numérique N sont ensuite traités séparément et combinés par les moyens 26, 28 pour fournir le signal de sortie analogique lout. Cette structure permet de réaliser un contrôleur universel pour traiter un signal analogique, mais qui est programmé, de point de vue digital, de manière assez simple. Après avoir déterminé la fonction linéaire par morceaux, la programmation comporte les étapes suivantes: - détermination des coefficients sur chaque morceau de la fonction linéaire - mémorisation de ces coefficients ou de ces données dans la zone mémoire 32. 2790620 Le circuit selon l'invention permet de réaliser une caractéristique de transfert non linéaire, pouvant notamment être approchée par une fonction linéaire par morceaux. Ce circuit représente le signal d'entrée, pendant le traitement dudit signal, par une paire de signaux: - le signal numérique, qui détermine l'intervalle [Qi, Qi+l] auquel la valeur d'entrée appartient: ainsi est déterminée la partie ou la section linéaire de la caractéristique approchée - le signal analogique dont la valeur représente un point particulier dans cette section (fonction d'appartenance). Le circuit selon l'invention permet de programmer, de la manière décrite ci-dessus, une caractéristique de transfert linéaire par morceaux quelconque. On peut aussi modifier des valeurs de Nmax et/ou de a, b, c, d préalablement programmées. Le circuit selon l'invention permet de réaliser une caractéristique de transfert non linéaire, pouvant notamment être approchée par, ou consistant en, une fonction linéaire par morceaux combinant une technologie numérique et une technologie analogique. La programmation est réalisée à l'aide de la partie numérique, la partie analogique réalise le traitement du signal. La partie numérique n'est pas d'une très grande complexité, et ne nécessite pas de fréquence d'horloge élevée. Elle peut par ailleurs être réalisée en technologie NMOS ou CMOS, ce qui permet d'améliorer encore la consommation en vue d'applications particulières (stimulateurs cardiaques). La partie analogique peut quant à elle fonctionner avec de très faibles courants. De plus, l'ensemble du circuit ne nécessite pas de consommer de la puissance en continu. Lorsqu' une nouvelle donnée se présente en entrée, le circuit la traite de la manière décrite ci-dessus, puis peut s'arrêter. De cette manière, la plupart des composants du circuit sont en général à l'état bloqué et ne consomment pas d'énergie. L'invention peut être appliquée à un signal physique d'entrée Q, le dispositif 2 délivrant un signal physique Z de sortie. L'invention et le dispositif 2 (figure 10) peuvent donc être aussi appliqués à un signal physique Z à réguler, par exemple d'un système physique 50 à réguler, un signal physique Q étant mesuré et permettant de déduire une valeur du signal Z en fonction d'une caractéristique de transfert donnée, approchée par une fonction linéaire par morceaux. 16;2790620 Selon l'invention, on mesure donc au moins un signal physique Q du système 50 à réguler. Par exemple, dans le cas d'un stimulateur cardiaque, on mesure un signal de mouvement ou un signal de respiration ou l'intervalle QT, qui traduit l'activité de la personne équipée du stimulateur. Des exemples de réalisation d'un dispositif de régulation et d'un stimulateur cardiaque sont donnés plus loin. Pour chaque valeur mesurée Q de signal, on détermine 1' intervalle auquel cette valeur appartient, ainsi que le degré d'appartenance pour cet intervalle. En d'autres termes, pour un niveau de signal donné Q(t), à un instant t donné, le degré d'appartenance de Q, pour l'intervalle correspondant, est déterminé. On obtient donc une fonction d'appartenance pt (Q(t)). Il y a donc deux informations à partir desquelles la valeur de Z est déterminée: - l'intervalle auquel la valeur mesurée appartient - le degré d'appartenance pour ledit intervalle. Par ailleurs, l'invention peut être appliquée non seulement à un unique signal d'entrée Q mais encore à plusieurs signaux d'entrée Q(l, Q(2),.... Dans ce cas, le système des figures 1 et 3 est réalisé, avec autant de blocs 20 que de signal d'entrée Q(i) L'invention s'applique donc à la réalisation d'un système mettant en oeuvre une caractéristique de transfert non-linéaire et multidimensionnelle., la caractéristique de transfert, pour une variable Q(i) spécifique, étant approchée par une fonction linéaire par morceaux. Un ensemble de règles de logique floue, ou un algorithme de contrôle basé sur des règles de logique floue, ont été développés, pour réaliser un procédé de contrôle à logique floue. Ce procédé peut être notamment appliqué au contrôle de l'activité cardiaque à l'aide d'un simulateur cardiaque. Comme illustré sur la figure 11, chaque signal varie dans un domaine de valeur qui est découpé en NQ intervalles avec: Qo Pour chaque valeur mesurée Q de signal, on détermine à quel intervalle cette valeur appartient, et les degrés d'appartenance pour cet intervalle. En d'autres termes, pour une valeur du signal Q donnée, appartenant à un intervalle QiQi+l, on peut déterminer les degrés d'appartenance pour cet intervalle, et pour les intervalles voisins, Qi[Q, et Qi+1Q1+2. Ainsi, pour la valeur Q= (QI+Q2)/2 (figure 11): H0= 0,5, l= 0,5 et J,2= 0. 17 2790620 L'algorithme de contrôle met notamment en oeuvre les paramètres suivants, pour chaque signal de contrôle: - un niveau de signal maximum, et un niveau de signal minimum: Qmin, Qnmax - un nombre déterminé de pas n (par exemple n=4,8, 16...): Qmin = Ql ., Z, pour Qn. Autrement dit, on peut déterminer préalablement, pour chacun des Qi, une valeur Zi souhaitée de la variable Z de contrôle ou de régulation. Dans..DTD: le cas du stimulateur cardiaque, c'est un taux d'activité cardiaque souhaité H,. La variable de contrôle Zc(Q), calculée à partir d'une valeur Q(t) mesurée d'un signal Q, est donnée par: 1 5 z (Q) = E 11, (OZi /.. P-t i Pour le cas représenté sur la figure 1 l,seulement deux intervalles voisins Qi Qi+l et Q,+I Qi+2 peuvent avoir une intersection non vide (et donc que, pour tout i, seuls pi et pi+1 sont différents de zéro). La somme des Pi est égale à 1, pour chaque valeur de Q. Donc: z = - 1(n -1)( Q- Q, +Q z+ (6) Qmax Z Qin Qm( - Q mm1 En effet, on a alors: pi bQ,+,-Q (7) Q- QI ,- - QQ, (8) On peut donc calculer la valeur Zc souhaitée à partir de pi et de Zi.ou à partir de Qi et de Zi Dans le cas de deux signaux de contrôle Q( 18 /2790620 chaque signal selon sa plus ou moins grande importance. Wl et W2 peuvent être programmés et mis en mémoire. Dans ce cas, l'équation (6) ci-dessus devient: Z ( W Z(Q(,,)+ W2 Z(Q(2) z.(Pm, Q(2)-wi + 1WZwil +W, +w2 9 L'équation (6) ci- dessus peut être transformée en l'équation (10) suivante: Z, (Q) Z, + Q QI (Z'+, -Z,) (10) Q Q+,- Q I Graphiquement (figure 12) on voit que cette fonction est une fonction linéaire par morceaux, qui peut donc être mise en oeuvre par un dispositif selon l'invention comme déjà expliqué ci-dessus dans le cas général. Dans certains systèmes, la variable de contrôle ne peut pas être modifiée instantanément de manière arbitraire. Il est alors nécessaire d'imposer une variation instantanée maximum de la variable de contrôle. C'est le cas notamment pour un stimulateur cardiaque, le taux d'activité cardiaque ne pouvant être modifié, pour des raisons de sécurité, à la fois de manière instantanée et de manière arbitraire. Dans ce cas, on définit un nombre de pas m entre une valeur minimum de la variable de contrôle Z,n et une valeur maximum Zmx: Zmin = Z(1) Pour chaque Z(i), un accroissement et une diminution maximum, Zi+ et Zi- * sont spécifiés. L'accroissement maximum Z,4 pour une valeur Zr réelle donnée (Zi) 19;2790620 Finalement, la valeur de régulation fournie par le système de régulation est une combinaison de la valeur Z calculée (par l'une des équation (7) ou (8))et des valeurs d'accroissement et de diminution maximum. Pour une valeur Zr réelle donnée et un niveau de signal Q, la variable de contrôle à l'étape suivante est donnée par (13): Z(Z,, Q)= Zr- Z'(Zr) si Zc(Q) Zr + Z+(Zr) Le procédé et le dispositif selon l'invention permettent alors d'éviter des changements brusques de la valeur de la variable de contrôle dus à de soudains accroissements ou à de soudaines diminutions de niveau de signal Q. Cette méthode de calcul de la variable de contrôle peut être réalisée à l'aide: - d'un processeur du type déjà décrit ci- dessus pour le calcul de Zó(Q), la variable d'entrée étant Q, d'un processeur du type déjà décrit ci-dessus (à logique floue) pour le calcul de Z+(Zr) - d'un processeur du type déjà décrit ci-dessus (à logique floue) pour le calcul de Z'(Zr) Un comparateur permet de réaliser l'étape correspondante à (13) et délivre le signal approprié à la régulation. Dans le langage des ensembles flous, les moyens 20 des figures 1 et 3 sont aussi appelés "fuzzifier", tandis que les moyens 26 constituent un moteur d'inférence, ou encore un "defuzzifier". La figure 13 représente schématiquement un système de contrôle de l'activité cardiaque d'un patient muni d'un stimulateur cardiaque 56. Une électrode 58, implantée sur le coeur 54 du patient, permet de transmettre à cet organe les impulsions électriques nécessaires à son activation. Le système 2 selon l'invention est mis en oeuvre. L'algorithme de contrôle permet, par exemple, de prendre en compte un ou deux signaux de contrôle mesuré(s) à l'aide d'un ou de plusieurs capteurs 52. Les stimulateurs existant utilisent: l'activité du patient, mesurée à l'aide d'un accéléromètre ou d'un transducteur piezo- électrique, et/ou la ventilation minute 2790620 2o déterminée à partir d'une mesure d'impédance thoracique, ou un intervalle de temps entre deux ondes d'un électrocardiogramme (intervalle QT). D'autres signaux de contrôle pourraient être pris en compte. Ces signaux sont utilisés comme signaux d'entrée Q dans le dispositif des figures 1 et 3. La figure 14 représente une comparaison entre des résultats de calculs, obtenus avec l'équation (13) ci-dessus (courbe en trait épais), et un signal de sortie d'un système de contrôle selon l'invention, pour un stimulateur cardiaque (courbe en trait fin). L'échelle sur l'axe des ordonnées est en battement par minute (bpm), et l'axe des temps est en secondes. On voit que la simulation et le circuit donnent des résultats très proches. Des valeurs de Z+ = I et Z = 0,5 ont été choisies pour cet exemple. L'exemple a été donné d'une application à la réalisation d'un système de contrôle d'un stimulateur cardiaque. D'autres applications possibles concernent tous les domaines du contrôle électronique et/ou automatique mettant en oeuvre une fonction de transfert non linéaire, pouvant être approchée par une fonction linéaire par morceaux. Des exemples d'application sont: - la linéalisation de fonctions réponse non linéaires de capteurs semiconducteurs intégrés, pour la mesure de grandeurs physiques et/ou chimiques - la réalisation de caractéristiques de contrôle non linéaires programmables, dans les dispositifs de contrôle automatiques - la réalisation de non linéarités programmables, utilisées dans les circuits électroniques basés sur la théorie du chaos. 21 2790620 REVENDICATIONS 1. Dispositif électronique à caractéristique de transfert non-linéaire, constituée par, ou approchée par, une fonction linéaire par morceaux, les morceaux étant définis sur des intervalles de variation d'un signal d'entrée du dispositif, comportant: - des premiers moyens (20,22, 24,34,36,38,40) pour déterminer, pour chaque valeur d'un signal d'entrée Q, l'intervalle auquel appartient cette valeur, et le degré d'appartenance pour cet intervalle, - des seconds moyens (26,28,30,42, 44) pour produire un signal de sortie Z du dispositif, en fonction des informations sur l'intervalle d'appartenance et le degré d'appartenance de la valeur du signal d'entrée précédemment déterminés, ainsi que de la fonction linéaire par morceaux. 2. Dispositif électronique à caractéristique de transfert non-linéaire, constituée par, ou approchée par, une fonction linéaire par morceaux, les morceaux étant définis sur des intervalles de variation d'un signal d'entrée du dispositif, comportant: - une première et une deuxième sources de courant (38, 40), permettant respectivement de décaler une valeur d'un signal d'entrée (Q,Iin) à l'aide d'une première valeur de décalage (Ia), et de multiplier le signal ainsi obtenu par un premier coefficient multiplicatif (b), pour obtenir un deuxième signal (I2), - une troisième et une quatrième sources de courant (42, 44), permettant respectivement de multiplier le deuxième signal par un deuxième coefficient multiplicatif c pour obtenir un troisième signal (I3), et de décaler le troisième signal ainsi obtenu à l'aide d'une deuxième valeur de décalage (Id) pour obtenir un quatrième signal (I4,Iout), - des moyens pour produire un signal numérique (N) identifiant un intervalle de variation dans lequel se situe le signal d'entrée et pour faire varier ou déterminer les coefficients multiplicatifs (b,c) et les valeurs de décalage (Ia,Id) en fonction de l'intervalle dans lequel se situe le signal d'entrée. 22; i2790620 3. Dispositif selon la revendication 1 ou 2, comportant en outre des moyens numériques (32) de mémorisation, pour mémoriser des données (a,b,c,d) définissant ou caractérisant la fonction linéaire par morceaux sur chacun des intervalles sur lesquels les morceaux de la fonction linéaire sont définis. 4. Dispositif selon l'une des revendications I à 3, les premiers moyens produisant un premier signal (N) de sortie représentatif de l'intervalle auquel la valeur Q appartient et un deuxième signal (I2) représentatif du degré d'appartenance pour cet intervalle 5. Dispositif selon la revendication 4, les premiers moyens comportant des moyens (40) pour produire un signal analogique (I2) définissant le degré d'appartenance de la valeur du signal d'entrée à l'intervalle auquel elle appartient. 6. Dispositif selon l'une des revendications 4 ou 5, les premiers moyens comportant des moyens (36) pour produire un signal numérique (N) définissant l'intervalle auquel la valeur du signal d'entrée appartient. 7. Dispositif selon l'une des revendications I à 6, les premiers moyens déterminant l'intervalle auquel la valeur du signal d'entrée appartient en fonction du degré d'appartenance de cette valeur pour cet intervalle. 8. Dispositif selon l'une des revendications 1 à 7, les premiers moyens détennrminant le degré d'appartenance de la valeur du signal d'entrée en fonction de l'intervalle auquel la valeur du signal d'entrée appartient. 9. Dispositif selon l'une des revendications I à 8, le degré d'appartenance de la valeur du signal d'entrée étant déterminé en fonction de coefficients (a, b) dépendant de l'intervalle auquel cette valeur appartient. 23 2790620 10. Dispositif selon la revendication 9, le degré d'appartenance Y étant dépendant de la valeur Q du signal d'entrée, selon la formule: Y = b(Iin la), o Ia est un signal ou courant dépendant de a.. I l. Dispositif selon l'une des revendications I à 10, comportant une boucle de rétroaction numérique (36,34) permettant de modifier la détermination du degré d'appartenance d'une valeur du signal d'entrée en fonction de l'intervalle auquel elle appartient. 12. Dispositif selon l'une des revendications I à 11, comportant en outre des moyens (36) pour comparer le deuxième signal de sortie, représentatif du degré d'appartenance pour un intervalle, à des première et deuxième valeurs limites, respectivement inférieure et supérieure, et pour modifier le degré d'appartenance, ainsi que le premier signal représentatif du degré d'appartenance, lorsque le deuxième signal devient inférieur à la première valeur limite ou lorsque le deuxième signal devient supérieur à la deuxième valeur limite. 13. Dispositif selon l'une des revendications I à 12, les seconds moyens (26,28,30,42,44) pouvant produire un signal de sortie, en fonction du degré d'appartenance de la valeur du signal d'entrée et de coefficients (c,d) dépendant de l'intervalle d'appartenance. 14. Dispositif selon la revendication 13, les seconds moyens (26,28,30, 42,44) pouvant produire un signal de sortie Z, en fonction du deuxième signal de sortie Y des premiers moyens (20,22,24,34,36,38,40), selon la formule: Z = cY +Id, o Id est un signal ou courant dépendant de d. 15. Dispositif électronique à caractéristique de transfert non-linéaire, constituée par, ou approchée par, une fonction linéaire par morceaux, les morceaux étant définis sur des intervalles de variation d'un signal d'entrée du dispositif, comportant au moins un premier et un deuxième dispositif selon l'une des 24 2790620 revendications 1 à 14, l'un de ces dispositifs ayant pour signal d'entrée Q et pour signal de sortie une valeur calculée de Z, tandis que l'un des autres circuits a pour signal d'entrée une valeur mesurée de Z et pour sortie une variation maximum calculée de Z. 16. Dispositif selon la revendication 15, comportant trois dispositifs selon l'une des revendications 1 à 14, un premier circuit permettant de calculer les valeurs de la grandeur physique Z, un deuxième circuit ayant pour signal d'entrée la valeur réelle de Z,mesurée sur ou dans le système et pour signal de sortie l'accroissement maximum possible de Z, le troisième ayant lui aussi pour signal d'entrée la valeur réelle de Z, et pour signal de sortie la diminution maximum possible de Z. 17. Dispositif selon l'une des revendications 15 ou 16, un circuit comparateur permettant en outre de limiter la correction de Z, calculée à l'aide du premier circuit, à une valeur tenant compte de la valeur de variation maximum possible calculée, ou des valeurs d'accroissement maximum possible et de diminution maximum possible calculées. 18. Dispositif de contrôle d'une grandeur physique Z d'un système (50), comportant un dispositif selon l'une des revendications 1 à 17, le signal d'entrée comportant au moins un signal de mesure mesuré dans le système, et le signal de sortie étant un signal de contrôle de la grandeur physique Z. 19. Dispositif de contrôle d'un stimulateur cardiaque comportant un dispositif selon l'une des revendications 1 à 18. 20. Procédé de contrôle d'un système par logique floue, comportant: - la définition d'un ensemble de régles de logique floue, entre des valeurs données Qi d'une variable d'entrée Q et des valeurs Zi d' une variable de sortie Z: si Q = Qi, alors Z = Zi 2790620 - la détermination d'une fonction de transfert, linéaire par morceaux - la mise en oeuvre d'un dispositif selon l'une des revendications 1 à 19.