FR2555777A1 - Digital filtering processor - Google Patents
Digital filtering processor Download PDFInfo
- Publication number
- FR2555777A1 FR2555777A1 FR8315948A FR8315948A FR2555777A1 FR 2555777 A1 FR2555777 A1 FR 2555777A1 FR 8315948 A FR8315948 A FR 8315948A FR 8315948 A FR8315948 A FR 8315948A FR 2555777 A1 FR2555777 A1 FR 2555777A1
- Authority
- FR
- France
- Prior art keywords
- memory
- signal
- coefficients
- filter
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G5/00—Tone control or bandwidth control in amplifiers
- H03G5/005—Tone control or bandwidth control in amplifiers of digital signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G5/00—Tone control or bandwidth control in amplifiers
- H03G5/02—Manually-operated control
- H03G5/025—Equalizers; Volume or gain control in limited frequency bands
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
Description
La présente invention concerne un processeur numérique de filtrage. The present invention relates to a digital filtering processor.
Dans le domaine du filtrage analogique d'un signal, signal sonore par exemple, il éxiste des filtres,appelés filtres égualiseurs, dont la courbe amplitude/fréquence peut être déterminée à tout moment par un opérateurLa synthèse de tels filtres est faite courament par la mise en parrallèle d'un certain nombre de filtres passebandes,tous recevant le mdme signal,suivi chacun d'un atténuateur, les sorties étant ensuite additionnées pour obtenir le signal
résultat.La courbe souhaitée est obtenue uniquement par action sur
les atténuateurs,sans pouvoir remettre en cause les caracteristi- ques principales de chaque passe-bande,à savoir les fréquences de
coupure et la raideur de pente, et ce que ce soit en cours de fonc- tionnement ou hors fonctionnement.De plus, le soucis d'avoir un depha- sage minimal,en particulier lorsque les atténuateurs sont réglés au
même niveau,necessite des composants très précis pour la fabrication des passes-bandes.In the field of analog filtering of a signal, for example a sound signal, there exist filters, called equalizing filters, the amplitude / frequency curve of which can be determined at any time by an operator. The synthesis of such filters is commonly done by putting in parallel with a number of band filters, all receiving the same signal, each followed by an attenuator, the outputs then being added together to obtain the signal
result.The desired curve is obtained only by action on
the attenuators, without being able to question the main characteristics of each bandpass, namely the frequencies of
cutoff and the steepness of the slope, whether during operation or out of operation. In addition, the concern of having a minimum displacement, especially when the attenuators are adjusted to the
same level, requires very precise components for the manufacture of band-passes.
Le filtrage numérique de signaux numériques, surtout si ceux ci ont une définition et une fréquence d'échantillonage élevées,en est à ses débuts,car il necessite des processeurs de calculs extre- mement rapides et complexes dès que des nultiplications doivent entre faites.Dans la littérature et les réalisations actuelles, les synthèse ses de filtres les plus utilisées sont-la synthèse série à partir de filtres récursifs du 2.ordre -la synthèse parrallèle à partir de filtres récursifs du 2.ordre -la synthèse à partir de filtres nonrécursifs,notament pour obtenir des filtres à phase linéaire -les filtres d'onde moins sensibles que les autres aux inéxactitudes de calculs des coefficients.Pour toutes ces synthèses de filtres, le calcul des coeffi
cients,compte tenu de la courbe amplitude fréquence souhaitée, et sans imposer de contraintes sur la courbe phase/fréquence,necessite des algorithmes itératifs et des méthodes d'optimisation (Fletcher- powell,Remer..)que seuls de puissants ordinateurs peuvent supporter,
excluant par la même toute modification des caractéristiques du
filtre en cours de fonctionnement dès que la synthèse necessite plusieurs filtres élémentaires.Digital filtering of digital signals, especially if these have a high definition and sampling frequency, is in its infancy, because it requires extremely fast and complex calculation processors as soon as multiplications have to be made. current literature and achievements, the most used filter synthesizers are-serial synthesis from recursive 2nd order filters -parallel synthesis from recursive 2nd order filters -synthesis from non-recursive filters , in particular to obtain linear phase filters - wave filters less sensitive than the others to inaccuracies in calculating coefficients. For all these filter syntheses, the calculation of coeffi
cients, taking into account the desired frequency amplitude curve, and without imposing constraints on the phase / frequency curve, requires iterative algorithms and optimization methods (Fletcher-powell, Remer ..) that only powerful computers can support,
thereby excluding any modification of the characteristics of the
filter during operation as soon as the synthesis requires several elementary filters.
La présente invention a pour objet un processeur numérique
de filtrage comprenant un dispositif de calculs et de gestion des coefficients d'un filtre élémentaire utilisé pour la synthèse d'un filtre complet, type filtre égualiseur,et ayant les avantages
suivants:
-synthèse necessitant,pour le traitement correspondant au
filtre souhaité,moitié moins de multiplications et d'additions qu'une
synthèse classique par filtre récursif du 2.ordre,
-possibilité de mettre à jour en temps réel et extremement
rapidement les coefficients des filtres élémentaires pour::
-modifier la courbe amplitude/fréquence,
-modifier les fréquences de coupures des filtres élémentaires,
-possibilité de modifier, hors fonctionnement, la raideur de
pente d'atténuation,
filtre synthétisé à déphasage minimal quel que soient les
carractéristiques souhaitées,en particulier, temps de propagation de
groupe rigoureusement constant quand la courbe amplitude/fréquence
est plate.The present invention relates to a digital processor
filter comprising a device for calculating and managing the coefficients of an elementary filter used for the synthesis of a complete filter, of the equalizing filter type, and having the advantages
following:
-synthesis requiring, for the treatment corresponding to
desired filter, half as many multiplications and additions as
classical synthesis by recursive 2nd order filter,
-possibility to update in real time and extremely
quickly the coefficients of the elementary filters for:
-modify the amplitude / frequency curve,
-modify the cutoff frequencies of the elementary filters,
-possibility of modifying, outside operation, the stiffness of
attenuation slope,
synthesized filter with minimum phase shift whatever the
desired characteristics, in particular, propagation time of
rigorously constant group when the amplitude / frequency curve
is flat.
Selon l'invention,un processeur numérique de filtrage desti
né à recevoir un signal numérique et à fournir un signal numérique
de même fréquence d'échantillonage,résultat du filtrage, comportant
un dispositif de commandes pouvant spécifier les caractéristiques du
filtre à synthétiser (courbe amplitude/fréquence et fréquences de
coupures) sous forme de nombres correspondant à un codage logarith
mique,un dispositif de gestion des calculs de filtrage sur le signa
numérique reçu comprenant une mémoire contenant les coefficients
des filtres élémentaires constituant le filtre synthétisé et les
moyens de mise à jour de celle-ci,est caractérisé en ce qu'il
comporte en outre::
-un processeur arithmétique, pour les calculs de filtrage à
effectuer sur le signal numérique reçu, dans lequel est inséré un
dispositif de permutation permettant d'effectuer des calculs de la
forme z=a.(y-x)+x ou z=a.x+(y-x),
-une mémoire lecture/écriture contenant les données fournies par le dispositif de commandes,
-un dispositif de synchronisation et de gestion des calculs
de coefficients permettant la mise à jour dans la mémoire des données
fournies par le dispositif de commandes et délivrant les données
necessaires aux calculs des coefficients des filtres élémentaires,
-un dispositif de calculs de ces coefficients,recevant les
données lues dans la mémoire,
-un dispositif de génération de l'adresse correspondante,
dans la mémoire du dispositif de gestion des calculs de filtrage,
du coefficient calculé.According to the invention, a digital filtering processor intended
born to receive a digital signal and to provide a digital signal
with the same sampling frequency, filtering result, including
a control device which can specify the characteristics of the
filter to synthesize (amplitude / frequency curve and frequencies of
denominations) in the form of numbers corresponding to a logarith coding
mique, a device for managing filtering calculations on the signa
digital received including a memory containing the coefficients
elementary filters constituting the synthesized filter and the
means for updating it, is characterized in that it
further includes:
- an arithmetic processor, for filtering calculations at
perform on the digital signal received, in which is inserted a
permutation device for performing calculations of the
form z = a. (yx) + x or z = a.x + (yx),
-a read / write memory containing the data supplied by the control device,
-a synchronization and calculation management device
coefficients allowing updating in the data memory
supplied by the control device and delivering the data
necessary for the calculations of the coefficients of the elementary filters,
-a device for calculating these coefficients, receiving the
data read from memory,
a device for generating the corresponding address,
in the memory of the filter calculation management device,
of the calculated coefficient.
| L'invention sera mieux comprise et d'autres caractéristiques
apparaitront è l'aide de la description ci-après et des dessins S'y rapportant sur lesquels
-la figure 1 représente la courbe amplitude/fréquence des 2 types de filtres élémentaires pouvant être utilisés, et un exemple de courbe amplitude/fréquence d'un filtre obtenu à partir de ces filtres élémentaires,
-la figure 2 représente un exemple de réalisation du processeur arithmétique et du dispositif de gestion des calculs de filtrage,
-la figure 3 représente un exemple de réalisation du dispo- sitif de gestion et de calculs des coefficients des filtres ëlémentaires. | The invention will be better understood and other characteristics
will appear with the aid of the description below and of the related drawings on which
FIG. 1 represents the amplitude / frequency curve of the 2 types of elementary filters that can be used, and an example of the amplitude / frequency curve of a filter obtained from these elementary filters,
FIG. 2 represents an exemplary embodiment of the arithmetic processor and of the device for managing the filtering calculations,
FIG. 3 represents an exemplary embodiment of the device for managing and calculating the coefficients of the elementary filters.
Sur la figure 1-A est représentée la courbe amplitudes fréquence du type de filtre élémentaire utilisé, filtre récursif du l.ordre décrit par les 2 équations suivantes où e n est un echan- sillon d'entree,sn l'échantillon de sortie et un la variable d'état,
un=a.(un-1-en)+en avec a positif et plus petit que 1
sn=b.(en-un) + un avec b positif
et dont la trensmittance est
T(z)=(a.b.(1-z-1) +1 -a)/(1-a.z-1),dont pôle et zéro sont
des nombres positifs et inférieur à 1,et dont la valeur absolue de la transmitance isochrone est représentée sur la figure 1-A sur
laquelle les 2 courbes correspondent à 2 valeurs bl et b2 de-b,
f c ne dépend que de a quand b différent de 1 et est nomme ci-après
fréquence charnière, et la pente de la courbe,entre le niveau 1 et le niveau bl ou b2 est, pour des fréquences assez petites par rapport à la fréquence d'échantillonage,de 6db/octave; ;
sur la figure 1-B est représentée la courbe amplitude/
fréquence du 2. type de filtre élémentaire utilisé, filtre récursif du l.ordre,dont la première équation est identique à celle du pre
mier type de filtre et dont la deuxième est
sn=b.un +(en-un)
et dont la transmittance est
T(z)=(a.(1-z-1)+b.(1-a))/(1-a.z-1),dont pôle et zéro sont
des nombres positifs et inférieur à l,et dont la valeur absolue de
la transmittance isochrone est représentée sur la figure 1-B sur
laquelle les 2 courbes correspondent à 2 valeurs b1 et b2 de b,f0
ne dépend que de a quand b différent de 1 et est nommée ci-après fréquence charnière,et la pente de la courbe,entre le niveau 1 et
le niveau bl ou b2 est, pour des fréquences assez petite par rapport
à la fréquence d'échantillonage,de 6db/octave;;
sur la figure 1-C est représentée la courbe amplitude/fré-
quence,en trait plein, du filtre synthétisé en plaçant en cascade,
un atténuateur (courbe tiretéeO),des filtres élémentaires du 1.On the figure 1-A is represented the frequency amplitudes curve of the type of elementary filter used, recursive filter of the order described by the 2 following equations where there is an input sample, sn the output sample and a the state variable,
un = a. (un-1-en) + en with a positive and smaller than 1
sn = b. (in-one) + one with b positive
and whose trensmittance is
T (z) = (ab (1-z-1) +1 -a) / (1-az-1), whose pole and zero are
positive numbers and less than 1, and whose absolute value of the isochronous transmittance is represented on figure 1-A on
which the 2 curves correspond to 2 values bl and b2 de-b,
fc depends only on a when b different from 1 and is named below
hinge frequency, and the slope of the curve, between level 1 and level bl or b2 is, for frequencies quite small compared to the sampling frequency, of 6db / octave; ;
on the figure 1-B is represented the amplitude curve /
frequency of the 2. type of elementary filter used, recursive order filter, the first equation of which is identical to that of the pre
mier type of filter and the second of which is
sn = b.un + (in-one)
and whose transmittance is
T (z) = (a. (1-z-1) + b. (1-a)) / (1-az-1), whose pole and zero are
positive numbers and less than l, and whose absolute value of
isochronous transmittance is represented on figure 1-B on
which the 2 curves correspond to 2 values b1 and b2 of b, f0
depends only on a when b different from 1 and is called hinge frequency below, and the slope of the curve, between level 1 and
the level bl or b2 is, for frequencies quite small compared to
at the sampling frequency, 6db / octave ;;
on the figure 1-C is represented the amplitude / frequency curve
quence, in solid line, of the synthesized filter by placing in cascade,
an attenuator (dashed curve O), elementary filters of 1.
type (courbes tiretées de 4 à 7) et du 2.type (courbes tiretées de 1 à 3) qui,lorsque les différentes fréquences charnières f définies
c sur les filtres élémentaires sont suffisament distinctes,peut être considéré comme la courbe d'un filtre égualiseur dont chaque2passebande aurait leurs fréquences de coupure peu différentes des/fréquences charnières consécutives de filtres élémentaires et dont chaque niveau d'atténuation,noté c,peut entre déduit simplement à partir des coefficients b si, comme sur la figure l-C,les fréquences notées f1 à f7 sont indicées de la plus petite à la plus grande et en négligeant la pente, de la manière suivante::
combo entre fréquences charnières f3 et f4
c1=b0.b3 entre fréquences charnières f2 et f3
c2=b0.b3.b2 entre fréquences charnieres fl et f2
c3=b0.b3.b2.b1 entre fréquences charnières O et f1
c4=b0.b4 entre fréquences charnières f4 et f5 c5=b0.b4.b5 entre fréquences charnières f5 et f6
c6=b0.b4.b5 b6 entre fréquences charnières f6 et f7
c7=b0.b4.b5.b6.b7 entre fréquences charnières f7 et infinie
Les différents coefficients a et b des filtres élémentaires sont alors facilement évalués,les coefficient a étant fonction uniquement de la fréquence charniere du filtre correspondant,les coefficients b étant fonction des valeurs c des passes-bandes consécutifs soit
bo=co b2 C2/C1 b3=Cl/co etc
De plus, des raideurs de pentes différentes sont obtenus en implementant en cascade des filtres élémentaires identiques dont les
coefficients a et b ,pour obtenir méme fréquence charnière et même niveau d'atténuation bl tout en ayant une pente entre les ni- veaux 1 et bl de P.6db/octave,s'expriment de la façon suivante::
a=g(P,fc) pour indiquer que a est seulement fonction,en
première approximation,de P et de
b (bol) c
Ainsi, un filtre équivalent à un filtre égualiseur à K passes-bandes, de raideur de pente P.6db/octave,est obtenu par la mise en cascade de filtres élémentaires du 1. et 2.. type et si c1,c2,....cK désignent les niveaux d'atténuation de chaque passe
bande,
si f1,f2,........,fK définissent les fréquences de coupure,par va
leurs croissantes de chaque passe-bande,
si bo est le coefficient de l'atténuateur (courbe O de fig 1-C)
si ai et bi sont les coefficients des filtres élémentaires du 1.type (dashed curves from 4 to 7) and 2.type (dashed curves from 1 to 3) which, when the different hinge frequencies are defined
c on the elementary filters are sufficiently distinct, can be considered as the curve of an equalizing filter in which each passband would have their cut-off frequencies little different from the consecutive hinge frequencies of elementary filters and in which each level of attenuation, denoted c, can between simply deduce from the coefficients b if, as in figure lC, the frequencies noted f1 to f7 are indexed from the smallest to the largest and neglecting the slope, as follows:
combo between hinge frequencies f3 and f4
c1 = b0.b3 between hinge frequencies f2 and f3
c2 = b0.b3.b2 between hinge frequencies fl and f2
c3 = b0.b3.b2.b1 between hinge frequencies O and f1
c4 = b0.b4 between hinge frequencies f4 and f5 c5 = b0.b4.b5 between hinge frequencies f5 and f6
c6 = b0.b4.b5 b6 between hinge frequencies f6 and f7
c7 = b0.b4.b5.b6.b7 between hinge frequencies f7 and infinite
The different coefficients a and b of the elementary filters are then easily evaluated, the coefficients a being a function only of the hinge frequency of the corresponding filter, the coefficients b being a function of the values c of the consecutive band pass either
bo = co b2 C2 / C1 b3 = Cl / co etc
In addition, stiffnesses of different slopes are obtained by cascading identical elementary filters whose
coefficients a and b, to obtain the same hinge frequency and same level of attenuation bl while having a slope between the levels 1 and bl of P.6db / octave, are expressed as follows:
a = g (P, fc) to indicate that a is only a function, in
first approximation, of P and of
b (bowl) c
Thus, a filter equivalent to an equalizer filter with K band-passes, of slope stiffness P.6db / octave, is obtained by cascading elementary filters of 1. and 2 .. type and if c1, c2 ,. ... cK denote the attenuation levels of each pass
bandaged,
if f1, f2, ........, fK define the cutoff frequencies, by va
their crescents from each band pass,
if bo is the coefficient of the attenuator (curve O in fig 1-C)
if ai and bi are the coefficients of the elementary filters of 1.
type,avec i variant de 1 à I,
si aj et bj sont les coefficients des filtres élémentaires du 2.type, with i varying from 1 to I,
if aj and bj are the coefficients of the elementary filters of 2.
type, avec j variant de 1 à J et I+J=K-1,
alors,les coefficients ai,bi,aj et bj s'expriment de la façon
suivante:
b@=(cJ+1)1/P b=(c/cj 2 pour j=l à J
et bi=(cJ+1+i/cJ+i)1/P pour i=l à I
aj=g(P,fj) pour j=1 à J ai=g(P,fJ+i) pour i=1 à I
La figure suivante représente un exemple de réalisation du processeur arithmétique auquel est associé le dispositif de gestion
des calculs de filtrage.Sur la figure 2 1e circuit 1 représente le dispositif de gestion des calculs de filtrage et reçoit sur le si
gnal 1000 le signal numérique à filtrer et son horloge d'inscription,
sur les signaux 101 et 102, respectivement l'adresse et la nouvelle
valeur d'un coefficient de filtre élémentaire à mettre à jour,sur le signal 112, le résultat un ou 5n d'un calcul,et fournit sur le signal 2000 le signal numérique filtré, sur le signal 103 l'adresse du coefficient utilise lors de l'opération arithmétique en cours, sur le signal 104 un ordre de lecture ou d'écriture dans la mémoire 2 des coefficients,selon que le contenu à cette adresse est à conserver ou à mettre à jour en même temps que son utilisation, sur le si
gnal 105, lorsque le signal 104 est un ordre d'écriture,la nouvelle valeur d'un coefficient et,lorsque le signal 104 est un ordre de
lecture,un état haute impédence pour permettre la lecture du coefficient dans la mémoire 2,sur le signal 106,une valeur un-1 ou en, d'après les notations utilisées ci-avant,selon si le calcul à faire correspond à la 1. ou à la 2. équation, sur le signal 107,une
valeur en ou un ,ou la valeur O dans le cas de l'atténuateur,
l'ensemble des circuits 3 à 6 forment le processeur arithmétique
dans lequel
le circuit 3 est un soustracteur,recevant le signal 106 sur son
entrée "plus" et le signal 107 sur son entrée "moins" et fournissant i sur le signal 108 le résultat de la soustraction,
le circuit 4 est un permutateur,recevant les signaux 108,107 et sur le signal 1051,composant le coefficient fourni par la mémoire 2, l'ordre de permutation selon, lors du calcul correspondant à la 2.type, with j varying from 1 to J and I + J = K-1,
then, the coefficients ai, bi, aj and bj are expressed as
next:
b @ = (cJ + 1) 1 / P b = (c / cj 2 for j = l to J
and bi = (cJ + 1 + i / cJ + i) 1 / P for i = l to I
aj = g (P, fj) for j = 1 to J ai = g (P, fJ + i) for i = 1 to I
The following figure represents an exemplary embodiment of the arithmetic processor with which the management device is associated.
of the filtering calculations. In FIG. 2, circuit 1 represents the device for managing the filtering calculations and receives on the if
gnal 1000 the digital signal to be filtered and its recording clock,
on signals 101 and 102, respectively the address and the new
value of an elementary filter coefficient to update, on signal 112, the result one or 5n of a calculation, and provides on signal 2000 the filtered digital signal, on signal 103 the address of the coefficient used during of the arithmetic operation in progress, on the signal 104 a read or write order in the memory 2 of the coefficients, depending on whether the content at this address is to be kept or updated at the same time as its use, on the if
general 105, when the signal 104 is a write order, the new value of a coefficient and, when the signal 104 is an order of
reading, a high impedence state to allow the reading of the coefficient in memory 2, on signal 106, a value one-1 or in, according to the notations used above, depending on whether the calculation to be done corresponds to 1 or in the 2. equation, on signal 107, a
value in or one, or the value O in the case of the attenuator,
all circuits 3 to 6 form the arithmetic processor
in which
circuit 3 is a subtractor, receiving signal 106 on its
input "plus" and signal 107 on its input "minus" and providing i on signal 108 the result of the subtraction,
circuit 4 is a permutator, receiving signals 108,107 and on signal 1051, composing the coefficient supplied by memory 2, the order of permutation according to, during the calculation corresponding to 2.
équation, que ce calcul concerne un filtre du l.type,auquel cas le signal 109 est la recopie de 106 et 110 celui de 107,ou un filtre du 2. type,auquel cas le signal 109 est la recopie de 107 et 110 celui de 106, le circuit 5 est un multiplieur,recevant sur le signal 108 le multiplicande et sur le signal 1052,composant le signal 105,la valeur du coefficient en multiplicateur,et fournissant le résultat sur le signal 111, le circuit 6 est un additionneur recevant les signaux 110 et 111 et fournissant sur le signal 112 le résultat de l'addition.equation, that this calculation concerns a filter of the type, in which case the signal 109 is the copy of 106 and 110 that of 107, or a filter of the 2. type, in which case the signal 109 is the copy of 107 and 110 that of 106, circuit 5 is a multiplier, receiving on signal 108 the multiplicand and on signal 1052, composing signal 105, the value of the coefficient in multiplier, and providing the result on signal 111, circuit 6 is an adder receiving signals 110 and 111 and supplying on signal 112 the result of the addition.
La figure suivante représente un exemple de réalisation du dispositif de gestion et de calculs des coefficients des filtres él 'émentaires.Sur la figure 3,où les mêmes repères que sur la figure 2
concernent des signaux identiques, l'ensemble 12,circuit de synchronisation et de gestion des calculs
de coefficients et de mise à jour des données correspondants aux caractéristiques en niveau c et en fréquences fc du filtre à synthé-
tisser, est composé du circuit 121,générateur d'horloge délivrant une horloge sur le signal 1201, du circuit 122,diviseur d'horloge par 2 et 4,recevant le signal 1201; et fournissant 2 horloges,horloge symétrique et de fréquence moitié;;
de celle de 1201 sur le signal 1203,horloge symétrique et de fré
quence quart de celle de 1201 sur le signal 1202,le front montant
de l'horloge 1202 coincidant dans le temps à celui des horloges 1201 et 1203, du circuit 123,compteur cyclique de O à K-1,K étant le nombre de passe-bandes approximant le filtre à synthétiser,recevant en son entrée horloge le signal 1202 et fournissant sur le signal 1204 un signal binaire dont la valeur k varie de O à K-l et indique le
passe-bande,de numéro 1 à K,concerné,
du circuit 124,mémoire à lecture seule contenant une table d'adres
ses et de commandes,tenant compte des nombres I et J de filtres
élémentaires du 1. et 2. type utilisés,recevant sur ses entrées adresses le signal 131,en provenance du dispositif de commandes dé i crit ci-après e9indiquant lesquelles des données concernant les niveaux c ou les fréquences f c peuvent être mises à jour, le signal
1204 décrit ci-avant,les 2 signaux 1202 et 1203 qui pour chaque va
leur du signal 1204 fournissent 4 états logiques au rythme du signal
1201 notés ci-après de O à 3,et fournissant sur le signal l206,pour
les 4 états successifs de 1202 et 1203 pendant une même valeur du
signal 1204,4 adresses vers la mémoire 14 décrite ci-après qui, lors- que le signal 131 indique que les niveaux c sont à mettre à jour,
sont celles successivement des données se rapportant à
ck+2 ,ck+1 ,ck+1 et fk+1 lorsque k inférieur à J
cJ+1 ,cJ+1 ,cJ+1 et fJ lorsque k=J
Ck ,ck+l ,ck+l et fk lorsque k compris entre K-1 et j+1
et qui,lorsque le signal 131 indique que les fréquences f c sont à mettre à jour, sont celles successivement des données se rapportant à
fk+1 ,fk+1 ,ck+2 et ck+1 lorsque k inférieur à J
fJ ,fJ ,cJ+1 et cJ+1 lorsque k=J
fk 'fk ,ck et ck+l lorsque k compris entre K-1 et J-1, sur le signal 1205,un niveau logique 0,autorisation de mise à jour de la mémoire 14,pendant l'état 2 des signaux 1202 et 1203 si 131 indique que les niveaux c sont à mettre à jour,et pendant l'état 1 des signaux 1202 et 1203 si 131 indique que les fréquences fc sont à mettre à jour, sur le signal 1207,une indication, au rythme du signal 1203,vers l' ensemble 16, organe de calcul des coefficients a et b des filtres 'élémentaires, sur la nature des calculs selon que doit être pris en compte pour ce calcul une donnée de la mémoire 14, signal 1207 au niveau logique 0 et cas des calculs de ai aj et b0,ou 2 données de la mémoire 14,signal 1207 au niveau logique 1 et cas des calculs de bi et bj, sur le signal 1208,une indication au rythme du signal 1203 vers l'ensemble 16 indiquant si le calcul à faire correspondant aux données lues dans la mémoire 14 a trait à un coéfficient ai aj ou à un coefficient b. bj des filtres élémentaires,
i 3 le circuit 13 est le dispositif de commandes et de visualisation, ne::
faisant pas partie de l'invention, recevant le signal 1206,pouvant
lui servir de repérage de la donnée de la mémoire 14, qu'il reçoit
ou fournit,dans le cas d'une mise à jour,sur le signal 140,le signal
1205 d'autorisation de mise à jour, le signal 1201,horloge de base
du dispositif,et fournissant sur le signal 131,décrit ci-avant,
l'indication du type de données,concernant les niveaux ou les fré-
quences,à mettre à jour, et sur le signal 132 un mot binaire indi
quant la raideur de pente souhaitée,par pas de 6dbfoctave,
le circuit 14 est une mémoire contenant les données correspondantes aux niveaux ck et aux fréquences fk définissant le filtre à synthétiser, le codage de ces grandeurs étant fait de la manière suivante lorsque par exemple ces données sont définies sur 8 bits::
-la valeur d'une donnée concernant un niveau ck varie avec le logarithme de celui-ci,la valeur minimale de ck correspondant au nombre -128 et la valeur maximale de ck correspondant au nombre +127
-la valeur d'une donnée concernant une fréquence + n'obéit pas forcément à une relation ordinale, il y a simplement bijection entre les 256 valeurs possibles de ces données et 256 valeurs de fréquences souhaitées, le circuit 14 reçoit les signaux 1206,adresses,et 1205,ordre de lecture,auquel cas il fournit sur le signal 140 la donnée lue, ou ordre d'écriture,auquel cas il reçoit, et mémorise, sur le signal 140,une nouvelle valeur dè donnée fournie par le circuit 13, le circuit 15 est un circuit de présentation des données de la mémémoire 14 pour l'ensemble 16,composé des bascules 151 et 152 placées; en cascade,d'horloge d'inscription le signal 1201,recevant sur le signal 140 les données lues et fournissant sur les signaux 1502 et 1501 2 données de la mémoire lues successivement, l'ensemble 16,dispositif de calculs des coefficients a et b des tres élémentaires à partir des données de la mémoire 14 reçues sur les signaux 1501 et 1502,des signaux 1207 et 1208 décrits ci-avant, du signal 1203, est composé j du circuit 161 composé de portes logiques ET ayant une entrée commui ne recevant le signal 1207,les autres entrées recevant le signal
1502 de tel sorte qu'en sortie le signal 1601 de sortie soit la recopie du signal 1502 quand 1207 est au niveau logique l,et soit au niveau logique 0 quand 1207 est au niveau logique 0, du circuit 162,soustracteur recevant sur son entrée "plus" le signa4 1501 et sur son entrée "moins" le signal 1601 et dont la sortie 1602,recopie de 1501 quand 1207 est au niveau logique 0 ou égal au résultat de la soustraction quand 1207 est au niveau logique 1, n'est pertinente, du fait de la succession des données sur les bascules 151 et 152,que lorsque les données présentes aux sorties des bascules 151 et 152 correspondent respectivement a' fk,fk ou cJ+1,cJ+1 ou ck+2,ck+l ou ck,cM+l ,la donnée sur le signal 1602 ayant alors respectivement une valeur correspondant à k ou CJ+1 ou ck+1/ck+2,du fait du codage logarithmique,ou ck+1/ck du fait du codage logarithmique, circuit 163,bascule d'horloge d'inscription le signal 1203,rece vant le signal 1208,décrit ci-avant,et dont la sortie,signal 1603, est la recopie de 1208 au front montant de 1203,ce qui fait que le signal 1603 indique, du fait du retard apporté par les bascules du circuit 15,si la donnee présente sur le signal 1602 correspond à un niveau ou à une fréquence donc à un calcul d'un coefficient a ou b d'un filtre élémentaire ou b de l'atténuateur, du circuit 164,composé de bascules d'horloge d'inscription le signal 1203,recevant les signaux 1602 et 1603 en entrée, les données sur le signal 1602 correspondant à fk ou cJ+1 ou ck+1/ck+2 ou ck+1/ck au front montant de 1203 au moment duquel les sorties, sur les signaux 1604 et 1605, sont les recopies respectives des signaux 1603 et 1602, du circuit 165,mémoire à lecture seule contenant les tables de valeurs des coefficients a et b des filtres élémentaires compte tenu des formules exprimant ces coefficients en fonction des niveaux fréquences et raideur de pente mentionnées ci-avant dans la descrip tion relative aux figures 1 1-B et 1-C,recevant sur ses entrées adresses les signaux 1604,1605 et 132 décrits ci-avant,et fournissant les coefficients a et b des filtres élémentaires,au rythme du signal 1203,un couple de valeur a et b, concernant le même filtre élémentai- re,étant fourni au rythme du signal 1202,horloge de fréquence moitiée de celle du signal 1203,sur le signal 102, l'ensemble 17,dispositif de génération d'adresses des coefficients calculés dans la mémoire 2,est composé du circuit l7l,bascules d'horloge d'inscription le signal 1203,rece- vant le signal 1204 indiquant le passe-bande concerné du filtre approximant le filtre à synthétiser,et dont la sortie 1701,recopie de l'entrée au front montant de 1203,indique le numéro du passe-bande correspondant aux données présentes sur les signaux 1602 et 1603,
du circuit 172,mémoire à lecture seule contenant les adresses des coefficients dans la mémoire 2,recevant en ses entrées adresses le
signal 1701 et le signal 1603,et dont la sortie, signal 1702,indique l'adresse dans la mémoire 2 du cefficient correspondant à la donnée
présente sur-le signal 1602,
du circuit 173,bascules d'horloge d'inscription le signal 1203,rece
vant le signal 1702,et dont la sortie,signal 101, est la recopie de
l'entrée au front montant de 1203 et indique donc l'adresse dans
la mémoire 2 du coefficient présent sur le signal 102.The following figure represents an exemplary embodiment of the device for managing and calculating the coefficients of the elementary filters. In FIG. 3, where the same references as in FIG. 2
relate to identical signals, the assembly 12, synchronization and calculation management circuit
of coefficients and updating of data corresponding to the characteristics in level c and in frequencies fc of the synth filter
weaving, is composed of circuit 121, clock generator delivering a clock on signal 1201, of circuit 122, clock divider by 2 and 4, receiving signal 1201; and providing 2 clocks, symmetrical clock and half frequency;
from that of 1201 on signal 1203, symmetric clock and fré
a quarter of that of 1201 on signal 1202, the rising edge
of the clock 1202 coinciding in time with that of the clocks 1201 and 1203, of the circuit 123, cyclic counter from O to K-1, K being the number of band-pass approximating the filter to be synthesized, receiving at its clock input the signal 1202 and supplying on signal 1204 a binary signal whose value k varies from O to Kl and indicates the
bandpass, from number 1 to K, concerned,
of circuit 124, read-only memory containing an address table
its and commands, taking into account the I and J numbers of filters
elementary of the 1. and 2. type used, receiving on its address inputs the signal 131, coming from the control device described below, indicating which data concerning the levels c or the frequencies fc can be updated, the signal
1204 described above, the 2 signals 1202 and 1203 which for each va
their signal 1204 provide 4 logic states to the signal rhythm
1201 noted below from O to 3, and providing on the signal l206, for
the 4 successive states of 1202 and 1203 during the same value of the
signal 1204.4 addresses to the memory 14 described below which, when the signal 131 indicates that the levels c are to be updated,
are those successively of the data referring to
ck + 2, ck + 1, ck + 1 and fk + 1 when k less than J
cJ + 1, cJ + 1, cJ + 1 and fJ when k = J
Ck, ck + l, ck + l and fk when k between K-1 and j + 1
and which, when the signal 131 indicates that the frequencies fc are to be updated, are those successively of the data relating to
fk + 1, fk + 1, ck + 2 and ck + 1 when k less than J
fJ, fJ, cJ + 1 and cJ + 1 when k = J
fk 'fk, ck and ck + l when k between K-1 and J-1, on signal 1205, a logic level 0, authorization to update memory 14, during state 2 of signals 1202 and 1203 if 131 indicates that the levels c are to be updated, and during state 1 of the signals 1202 and 1203 if 131 indicates that the frequencies fc are to be updated, on the signal 1207, an indication, at the rate of the signal 1203, towards set 16, element for calculating the coefficients a and b of the elementary filters, on the nature of the calculations according to whether a datum from memory 14 must be taken into account for this calculation, signal 1207 at logic level 0 and case of calculations of ai aj and b0, or 2 data from memory 14, signal 1207 at logic level 1 and case of calculations of bi and bj, on signal 1208, an indication to the rhythm of signal 1203 to set 16 indicating if the calculation to be made corresponding to the data read in the memory 14 relates to a coefficient ai aj or to a coefficient b. bj elementary filters,
i 3 circuit 13 is the control and display device, do:
not part of the invention, receiving signal 1206, which can
serve as a location for the data from memory 14, which it receives
or provides, in the case of an update, on signal 140, the signal
1205 update authorization, signal 1201, basic clock
of the device, and providing on signal 131, described above,
the indication of the type of data, concerning the levels or the frequencies
quences, to update, and on signal 132 a binary word indi
as for the desired slope stiffness, in 6dbfoctave steps,
circuit 14 is a memory containing the data corresponding to the levels ck and the frequencies fk defining the filter to be synthesized, the coding of these quantities being done in the following manner when for example these data are defined on 8 bits:
-the value of a data item concerning a level ck varies with its logarithm, the minimum value of ck corresponding to the number -128 and the maximum value of ck corresponding to the number +127
-the value of a data item concerning a frequency + does not necessarily obey an ordinal relation, there is simply bijection between the 256 possible values of these data and 256 desired frequency values, the circuit 14 receives the signals 1206, addresses , and 1205, read order, in which case it supplies the data read on signal 140, or write order, in which case it receives and stores, on signal 140, a new data value supplied by circuit 13, circuit 15 is a circuit for presenting data from memory 14 for assembly 16, composed of flip-flops 151 and 152 placed; in cascade, of clock of recording the signal 1201, receiving on the signal 140 the data read and supplying on the signals 1502 and 1501 2 data of the memory read successively, the set 16, device for calculating the coefficients a and b very elementary from the data of the memory 14 received on the signals 1501 and 1502, signals 1207 and 1208 described above, of the signal 1203, is composed j of the circuit 161 composed of logic gates AND having an input commui not receiving signal 1207, the other inputs receiving the signal
1502 so that at output the output signal 1601 is the copy of signal 1502 when 1207 is at logic level l, and is at logic level 0 when 1207 is at logic level 0, of circuit 162, subtractor receiving on its input "plus" signa4 1501 and on its input "minus" signal 1601 and whose output 1602 is copied from 1501 when 1207 is at logic level 0 or equal to the result of the subtraction when 1207 is at logic level 1, is relevant, due to the succession of data on flip-flops 151 and 152, that when the data present at the outputs of flip-flops 151 and 152 correspond respectively to 'fk, fk or cJ + 1, cJ + 1 or ck + 2, ck + l or ck, cM + l, the data on the signal 1602 then respectively having a value corresponding to k or CJ + 1 or ck + 1 / ck + 2, due to the logarithmic coding, or ck + 1 / ck due to the logarithmic coding, circuit 163, recording clock flip-flop signal 1203, receiving signal 1208, described above, and whose output, signal 1603, is the r ecopy of 1208 at the rising edge of 1203, which means that the signal 1603 indicates, due to the delay provided by the flip-flops of circuit 15, whether the data present on the signal 1602 corresponds to a level or to a frequency therefore to a calculation of a coefficient a or b of an elementary filter or b of the attenuator, of circuit 164, composed of flip-flops of clock of recording the signal 1203, receiving the signals 1602 and 1603 in input, the data on the signal 1602 corresponding to fk or cJ + 1 or ck + 1 / ck + 2 or ck + 1 / ck at the rising edge of 1203 at the time when the outputs, on signals 1604 and 1605, are the respective copies of signals 1603 and 1602, of circuit 165, read-only memory containing the tables of values of the coefficients a and b of the elementary filters taking into account the formulas expressing these coefficients as a function of the frequency levels and steepness of slope mentioned above in the description relating to FIGS. 1 1 -B and 1-C, receiving on its address inputs signals 1 604,1605 and 132 described above, and providing the coefficients a and b of the elementary filters, at the rate of the signal 1203, a pair of values a and b, relating to the same elementary filter, being provided at the rate of the signal 1202 , frequency clock half that of the signal 1203, on the signal 102, the assembly 17, device for generating addresses of the coefficients calculated in the memory 2, is composed of the circuit l7l, rockers of clock of recording the signal 1203, receiving the signal 1204 indicating the relevant bandpass of the filter approximating the filter to be synthesized, and whose output 1701, copying the input at the rising edge of 1203, indicates the number of the bandpass corresponding to the data present on signals 1602 and 1603,
of circuit 172, read-only memory containing the addresses of the coefficients in memory 2, receiving at its address inputs the
signal 1701 and signal 1603, and whose output, signal 1702, indicates the address in memory 2 of the coefficient corresponding to the data
present on signal 1602,
of circuit 173, recording clock latches signal 1203, rece
before signal 1702, and whose output, signal 101, is the copy of
the entry at the rising edge of 1203 and therefore indicates the address in
memory 2 of the coefficient present on signal 102.
Bien entendu, de nombreuses variantes sont possibles par
par rapport aux exemples décrits dans la mise en oeuvre des prin
cipes de base de l'invention. Of course, many variations are possible by
compared to the examples described in the implementation of the prin
basic pipes of the invention.
En particulier, il est clair que les nombres Ir J de filtres élémentaires de 1. et 2. type peuvent être changés,ce qui change le contenu de la mémoire 124 relative à la succession de lecture des données de la mémoire 14. In particular, it is clear that the numbers Ir J of elementary filters of 1. and 2. type can be changed, which changes the content of the memory 124 relating to the succession of reading of the data from the memory 14.
De même,le nombre K de filtres passe-bandes composant le filtre égualiseur approximant le filtre souhaité peut varier,ce qui modifie le compteur 123 et Se contenu de la mémoire 124. Likewise, the number K of bandpass filters making up the equalizer filter approximating the desired filter can vary, which modifies the counter 123 and Se content of the memory 124.
De même,le dispositif de calculs des coefficients peut gérer des calculs concernant plusieurs filtres à synthétiser,chacun étant approximé par un filtre égualiseur ayant un nombre déterminé de passes-bandes,ce qui change seulement,si le nombre de passebandes est toujours de K,le contenu de la mémoire 124. Likewise, the device for calculating the coefficients can manage calculations relating to several filters to be synthesized, each one being approximated by an equalizing filter having a determined number of band-passes, which changes only if the number of pass-bands is always K, the contents of memory 124.
De même,la rapidité d'éxécution des calculs des coefficients rend possible,en modifiant le contenu de la mémoire 124 selon la succession des calculs de filtrage et le signal 1oD2 étant identique au signal 102,le calcul des coefficients au fur et à mesure de leur utilisation par le multiplieur 5,la mémoire 124 fournissant également Ùne information remplaçant le signal 1051 de commande du permutateut 4 selon le type du filtre élémentaire dont le calcul est à éxécuter, et un signal d'inhibition au niveau logique 0 du signal 107 dans le cas ou le calcul concerne l'atténuateur de coefficient b0. Similarly, the speed of execution of the calculations of the coefficients makes it possible, by modifying the content of the memory 124 according to the succession of the filtering calculations and the signal 1oD2 being identical to the signal 102, the calculation of the coefficients as and when their use by the multiplier 5, the memory 124 also providing Ùne information replacing the signal 1051 for controlling the permutateut 4 according to the type of the elementary filter whose calculation is to be executed, and an inhibition signal at logic level 0 of the signal 107 in the case where the calculation concerns the coefficient attenuator b0.
Enfin,la synthèse de filtre ne passe pas forcement par l' approximation de celui-ci au moyen d'un filtre égualiseur dont les passe-bandes ont une raideur de pen;te donnée,mais peut considérer f direceement les filtres élémentaires du 1. et 2. type,auquel'cas la synthèse ne se fait pas en considérant P filtres identiques pour avoir une pente de P.6db/octave,ce qui diminue le nombre de coef fi-; lents a et b à calculer, mais en considérant chaque filtre élémentai- re présent dans la synthèse, ce qui augmente le nombre de coefficienis a et b à calculer mais supprime le signal 132. Finally, the filter synthesis does not necessarily go through the approximation thereof by means of an equalizer filter whose band passers have a given penetration stiffness, but may consider f elementary filters of 1. and 2. type, to which the synthesis is not done by considering P identical filters to have a slope of P.6db / octave, which decreases the number of coef fi-; slow a and b to calculate, but considering each elementary filter present in the synthesis, which increases the number of coefficients a and b to calculate but suppresses signal 132.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8315948A FR2555777A1 (en) | 1983-10-03 | 1983-10-03 | Digital filtering processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8315948A FR2555777A1 (en) | 1983-10-03 | 1983-10-03 | Digital filtering processor |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2555777A1 true FR2555777A1 (en) | 1985-05-31 |
Family
ID=9292899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8315948A Withdrawn FR2555777A1 (en) | 1983-10-03 | 1983-10-03 | Digital filtering processor |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2555777A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2119309A5 (en) * | 1970-12-21 | 1972-08-04 | Western Electric Co |
-
1983
- 1983-10-03 FR FR8315948A patent/FR2555777A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2119309A5 (en) * | 1970-12-21 | 1972-08-04 | Western Electric Co |
Non-Patent Citations (3)
Title |
---|
ELECTRONIC DESIGN, vol. 27, no. 26, décembre 1979, ST. ROCHELLE PARK (US), R.J. KARWOSKI: "Computer implemented digital bandpass filters give almost any output response", pages 50-55. * |
ELECTRONIC DESIGN, vol. 28, no. 4, février 1980, ST. ROCHELLE PARK (US), Dr. G.P. EDWARDS: "Programmable signal-processor LSI rivals analog-circuit filters", pages 137-140. * |
JOURNAL OF THE AUDIO ENGINEERING SOCIETY, vol. 31, nos. 1/2, janvier-février 1983, NEW YORK (US), S. TAKAHASHI et al.: "Graphic equalizer with microprocessor", pages 25-28. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pirkle | Designing audio effect plugins in C++: for AAX, AU, and VST3 with DSP theory | |
US4232192A (en) | Moving-average notch filter | |
EP0198729B1 (en) | Electronic circuit simulation system | |
EP0769849A1 (en) | Method for digital wide-band filtering and filter using this method | |
US7702115B2 (en) | Method and apparatus to reconstruct high-frequency components of an audio signal | |
FR2484172A1 (en) | METHOD AND DEVICE FOR GENERATING A SERIES OF INTERPOLINE SAMPLES | |
FR2776093A1 (en) | PROGRAMMABLE PROCESSOR CIRCUIT PROVIDED WITH A RECONFIGURABLE MEMORY FOR PRODUCING A DIGITAL FILTER | |
EP0926823B1 (en) | Programmable circuit for the realisation of a digital filter | |
EP0223657A1 (en) | Discrete Fourier transform calculating device and its application to pulse compression in a radar system | |
EP0309336B1 (en) | Method for measuring the frequency of a periodic signal and frequency meter using such a method | |
CA1059221A (en) | Digital device for generating a filtered wave phase modulated by a data signal | |
JPS6336572B2 (en) | ||
FR2555777A1 (en) | Digital filtering processor | |
EP0437876A1 (en) | Programmable serial multiplier | |
EP0327445A1 (en) | Generalised digital multiplier, and digital filter using this multiplier | |
NO160750B (en) | DEVICE FOR DIGI CONTINUOUS BI STREAMS. | |
FR2832568A1 (en) | SAMPLING FREQUENCY DIGITAL CONVERTER | |
EP0989541A1 (en) | Tone synthesizing device delivering a sequence of electrical samples | |
Volkova | Towards reliable implementation of digital filters | |
Pang | A unified approach to FIR filter design using B-spline functions | |
EP0104290B1 (en) | Digital processor for real time signals | |
JP7541312B2 (en) | Learning method, learning device, and program | |
FR2552904A1 (en) | Calculation processor | |
Antonir | Signal Processing using Chromatic Derivatives and Chromatic Approximation | |
Litovski et al. | IIR Digital Filter Synthesis Based on Bilinear Transformation of Analog Prototypes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |