Brevet FR2495857A1 — publié le 19820611

La présente invention a pour objet un fil- tre numérique récursif de suréchantillonnage en arithmétique distribuée. Elle trouve une applica- tion d'une façon générale en traitement de signal et plus particulièrement en télécommunications. Dans les systèmes de codage-décodage-fil- trage de type MIC (Mcdulation par impulsions codées) fonctionnant par codage interpolatif et filtrage nu- mérique, interviennent des filtres numériques de sous-et de suréchantillonnage. Il s'agit de filtres pour lesquels la fréquence d'échantillonnage des si- gnaux d'entrée fE et celle des signaux de sortie fS ne sont pas identiques. Pour le souséchantillonnage on a fE> fS et pour le suréchantillonnage fE de type RC, un codeur delta-sigma à double intégra- tion 2 fonctionnant par exemple à 2048 kHz et déli- vrant des signaux de 1 bit à 2048 kHz, un filtre numérique de souséchantillonnage triangulaire 3 dé- livrant des signaux de 13 bits à 16 kHz, un filtre numérique de souséchantillonnage 4 délivrant des si- gnaux de 13 bits à 8 kHz, un circJit 5 de compres- sion de loi linéaire en loi A, dont la sortie numé- rique SN délivre de signaux de 8 bits à 8 kHz. De façon symétrique, la chaîne de décodage comprend une entrée numérique EN, un circuit 6 d'extension de la loi A vers la loi linéaire, un fi!.te numérique de suréchantillonnage 7 fonctionnant a 32 kHz et déli- vrant des signaux de 13 bits à 32 kHz, un décodeur delta-sigma à double intégration 8 fonctionnant à 2048 kHz et délivrant des signaux de 1 bit à cette 2 2495857 fréquence et enfin un filtre 9 de type RC dont la sortie SA délivre le signal analogique restitué. Na- turellement, les valeurs numériques indiquées ne sont que des exemples. La demande de brevet français n 79 18862 déposée le 20.07.1979 et intitulée "Codeur delta- sigma à double intégration analogique et décodeur delta-signia à double intégration numérique" décrit notamment les circuits 2 et 8. Le cahier des charges relatifs à de tels systèmes est contenu dans l'avis G712 du CCITT, li- vre orange, tome III-2, intitulé "Caractéristiques de qualité des voies MIC aux fréquences vocales". Des projets récents ont été lancés concer- nant des systèmes de ce genre devant répondre à un cahier des charges beaucoup plus sévère que celui de l'avis G712 en question, en particulier en ce qui concerne les filtres à l'émission et à la réception. Pour satisftire aux gabarits appropriés à ces fil- 4,0 tres, il eF'. alDrs nécessairede recourir à la tech- nique du f L.ag; hat:'.. r cursif dans lequel les signa- te soie u filtre sont reinjectés a l'entrée d - 'a1-^e Bde G.D. TATTERSALL et lé,J.........: ssS....--;:::.u1talmlinting Filters for;IÈ_ - -.i ...: dans la re-vue "IER'- 5 'o i:.-;-ti.a-.--.t.-"ons", vol. COM 27, n i1, jan= pe. 197, pps. 240-246.;- est proposé de réali er de tels Zilt. recursiLs en utilisant une a Il a_ ithmétique dstr i buée"'. La présente invention reprend cette idée du filtre 7cursif en arithmétique distribuée, mais apporte un perfectionnement en ce sens que, par une adaptation judicieuse des circuits inhérents à 3 2495857 l'arithmétique distribuée et des circuits permet- tant le suréchantillonnage, il est possible de faire une économie de moyens non négligeable (sur le nom- bre de registres d'entrée notamment) tout en gardant une grande souplesse d'emploi. Le filtrage numérique récursif est clas- siquement caractérisé par une expression de la for- me: P q y n n ak Xn-k bk Yn-k (1) k=O k=l 1 oU xnk désigne des signaux d'entrée de rang n-k, Yn-k des signaux de sortie de rang n-k réinjectés à l'entrée du filtre, ak des coefficients de la partie non récursive, dont l'ordre est p et bk des coeffi- cients de la partie récursive, dont l'ordre est q; l'indice n prend des valeurs entières et caractérise le signal de sortie. L'expression (1) est un cas particulier d'une expression plus générale exprimant une somme pondérée pouvant s'exprimer par: p V = Z ak uk (2) k=l2 k = 1 Un filtre numérique récursif comprend p+l entrées recevant les signaux xk et q entrées rece- vant les signaux Yk' soit au total p+q+l entrées; il comprend également une sortie délivrant la suite des signaux Yn- La fonction de transfert H(z) d'un tel filtre, exprimée à l'aide de la variable complexe z, est: 4 2495857 P ak z-k H(z) k = 0 (3) q 1+ bkz-k k = 1 L'invention s'inscrit dans le cadre d'une technique particulière de traitement numérique dé- nommée "arithmétique distribuée". Cette technique est décrite dans le brevet américain n 3 777 130 délivré le 4 décembre 1973 à A. CROISIER, D. J. ESTEBAN, M.E. LEVILION et V. RISO et intitulé "Digital Filter for PCM Encoded Signals" ainsi que dans l'article de A. PELED et B. LIU intitulé "A new Hardware Realization of Digital Filters" publié dans la revue "IEEE Trans. on ASSP" vol. ASSP 22, pp 456-462 en décembre 1974. En outre, l'article de C.S. BURRUS intitulé "Digital Filter Structures Described by Distributed Arithmetic" publié dans la revue "IEEE Trans on Circuits and Systems", vol. CAS-24, N 12, décembre 1977, pp 674-680, fournit une approche générale de cette question et décrit divers algorithmes et architectures utilisa- bles. On pourra se reporter à ces documents pour tout détail concernant cette technique de l'arithmé- tique distribuée, celle-ci n'étant que brièvement rappelée ci-dessous afin que la compréhension de l'invention en soit facilitée. Il s'agit d'effectuer une somme pondérée de signaux exprimée par la relation (2). On suppose que les uk sont codés sur r bits en code complément à 2 mais d'autres codes sont naturellement possi- bles. On note Uk(0) le bit de signe et Uk(j) les bits représentatifs de la valeur absolue de Uk, l'indice j étant compris entre 0 (exclus) et r-1 (inclus). On peut donc écrire: r - 1 uk = -Uk(0)20 + N uk(j) 2-j (4) j =1 si -1 proche, on voit qu'il y a finalement 2p valeurs pos- sibles pour la somme: p uk(j)ak. k = 1 Cette somme, qui sera notée w. (Culsqu'elle dépend du rang j considéré} prend donc l'une quelconque de 2P valeurs déterminées uniquement par les coeffi- cients ak. Le calcul de la somme pondérée revient donc au calcul de l'expression: v = -2 0. w0+ wj 2-j j = 1 o les w. peuvent être prédéterminés dès que l'on s'est fixé un jeu de coefficients ak. 6 2495857 Celle de ces 2P valeurs qui doit être re- tenue pour former w. est définie par l'ensemble des p bits de rang j des signaux d'entrée, à savoir Ul(j), U2(j)...up(j). Dans un circuit de traitement à arithméti- que distribuée les quantités wj sont inscrites dans une mémoire de 2P mots de m bits, si m est le nombre de bits n5cessaire pour exprimer ces sommes partiel- les. Le mot correspondant à un wj particulier est situé, dans cette mémoire, à l'adresse correspondant aux p bits de rang j des signaux d'entrée uk. Le nombre m est déterminé à partir des contraintes du problème à traiter et il peut être réduit de deux manières différentes: par troncation des coefficients ak comme dans une réalisation con- ventionnelle, ou par troncation directe des quanti- tés wj (mais alors le traitement n'est plus rigou- reusement linéaire) Cette dernière méthode est d-' crite danúz l'aricle de R. LAGADEC et D. PELLONI in* ituc Mcd'úi for Disttributed Arithmetic for il irs P jr-c 2z..-.ntUz. Tok-up Table" publi' dans "Naina Yzleccnuicui-,atitn Conference" 1977 pp 29:. à- a " a A- les si'g.v d:cae uk sont introduits da-s der fgist S'_ p d'un additionneur-souGsracteur dun registre accu- muiatîur. entrei s p- al eles et sorties parallèles pouvant êtLe dece!e, cn peut raliser la somme pon- dérée v en r opérations élémenLaires telles que: - lecture de la mémoire à l'adresse donnée par les p bits ukJ), - addition du contenu du registre accumulateur pa- rallèle-parallèle et du mot contenu dans la mémoi- re à l'adresse indiquée (pour j = 0, il faut sous- traire le contenu de la mémoire au contenu du regis- tre), - décalage du registre accumulateur parallèle-pa- rallèle et des registres série d'entrée (qui cor- respond à une division par deux du résultat inter- médiaire). L'organisation matérielle d'un tel cir- cuit est illustrée sur la figure 2. Le circuit re- présenté comprend: p registres- série 10/1, /2,...,10/p de r bits recevant les p signaux d'en- trée 20, une mémoire morte de 2P mots de m bits, un additionneursoustracteur 30, un registre à entrées parallèles et sorties parallèles 40 décalable et un circuit d'horloge 50. La mémoire possède p entrées reli& Les quantités uk se présentent poids fai- ble en tête dans les registres 10/1,...,10/p. La première quantité calculée est: p wr-l = uk(r-l)ak k = 1 puis, après décalage du registre 40, on calcule: 2-1wr,l'wr2 puis la somme Wr_2 + 2 wr'l1 249S857 puis, après un nouveau décalage, on calcule 2-2 2(w + 2 ( W r 2 W2 + 2 Wrl)2- et ainsi de suite jusqu'au rième coup d'horloge, o l'on doit effectuer une soustraction correspondant aux bits de signe uk(0). Après ce dernier coup, les registres série 10/1,...,10/p doivent être décalés. On peut également tronquer ou arrondir le résultat v. Pour faire de la troncation, il suffit de ne pas prendre en compte les bits de faible poids, à partir d'un certain moment. Pour faire de l'arrondi, il faut ajouter, avant troncation des résultats, un demi-poids faible. Ces principes peuvent être appliqués à la réalisation d'un filtre numérique récursif. L'opé- ration à effectuer est alors celle de la relation (1) et le circuit correspondant est celui de la fi- gure 3. Il comprend une partie non récursive consti- tuée de p+l registres série 10/0, 10/1,...,10/p re- cevant les signaux xn, Xnl...,Xnp et une partie récursive constituée de q registres 11/1, 11/2,...,11l/q recevant les signaux Yn-l' Yn_2,*,Yn_-q, le registre 11/1 étant à chargement parallèle et les autres à chargement série; les re- gistres 10/0 à 10/p-1 ont leur sortie reliée à l'en- trée du registre suivant, de même que les registres 11/1 à 11/q-1. Le circuit comprend encore une mémoi- re 20 à p+q+l entrées reliées à la sortie des regis- tres, cette mémoire contenant 2p+q+l mots de m bits, ces mots étant les quantités: P q 35. ajcj+l- _ bk Ep+q+2-k j]=0 k = 1 o les cj sont égaux à 0 ou 1, j allant de 1 à p+q+l. 9 2495857 Le circuit comprend enfin les organes de traitement arithmétique déjà mentionnés, à savoir: un additionneur-soustracteur 30, un registre-accu- mulateur 40 à entrées parallèles et sorties parallè- les, ainsi qu'une horloge 50 assurant le déroulement convenable des opérations (décalage des registres, changement des registres parallèles, remise à zéro de l'accumulateur e, fin de cycle). Par rapport au circuit de la figure 2, on note donc deux modifications: - le registre 11/1 correspondant à yn-1 est à char- gement parallèle; le contenu du registre parallè- le-parallèle 40 doit être limité à r bits (par troncation ou arrondi), puis, à la fin de chaque cycle de calculs (r opérations élémentaires) char- gé dans le registre yn-1 de manière parallèle, - les différents registres série sont connectés les uns aux autres. L'invention est basée sur un certain nombre de propriétés présentées par les filtres récursifs lorsqu'on utilise l'arithmétique distribuée, proprié- tés qui ont été mises en évidence par les demandeurs et qui peuvent être résumées comme suit. Dans un filtre récursif de suréchantillon- nage, les signaux de sortie Yn sont échantillonnés à une fréquence N fois plus grande qcec les signaux d'en- trée xn. Le calcul G l'expression: P q Yn =L ank L bk Yn-k (1) k = 0 k = J présente donc des particularités pl que les échantil- lons xn-k seront nuls (N-l) fois sur N alors que les échantillons Yn-k seront toujours présents. Pour préci- ser ce point, on notera l'indice courant n sous la for- me n = tN+j qui fait apparaître la multiplicité par rapport à N et o l'indice j prend toutes les valeurs 2495857 comprises entre 0 (inclus) et N-1 (inclus). Lorsque j = 0, l'indice n est un multiple de N; lorsque k prend toutes les valeurs comprises entre 0 et p la première sommation fait intervenir les coef- ficients a0, a1, a2,...,ap et les échantillons XtN, xtNl, XtN_2... Or, parmi ces échantillons, seuls les échantillons dont le rang est un multiple entier de N ne sont pas nuls: il s'agit de xtN, XtNN', XtN2N,... La première sommation ne fera donc intervenir que cer- tains des produits. Par exemple pour N = 4, la somma- tion ne contiendra que les termes a0xt4, a4xt4_4,... Autrement dit tout se passe comme si l'on avait affaire à un filtre ordinaire avec le jeu de coefficients ai, a4... (li'indice ne pouvant naturellement excéd-r l'ordre p de la partie non récursive). Pour le rang n qui suit, on a j = 1 et ss- échantillons intervenant dans la première sommatio- sont, cette fois, XtN+lr XtN X, etc..; cett fois, c'est le second échantillon XtN, le cinquièmes etc.. q- com"{: s..:: tL. d'on cc..=_.: (et toujours dans le c;: ou N 4: 1Y, t - L jeu de coefficients Qui intIc orn ,u -V- la Lz-:J tc/;e jA_ eu de coeffc..ie... qui:inie-.e; crt [.È>*- Enfin, ou. tice n obtenu avec j = 3, Le jeu de cocffIcient-ts est- a7, =. sour la valeur sui.vnt( de n on retrouve ] avec L auen:t;. diune nllité et l'on retrouve les 4 jeux pre,édents de coefiLcients (a0, a4), (a1, a5),... Le tableau I donné ci-après rassemble les différents échantillons d'entrée xnk (les échantil- lons non nuls étant soulignés) dans le cas o le fac- teur de suréchantillonnage N est égal à 4 pour les 4 valeurs de j. On observera que cet exemple correspond au cas illustré sur la figure 1 o les fréquences d'échantillonnage sont égales respectivement à 32 kHz et 8 kHz à la sortie et à l'entrée. Dans ce tableau, l'ordre p de la partie non récursive est égal à 6 (ce qui conduit à une sommation sur 7 termes allant de k = O à k = 6). Les jeux de coefficients à prendre en compte pour chaque valeur de j (donc de n) sont indi- qués en bas de chaque colonne. Il y a 4 jeux différents et d'une façon générale N. Par ailleurs, dans l'exemple pris, l y a au maximum deux échantillons non nuls intervenant dans une sommation sur k pour n fixé. Naturellement, ce nombre dépend de l'ordre p: plus l'ordre p est grand, plus le nombre d'échantillons pouvant ne pas être nuls augmen- te. Dans l'exemple du tableau 1, on aurait pu prendre p = 7, sans augmenter le nombre d'échantillons non nuls intervenant dans la sommation. L'ordre p est toujours compris entre deux multiples successifs de N, notés (K-1)N et KN avec éga- lité possible pour le premier. Dans le cas particulier correspondant à p = 6 et N = 4, on a ainsi K = 2 (6 est bien compris entre lx4 et 2x4). Il est aisé de voir que le nombre d'échantillons à prendre en compte dans la sommation sur k de la partie non récursive est d'une façon générale, au plus égal à K. Ainsi, et selon l'une des caractéristiques du filtre de l'invention, le nombre de registres série re- cevant les signaux d'entrée et constituant la partie non récursive d'ordre p est limité à K, K étant défini (dans le cas o N = 2a) par (K-1) N 4 p illustré sur la figure 3. il Selon une autre ca=cc ique du filtre de l'invention, les N jeux différents de coefficients qui sont à utiliser tour à tour lorsque le rang n varie, (dans l'exemple du tableau I: (a0, a4), (a1, a.), (a2, a6), (a3)), sont stockés dans N (ici 4) blocs de la mémoire, ces blocs ayant même taille, et étant adressés à tour de r1ôle selon la valeur de n. Cet adressage est obtenu par un compteur modulo N qui reçoit les impul- sions de commande à la fréquence fS et dont les sorties sont reliées à des entrées d'adressage de la mémoire. Lorsque N est compris entre 2 -1 (exclus) et 2 (in- clus), le compteur en question comprend a sorties et la mémoire a entrées d'adressage des N blocs-mémoire. Par ailleurs, cette mémoire doit comprendre K entrées cor- respondant aux K registres-série de la partie non ré- cursive et également q entrées correspondant aux q re- gistres de la partie récursive ordinaire. La mémoire possède donc en définitive a+K+q entrées d'adressage et une capacité de 2î+K+q mots de m bits, Cette seconde caractéristique permet de sou- ligner la seconde économie de moyens réalisée par l'in- vention. Dans l'art antérieur, la mémoire associée à une partie récursive d'ordre p et à une partie non ré- cursive d'ordre q doit posséder une capacité de 2P+q+l mots. Le gain procuré par l'invention, en ce qui con- cerne la taille de la mémoire est donc, dans le cas général de 2P+q+l/2+q Dans le cas le plus favorable o p = KN-1 et N = 2, ce gain est de 2K(N-1)/N, quantité qui est su- périeure à 1 dès que N > 2 et K > 1. Dans le cas le plus défavorable correspondant à p = (K-1)N et = 2-1-, le gain est de a p = (-) et N=2 -, le gain est de 2K(N-1)-N/N-1, quantité qui est supérieure à 1 dès que N > 2 et K > 2. Dans le cas o N n'est pas une puissance de 2, l'expression (4) prend une forme différente: (K-1)N+2a-N filtre numérique récursif de suréchantillonnage en ari- thmétique distribuée, comprenant une partie récursive d'ordre q constituée d'un registre à chargement paral- lèle et de q-l regi-tres-série, ces q registres étant circulants, c'est-àdire reliés en cascade, une partie non récursive d'ordï-e p constituée de registres-série, une mémoire divisée en N blccs-mémoizc contenant chacun un jeu de quantités précalculées caractéristiques du filtrage à effectuer, un compteur modulo N à a sorties, la mémoire possédant d'une part a entrées d'adressage des différents blocs reliées aux r. sorties du compteur et, d'autre part, des entrées d'adressage à l'intérieur d'un bloc reliées aix sorties des registres des parties récursive et non rfcursive, un add[tionneur-soustrac- teur relié à la méa.iure, un regist-e-accumulateur dont l'entrée est reliée à l'additionneur soustracteur et à la sortie au regisre à chargement. parallèle, et à l'additionneur-soustracteur, les signaux d'entrée de la partie non récursive pouvant être bloqués P fois sur N une horloge de fréquence fS commandant la sortie des signaux du registre parallèle et leurs entrées dans la 14 2495857 partie récursive et actionnant le compteur, la fréquen- ce de décalage des registres étant rfs si r est la longueur commune aux différents registres série, la fréquence fs étant égale à NfE o N est un entier, fE la fréquence d'échantillonnage des signaux à l'entrée du filtre, et fs la fréquence en sortie du filtre; ce filtre est caractérisé en ce que la partie non récursi- ve ne comprend que K registres-série, K étant un entier défiai par la double inégalité (K-1)N + 2î-N 4 p + P-1 par l.es sorties du compteur. De preférence, les mr:oyens de commutation son constitués par K multi iex. urs aà deux entrées de sign.i et -_e s;::_e et use entree -!j co, mmande reliée au cu ' te:,L. de pre_'-en:,>e enco e> des multiplexeurs peu- venL tt ins_.s er.tre l:a ll;io --e et les registres-r 2 afin, de.Sinuer la taiile de Jfa m.moire. -e pref--.- en -.e.or-que N n'est pas u. pU 'S,'-, n-: ' 6 - - ans! l' hve nx]J,r évo oihi p! eae de ccrtains regis- thés d'en.-r4e --'C es sorties Au compteur, ce qui per:- 3" met d-o.' et uti.saicn de la mémoire. De aix 1*ls caractéristiques et avan- tageF de Ilinvention apparatr-ont mieux après la des- cription qui va suivre, d'exemples de réalisation don- nes à titre ij.lustratif et nullement limitatif. Cette description se réfère à des dessins annexés, qui font suite aux figures déjà décrites et sur lesquels: - la figure 4 représente un exemple de réali- sation d'un filtre récursif de suréchantillonnage con- 1S forme à l'invention, dans le cas particulier o la par- * tie non récursive comprend deux registres-série (K = 2) et la partie récursive 6 registres-série; - la figure 5 représente une variante de réa- lisation du filtre précédent utilisant des multi- plexeurs à deux entrées disposés entre les registres et la mémoire; - la figure 6 représente une autre variante du filtre précédent utilisant des multiplexeurs à 4 en- trées; - la figure 7 représente une variante permet- tant d'optimiser le remplissage de la mémoire lorsque le facteur de suréchantillonnage n'est pas une puissan- ce de 2; - la figure 8 représente encore une autre va- riante de réalisation du filtre précédent correspondant au cas o le facteur de suréchantillonnage N est diffé- rent d'une puissance de 2 et o il est fait usage d'un registre supplémentaire multiplexé avec une des sorties du compteur. La figure 4 représente un exemple de filtre conforme à l'invention et correspondant au cas o l'or- dre q de la partie récursive est égal à 6, o l'ordre p de la partie non récursive est égal à 7, o N = 4, conditions qui conduisent à K = 2 et a = 2. Le filtre représenté comprend une partie ré- cursive constituée d'un registre à chargement parallèle 11/1 et de 5 registres-série 11/2, 11/3...11/6, ces re- gistres étant tous circulants, c'est-à-dire reliés en cascade, les uns aux autres, et une partie non récursi- ve constituée de deux registres-série 10/1 et 10/2 as- sociés chacun à un multiplexeur à deux entrées 12/i et 12/2. Le filtre comprend encore une mémoire 20 divisée en 4 blocs-mémoire de mêmes tailles contenant chacun un jeu de quantités précalculées caractéristiques du fil- 9 958}t e16 trage à effectuer et un compteur 25 modulo 4 à 2 sor- ties C0 et a.; la memoire 20 possède d'une part 2 entrées f0, fl d'adressage des 4 blocs, ces entrées étant reliées aux 2 sorties du compteur et, d'autre part, 8 entrées el, e2...e8 d'adressage d'un mot à l'intérieur d'un bloc, ces entrées étant reliées aux sorties de 8 registres des parties récursive et non récursive; le filtre comprend encore et de manière connue, un ensemble additionneur-soustracteur 30 et un registre-accumulateur 40 dont la sortie est reliée au registre 11/1 à chargement parallèle; enfinune horlo- ge 50 actionne les registres des parties non récursive et récursive à la fréquence rfS o r est le nombre de bits des signaux traités, et le compteur 25 et le char- gement parallèle du registre 11/i à la fréquence fs' Les moyens de commutation aptes à rendre les 2 registres 10/1 et 10/2 recirculants, c'est-à-dire bouclés sur eux-mêmes, 3 fois sur 4 et circulants, c'est-àdire reliés en cascade les uns aux autres, une fois sur 4, sont constitués par les deux multiplexeurs 12/1 et 12/2 et par une porte NON- ET 13 à deux entrées reliées aux sorties a0 et t1 du compteur 25. Chaque multiplexeur possède deux entrées de signal m1 et m2, une sortie m3 et une entrée de commande m4; la seconde entrée m2 de chaque multiplexeur est reliée à la sortie du registre-série auquel il est associé, la première entrée m1 étant reliée à la sortie du registre qui pré- cède, sauf pour le premier 12/1 dont l'entrée est re- liée à une entrée générale des signaux à traiter; l'entrée de commande des multiplexeurs est reliée à la sortie de la porte NON-ET. Elle est donc à l'état 0 uniquement lorsque les deux sorties a0 et Cl sont à 1, autrement dit lorsque le contenu du compteur est à son maximum (N-1 si l'on compte de 0 à N-l, N si l'on compte de 1 à N); alors la sortie m3 de chaque multiplexeur est reliée à la première entrée m1, ce qui rend les deux registres 10/1 et 10/2 circulants. Dans les trois autres cas, la sortie de la porte NON-ET est à 1 et la sortie m3 est relée à la seconde entrée m2, ce qui rend les deux registres recirculants. Dans l'exemple illustré, la capacité de la mémoire est de 22++6 = 210, soit 1024 mots au lieu de 26+6+1 213 26 61 = 213, soit 8192 mots, comme dans l'art anté- rieur, soit un gair de 8 sur la taille de la mémoire. Les dispositions qui viennent d'être décri- tes peuvent être facilement modifiées si les signaux d'entrée sont répétés (ou bloqués) à l'entrée du fil- tre, selon un processus connu. Si l'on répète P fois sur N les signaux à l'entrée d'un filtre, le signal subit un filtrage complémentaire de fonction de trans- fert; isin Pf/fS sin Tt f/f G (f) = (7) qu'il faut corriger en bande passante, mais dont l'af- faiblissement hors bande (en particulier les zéros à f = kfS/P) peut faciliter la synthèse d'un filtre sa- tisfaisant à un gabarit donné. Le cas considéré jusqu'ici correspond à P = 1 et il n'y a pas alcs de fonction de transfert parasite (G1(f) = 1). Lorsqu'or. répète les échantillons d'entrée P fois sur N, pour re&rouver la puisrance du signa] d'en- trée en sortie, i faut multipliEr les échantillons d'entrée par N/P (ua multiplier les coefficients de la partie non récursive par N/P). Lorsque P = N, (cas con- nu sous le nom de "bloqueur d'ordre zéro"), ce facteur multiplicatif est égal à 1 et la fonction de transfert est: GN(f) = (8). Si les signaux d'entrée sont bloqués, le nom- bre de Xnk à prendre en considération dans la somma- tion sur k augmente et, par consécuent, le nombre de coefficienr ak int-rvenant dans chaque jeu. Le tableau II donné ci-après reprend le as envisagé au tableau! dans le cas ou les signaux sont bloqués 2 fois sur 45 15 voit que lorsque j = 0 (premiere colonne) l'échantill:n de rang k = 3 n'est plus nuJ puisqu'il correspond à XtN_4 répété; ainsi, les coefficients intervenant dans la sommation pour j = 0 ne sont-ils plus a0 et a4, naiS a0 et (a3+a4). De même pour j = 1 o l''-on doit reten: le jeu des coefficients (a0+al), (a4+a,), etc... D'une façon général!, on peut montrer que les N jeux de coefficie6nts a prendre en compte, lorsqu'oD répète P fois sur N les signaux d'entrée, sont les sui= vants pou i ' a J p017r =,- a n,. pou: j r> P N-% E2: Ie_ d e 1 - -', 1, L, L Z. !:: -g - - 1.-. - >-' 2N k = 2N+1-P 2N+l - - 2N+2-P 2N+P k =2N+l pour j =..1: fll- 1 -1 k = N-PZ k = N-P 2N-1 ak, a k, k = 2NP O:0 ak, O. akt- 5 e- àk,... 3N-1 k = 3N-P ak,... D-1 P n'i-,.Z-d :1 - 14'' En faisant P = 1, on retrouve les résultats du tableau I et en faisant P = 2 ceux deu tableau Il. Cette modification touche donc les quantités précalculées à introduire dans la mémoire 20. En outre, le nombre K de registres à utiliser à l'entrée est dé- fini par la double inégalité (K-1)N p+P-1 réduire la taille de la mémoire, Cette taille peut en- core être réduite si l'on dispose des multiplexeurs en- tre la mémoire et les registres au prix d'une multipli- cation de la fréquence de calcul par M, si M est le facteur de multiplexage. Naturellement des précautions doivent être prises pour que, lorsqu'une entrée xn-k est adressée sur la mémoire, la partie de la mémoire contenant le jeu de coefficients devant être utilisé soit correctement adressée, ce qui suppose que les a entrées de la mémoire correspondant à l'adressage des blocs reçoivent les bits délivrés par le compteur modu- lo N. Deux solutions peuvent être envisagées: - soit ne faire porter le multiplexage que sur les (K+q) entrées de la mémoire raccordées à des regis- tres, - soit répéter si nécessaire les a bits obtenus en sor- tie du compteur de façon que pour chaque xn k sélec- tionné par un multiplexeur, les a bits du compteur soient, également sélectionnés. La figure 5 illustre le cas o 5 multiple- xeurs 26/1 à 26/5 à M = 2 entrées et une sortie sont disposés entre la mémoire 20 d'une part, les registres et le compteur 25 d'autre part, dans un exemple qui correspond au cas illustré sur la figure 4. Ces multi- plexeurs sont commandés par un compteur 27 modulo 2 qui travaille à la fréquence 2rf, et qui délivre un bit S égal à 0 o. Ciff e29l-'.7.;t:-lenst sntr S, respectivement E1 à E6 Lorsut:e S est à 1 ces entrées sont respectivement reliées a a, - 2' 10/1, 10/2, 11/6 et 27; lorsque S est à 1 elles sont reliées à 11/5, 11/4, 11/3, 11/2, 11/1 et 27. La mémoire ne présente donc qu'une taille de 26 = 64 mots de m bits, soit une réduction d'un facteur 16 par rapport au cas de la fi- gure 4. La figure 6 représente un autre exemple d'u- tilisation de multiplexeurs, cette fois à M = 4 en- trées. Trois multiplexeurs 28/1, 28/2 et 28/3 sont com- mandés par un compteur 29 modulo 4 à deux sorties 0 et 1' La mémoire comprend deux entrées g0 et g1 reliées aux sorties du compteur 29 modulo 4 et 3 entrées F1, F2, F3. La correspondance entre les bits délivrés par le compteur 29 et les éléments auxquels les trois en- trées F1 à F3 sont reliées est la suivante: La mémoire ne présente alors qu'une taille de = 32 mots de m bits. Dans la description qui précède, le facteur de suréchantillonnage N est supposé être une puissance de 2 (N = 2a). Dans le cas o cette condition n'est pas satisfaite, l'invention prévoit une disposition parti- culière qui permet d'optimiser le remplissage de la mé- moire. Cette variante de l'invention est basée sur les remarques suivantes: le contenu du compteur varie entre 0 et N-1 (un raisonnement analogue pourrait être 051 Entrée F1 Entrée F2 Entrée F3 reliée à reliée à reliée à 0 O 10/1 a C 0 1 10/2 a0L 1 0 11/6 11/4 11/2 1 1 11/5 111/3 11/1 tenu si ce contenu variait entre 1 et N). Les configu- rations binaires délivrées par les " sorties du comp- teur et correspondant à N, N+l,...2a-l ne sont donc jamais atteintes. Cela signifie que certaines configu- rations comprises entre 0 et N-1 seront entièrement ca- ractérisées par un nombre de bits inférieur strictement à a. Autrement dit parmi les a bits délivrés par le compteur, il en est qui peuvent ne pas être significa- tifs, c'est-à-dire -'avoir aucune incidence sur la com- mande de l'adressai: de la mémoire. Par exemple, pour N = 3, le compteur 25 comp- te de 0 à 2. Les configurations binaires délivrées par ses sorties sont donc les suivantes: a1 a0 0 0 0 1 1 O La configuration binaire 1IL n'est jamais pro- duite puisque le contenu du compteur n'atteint pas 3. Il en résulte que si a1 est à 1, le bit de poids faible a0 n'est pas significatif puisqu'à iui seul al = 1 suf- fit pour adresser un des blocs de ?a mémoire, le bit a0 n'intervenant pas dans cet adressage. On peut donc li- bérer une entrée de la mémoire lorsque aL = et affec- ter cette entrée à une donnée, ce qui permet de consti- tuer un bloc mémoiie de taille double. Cette commuta- tion peut être obtenue par un multidexeur. D'une façon générale, on peut montrer qu'une mémoire de 2a+n mots peut être partitionnée en blocs- mémoire de 2n mots et en blocs-mémoire de 2nl mots, ce qui résulte de l'égalité: 2+n = [N - (2î-N)] 2n + (2-N)2n+ 22 2495857 de démonstration immédiate. Dans cette égalité le terme entre crochets vérifie les inégalités: O X N - (2 C-N) 2 et le terme entre parenthèses l'inégalité 2î"-N Ä 0 car 2za-l générale, on peut donc libérer (2a-N) entrées supple- mentaires. Par ailleurs, lorsque N est différent de 2, la suite des échantillons intervenant dans la sommation de la partie non récursive présente des particularités. Le tableau III ci-après donne à titre d'exemple la suite des échantillons xk non nuls dans le cas o N = 3 et o l'ordre de la partie non récursive est égal à 6z Les échantillons nuls ne sont pas mentionnés pour sim- plifier. Le nombre de xk non nuls qui interviennent dans la sr.:aticn sur k es'-.! ' 2 sauf une fois o i2 est égal.? es e 7oitr que, d'unile fagcr. génEraie, _A no.e -a non r!s est égal à K ou K+J la.- t + - v /: '; 2- N (6) qui'_ ' x _.- - -. '. ' ' que par l'introduc tic: Eu,-,e; 2 _ Au rep se;. l'écart entre N et 1E pas au no!nbre ce K-.-, SO;lt précisément au nombre de 2î-N. Par exemple pour N 3, on a. = 2 et 2e-N = 1 et K = 2 et il y a bien un cas o le nombre d'entrées à prendre en compte est égal à K+l = 3. Le tableau IV donne, de la même manière, la suite des échantillons xk qui interviennent pour N = 5 et p = 7. On a alors a = 3, 2îL-N = 3, K = 1 et il y a bien 2a-N = 3 cas o le nombre d'entrées à prendre en compte est égal à K+1 = 2. Si l'on rapproche ces considérations sur le nombre d'entrées à prendre à compte de celles sur la nature des configurations binaires délivrées par le compteur on voit immédiatement que le nombre de cas o il faudra utiliser un registre supplémentaire (K+l re- gistres au lieu de K) est précisément égal au nombre de configurations binaires délivrées par le compteur con- tenant un bit non significatif. Dans les tableaux III et IV les configurations binaires délivrées par le compteur ont été rangées à la partie inférieure de tel- le sorte que les configurations à bits non significa- tifs (lesquels sont encadrés) soient situées en regard des cas o le nombre de xk non nul est égal à K+l. L'invention propose alors d'adresser la mé- moire non pas à la fois avec le bit susceptible d'être non significatif et avec le contenu du registre supplé- mentaire, mais soit avec le premier (lorsqu'il est si- gnificatif), soit avec le second, lorsque le bit en question n'est pas significatif, ce qui permet d'opti- miser l'utilisation de la mémoire. Cette variante est illustrée sur la figure 7 dans le cas o N = 3, a = 2 et K = 2, ce qui correspond au tableau III. Au point de vue des fréquences d'échan- tillonnage il s'agit par exemple des valeurs 24 kHz et 8 kHz. Sur la figure a, est représentée la solution qui consisterait à utiliser 3 registres série 10/1, /2, 10/3 associés à leur multiplexeur 12/1, 12/2, 12/3 comme décrit plus haut (les organes annexes ne sont pas représentés pour simplifier la figure). Ces trois registres sont reliés à 3 entrées d'adressage e7, e8 et e9 de la mémoire 20. Par ailleurs, le compteur 25 à ses 2 sorties a0 et a1 reliées ' deux entrées f0 et fi de la mémoire. Ainsi qu'il a été expliqué plus haut, lorsque a1 est à 1, a0 n'est pas significatif et cette disposition laisserait la mémoire 20 mal utilisée. Pour y remédier on adopte la variante de la partie b qui diffère de la précédente par l'adjonction d'un multi- plexeur 31 à deux entrées 31/1 et 31/2, une sortie 31/3 et une entrée de commande 31/1 L'entrée 31/1 est re- liée au registre série supplémentaire 10/3, l'entrée 31/2 à la sortie a0 du compteur 25, la sortie 31/3 à une entrée (f,0' e9) de la mémoire, et l'entrée de commande 31/4 à la sortie a1 du compteur. Lorsque ai est à 1, c'est l'entrée 31/1 qui est reliée à la sortie 31/3 et lorsque a1 = 0 c'est l'entrée 31/2 qui est reliée à cette même sortie. Ainsi, l'entrée (f0/e9) de la mémoi- re est-elle reliée soit au registre supplémentaire 10/3 lorsque le bit a0 n'est pas significatif, soit à la sortie a0 lorsque le bit qu'elle délivre est significa- tif. La mémoire est alors totalement utilisée. Cette disposition peut être utilisée de la même manière lorsque le facteur de multiplexage M des multiplexeurs (comme 26/1 à 26/5 de la figure 5, ou 28/1 à 28/3 de la figure 6) n'est pas égal à une puis- sance de 2. Alors, ceux des bits délivrés par le comp- teur 29 qui peuvent ne pas être significatifs seront multiplexés avec des entrées reliées à des registres. Par exemple, pour des multiplexeurs à 3 entrées (M = 3), on obtiendra à la sortie du compteur modulo 3 un bit D0 non significatif lorsque D1 sera à 1 et la sortie %0 pourra être multiplexée avec un des regis- tres. La figure 8 illustre un cas o toutes ces dispositions sont combinées et cela dans le cas o M = N = 3; les compteurs 25 et 29 sont alors modulo 3 et les bits a0 et D0 sont non significatifs lorsque a1 et 1 sont à 1. Les multiplexeurs à 3 entrées sont en réalité obtenus par 2 étages de multiplexage à 2 en- trées, respectivement 34/1, 34/2, 34/3 et 36/1, 36/2, 36/3. Le multiplexeur à deux entrées et une sortie 33 permet de multiplexer la sortie du registre 10/1 avec la sortie 0 du compteur 29 qui n'est pas significative quand 31 égale 1. On a encore dans le cas illustré p = 6 et q = 6, donc K = 2. I] y a donc K+i -- 3 regis- tres-série 10/1, 10/z, 10/3 contenant les entrées xk et 6 registres 11/1 à 11/6 contenant les sorties Yn. Le registre 10/3 est multiplexé avec le bit x0 de faible poids du compteur 25. La convention adoptée pour les multiplexeurs est ell.e demà uti.l..;ee, a savoir que l'entrée supérieure fst reliée à la rortie lorsque le signal de commande e.t à 1.I,'utilisatiori des multiple- xeurs 34/1, 34/2, 34/3, 33, 36/1, 36/2, 36/3 permet de réduire la taille de la mémoire de 2.10 1024 mots de m bits à 2 = 32 mots (Je m bits. Sans le multiplexeur 31, et sans les multipleeurs de la liste précédente, la taille de la mémoire aurait été de 211 = 2048 mots de m bits. L'utilisation Jes multiplexeurs nmu]tiplie par 3 la fréquence de calcul. Ces dispositions peuvent encore être combi- nées avec le cas ou les entrées sc.n' bloquées P fois sur N. Il faut alors modifier la relation définissant K en (K-1)N + 2 --N q p +P-l -N An6) TABLEAU jx tN - 1 XtN-1=0 2 X tN-2=0 3 x tN3=0 4 X tN_4O0 XtN=0 6 jxt 6(0 coeffi; cieent u j i = 2 j = 3 1XtN+=0 XtN+1 XtNl=o XtN-1=0 xtN-2=0 x tN-=0 - c c..,-M-:- tN+2=0 x tN+l=0 XtNt-I xtNl= x =0y" tN-i= x tN2=0 xtN-320 F tN_4t0 i xtN+ 3=0 xtN+2=0 XtN+l=0 xtN_0 x = 0 tN-1 tN-2=0 XtN_3=o i i i a2le6 î a i T A B L E A U II j= 0 j=1 j=2 j =3 x =0 = 0 XtN/O XtN+1 = XtN tN+2=0 XtN+3=0 x 0x 0 I x x = tN-l=0I+ XtN tN+l XtN XtN+2 XtN_2=0 XtN_l=0 XtN/O XtN+l=XtN N-3 XtN4XtN-2=0 XtN-1_=0 _____ /0É x =x x 0 tN-0 tN-4 tN-3= tN-4 tN-2= XtNl=0 XtN_5=0 XtN_4/0 XtN-3 XtN-4 XtN_2=0 XtN_6=0 XtN_5=0 XtN-4/O XtN-3= tN-4 a3+a4 (a0+a1) (a4+a5) (al+a2),(a5+a6)(a2+a3),a6 3t4 _ _____2_ 6 __2 _ _3 oe TABLEAU III k j = 0 j = 1 j =2 0 XtN 2 XtN 3 XtN-3 4 XtN-3 XtN-3 6 XtN-6 Nombre de xk non3 2 2 nuls Configuration binaire ll j 1,' Configura binaire compteur T A B L E A U IV k j = 0 j = 1 j =2 j =3 j =4 O XtN 1 -XtN 2 _ x? 3 x tN 4 XtN XtN-5 6 5 - --I IXtN-5 7 i xt 5- x 21 xk t 2 2 _ 1 I i I.N _|d du o n. [...1 O1 00 0 O1 REVENDICATIONS 1. Filtre numérique récursif de suréchan- tillonnage en arithmétique distribuée, comprenant une partie récursive d'ordre q constituée d'un regis- tre à chargement parallèle (11/1) et de q-1 regis- tres-série (11/2, 11/3, .) ces q registres étant..CLMF: circulants, c'est-à-dire reliés en cascade, une par- tie non récu.rsive d'ordre p constituée de registres- série, une mémoire (20G) divisée en N blocs-mémoire contenant chacun un jeu de quantités précalculées ca- ractéristiques du filtrage à effectuer, un compteur (25) modulo N à a sorties, la mémoire (20) possédant d'une part a entrées ff' fl' fa 1) d'adressage des différents blocs reliées aux a sorties du compteur et, d'autre part, des entrées (el, e2,...) d'adressa- ge à l'intérieur d'un bloc reliées aux sorties des registres des parties récursive et non récursive, un additionr.neur-scustractcur (20) relié à la mémoire, un registre-accumulateur (40) dont l'entrée est reliée à l'additiur-scustractur ut la sortie au registre (jlP. aa. ''- et a l'additionneur- sous-racr- tes sicraun d'ent ee de la partie non reusi.... -u ? fois sur N, une fho Je.J - frréqu:ca fs co finndant la sortie des si- 9 -.:lu _..-gistre r-=rll ret -1urs entrées dans la part-i%:= r siT s,,:_3:-i:n a: -: c-ompteur, une hc -- lou t de fr ce que la partie non récursive ne comprend que K re- gistres-série, K étant un entier défini par la double inégalité: 31 2495857 (K-1)N+2-N, p+P-l aptes à rendre ces K registres recirculants, c'est-à- dire bouclés sur eux-mêmes, N-1 fois sur N et circu- lants, c'est-à-dire reliés en cascade les uns aux autres, une fois sur N, ces moyens de commutation étant commandés par les sorties du compteur. 2. Filtre selon la revendication 1, carac- térisé en ce que les moyens de commutation sont cons- titués par K multiplexeurs (12/1, 12/2,...) à deux entrées de signal (ml, m2), une sortie (m3) et une entrée de commande (m4), la seconde entrée (m2) de chaque multiplexeur étant reliée à la sortie du re- gistre-série auquel il est associé, la première en- trée (m1) étant reliée à la sortie du registre qui précède, sauf pour le premier dont l'entrée est re- liée à une entrée générale des signaux à traiter, l'entrée de commande des multiplexeurs étant action- née à partir du compteur de telle sorte que, lorsque le contenu de ce compteur est à son maximum, la sor- tie (m3) de chaque multiplexeur soit reliée à la première entrée (ml), ce qui rend les registres cir- culants, et lorsque le contenu du compteur est diffé- rent de ce maximum, la sortie (m3) soit reliée à la seconde entrée (m2), ce qui rend les registres recir- culants. 3. Filtre selon l'une quelconque des reven- dications 1 et 2, caractérisé en ce que N n'étant pas égal à la puissance a de 2, la partie non récursive comprend un (K+l)ème registre série (10/3) multiplexé avec une sortie (aO0) du compteur (25) modulo N sus- ceptible de délivrer un bit non significatif pour l'adressage de la mémoire. 4. Filtre selon l'une quelconque des reven- dlcaitions i a 3, caracterise en ce que a mémoire est précédée de multiplexeurs aà M entrées reliées aux re- gistres et éventuellement aux sorties du compteur mo- dulo N, ces multiplexeurs étant commandés par un compteur modulo M (29) dont les sorties (5o' 51) sont reliées à des entrées d'adressage de la mémoire. 5. Filtre selon la revendication 4, carac- térisé en ce que M n'étant pas égal à la puissance 3 de 2, il comprend 2DM multiplexeurs à 2 entrées dont l'une est reliée à la sortie (30) du compteur (29) modulo M susceptible de délivrer un bit non signifi- catif pour l'adressage de la mémoire.