Brevet FR2571199A1 — publié le 19860404

La présente invention se rapporte à un circuit pour calculer la valeur de la grandeur de la somme vectorielle de deux composantes de signaux en quadra- ture. Plus particulièrement, elle est dirigée vers la réduction du circuit nécessaire pour accomplir les calculs requis. L'invention a une applicabilité géné- rale, mais elle est particulièrement utile dans des téléviseurs numériques o l'on souhaite accomplir le traitement de signaux vidéo numériques avec un minimum de matériel. Dans de nombreux systèmes électroniques, il est nécessaire de déterminer la grandeur de la somme vectorielle des signaux orthogonaux. Par exemple, dans des téléviseurs numériques, il est pratique d'accomplir la correction automatique de la teinte chair en mani- pulant la grandeur et la phase du vecteur de chrominance. Le signal de chrominance est usuellement disponible sous la forme de signaux en quadrature représentés par les signaux I et Q de mélange de couleurs ou les signaux (R-Y) et (B-Y) de différence de couleurs. Ainsi, pour accomplir la manipulation requise, la grandeur du vecteur de chrominance doit être déterminée à partir de ses composantes disposées perpendiculairement. On sait bien que la grandeur d'un vecteur résultant peut être déterminéeen produisant la racine carrée de la somme des carrés des valeurs d'amplitude de ses composantes en quadrature. Cela peut être accompli en utilisant un circuit multiplicateur pour la mise au carré des valeurs d'amplitude, un circuit additionneur pour additionner les carrés et un circuit de racine carrée pour déterminer la racine carrée de la somme. Alternativement, la fonction peut être accomplie en appliquant les valeurs des grandeurs des vecteurs compo- sants en tant que codes d'adresse à une mémoire morte programmée pour produire des valeurs de sortie corres- pondant à la grandeur de la somme vectorielle des codes appliqués d'adresse. 2 2571199 Il sera facilement apparent à ceux qui sont compétents en la matière du traitement de signaux que chacune des méthodes ci-dessus nécessite des quantités sensibles de matériel de traitement et que le matériel requis augmente de manière superlinéaire avec l'augmentation des bits du signal. De plus, les composants nécessaires ne sont pas facilement dispo- nibles pour accomplir le traitement en temps réel pour des signaux sur large bande. Ces facteurs sont des inconvénients particulièrement restrictifs dans le contexte d'un téléviseur numérique o l'on souhaite maintenir le nombre de composants du circuit à un minimum et o les composants doivent être réalisés sous une forme intégrée en VLSI (intégration à très grande échelle). Le circuit de calcul de la grandeur de la somme vectorielle, selon la présente invention, convertit les valeurs de grandeur des signaux en quadrature, comme I et Q, pour produire les valeurs échantillons LogB III et LogB IQI à la base logarithmique B. Les valeurs échantillons Log III et LogB QI sont combinées par soustraction pour former la valeur de différence D = LogB III - LogB I Q | La valeur de différence est utilisée pour calculer une valeur de correction égale 2D à 0,5 LogB (1 + B 2D). La valeur de correction est ajoutée à la valeur correspondante de LogB III et l'antilog de la somme est produit pour obtenir la valeur de grandeur de la somme vectorielle C des vecteurs en quadrature I et Q. Selon un autre mode de réalisation de la présente invention, le circuit de calcul de la somme vectorielle convertit les valeurs de grandeur des signaux I et Q en quadrature en valeurs échantillons correspondantes Log I|I et Loge jQ à la base logarithmique B. Les valeurs échantillons LogB I| et LogB QI sont combinées par soustraction pour former la valeur absolue de la 3 2571199 différence ID = Log9B II - Log9B QI La différence absolue des valeurs IDI est utilisée pour calculer une valeur de correction égale à 0,5 LogB (1 + B 21DI). La plus grande des valeurs logarithmiques LogBIII et LogB' QI est combinée par addition à la valeur de correc- tion associée et l'AntilogB de la somme est déterminé pour produire la valeur de grandeur de la somme vectorielle C. L'invention sera mieux comprise, d'autres buts, caracté- téristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant un mode de réalisation de l'invention, et dans lesquels: - la figure 1 donne un schéma bloc d'un exemple d'un circuit selon l'art antérieur pour accomplir la correction automatique de la teinte chair dans un télévi- seur numérique; - la figure 2 donne un schéma bloc d'un circuit pour produire la grandeur de la somme vectorielle des vecteurs orthogonaux selon la présente invention; et - la figure 3 donne un schéma bloc étendu d'une partie du circuit de la figure 2. Le circuit 20 de la figure 1 montre, à titre d'exemple, un appareil pour accomplir une correction automatique de la teinte chair dans un téléviseur numérique. Le circuit de correction automatique de la teinte chair est placé dans la section de traitement de signaux couleurs du téléviseur et il fonctionne sur les vecteurs couleurs I et Q en quadrature du signal de chrominance C après sa séparation du signal vidéo composite. On suppose que le signal de chrominance se présente à 4 fois la fréquence de sous-porteuse couleur (c'est-à-dire 3,58 MHz) et que les échantillons sont en phase pour correspondre aux axes I et Q. Cela a pour résultat un courant de valeurs de grandeurs de I et Q dans une certaine séquence: 4 2571199 +In' +Qn In'Qn In+l Qnl In+l' - Qn+l' et ainsi de suite, o n, n+l, etc... représentent les nombres de cycles du signal échantillonné de chrominance C. On peut noter que les signes + et - représentent la phase d'échantillonnage et non pas la polarité de l'échantillon. On suppose de plus que les valeurs d'échantillon sont sous le format numérique (c'est-à- dire des signaux PCM à 8 bits en parallèle). Une description détaillée d'un circuit de ce type peut être trouvée dans la demande de brevet US n 501 896 au nom de D. Chin intitulée "AN AUTO TINT CIRCUIT FOR A TV RECEIVER" incorporée ici à titre de référence. On peut également se référer au brevet US n 4 402 005 au nom de H. G. Lewis, Jr. et intitulé "CLOCK GENERATOR FOR A DIGITAL COLOR TELEVISION SIGNAL RECEIVER", pour une description d'un exemple d'un circuit pour produire un courant approprié de valeurs d'amplitude de I et Q. En bref, le circuit 20 de la figure 1 fonctionne comme suit. La correction automatique de la couleur chair est accomplie en faisant tourner le vecteur de chromi- nance C vers la composante vectorielle I à chaque fois que l'angle de phase du vecteur du chrominance est dans une gamme particulière de valeurs associées aux couleurs chair. Cependant, le vecteur de chrominance C est représenté par ses composantes sous la forme de vecteurs d'un signal de mélange de couleurs sensiblement en quadrature I et Q ou alternativement par les signaux de différence de couleurs en quadrature (R-Y) et (B-Y). Dans début de description, l'invention sera expliquée en utilisant les composantes I et Q. Le circuit 20 émet un signal tourné de chrominance représenté par les signaux de mélange de couleurs I' et Q' sensiblement en quadrature correspondant au vecteur tourné de chrominance C'. Le courant d'échantillons de I et Q est appliqué à laborne 22 d'o il est transmis à un détecteur 24 2571199 de grandeur et à un détecteur 26 d'angle. Le détecteur 24 de grandeur produit, selon la présente invention, une valeur de grandeur de la somme vectorielle C des composantes I et Q en quadrature, c'est-à-dire C = 2 + Q2 et applique ce signal au bus 28. Le détecteur d'angle 26 produit un signal au bus 30 représentant l'angle 0 correspondant à l'angle entre le vecteur de chrominance C et l'axe d'échantillonnage I. Le signal d'angle G est appliqué en tant que codes d'adresse à des mémoires mortes 32 et 34 qui produisent respectivement les valeurs du sinus et du cosinus des arguments correspondant aux codes d'adresse appliqués à leurs entrées. Pour des angles 8 qui ne résident pas dans la gamme des angles attribués aux teintes chair, les mémoires mortes sont programmées pour émettre les sinus et les cosinus des valeurs d'angle appliquées. Pour les angles 0 qui sont dans la gamme des angles associés aux teintes chair, les mémoires mortes pro- duisent les sinus et les cosinus des angles correspon- dant à g + 9 o à 9 représente la rotation souhaitée et est fonction de 8. Les valeurs du cosinus et du sinus sont respective- ment appliquées auxmultiplicateurs 36 et 38 o elles sont multipliées par les valeurs de grandeur C produi- , sant les vecteurs corrigés pour la teinte chair I' = C cos 9 et Q' = C sin 9 sur les bus 40 et 42. La figure 2 illustre le circuit selon la présente invention qui peut remplacer le détecteur de grandeur 24 de la figure 1. Le circuit 24 de la figure 2 produit la grandeur de la somme vectorielle C des composantes en quadrature I et Q. Le fonctionnement du présent détecteur de grandeur 24 sera mieux compris à partir du développement théorique qui suit. 6 2571199 C =\/I2 + 2 LogB C LogB VI + Q2 = 0,5 LogB (I2 + Q2) = 0,5 LogB (I.(1+(Q /I)2/2 = 0,5 LOgB(I)+ LOgB((1 + (Q2/I)) = 0,5 X 2 Log9BI I I + 0,5 Log9B (1 + B2(LogBIII- LogBIQI)) = LogBIII + 0,5 LoogB(+B-2(L gBIII LogBIQI)) = Log9B I + F (LOgB III - Log9B IQI) = X + F (X-Y), o X et Y respectivement définissent la plus grande et la plus petite des deux valeurs logarithmiques LogaBIlet LogBIQ| dans le cadre de la description du mode de réalisation préféré. = X + F (IDI), o IDI = X-Y ou la valeur absolue de la différence entre les valeurs loga- rithmiques LogB (I) et LogB (Q). Ainsi on a C = AntilogB (X + F (ID)). Le présent détecteur de grandeur 24 détermine les valeurs de grandeur de la somme vectorielle C des compo- santes orthogonales I et Q selon l'équation: C = AntilogB(X + F (ODI)) A cette fin, la séquence du signal comprenant les valeurs des grandeurs de I et Q présents à la borne 22 est appliquée à l'élément 50, qui détermine les valeurs logarithmiques LogBIIIet LogB|Q' à la base B. L'élément 50 peut être une mémoire morte ayant un orifice d'entrée auquel sont appliquées les valeurs des grandeurs I et Q en tant que codes d'adresse. Les emplacements de mémoire correspondant aux codes respectifs d'adresse peuvent être programmés pour produire les valeurs logarithmiques associées à l'orifice de sortie de la mémoire morte 50. L'utilisation d'une mémoire morte pour déterminer des valeurs logarithmiques élimine la nécessité de calculs en temps réel. 7 2571199 La base B sur laquelle sont pris les logarithmiques est choisie pour obtenir une haute précision en rendant maximum l'utilisation des bits disponibles des logarithmes numériques. Plus particulièrement, pour un système agencé pour traiter des valeurs logarithmiques à N bits correspondant à des échantillons de signaux à M bits comprenant un bit de signe, la base logarithmique B est égale à L2M-l - Antiln (Ln(2 - 1), 2 - 1 o Ln désigne le logarithme Népérien. Les valeurs de LogRIIl et Log9B IQI sont temporai- rement stockées dans les circuits respectifs de verrouillage 52 et 54 en réponse aux signaux appropriés d'horloge I et Q. La sortie des circuits de verrouillage 52 et 54 de LogB III et LogB IQI est disponible aux orifices respectifs d'entrée d'un sélecteur 56 du plus grand nombre et d'un sélecteur 58 du plus petit nombre. Les sélecteurs 56 et 58 produisent à leurs sorties respectives la plus grande et la plus petite valeur des valeurs de LogB III et LogB IQI concurremment stockées dans les circuits de verrouillage 52 et 54. Un exemple de mise en oeuvre des détecteurs du plus grand et du plus petit nombre 56 et 58 est représenté sur la figure 3. Les signaux LogB III et LogB QI sont respec- tivement appliqués aux orifices d'entrée +ve et -ve d'un soustracteur 100 et le bit de signe de la différence produite par le soustracteur est examiné. Si le bit de signe est zéro, cela signifie que la différence (LogBIII + LogB IQI) est +ve et que LogB est la plus grande des deux valeurs logarithmiques LogB II et LogB Q. Par ailleurs, si le bit de signe est un, cela signifie que LogBIi est la plus faible des deux valeurs logarithmiques. Un multi- plexeur 102 aux orifices d'entrée respectives duquel sont appliqués les signaux LogB III et LogB JQIproduit la plus grande des deux entrées (c'est-à-dire X) à son orifice de 8 2571199 sortie en réponse au bit de signe. De même, un multiplexeur 104, répondant au bit de signe, rend disponible, à son orifice de sortie, la plus petite des deux entrées (c'est-à-dire Y). La polarité de la plus petite valeur Y des deux entrées LogB II et LogB IQI est inversée par un circuit de complément à 2 60 qui est relié à la sortie du sélecteur 58 du plus petit nombre. Le circuit 60 peut se composer d'un inverseur pour inverser tous iO les bits d'entrée et d'un additionneur pour ajouter 1 à la position du bit de moindre poids du nombre inversé pour produire le complément à 2 du nombre d'entrée. Le circuit d'addition 62 ajoute le complément à 2 de.la plus petite valeur Y des deux entrées LogB III et LogBi QI à la plus grande valeur correspondante X pour produire la valeur absolue de la différence D entre les deux entrées Log. III et LogB IQI. La valeur absolue de la différence D est appliquée à un élément 64 qui produit à sa sortie une valeur: F (IDI) = 0,5 LogB(1 + B21DI) L'élément 64 peut être une mémoire morte à laquelle est -appliquée la valeur absolueI DI de la différence entre les deux entrées LogB III et LogB IQI en tant que code d'adresse, et qui est programmée pour développer à son orifice de sortie une valeur égale à F (IDI). Un circuit d'addition 66 ajoute la sortie F (IDI) de l'élément 64 à la plus grande valeur X des deux entrées Log9B II et LogB QI| après que la plus grande valeur a été retardée d'un intervalle approprié de temps par un élément retardateur 68 pour assurer que la plus grande valeur atteindra le circuit d'addition sensiblement en coïncidence avec la valeur correspondante de correction. L'élément 70 produit l'AntilogB de la sortie du circuit d'addition 66 pour produire une valeur sensiblement égale I101 aIol llGbol anb.lrad sntd À L6 = 1 601 la IiI 5oal ap quelodw snId = X L6 = | 01 'ol9 l= I 5 6ol tTZ: ' 8 = I @soddns uo sTlnoTe3 O i i i i 0O i LZT-ZS i i T i 15-5 i i Z i 17 -LZ i i ú i 9Z-TZ i SZ i t17 i OZ-LT i i S i 9T- T i i 9 i ZI- T01 i i L i 8-L i i 8 i 9- i OZ i 6 i t7-ú i i OT i Z-T i i T1 i O i i i j i i i j (j|als)i l| ebeîd j5 - ap nealqel (oaIzT9Túúo'T + 1) 6oi 5'o = ( liZ-a + 1) 6oi 5'o =' (la1) j anbrwyqTieOOl aseq elT anod snss@p-To 1OT auuop aTnwloj elT UesTTIFn ua 'T9T1úO'1 8 - (L = N aJTP-e.-saO) STq N ' sWqLfTJBBOl sap a '(L = W 1TIP-q -Isao,) aubTs ap;Tq alT ueuoidwoo s;Tq L e. aoueuTwoLiqa ap suolTTIueqa sap esoddns uo À addw@ax un,p pTeTl e aanbTTdxa ae@s pZ inap -ueib ap jnaoaqlap uaseaid np uoTleatTdde,l ainleipenb ua 0 la I xneufts sep lTTlTjoloa awwos el ap 3 jnapuej6 el T 66L,,SZ D=X-Y Y = 97-64 = 33 F (IDI) = 2, du tableau de F * LogB /I = X + F (IDI) = 97 + 2 = 99 C = i2 + Q2 = AntilogB 99 = 25,27 (estimé) ,3 (réel) On peut noter qu'une plus forte résolution peut être obtenue en augmentant le nombre de bits dans les échantillons de signal (c'est-à-dire M) ou dans les valeurs logarithmiques (c'est-à-dire N). Dans ce cas, les plages des valeurs de D diminuent en dimension pour chaque changement incrémentiel de F (D). Alterna- tivement, la résolution peut être améliorée en diminuant la valeur de chaque changement incrémentiel de F (D) pour créer un plus grand nombre de plages pour D. On peut également noter sur le tableau de F que seules onze valeurs de correction F (D) (c'est-à-dire 1 à 11) sont requises pour les différences D représentées par les échantillons à 7 bits. Ainsi, la dimension de la mémoire morte peut être considérablement réduite par un décodage approprié des mots codés d'adresse à l'entrée de la mémoire morte. La présente invention ne nécessite aucun circuit multiplicateur et seule une petite table de valeurs de correction, et permet ainsi d'obtenir une résolution supérieure à des prix inférieurs de matériel en comparai- son aux autres techniques ci-dessus mentionnées. il R E V E N D I C A T I O NS 1.- Appareil pour produire la grandeur de la somme vectorielle d'une paire de composantes vectorielles en quadrature, caractérisé par: un moyen (22) pour recevoir les grandeurs de ladite paire de composantes vectorielles en quadrature; un moyen (50) pour produire une paire associée de valeurs logarithmiques à une base B desdits vecteurs; un moyen (56-62) pour soustraire l'une desdites valeurs logarithmiques de l'autre desdites valeurs logarithmiques pour former une valeur de différence D; un moyen (64) pour produire une valeur de correction égale à 0,5 LogR (1 + B 2D); un moyen (66) pour ajouter ladite valeur de correction à ladite autre valeur logarithmique; et un moyen (70) pour produire l'antilog de la valeur de sortie dudit moyen d'addition pour produire une valeur C sensiblement égale à la grandeur de la somme vectorielle desdites composantes vectorielles en quadrature. 2.- Appareil selon la revendication 1, caractérisé en ce que le moyen précité de soustraction se compose de: un moyen pour déterminer un complément à 2 de ladite première valeur logarithmique; et un moyen pour combiner par addition ledit complé- ment à 2 de ladite première valeur logarithmique à ladite autre valeur logarithmique pour obtenir ladite valeur de différence D. 3.- Appareil selon la revendication 1, caractérisé en ce que le moyen précité générateur de la valeur de - correction se compose d'une mémoire morte à laquelle est appliquée une valeur de différence D en tant que code d'adresse et qui est programmée pour contenir la valeur associée F (D) à l'emplacement correspondant de la mémoire. 4.- Appareil pour produire la grandeur de la somme vectorielle de deux composantes vectorielles en quadrature,caractérisé par un moyen pour recevoir les valeurs de grandeur de ladite paire de composantes vectorielles en quadra- ture; un moyen pour produire une paire associée de valeurs logarithmiques à une base B pour lesdits vecteurs un moyen pour calculer la valeur absolue DI de la différence entre lesdites paires de valeurs loga- rithmiques; un moyen pour produire une valeur de correction F (IDI) égale à 0,5 LogB (1 + B 2 IDI); un moyen pour ajouter ladite valeur de correction à la plus grande desdites valeurs logarithmiques; et un moyen pour produire l'antilog de la valeur de sortie dudit moyen d'addition pour produire une valeur C sensiblement égale à la grandeur de la somme vecto- rielle desdites composantes vectorielles en quadrature. 5.-Appareil selon la revendication 4, caractérisé en ce que le moyen précité pour calculer la valeur absolue D de la différence entre lesdites valeurs loga- rithmiques comprend un moyen pour soustraite la plus faible desdites valeurs logarithmiques de la plus importante desdites valeurs logarithmiques. 6.- Appareil selon la revendication 4, caractérisé en ce que le moyen précité pour calculer la différence entre lesdites valeurs logarithmiques comprend: un moyen pour déterminer la plus grande et la plus petite desdites valeurs logarithmiques, et un autre moyen pour soustraire la plus petite desdites valeurs logarithmiques de la plus grande. 7.- Appareil selon la revendication 6, caractérisé en ce que le moyen précité de soustraction se compose de: un moyen pour déterminer un complément à 2 de la plus petite valeur logarithmique; et un moyen pour combiner par addition ledit complément à 2 de la plus petite valeur logarithmique à la plus grande valeur logarithmique pour obtenir la valeur absolue de ladite différence entre lesdites valeurs logarithmiques. 8.- Appareil selon la revendication 7, carac- térisé en ce que le moyen précité pour déterminer le complément à 2 comprend: un moyen pour inverser les bits de la plus petite valeur logarithmique; et un moyen pour ajouter un+ 1 à la position du bit de moindre poids de la valeur inversée de la plus petite valeur logar thmique pour produire ledit complé- ment à 2. - 9.- Appareil selon la revendication 6, carac- térisé en ce que la plus grande valeur logarithmique précitée disponible à la sortie du moyen déterminant les plus grande et plus petite valeur logarithmique est appliquée par addition audit moyen d'addition. 10.- Appareil selon la revendication 9, carac- térisé en ce que la plus grande valeur logarithmique à la sortie du moyen précité déterminant la plus grande et la plus petite valeur logarithmique est appliquée au moyen d'addition précité par un élément retardateur pour assurer que ledit moyen d'addition recevra ladite plus grande valeur logarithmique sensiblement simulta- nément avec la valeur de correction associée. 11.- Appareil selon l'une quelconque des revendications 1 ou 4, caractérisé en ce que le moyen générateur de la valeur logarithmique précité comprend une mémoire morte à laquelle sont appliquées en tant que codes d'adresse, les valeurs d'amplitude de la paire de vecteurs précité et qui est programmée pour contenir les valeurs logarithmiques associées aux empla- cements respectifs de mémoire. 12.- Appareil selon la revendication 4, caractérisé en ce que le moyen précité générateur de valeurs de correction se compose d'une mémoire morte à laquelle est appliquée une valeur de différence absolue IDI en tant que code d'adresse et qui est programmée pour contenir la valeur de correction associée F (IDI) à l'emplacement correspondant de mémoire. 13.- Appareil selon la revendication 1 ou 4, caractérisé en ce que le moyen précité producteur de l'antilog comprend une mémoire morte à laquelle est appliquée la soTtie du moyen d'addition précité en tant que codes d'adresse et qui est programmée pour contenir la valeur d'antilog associée à l'emplacement respectif de mémoire.