FR2664067A1 - Process and circuit for interpolating between numerical data - Google Patents
Process and circuit for interpolating between numerical data Download PDFInfo
- Publication number
- FR2664067A1 FR2664067A1 FR9108090A FR9108090A FR2664067A1 FR 2664067 A1 FR2664067 A1 FR 2664067A1 FR 9108090 A FR9108090 A FR 9108090A FR 9108090 A FR9108090 A FR 9108090A FR 2664067 A1 FR2664067 A1 FR 2664067A1
- Authority
- FR
- France
- Prior art keywords
- data
- circuit
- interpolation
- products
- series
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
Description
1 X Procédé et circuit pour effectuer une interpolation entre des données1 X Method and circuit for performing interpolation between data
numériques La présente invention a pour objet un procédé et un circuit pour effectuer une interpolation efficace entre des données numériques aux instants correspondant à des points intermédiaires entre des données numériques voisines respectives, parmi des données numériques obtenues par échantillonnage de données analogiques à des intervalles de temps réguliers T. On connaît, d'une façon générale, des moyens tels que DAT (bandes audio-numériques), CD (disques compacts), etc, manipulés par des utilisateurs et dans lesquels un signal analogique est converti en un signal numérique devant être transmis, comme représenté sur la The present invention provides a method and circuit for effecting effective interpolation between digital data at times corresponding to intermediate points between respective neighboring digital data, among digital data obtained by sampling analog data at time intervals. In general, means such as DAT (audio-digital tapes), CDs (compact discs), etc., manipulated by users and in which an analog signal is converted into a digital signal to be transmitted, as shown on the
Fig 3 des dessins annexés.Fig 3 of the accompanying drawings.
Des données numériques Ak obtenues par échantillonnage d'un signal initial analogique f(t) à chaque temps T sont représentées par l'équation ( 1) suivante (dans laquelle Digital data Ak obtained by sampling an initial analog signal f (t) at each time T are represented by the following equation (1) (in which
K = O, 1 + 2,).K = O, 1 + 2,).
Ak = f(k T) ( 1) Dans les moyens considérés, tous les signaux analogiques sont exprimés sous forme d'une série de données numériques (Ak) à chaque temps T Par conséquent, un circuit arithmétique numérique peut être utilisé pour le traitement et la transmission de telles données numériques Ainsi, on peut dire que ces moyens ont l'avantage que des bruits ne sont pas introduits ou que des bruits ne sont pas produits, en principe, lors du traitement des signaux et de la transmission de ces signaux En outre, on peut utiliser un circuit de traitement arithmétique peu onéreux (par exemple un micro- ordinateur) et on peut aisément procéder à une Ak = f (k T) (1) In the means considered, all the analog signals are expressed as a series of digital data (Ak) at each time T Therefore, a numerical arithmetic circuit can be used for processing and the transmission of such digital data Thus, it can be said that these means have the advantage that noises are not introduced or that noises are not produced, in principle, during the signal processing and the transmission of these signals. In addition, an inexpensive arithmetic processing circuit (for example a microcomputer) can be used and it is easy to
intégration à grande échelle.large scale integration.
Cependant, quand on désire effectuer le traitement et la transmission de signaux analogiques dans des moyens tels que DAT, CD, etc, le cas se présente fréquemment qu'il soit nécessaire d'avoir une donnée A à l'instant d'un point intermédiaire arbitraire (x T) entre des données respectives voisines, comme représenté sur la Fig 3 La Fig 4 représente un However, when it is desired to carry out the processing and the transmission of analog signals in means such as DAT, CD, etc., the case frequently arises that it is necessary to have a data item A at the instant of an intermediate point. arbitrary (x T) between respective adjacent data, as shown in FIG.
exemple expliquant un tel cas.example explaining such a case.
La Fig 4 a représente un cas dans lequel des données A 1/2, A 3/2, aux instants (T/2) de points intermédiaires entre des données d'entrée respectives voisines, sont calculées en se basant sur les données d'entrée A, A 1,, ce qui permet d'obtenir des signaux ayant une plus grande précision La Fig 4 b représente un cas dans lequel une série de données A 0, A 1,, ayant chacune une période d'échantillonnage T, sont converties en une série de données B 0, B 1, ,ayant chacun une période d'échantillonnage T' différente de la période d'échantillonnage T Dans de tels cas, on connaît un procédé de calcul des données requises en faisant usage du théorème Fig. 4a shows a case in which data A 1/2, A 3/2, at times (T / 2) of intermediate points between respective adjacent input data, are calculated based on the data of input A, A 1 ,, which allows to obtain signals having a greater accuracy. FIG. 4b represents a case in which a series of data A 0, A 1 ,, each having a sampling period T, are converted into a series of data B 0, B 1,, each having a sampling period T 'different from the sampling period T In such cases, a method of calculating the required data is known by making use of the theorem
d'échantillonnage, comme cela est connu. sampling, as is known.
De façon plus précise, la valeur Ax d'une donnée au temps t = x T (x étant un nombre non entier) est déterminée conformément à 1 'équation suivante: AX =Ak Sa (Wo (x-K)T) ( 2) kc= - dans laquelle Sa (Z) = (sin Z) / Z Sa(Z) est appelée fonction d'échantillonnage Sa A ce sujet, Wo est appelée fréquence angulaire de Nyquist. Etant donné que la fréquence d'échantillonnage ( 1/T) est fixée à deux fois la fréquence la plus élevée (fréquence de Nyquist fo(Wo/27 d'un signal, cette fréquence peut être mise sous la forme 1/T = 2 fo = W Ilw, c'est-à-dire T = 9/Wo. L'équation ( 2) ci-dessus peut être écrite comme suit en utilisant cette relation: +,- A= AK Sa ( 7 f (X-K)) K= -o + eo sin (;C(X-K)) More specifically, the value Ax of a datum at time t = x T (x being a non-integer) is determined according to the following equation: AX = Ak Sa (Wo (xK) T) (2) kc = - in which Sa (Z) = (sin Z) / Z Sa (Z) is called sampling function Sa On this subject, Wo is called the angular frequency of Nyquist. Since the sampling frequency (1 / T) is set at twice the highest frequency (Nyquist frequency fo (Wo / 27 of a signal, this frequency can be put in the form 1 / T = 2 fo = W Ilw, that is T = 9 / Wo Equation (2) above can be written as follows using this relation: +, - A = AK Sa (7 f (XK) ) K = -o + eo sin (; C (XK))
{X K){X K)
+ k sin (x) (-1) > A rk ( 3) K=+ k sin (x) (-1)> A rk (3) K =
Au sens strict, les équations ( 2) et ( 3) ci- Strictly speaking, equations (2) and (3)
dessus sont établies en considérant des signaux à bande limitée Par conséquent, la valeur Ax (valeur d'interpolation) des données à l'instant du point intermédiaire entre les données voisines peut, en principe, être calculée simplement en accord avec ces équations. On va maintenant décrire, en se référant aux figures 5 à 8, les principes, c'est-à-dire la structure They are established by considering band-limited signals. Therefore, the value Ax (interpolation value) of the data at the instant of the intermediate point between the neighboring data can, in principle, be calculated simply in accordance with these equations. We will now describe, with reference to FIGS. 5 to 8, the principles, that is to say the structure
et le fonctionnement d'un circuit d'interpolation. and the operation of an interpolation circuit.
Conformément à la Fig 6, des données d'entrée sont mémorisées l'une après l'autre dans une mémoire de données 2 Les données anciennes qui ne peuvent plus être mémorisées dans la mémoire de données 2 sont retirées l'une après l'autre de cette mémoire de According to Fig. 6, input data is stored one after the other in a data memory 2. The old data which can no longer be stored in the data memory 2 are removed one after the other. of this memory of
données 2.data 2.
En d'autres termes, comme représenté sur la Fig 7 a, la mémoire de données 2 mémorise et retient (M M') + 1 données Ak entre M'T et MT, en remontant au temps antérieur M'T quand le temps présent est MT (c'est-à- dire t = MT, T étant une période In other words, as shown in FIG. 7a, the data memory 2 stores and holds (M M ') + 1 Ak data between M'T and MT, going back to the previous time M'T when the present time is MT (that is, t = MT, T being a period
d'échantillonnage et M un nombre entier). sampling and M an integer).
D'autre part, une mémoire de coefficients 3 mémorise chacun des coefficients fournis par l'équation suivante en tant que données numériques précalculées On the other hand, a coefficient memory 3 stores each of the coefficients provided by the following equation as precomputed digital data.
(données de coefficients).(coefficient data).
Ck = (-1)k / (x k) ( 4) On va maintenant décrire un paramètre x Ck = (-1) k / (x k) (4) We will now describe a parameter x
indicatif du temps d'interpolation.indicative of the interpolation time.
Si le temps d'interpolation est en synchronisme avec le signal d'entrée, le paramètre x est un nombre rationnel La synchronisation de ce temps avec le signal d'entrée indique que la fréquence du signal d'entrée est rigoureusement égale au double du nombre rationnel On peut donc distinguer deux cas dans cette solution Dans l'un de ces deux cas, la fréquence soumise au processus d'interpolation coïncide avec celle qui règne avant ce processus d'interpolation, ces deux fréquences n'étant différentes l'une de l'autre If the interpolation time is in synchronism with the input signal, the parameter x is a rational number The synchronization of this time with the input signal indicates that the frequency of the input signal is rigorously equal to twice the number Two cases can be distinguished in this solution In one of these two cases, the frequency subjected to the interpolation process coincides with that which prevails before this interpolation process, these two frequencies not being different from each other. the other
que par leurs phases, comme représenté sur la fig 5 a. only by their phases, as shown in fig 5 a.
Dans ce cas, le paramètre x présente une valeur constante à chaque instant D'autre part, dans le second cas, la fréquence après le processus d'interpolation ne coïncide pas avec celle qui règne avant ce processus d'interpolation, comme représenté In this case, the parameter x has a constant value at each instant On the other hand, in the second case, the frequency after the interpolation process does not coincide with that prevailing before this interpolation process, as shown
sur la Fig 5 b.in Fig 5 b.
La Fig 5 b représente un cas dans lequel les signaux de Ak sont convertis en signaux de Bk dans un rapport de fréquences fixé à 4:3 Le paramètre x, indicatif de la phase varie suivant 0, 1/3, 2/3 et O Fig. 5b shows a case in which the signals of Ak are converted into signals of Bk in a frequency ratio set at 4: 3. The parameter x, indicative of the phase varies according to 0, 1/3, 2/3 and O
(ces valeurs se répétant ensuite de la même manière). (these values are then repeated in the same way).
Si l'interpolation est effectuée trois fois en se référant à la fréquence, la fréquence interpolée est If the interpolation is done three times with reference to the frequency, the interpolated frequency is
ramenée à sa phase initiale.brought back to its initial phase.
Cela met en évidence les deux conditions ci- This highlights the two conditions
après Premièrement, si les deux fréquences,coïncident l'une avec l'autre, il suffit de préparer un type de coefficient (Ck) mentionnés plus haut ( C_ 1, Co, Cl, C 2 ') Deuxièmement, si les deux fréquences sont différentes l'une de l'autre, on doit préparer plusieurs types de coefficients Ck puisque la valeur du paramètre x varie Comme il résulte clairement de la after First, if the two frequencies coincide with each other, it suffices to prepare a type of coefficient (Ck) mentioned above (C_ 1, Co, Cl, C 2 ') Second, if the two frequencies are Different types of coefficients Ck must be prepared since the value of the parameter x varies.
description de la Fig 5 b et de l'équation ( 4), on doit description of Fig. 5b and equation (4), we must
préparer b types de coefficients (Ck) si le rapport de la fréquence soumise au processus d'interpolation et d'une fréquence régnant avant ce processus d'interpolation est a:b Si l'on désire convertir une fréquence de 44,1 K Hz d'un signal CD utilise dans un disque compact en une fréquence de 48 K Hz d'un signal d'émission de satellite, le rapport des deux fréquences est égal à 147: 160 Il est donc nécessaire de mémoriser 160 types de données de coefficients (Ck) prepare b types of coefficients (Ck) if the ratio of the frequency subjected to the interpolation process and a frequency before this interpolation process is a: b If it is desired to convert a frequency of 44.1 K Hz of a CD signal used in a compact disc at a frequency of 48 KHz of a satellite transmission signal, the ratio of the two frequencies is equal to 147: 160 It is therefore necessary to store 160 types of coefficient data (Ck)
dans la mémoire de coefficients 3.in the coefficient memory 3.
Comme cela a déjà été exposé plus haut, quand les données de coefficients respectives (Ck) provenant de la mémoire de coefficients 3 sont multipliées par les données correspondantes Ak provenant de la mémoire de données 2 en additionnant les produits Ak Ck ainsi obtenus, ceux-ci étant finalement multipliés par (sinl x) /le, on détermine la valeur d'interpolation Ax As already explained above, when the respective coefficient data (Ck) from the coefficient memory 3 are multiplied by the corresponding data Ak from the data memory 2 by adding the Ak Ck products thus obtained, these being finally multiplied by (sinl x) / le, we determine the interpolation value Ax
conformément à l'équation ( 3).according to equation (3).
On va maintenant examiner la détermination de la valeur d'interpolation Ax au temps t = x T Comme représenté sur la Fig 7 b, les données précédant le temps d'interpolation fixé et les données suivant ce temps d'interpolation sont numérotées et désignées par A, A_,,, AN et A,,, AN Un point de départ et de transition de temps est fixé en tant que point de temps zéro On notera que, dans ce système, le temps absolu n'a pas de signification en lui-même et que The determination of the interpolation value Ax at time t = x T will now be examined. As shown in FIG. 7b, the data preceding the fixed interpolation time and the data following this interpolation time are numbered and designated by A, A _ ,,, AN and A ,,, AN A starting and transition time point is fixed as a zero time point Note that, in this system, absolute time has no meaning in it -and
seuls les intervalles de temps sont importants. only time intervals are important.
Conformément à la Fig 6, un circuit de commande 1, lit l'une après l'autre des données numériques dans la mémoire de données 2 et des données numériques Ck dans la mémoire de coefficients 3 Les données Ak et Ck ainsi lues sont transmises par le In accordance with FIG. 6, a control circuit 1 reads one after the other of the digital data in the data memory 2 and digital data Ck in the coefficient memory 3. The data Ak and Ck thus read are transmitted by the
circuit de commande à un circuit arithmétique 4. control circuit to an arithmetic circuit 4.
Quand l'interlocuteur est effectuée avec les mêmes fréquences, lors de la lecture des données de coefficients Ck, on peut simplement lire des données de coefficients ordinaires calculées à l'avance et mémorisées dans la mémoire de coefficients Cependant, quand l'interpolation a lieu avec des fréquences différentes, les valeurs de coefficients Ck correspondant à la phase x considérées doivent être When the interlocutor is performed with the same frequencies, when reading the coefficient data Ck, one can simply read data of ordinary coefficients calculated in advance and stored in the coefficient memory. However, when the interpolation takes place with different frequencies, the values of coefficients Ck corresponding to the phase x considered must be
lues l'une après l'autre.read one after the other.
La Fig 8 représente sous la forme d'un schéma fonctionnel le processus des opérations FIG. 8 represents in the form of a block diagram the process of operations
arithmétiques correspondant à Ak et à Ck. arithmetic corresponding to Ak and Ck.
Le circuit arithmétique 4 introduit les valeurs respectives de Ak et de Ck dans un accumulateur Acc et additionne ces valeurs sur une étendue limitée, à savoir de K = -N à K = +N, de manière à calculer une valeur d'interpolation Ax à partir du résultat d'addition ainsi obtenu, le signal de sortie The arithmetic circuit 4 introduces the respective values of Ak and Ck into an accumulator Acc and adds these values over a limited extent, namely from K = -N to K = + N, so as to calculate an interpolation value Ax to from the result of addition thus obtained, the output signal
correspondant au résultat de ce calcul. corresponding to the result of this calculation.
On admet maintenant que le signal analogique initial f(t) est représenté par l'équation suivante: f(t) = sin (w 1 t) ( 5) It is now assumed that the initial analog signal f (t) is represented by the following equation: f (t) = sin (w 1 t) (5)
dans laquelle W 1 est une fréquence angulaire. wherein W 1 is an angular frequency.
Les données Ak échantillonnées pour chaque temps T peuvent alors être déterminées conformément à l'équation suivante: Ak = sin (w 1 KT) = sin (U wo KT) = sin (c K ') ( 6) dans laquelle est une fréquence normalisée représentée par l'équation suivante: = wl/wo ( 7) Ensuite, on reporte l'équation ( 6) dans l'équation ( 3) et la valeur Ax s'exprime comme suit: + c-, 5-= sin/c-_ Ks 7/xsin> 1 X-K)/Xc(X-K) (sn)x sino K-) /(x K) ( 8) k= The sampled Ak data for each time T can then be determined according to the following equation: Ak = sin (w 1 KT) = sin (U wo KT) = sin (c K ') (6) in which is a normalized frequency represented by the following equation: = wl / wo (7) Then, equation (6) is transferred to equation (3) and the value Ax is expressed as follows: + c-, 5- = sin / c-_ Ks 7 / xsin> 1 XK) / Xc (XK) (sn) x sino K-) / (x K) (8) k =
L''"équation ( 8) est sous une forme simple. Equation (8) is in a simple form.
Cependant, le terme (x k)-1 est présent alors que la valeur de K croit; il en résulte que la convergence de Ax est faible Par conséquent, le calcul de Ax avec une However, the term (x k) -1 is present while the value of K increases; it follows that the convergence of Ax is weak Therefore, the calculation of Ax with a
grande précision devient de plus en plus difficile. high accuracy becomes more and more difficult.
Etant donné que l'équation ( 8) comporte le Since equation (8) has the
terme (-1)k, l'erreur E au moment du calcul du ± term (-1) k, the error E when calculating the ±
kième terme, le calcul des termes suivants n'étant pas effectué, est donnée approximativement par le = ±(k + l)ième terme d'après la théorie des séries ou progressions infimes, comme indiqué ci- après: 8 \'(sin -c x) /-c sin (ce K 7 C) t 1 /(X-K) -1 /(X+K)l ( 9 < (sin Cx)/( 27 CK) I < I 2/(YCK)1 ( 10) L'équation ( 10) est une expression The second term, the computation of the following terms not being carried out, is given approximately by the ± (k + 1) th term according to the theory of series or minute progressions, as indicated below: -cx) / -c sin (that K 7 C) t 1 / (XK) -1 / (X + K) 1 (9 <(sin Cx) / (27 CK) I <I 2 / (YCK) 1 ( 10) Equation (10) is an expression
approwimative qui donne la limite de l'erreur. approwimative which gives the limit of the error.
Dans l'équation ci-dessus, l'erreur est encore de 0,64 % dans le cas o K = 100 En revanche, pour que l'erreur ne dépasse pas 10-5, l'addition devrait être effectuée jusqu'à K = 6 104 (on obtient cette valeur en reportant E = 10-5 dans l'équation ( 10) Cependant, dans ce cas, l'importance des calculs In the equation above, the error is still 0.64% in the case where K = 100 On the other hand, for the error not to exceed 10-5, the addition should be made up to K = 6 104 (we obtain this value by reporting E = 10-5 in equation (10). However, in this case, the importance of the calculations
augmente et le temps mis à les effectuer est plus long. increases and the time taken to perform them is longer.
En conséquence, il devient presqu'impossible de procéder en temps réel D'autre part, si 1 'on veut à tout prix procéder en temps réel, la précision des calculs est mauvaise parce que le nombre de termes Consequently, it becomes almost impossible to proceed in real time On the other hand, if we want to proceed at any cost in real time, the accuracy of calculations is bad because the number of terms
calculés est limité.calculated is limited.
En variante au procédé ci-dessus, on connaît un procédé pratique qui a été utilisé de façon As an alternative to the above method, a practical method which has been used so
classique On va maintenant donner une description de classical We will now give a description of
ce procédé en se limitant à l'essentiel. this process is limited to the essential.
On suppose que, comme représenté sur la Fig. 9 a, des signaux sont désignés par gl, g 2 et qu'une période d'échantillonnage est désignée par T Les données à obtenir par échantillonnage des signaux d'entrée pour chaque période (b/a) T nouvellement It is assumed that as shown in FIG. 9a, signals are designated by gl, g 2 and a sampling period is designated by T Data to be obtained by sampling input signals for each period (b / a) T newly
établie sont déterminées comme indiqué ci-après. established are determined as indicated below.
1) On commence par désigner une période d'échantillonnage par T/a et on désigne par zéro les données aux temps o il n'apparaît pas de signal initial ou premier signal d'entrée Il en résulte qu'on a une fréquence d'échantillonnage apparente qui est un multiple de la fréquence correspondant à la période d'échantillonnage initiale et qu'on peut obtenir une série de données telles que, par exemple, g 1, 0, 0, 1) We start by designating a sampling period by T / a and denote by zero the data at the times when no initial signal or first input signal appears. It follows that we have a frequency of apparent sampling that is a multiple of the frequency corresponding to the initial sampling period and that a series of data such as, for example, g 1, 0, 0,
g 2, 0, 0, (voir Fig 9 b).g 2, 0, 0, (see Fig 9 b).
2) Ensuite, on fait passer la série de données mentionnées plus haut à travers un filtre 2) Next, we pass the series of data mentioned above through a filter
passe-bas idéal ayant une fréquence de coupure de 2 a/T. ideal low-pass with a cutoff frequency of 2 a / T.
En fait, on peut s'attendre plus ou moins à des pertes dans la bande passante et les pertes dans la bande d'arrêt peuvent être finies La Fig 10 représente une disposition du circuit du filtre passe-bas Le gain de chaque prise est défini par hn(n = 0, + 1,, + N) et ce gain de prise hn est déterminé de façon qu'on puisse obtenir les meilleures caractéristiques du filtre en faisant appel au nombre minimal de prises On sait déjà qu'en établissant la relation hn = h-n entre les gains des prises correspondantes,il n'est pas, en principe In fact, one can expect more or less losses in the bandwidth and the losses in the stopping band can be finished. FIG. 10 represents an arrangement of the circuit of the low-pass filter The gain of each tap is defined by hn (n = 0, + 1 ,, + N) and this gain of intake hn is determined so that the best characteristics of the filter can be obtained by using the minimum number of taps. relationship hn = hn between the gains of the corresponding catches, it is not, in principle
produit de distorsion de phase.phase distortion product.
Les signaux de sortie g'10 g'11, g'20, g'21, du circuit du filtre passe-bas (voir Fig 9 c) montrent que, théoriquement, quand ce filtre est un filtre passe-bas idéal, ces signaux reproduisent exactement les formes d'ondes du signal analogique initial Quand des données sont, pour chaque b, prélevées parni les données établies pour chaque temps T/a, on peut obtenir une série de données désignées par The output signals g'10 g'11, g'20, g'21, of the low-pass filter circuit (see FIG. 9c) show that, theoretically, when this filter is an ideal low-pass filter, these signals reproduce exactly the waveforms of the initial analog signal When data are taken for each b from the data established for each time T / a, a series of data designated by
g'10, g'12, g'21, g'30, (voir Fig 9 d). g'10, g'12, g'21, g'30, (see Fig 9 d).
La Fig Il est un schéma fonctionnel d'un circuit auquel un tel procédé est appliqué de façon spécifique De façon plus précise, conformément à la Fig 11, un circuit multiplicateur de fréquence d'échantillonnage 41 sert à insérer des zéros entre des données respectives d'une série de données de manière à établir la fréquence apparente d'échantillonnage à un multiple de la fréquence du signal d'entrée (voir Fig. 9 b) Puis, quand le signal de sortie du circuit multiplicateur de fréquence d'échantillonnage 41 passe à travers un filtre passe-bas 42, des données sont produites en étant obtenues par échantillonnage des signaux analogiques d'entrée initiaux pour chaque temps T/a De plus, un circuit réducteur de fréquence d'échantillonnage 43 est mis en action pour effectuer un processus de prélèvement des données requises, pour FIG. 11 is a block diagram of a circuit to which such a method is specifically applied. More specifically, in accordance with FIG. 11, a sampling frequency multiplier circuit 41 is used to insert zeros between respective data sets. a series of data so as to set the apparent sampling frequency to a multiple of the input signal frequency (see Fig. 9b) Then, when the output signal of the sample rate multiplier circuit 41 passes through a low-pass filter 42, data is produced by being obtained by sampling the initial input analog signals for each time T / a. In addition, a sampling frequency reducing circuit 43 is operated to perform a process of collecting the required data, for
chaque b, dans les données produites. each b, in the data produced.
Quand on prend en considération le domaine de fréquences, le procédé d'interpolation classique est fondamentalement équivalent au procédé d'exécution d'opérations arithmétiques sur les données en accord avec l'équation ( 3), étant donné qu'on fait passer une série de fonctions de données d'entrée à travers le filtre passe-bas idéal Puisqu'un tel procédé permet d'effectuer une opération arithmétique avec une précision convenable au moyen d'un circuit de dimensions réduites, ce procédé est supérieur au procédé mentionné précédemment tant qu'une précision rigoureuse n'est pas requise En revanche, ce procédé n'assure pas une précision élevée et ne peut donc pas être utilisé en pratique dans les cas o une telle When considering the frequency domain, the conventional interpolation method is basically equivalent to the method of performing arithmetic operations on the data in accordance with equation (3), since a series of of input data functions through the ideal low-pass filter Since such a method makes it possible to carry out an arithmetic operation with a suitable precision by means of a circuit of reduced dimensions, this method is superior to the aforementioned method so much However, this method does not provide a high degree of precision and therefore can not be used in practice in cases where such precision is not required.
précision élevée est nécessaire. High accuracy is necessary.
Il a été fait mention d'un exemple dans lequel l'ondulation de perte mesurée de la bande passante est égale à 0,00586 ( 0,586 %) avec vingt-neuf prises et une bande de fréquences (bande passante) dont chacune est égale par exemple à la fréquence d'échantillonnage multipliée par 0,6 Cependant, quand cet exemple est utilisé en considérant un signal numérique, la précision des calculs est simplement de An example has been mentioned in which the measured bandwidth loss ripple is 0.00586 (0.586%) with twenty-nine outlets and one frequency band (bandwidth) each of which is equal to example, at the sampling frequency multiplied by 0.6 However, when this example is used when considering a digital signal, the accuracy of the calculations is simply
l'ordre de 2-8.the order of 2-8.
Une précision des calculs de l'ordre de 2-16 est indispensable pour le présent service d'émissions musicales de haute qualité Compte tenu des insuffisances mentionnées précédemment, un but principal de la présente invention est de créer un nouveau procédé et un nouveau circuit d'interpolation de données avec lesquels les inconvénients de la technique antérieure peuvent être supprimés et la précision des calculs de données peut être fortement accrue. Le point essentiel de la présente invention consiste à calculer la somme d'une série ou progression dont la convergence est faible en appliquant la méthode A precision of the calculations of the order of 2-16 is essential for the present service of high quality musical emissions. In view of the shortcomings mentioned above, a main object of the present invention is to create a new method and a new circuit. interpolation of data with which the disadvantages of the prior art can be eliminated and the accuracy of the data computations can be greatly increased. The essential point of the present invention is to calculate the sum of a series or progression whose convergence is weak by applying the method
de conversion d'Euler pour ce calcul. Euler conversion for this calculation.
On va maintenant exposer la méthode de We will now expose the method of
conversion d'Euler.Euler conversion.
1 il La somme d'une série (-1)k Bk est représentée par l'équation générale suivante: k= 0 k= O O o A Sor =k = 2 oẢB O =E O(-1)k Cm ( 12) The sum of a series (-1) k Bk is represented by the following general equation: k = 0 k = O O o A Sor = k = 2 oẢB O = E O (-1) k Cm (12)
CITHIS
ka = Kl/ml (K-m)l (coefficient bincmial) ( 13) k M _nt binomial) ( 13) Le terme 6 k Bo mentionné plus haut est appelé progression à différence de pas (c'est-à-dire de degrés) du kième ordre Il s'agit d'une suite de nombres pour lesquels il existe une constante telle que la différence entre deux termes successifs n'est pas égale à cette constante On a alors les expressions de relations suivantes: O Bo = Bo Al Bo = Bo Bl A 2 Bo = 1 Bo -A 1 l B 1 = Bo 2 B + B 2 ( 14) ka = Kl / ml (Km) l (binary coefficient) (13) k M _nt binomial) (13) The term 6 k Bo mentioned above is called progression with difference of steps (ie degrees) of the kth order It is a sequence of numbers for which there exists a constant such that the difference between two successive terms is not equal to this constant We then have the following relations expressions: O Bo = Bo Al Bo = Bo Bl A 2 Bo = 1 Bo -A 1 l B 1 = Bo 2 B + B 2 (14)
'2'2
(D'autres expressions seront calculées de (Other expressions will be calculated from
façon similaire dans la suite et leur description ne similar way in the following and their description does not
sera donc pas donnée).will not be given).
La relation (appelée graphique de différence arithmétique de pas) entre la série Bkl et la suite ou *. progression à différence arithmétique de pas va être The relation (called graph of arithmetic difference of step) between the series Bkl and the continuation or *. progression to arithmetic difference of not going to be
Às exposée dans la suite.To be exposed in the following.
Il est à noter que la différence arithmétique de pas devant être décrite ici ne correspond pas à la suite initiale (-l)k Bk 5, mais correspond à t Bk 3 obtenue en It should be noted that the arithmetic difference of steps to be described here does not correspond to the initial sequence (-l) k Bk 5, but corresponds to t Bk 3 obtained in
inversant le préfixe de cette série pour chaque terme. reversing the prefix of this series for each term.
La progression à différence arithmétique de pas fournit, par exemple, les expressions de relations suivantes: progression à différence de pas d'ordre O: B O Bl B 2 u B 3 progression à différence de pas de ler ordre: A 1 B O 6 l B 1 A 1 B 2 progression à différence de pas de 2 ème ordre: The progression with arithmetical difference of steps provides, for example, the following expressions of relations: progression with difference of steps of order O: BO Bl B 2 u B 3 progression with difference of steps of 1st order: A 1 BO 6 l B 1 A 1 B 2 progression with difference of step of 2nd order:
2 B O 2 B2 B O 2 B
Li 1 progression à différence de pas de 3 ème ordre: A 3 Bo Dans ces expressions, le symbole U indique que l'une de deux données voisines est soustraite de Li 1 progression with difference of step of 3rd order: A 3 Bo In these expressions, the symbol U indicates that one of two neighboring data is subtracted from
1 'autre.The other.
Si une série donnée est de la forme (-1)k Bx, c'est-à-dire si chaque préfixe de la série est inversé à chaque fois que la valeur de k croît ou décroît de + 1, la somme de cette série est déterminée par le côté droit de l'équation ( 11) Etant donné que l'équation ( 11) comporte le terme 2-k-1, la série correspondante Bk converge rapidement La somme de (-1)k Bk peut être calculée avec une grande précision sans accroître la If a given series is of the form (-1) k Bx, that is, if each prefix of the series is inverted each time the value of k increases or decreases by + 1, the sum of this series is determined by the right side of equation (11) Since equation (11) has the term 2-k-1, the corresponding series Bk converges rapidly The sum of (-1) k Bk can be calculated with high accuracy without increasing the
valeur de k de façon particulière. value of k in a particular way.
On notera que si l'on désire déterminer la valeur d'interpolation Ax au moment o le signal analogique f(t) donné par l'équation ( 5) est interpolé au temps t = x T, la relation entre Ax et Bk est établie comme indiqué ci-après, l'équation ( 11) pouvant utilisée, comme il résulte des équations ( 3) et ( 11) Bk= sin -Xx Ak x k La série infinie devant être calculée à cet instant se présente essentiellement sous la forme de l'équation ( 8) Etant donné que cette série comporte le terme sin( L k 5 v), un problème se pose en ce que les préfixes de la série ne sont pas nécessairement inversés chaque fois que la valeur de k croit ou It will be noted that if it is desired to determine the interpolation value Ax at the moment when the analog signal f (t) given by equation (5) is interpolated at time t = x T, the relation between Ax and Bk is established. as shown below, using equation (11) as follows from equations (3) and (11) Bk = sin -Xx Ak xk The infinite series to be computed at this time is essentially in the form of equation (8) Since this series has the term sin (L k 5 v), a problem arises in that the prefixes of the series are not necessarily inverted each time the value of k grows or
décroît de + 1.decreases by + 1.
Si, par exemple, " est fixé à 3/4, les valeurs respectives obtenues à partir du terme sin (s Lkif (-î)k varient suivant - 1, -2-1/2, 0, 21/2 et 1 quand k varie suivant 2, 3, 4, 5, 6 Par conséquent, la différence arithmétique de pas entre des valeurs respectives voisines croît progressivement lorsque croît l'ordre de la différence arithmétique de pas, à moins que la valeur de k soit soumise à une variation de préfixe régulière Il est donc possible que le côté droit de l'équation ( 11) ne converge pas ou que la série ne puisse pas être calculée avec une grande précision, à moins que le If, for example, "is set to 3/4, the respective values obtained from the term sin (s Lkif (-i) k vary according to - 1, -2-1 / 2, 0, 21/2 and 1 when k varies according to 2, 3, 4, 5, 6 Therefore, the arithmetical difference of steps between respective neighboring values increases progressively as the order of the arithmetic difference of step increases, unless the value of k is subjected to regular prefix variation It is therefore possible that the right side of equation (11) does not converge or that the series can not be calculated with great precision, unless the
nombre k des termes à ajouter soit accru. number k of the terms to be added is increased.
Cependant, la méthode de conversion d'Euler However, the Euler conversion method
peut être appliquée, même dans un tel cas. can be applied even in such a case.
Pour illustrer la solution ci-dessus, on a calculé la suite à différence arithmétique de pas du kième ordre àk BO dans la série de l'équation ( 8) quand To illustrate the above solution, we computed the arithmetic difference sequence of the kth order step k in the series of equation (8) when
il y a une onde sinusoïdale d'entrée. there is a sinusoidal input wave.
Le terme de l'équation ( 8) est divisé en trois parties indiquées cidessous et Ax est exprimé en se basant sur ces trois parties, comme suit: Ax = sin e x {A( 1) + A( 2) + A( 3)} ( 15) -1 A( 1) = -sin ( k 5) (-1)k/(x k) ( 16-1) k=- A( 2) = (un terme avec k = O dans i) = O ( 16-2) *' A( 3) = sin (ec- kqe) (-l)k/(x k) ( 16-3) k= 4 On calculera ensuite ci- après une suite à différence arithmétique de pas du kième ordre Ak B O ( 3) pour le troisième terme d'une série donnée par l'équation ( 16-3) Le symbole ( 3) indique le troisième terme de cette série t k B O ( 3) peut être représenté par l'équation ( 12) comme suit: k 4 k B O ( 3) =(- 1)m k Cm Bm ( 17) m= O o Bm = sinem'7 e/(x m) ( 18) Le contenu du "sin" dans l'équation ( 18) devrait normalement être o m't + e Cependant, pour The term of equation (8) is divided into three parts as shown below and Ax is expressed on the basis of these three parts, as follows: Ax = sin ex {A (1) + A (2) + A (3) } (15) -1 A (1) = -sin (k 5) (-1) k / (xk) (16-1) k = - A (2) = (a term with k = O in i) = O (16-2) * 'A (3) = sin (eck) (-l) k / (xk) (16-3) k = 4 Then we will compute a sequence of arithmetic difference of kth order Ak BO (3) for the third term of a series given by equation (16-3) Symbol (3) indicates the third term of this series tk BO (3) can be represented by the equation ( 12) as follows: k 4 k BO (3) = (- 1) mk Cm Bm (17) m = O o Bm = sinem'7 e / (xm) (18) The content of the "sin" in the equation (18) should normally be
simplifier la description, on la fera ici dans le cas simplify the description, we will do it here in the case
> O e = O On peut faire aisément une vérification dans le cas o e 0, ce qui correspond à ce qui est utilisé généralement. Ensuite, quand on reporte l'équation ( 18) dans l'équation ( 17) et quand on effectue d'autres calculs, on peut obtenir l'équation suivante: cl Ak Bo( 3) =T 2 k sink(u J/2) J cos t( u) x + 2 x 1 + k( 1 + u)/217 du ( 19) A( 3) = L (-1)k Bk = Z 2-k-1 A k B( 3) k= 1 k= O c A * r =/0 _ ( '/2 sin (u/2) k= O O cos (c u)x + 2 u 1 + k( 1 + u)/23 i du ( 20) A partir de cette équation, relation suivante: on obtient la du > O e = O We can easily check in the case where 0, which corresponds to what is generally used. Then, when equation (18) is transferred to equation (17) and other calculations are performed, the following equation can be obtained: cl Ak Bo (3) = T 2 k sink (u J / 2) J cos t (u) x + 2 x 1 + k (1 + u) / 217 of (19) A (3) = L (-1) k Bk = Z 2 -k-1 A k B (3) ) k = 1 k = O c A * r = / 0 _ ('/ 2 sin (u / 2) k = OO cos (cu) x + 2 u 1 + k (1 + u) / 23 i of (20) ) From this equation, following relation: we obtain the
IA( 3)), 57 -/2IA (3)), 57 - / 2
( 21) On va maintenant prendre en considération la somme partielle suivante faisant partie de Z dans l'équation ci-dessus: o Cz A'( 3) = _ > sink (u'j/2 2 k = O du ( 22) Si c < 1, |sin (u Y'/2)À ne dépasse pas 1 ( 1 sin(u 5/2)kl Par conséquent, si r est une constante telle que | < 1, on obtient la relation suivante: C>-I 1 sink (u-W 12) ( 3 c L P 2 A'( 3) = 5 17 X sink (u-}->/2)1 du k=O K k=O 1 1-r r= 1 -r ( 23) Dans l'équation indiquée plus haut, le terme A'( 3) devient fini quand p cib Par conséquent, puisque la somme partielle est finie, A( 3) converge en se basant sur le théorème de Weierstarass suivant (21) We will now consider the following partial sum of Z in the equation above: o Cz A '(3) = _> sink (u'j / 2 2 k = O of (22) If c <1, | sin (u Y '/ 2) To not exceed 1 (1 sin (u 5/2) kl Therefore, if r is a constant such that | <1, we obtain the following relation: C > -I 1 sink (uW 12) (3 c LP 2 A '(3) = 5 17 X sink (u -} -> / 2) 1 of the k = OK k = O 1 1 -rr = 1 -r ( 23) In the above equation, the term A '(3) becomes finite when p cib Therefore, since the partial sum is finite, A (3) converges based on the following Weierstarass theorem
lequel la série initiale converge.which the initial series converges.
Le premier terme A( 1) de l'équation ( 15) converge sensiblement de la même manière que celle qui a été décrite ci-dessus Le deuxième terme A( 2) de The first term A (1) of equation (15) converges substantially in the same manner as that described above. The second term A (2) of
l'équation ( 15) est manifestement une constante finie. equation (15) is clearly a finite constant.
Par conséquent, Ax qui est représenté par l'équation Therefore, Ax which is represented by the equation
( 15) converge.(15) converges.
La description qui précède a montré que la The above description has shown that the
somme de la série basée sur la méthode de conversion d'Euler convergeait dans le cas de l'onde sinusoïdale sum of the series based on the Euler conversion method converged in the case of the sine wave
(X< 1).(X <1).
De façon plus précise, la somme de la série basée sur la méthode de conversion d'Euler peut être déterminée et sa convergence peut être assurée même si l'on peut ou si l'on ne peut pas utiliser une série d'un type tel que les préfixes soient inversés en alternance, comme dans le cas + + -, Si cette méthode est appliquée à l'interpolation de données, on peut réaliser une More precisely, the sum of the series based on the Euler conversion method can be determined and its convergence can be ensured even if one can or can not use a series of such a type. prefixes are inverted alternately, as in the case + + -, if this method is applied to the interpolation of data, we can realize a
interpolation plus efficace.more efficient interpolation.
On notera que la présente description It will be noted that the present description
mentionne pour la première fois que la méthode de conversion d'Euler peut être appliquée même si une mentions for the first time that the Euler conversion method can be applied even if a
série à termes croisés est incomplète. cross-terms series is incomplete.
Un autre point important consiste en ce que le procédé de sommation d'une série basé sur la méthode de conversion d'Euler assure un calcul efficace de l'équation ( 3) On effectue alors simplement un calcul linéaire concernant les données d'entrée Par conséquent, ce procédé peut être mis en pratique pour des signaux d'un type tel que toutes les ondes sinusoïdales, à la condition que r L < 1, soient superposées l'une à l'autre Il peut aussi être mis en pratique pour toutes les ondes sinusoïdales, à la condition que o C<l Cette condition o&<l indique que la fréquence est égale ou inférieure à la moitié de la fréquence d'échantillonnage Par conséquent, le présent procédé peut être mis en application pour des signaux Another important point is that the summation method of a series based on the Euler conversion method provides an efficient calculation of the equation (3). therefore, this method can be practiced for signals of a type such that all sine waves, provided that r L <1, are superimposed on one another It can also be practiced for all sine waves, provided that o C <1 This condition o & <l indicates that the frequency is equal to or less than half of the sampling frequency Therefore, the present method can be applied for signals
ayant des formes d'ondes diverses.having various waveforms.
En outre, suivant le procédé d'interpolation ci-dessus qui fait usage d'une méthode de sommation de séries basée sur la méthode de conversion d'Euler, le nombre de données utilisées par le calcul d'une série est fortement réduit par comparaison avec le cas o la série initiale est directement calculée en se basant sur le théorème d'échantillonnage On peut ainsi obtenir une grande efficacité des calculs Cependant, étant donné que le nombre de calculs de séries augmente lorsque l'ordre de différence de pas L le plus élevé croît pour le calcul spécifique d'une progression à différence arithmétique de pas, cette difficulté n'est pas résolue De façon plus précise, il est nécessaire d'effectuer des soustractions, un nombre de fois égal à K(K+ 1)/2, entre des expressions de relations pour déterminer la suite à différence de pas du Kième ordre, comme cela est facile à comprendre à partir du graphique décrit plus haut Par conséquent, quand on fait croître l'ordre de différence des pas L le plus élevé pour accroître la précision des calculs, le nombre des calculs de séries croit approximativement en In addition, following the interpolation method above which makes use of a series summation method based on the Euler conversion method, the number of data used by the computation of a series is greatly reduced by comparison. with the case where the initial series is directly calculated based on the sampling theorem One can thus obtain a high efficiency of the calculations However, since the number of series computations increases when the order of difference of pitch L the higher increases for the specific calculation of a progression with arithmetic difference of step, this difficulty is not solved More precisely, it is necessary to perform subtractions, a number of times equal to K (K + 1) / 2, between expressions of relations to determine the sequence of steps of the kth order, as it is easy to understand from the graph described above. the order of the difference of the highest L steps to increase the accuracy of the calculations, the number of series calculations increases approximately
proportion de L 2.proportion of L 2.
En conséquence, on propose la solution As a result, we propose the solution
suivante pour le calcul à partir de l'équation ( 11). next for the calculation from equation (11).
Une suite à différence de pas du kième ordre AK Bo est donnée sous la forme d'une combinaison du premier ordre de valeurs qui sont B 0, B 1,, BK (obtenues par inversion du préfixe des valeurs de chaque terme de la série initiale) Par conséquent, comme l'équation ( 11) le montre clairement, la somme S de la série est aussi donnée sous forme d'une combinaison du premier ordre des valeurs B 0, B 1,, BK De plus, il est judicieux de mentionner que la somme S est donnée sous la forme d'une combinaison du A kb order difference sequence AK Bo is given as a combination of the first order of values which are B 0, B 1 ,, BK (obtained by inverting the prefix of the values of each term of the initial series Therefore, as equation (11) clearly shows, the sum S of the series is also given as a combination of the first order of the values B 0, B 1 ,, BK Moreover, it is advisable to mention that the sum S is given in the form of a combination of the
premier ordre de B 0, -B 1, B 2,, (-1)KBK. first order of B 0, -B 1, B 2 ,, (-1) KBK.
C'est-à-dire la somme S peut être représentée par l'équation suivante: That is, the sum S can be represented by the following equation:
S = K BK =( 1)K ( 24)S = K BK = (1) K (24)
k k En d'autres termes, une valeur d'interpolation SL peut être représentée par le produit scalaire de vecteurs de données d'entrée (Bo, -B 1,, (-1)LBL et de vecteurs de coefficients d'interpolation In other words, an interpolation value SL may be represented by the scalar product of input data vectors (Bo, -B 1 ,, (-1) LBL and interpolation coefficient vectors.
(H'0, H'1,, H'L).(H'0, H'1 ,, H'L).
Il est à noter qu ele produit scalaire donne It should be noted that the dot product gives
Xi.Yi quand on a des vecteurs Xi et Yi. Xi.Yi when we have vectors Xi and Yi.
On va maintenant décrire un exemple dans lequel des valeurs respectives de H'K sont indiquées au temps o les suites à différence de pas de l'ordre O au An example will now be described in which respective values of H'K are indicated at the time o the step difference sequences of the order O at
3 ème ordre sont utilisées.3rd order are used.
différence de pas ou degré zéro: É Bo: Bo différence de pas du ler ordre L 1 Bo: Bo Bl différence de pas du 2 ème ordre: 2 Bo: Bo 2 B 1 + B 2 différence de pas du 3 ème ordre: 3 B O: Bo 3 B 1 + 3 B 2B 3 ( 25) La somme de la série initiale est alors déterminée par l'équation suivante: difference of step or degree zero: É Bo: Bo difference of step of the first order L 1 Bo: Bo Bl difference of step of the 2nd order: 2 Bo: Bo 2 B 1 + B 2 difference of step of the 3rd order: 3 BO: Bo 3 B 1 + 3 B 2B 3 (25) The sum of the initial series is then determined by the following equation:
- 3 3- 3 3
53 = 221 LVOB=Z H K( 1)X ( 26)53 = 221 LVOB = Z H K (1) X (26)
k= O k= O = ( 1/2)Bo + ( 1/4)(Bo-B 1) + ( 1/8) (Bo -2 B 1 + B 2) + ( 1/16) (Bo 3 B 1 + 3 B 2 B 3) = 0,9375 Bo 0,6875 B 1 + 0, 3125 B 20,0625 B 3 ( 27) H'o = 0,9375, H' = 0,6875, H'2 = 0,3125 k = O k = O = (1/2) Bo + (1/4) (Bo-B 1) + (1/8) (Bo -2 B 1 + B 2) + (1/16) (Bo 3 B 1 + 3 B 2 B 3) = 0.9375 Bo 0.6875 B 1 + 0, 3125 B 20.0625 B 3 (27) H'o = 0.9375, H '= 0.6875, H'2 = 0.3125
H'3 = 0,0625H'3 = 0.0625
De même, on va donner une autre description Similarly, we will give another description
concernant un exemple dans lequel des valeurs respectives de H'K sont indiquées, en utilisant des suites à différence de pas de l'ordre zéro jusqu'au 4 ème ordre Dans ce cas, on obtient pour H'K le résultat suivant: H'o = 0,9685, H'1 = 0,875, H'2 = 0,5, concerning an example in which respective values of H'K are indicated, using sequences with a step difference of the order zero to the 4th order In this case, we obtain for H'K the following result: H ' o = 0.9685, H'1 = 0.875, H'2 = 0.5,
\ H'3 = 0,1875, H'4 = 0,03125 ( 28)H '3 = 0.1875, H'4 = 0.03125 (28)
Quand on utilise des suites à différence de pas de l'ordre O à l'ordre L, on obtient pour H'K l'expresssion générale suivante: L-K H',i 2= y ki ici ( 29) H'., =-2-i K Kic i=O When one uses sequences with a difference of steps from order O to order L, one obtains for H'K the following general expression: LK H ', i 2 = y ki here (29) H'., = -2-i K Kic i = O
o K+i Ci est un coefficient binomial. o K + i Ci is a binomial coefficient.
De plus, n Cr est déterminé comme suit: n Cr = nl/(n-r)lrl ( 30) Parconséquent, si l'on effectue à l'avance une détermination de l'ordre auquel on doit calculer la progression à différence de pas et si l'on calcule à l'avance, comme décrit plus haut, le coefficient H'KK (o K = 0,1,), la donnée d'interpolation SL peut être déterminée immédiatement conformément à l'équation ( 24) Puisque le calcul de l'équation ( 25) est achevé en effectuant simplement le calcul de la somme des produits L+l fois, le procédé décrit plus haut peut réduire considérablement le temps des calculs et avoir un effet remarquable par comparaison avec le procédé (dans lequel on doit effectuer une soustraction sensiblement L 2 fois) dans lequel on effectue chaque calcul d'ordre de différence de pas et on détermine ensuite la somme de la série en se basant sur la" In addition, n Cr is determined as follows: n Cr = nl / (nr) lrl (30) Therefore, if a determination of the order in which the progression is to be made in step difference is made in advance. if the coefficient H'KK (o K = 0,1,) is calculated in advance, the interpolation data SL can be determined immediately according to equation (24). The calculation of equation (25) is completed by simply calculating the sum of the products L + 1 time, the method described above can considerably reduce the computation time and have a remarkable effect compared with the method (in which subtraction substantially L 2 times) in which each pitch difference order calculation is performed and then the sum of the series is determined based on the "
méthode de conversion d'Euler.Euler conversion method.
L'invention a donc pour but de pallier les insuffisances mentionnées précédemment et concerne à cet effet, suivant un premier aspect, un procédé pour effectuer une interpolation efficace de données i si 30 numériques désirées dans une série de données ?' numériques {Ak obtenues par échantillonnage de données analogiques à des intervalles de temps réguliers, aux instants de points intermédiaires respectifs entre des données numériques respectives voisines, en utilisant des coefficients t CK 3, caractérisé en ce qu'il comporte les étapes dans lesqulles: on calcule les produits t Dkl de la série de données numériques {Aki et des coefficients CK, on divise les produits S Dk en trois parties indiquées ci-après: -N < K < N, K > N+ 1 et K < -N-1, on additionne simplement et directement les données numériques quand -N < K < N et on désigne par 50 le résultat de l'addition, on calcule la somme respective des données numériques conformément à la méthode de conversin d'Euler quand K > N+ 1 et K < -N-l, en désignant respectivement par S+ et S les résultats ainsi calculés et en représentant la donnée It is therefore an object of the invention to overcome the aforementioned shortcomings and for this purpose, according to a first aspect, to provide a method for efficiently interpolating desired digital data in a series of data. Numbers {Ak obtained by sampling analog data at regular time intervals, at times of respective intermediate points between respective neighboring digital data, using coefficients t CK 3, characterized in that it comprises the steps in which they: computes the products t Dk1 of the series of numerical data {Aki and coefficients CK, the products S Dk are divided into three parts indicated below: -N <K <N, K> N + 1 and K <-N-1 the numerical data are simply and directly added when -N <K <N and the result of the addition is denoted by 50, the respective sum of the numerical data is calculated according to the Euler's conversin method when K> N + 1 and K <-Nl, respectively denoting by S + and S the results thus calculated and by representing the data
d'interpolation par SO + S+ + S-.interpolation by SO + S + + S-.
Suivant un deuxième aspect, la présente invention concerne un procédé pour effectuer une interpolation efficace de données numériques désirées dans une série de données numériques J Ak} obtenues par échantillonnage de données analogiques à des intervalles de temps réguliers, aux instants de points intermédiaires respectifs entre des données numériques respectives voisines en utlisant des coefficients LCK, caractérisé en ce qu'il comporte les étapes dans lesquelles: on calcule les produits D) de la série de données numériques Ak$ et des coefficients %C Ki, on According to a second aspect, the present invention relates to a method for efficiently interpolating desired digital data in a series of digital data J Ak} obtained by sampling analog data at regular time intervals, at times of respective intermediate points between respective digital data by using LCK coefficients, characterized in that it comprises the steps in which: the products D) of the series of digital data Ak $ and the coefficients% C Ki are calculated,
divise les produits (Dk S en trois parties indiquées ci- divides the products (Dk S into three parts indicated
après: K > 1, K < -1 et K = 0, on calcule la somme des' / after: K> 1, K <-1 and K = 0, we calculate the sum of the
données numériques conformément à la méthode de- numerical data in accordance with the method
conversion d'Euler quand K > 1 et K < -1, en désignant les résultats ainsi calculés respectivement par S et S quand K > 1 et K < -1 et en ajoutant directement S+ et S à SO O quand K = O (SO est obtenu sans aucun t 30 traitement de données), de manière à représenter la Euler conversion when K> 1 and K <-1, designating the results thus calculated respectively by S and S when K> 1 and K <-1 and by directly adding S + and S to SO O when K = O (SO is obtained without any data processing), so as to represent the
donnée d'interpolation par le résultat de l'addition. interpolation data by the result of the addition.
0 ^ Suivant un troisième aspect, la présente invention concerne un procédé pour effectuer une interpolation efficace entre des données numériques désirées parmi une suite de données numériques t Ak obtenues par échantillonnage de données analogiques à des intervalles de temps réguliers, aux instants de points intermédiaires respectifs entre des données numériques respectives voisines, en utilisant des coefficients tc K, caractérisé en ce qu'il comporte les étapes dans lesqulles: on calcule les produits (DM de la série de données numériques {Ak 3 et des coefficients t CKJ en trois parties indiquées ci- après: -N < K < N, K > N+l et K < -N-i, on additionne simplement et directement les données numériques quand -N < K < N avec un ordre de différence de pas le plus élevé égal à L, en désignant par SO le résultat ainsi obtenu par addition, on effectue les produits scalaires de vecteurs de données d'entrée (DN+ 1, DN+ 2,, DN+L+î), les termes correspondants des produits t Dks étant représentés par des composantes vectorielles respectives, et de vecteurs de coefficients d'interpolation préparés (H'o, H'1,, K'L) quand K > N+ 1, en calculant la somme des produits scalaires quand K > N+ 1 conformément à la méthode de conversion d'Euler, en désignant le résultat ainsi calculé par S+, on effectue les produits scalaires de vecteurs de données d'entrée (D_N_i), DN_ 2,, D _N Li),les termes correspondants des produits {Dk\ étant représentés par des composantes vectorielles respectives, et des vecteurs de coefficients' d'interpolation préparés (H'o, H'I,, H'L) quand K < -N-1, en calculant la somme des produits scalaires quand K < -N-l conformément à la méthode de conversion d'Euler, en désignant le résultat ainsi calculé par S_ et en représentant ensuite la donnée d'interpolation According to a third aspect, the present invention relates to a method for efficiently interpolating between desired digital data among a series of digital data t Ak obtained by sampling analog data at regular time intervals at the respective intermediate point times. between respective adjacent digital data, using coefficients tc K, characterized in that it comprises the steps in which they: the products (DM of the series of digital data {Ak 3 and the coefficients t CKJ in three indicated hereinafter: -N <K <N, K> N + 1 and K <-Ni, the numerical data is simply and directly added when -N <K <N with the highest order of difference of pitch equal to L denoting by SO the result thus obtained by addition, the scalar products of input data vectors (DN + 1, DN + 2 ,, DN + L + 1) are carried out, the corresponding terms being s Dks products being represented by respective vector components, and prepared interpolation coefficient vectors (H'o, H'1 ,, K'L) when K> N + 1, calculating the sum of scalar products when K> N + 1 according to the Euler conversion method, designating the result thus calculated by S +, the scalar products of input data vectors (D_N_i), DN_ 2 ,, D _N Li) are carried out, the terms corresponding products {Dk \ being represented by respective vector components, and prepared interpolation coefficients vectors (H'o, H'I ,, H'L) when K <-N-1, calculating the sum scalar products when K <-Nl according to the Euler conversion method, designating the result thus calculated by S_ and then representing the interpolation datum
par SO + S+ + S-.by SO + S + + S-.
En tant que composante du vecteur de < coefficient H'K pour l'interpolation, on peut utiliser un H'K satisfaisant l'équation suivante: L-K H' = 2-k-i-1 K K ici i=O As a component of the vector of <coefficient H'K for interpolation, one can use an H'K satisfying the following equation: L-K H '= 2-k-i-1 K K here i = O
o K + l Ci est un coefficient binomial. o K + l Ci is a binomial coefficient.
Suivant un autre aspect, la présente invention concerne un procédé pour effectuer une interpolation efficace de données numériques désirées dans une suite de données numériques {Ak obtenues par échantillonnage de données analogiques à des intervalles de temps réguliers, aux instants de points intermédiaires respectifs entre des données numériques respectives voisines, en utilisant des coefficients CK, caractérisé en ce qu'il comporte les étapes dans lesquelles: on utilise des vecteurs sommes équivalents (H"K) déterminés par l'équation ci-après en considérant des vecteurs de données d'entrée Dk ayant des termes respectifs des produits Dkl de la série de données numériques 1 Ak et des coefficients t CK} en tant que composantes de ces vecteurs, et on produit une pluralité de produits scalaires des vecteurs de données d'entrée Dk et des vecteurs sommes équivalents (H"K), en déterminant les données d'interpolation à partir des produits scalaires, avec: L-K HK = 2 ki +ii ci i=O H"K =H'-K-L-1 si K < -N-1 = 1 si KI < N In another aspect, the present invention relates to a method for efficiently interpolating desired digital data in a series of digital data {Ak obtained by sampling analog data at regular time intervals, at times of respective intermediate points between data. respective adjacent numerals, using coefficients CK, characterized in that it comprises the steps in which: equivalents equivalent sums (H "K) determined by the following equation are used by considering input data vectors Dk having respective product terms Dk1 of the digital data series 1 Ak and coefficients t CK} as components of these vectors, and producing a plurality of scalar products of the input data vectors Dk and the sums vectors equivalents (H "K), by determining the interpolation data from scalar products, with: L -K HK = 2 ki + ii ci i = O H "K = H'-K-L-1 if K <-N-1 = 1 if KI <N
= H'K-L-1 si K > N+l.= H'K-L-1 if K> N + 1.
'à Suivant un autre aspect, la présente |,# invention concerne un circuit pour effectuer une interpolation entre des données numériques, caractérisé en ce qu'il comporte une mémoire de données pour mémoriser un nombre fini de données numériques introduites l'une après l'autre à partir d'une unité extérieure, une mémoire de coefficients pour mémoriser des valeurs numériques précalculées en tant que données de coefficients, un circuit de calcul de produits pour calculer une pluralité de données de produits Dk entre des données numériques d'entrée Ak et des données de coefficients CK lues respectivement dans la mémoire de données et la mémoire de coefficients sous le contrôle d'un circuit de commande, un circuit de calcul de progression à différence arithmétique de pas pour calculer des données de différences de pas en partant d'un ordre O à partir de la pluralité de données de produits Dk, un circuit de calcul et de sommation d'Euler pour calculer la somme des données de différences de pas conformément à la méthode de conversion d'Euler, et un circuit additionneur pour calculer la somme des données calculées et sommées par le circuit de calcul et de sommation d'Euler et de la pluralité de données de produits Dk, de manière à According to another aspect, the present invention relates to a circuit for interpolating between digital data, characterized in that it comprises a data memory for storing a finite number of digital data introduced one after the other. from an external unit, a coefficient memory for storing precomputed numerical values as coefficient data, a product calculating circuit for calculating a plurality of product data Dk between digital input data Ak and CK coefficient data respectively read from the data memory and the coefficient memory under the control of a control circuit, a step arithmetic difference calculation circuit for calculating step difference data starting from an order O from the plurality of product data Dk, a calculation and summation circuit of Euler to calculate the a sum of the pitch difference data according to the Euler conversion method, and an adder circuit for calculating the sum of the data calculated and summed by the Euler calculating and summing circuit and the plurality of product data Dk, so
fournir à sa sortie le résultat ainsi calculé. provide at its output the result thus calculated.
De préférence, le circuit de commande est mis en action de manière à diviser les données numériques d'entrée en un premier ensemble d'un petit nombre de données numériques spécifiées et d'un deuxième ensemble de données numériques autres que les données numériques spécifiées, et pour envoyer une instruction d'identification du premier ensemble ou du deuxième ensemble au circuit de calcul de produits, et le circuit de calcul de produits envoie directement les données de produits des données numériques d'entrées lues dans la mémoire de coefficients et les données de coefficients lues dans la mémoire de coefficients, dans le cas du premier ensemble, au circuit additionneur et y mémorise les données de produits l'une après l'autre, de manière à envoyer les données de produits ainsi mémorisées au circuit de calcul de différences arithmétiques de pas quand le nombre des données de Preferably, the control circuit is operated to divide the input digital data into a first set of a small number of specified digital data and a second set of digital data other than the specified digital data. and to send an identification instruction of the first set or the second set to the product calculation circuit, and the product calculation circuit directly sends the product data of the input digital data read from the coefficient memory and the data. coefficients read in the coefficient memory, in the case of the first set, to the adder circuit and stores therein the product data one after the other, so as to send the stored product data to the difference calculating circuit arithmetic steps when the number of data from
produits mémorisées atteint une valeur prédéterminée. stored products reaches a predetermined value.
--
Suivant le procédé du premier aspect les données de produits {Dkl sont divisées en trois parties, à savoir 1) -N < K < N, 2) K > N+ 1, et 3) K < -N-1 Puis, les données sont simplement et directement additionnées entre elles pour la partie 1), en désignant le résultat de l'addition par 50 En outre, la méthode de conversion d'Euler est utilisée pour la partie 2) et la partie 3), de manière à déterminer les sommes de données respectives, en désignant respectivement les résultats ainsi calculés par S+ et S-, la somme des données de produits t Dk}, c'est-à-dire la valeur d'interpolation, étant représentée par 50 + Si+ S- En conséquence, on peut effectuer une interpolation entre les données plus précise et avec une grande efficacité Les valeurs respectives de la série 2) et de la série 3) auxquelles la méthode de conversion d'Euler doit être appliquée deviennent plus faibles Il en est ainsi parce que S+ et S convergent plus rapidement et que les valeurs absolues de S+ et S According to the method of the first aspect the product data {Dk1 are divided into three parts, namely 1) -N <K <N, 2) K> N + 1, and 3) K <-N-1 Then, the data is simply and directly added together for Part 1), designating the result of addition by 50. In addition, the Euler conversion method is used for Part 2) and Part 3), in order to determine the sums of respective data, respectively designating the results thus calculated by S + and S-, the sum of the product data t Dk}, that is to say the interpolation value, being represented by 50 + Si + S- En As a result, the data can be interpolated more precisely and with high efficiency. The respective values of the series 2) and the series 3) to which the Euler conversion method is to be applied become weaker. This is so because that S + and S converge faster and that the absolute values es of S + and S
deviennent plus faibles que la valeur de 50. become lower than the value of 50.
Suivant le procédé du deuxième aspect, les produts l Dki sont divisés en trois parties, à savoir 1) K = 0, 2) K > 1 et 3) K < -1 Puis les données sont simplement additionnées entre elles dans le cas de 1),' en désignant le résultat de l'addition par 50 En outre, la méthode de conversion d'Euler est utilisée pour la partie 2) et la partie 3), de manière à calculer les sommes de données respectives, en désignant respectivement les résultats ainsi calculés - 30 par S+ et S- La somme des produits t Dk} est alors > représentée par SO + S+ + S- Ce faisant, l'addition > des données dans le cas de la partie 1) peut essentiellement ne pas être effectuée (il en est ainsi parce qu'il n'y a qu'un seul terme à ajouter) Il en résulte qu'on simplifie l'ensemble du flux de calcul de données. Suivant le procédé du troisième aspect, les produits t Dkl sont divisés en trois parties, à savoir 1) -N < K < N, 2) K > N + 1 et 3) K < -N 1 Les données numériques sont simplement -et directement additionnées entre elles pour la partie 1), en désignant le résultat de l'addition par SO En outre, le calcul des produits scalaires des vecteurs, entièrement équivalent à la méthode de conversion d'Euler est effectué pour la partie 2) et la partie 3), en désignant respectivement les résultats du calcul par S+ et S- On forme ainsi la somme de la série (Dk), c'est-à-dire la valeur d'interpolation, par SO + S+ + S- En conséquence, on peut effectuer de façon efficace une interpolation plus précise entre les données Il n'est donc pas nécessaire d'effectuer un processus gênant tel qu'un calcul spécifique d'une progression à différence arithmétique de pas De plus, les composantes du vecteur (Dk) que l'on doit soumettre au calcul de produits scalaires peuvent être en nombre According to the method of the second aspect, the products 1 Dki are divided into three parts, namely 1) K = 0, 2) K> 1 and 3) K <-1 Then the data are simply added together in the case of 1 In addition, the Euler conversion method is used for part 2) and part 3), so as to calculate the respective sums of data, designating respectively the results thus calculated - by S + and S- The sum of the products t Dk} is then> represented by SO + S + + S- By doing so, the addition> of the data in the case of the part 1) can essentially not be This is because there is only one term to add. As a result, the entire data flow is simplified. According to the method of the third aspect, the products t Dk1 are divided into three parts, namely 1) -N <K <N, 2) K> N + 1 and 3) K <-N 1 The numerical data is simply -and directly added together for part 1), designating the result of the addition by SO In addition, the calculation of the scalar products of the vectors, fully equivalent to the Euler conversion method is performed for part 2) and the part 3), respectively designating the results of the calculation by S + and S-. Thus, the sum of the series (Dk), ie the interpolation value, is formed by SO + S + + S-. , it is not necessary to carry out an annoying process such as a specific computation of a progression with arithmetic difference of step Moreover, the components of the vector ( Dk) that one must submit to the calculation of scalar products can be in no mber
réduit.reduced.
L'ordre de différence de pas le plus élevé est désigné par L, le produit scalaire du vecteur de coefficient (H'K), déterminé conformément aux équations ( 29) et ( 30), et le vecteur de données d'entrée (Dk)l, étant effectué pour déterminer ainsi immédiatement S et S. Suivant le procédé du quatrième aspect, l'ordre de différence de pas le plus élevé est fixe L avec des vecteurs de données d'entrée (Dk) ayant des termes correspondants de la série de données de { produits t Dkl qui constituent les composantes de ces À vecteursDe plus, on utilise le vecteur somme équivalent (H"K) déterminé par les équations ci-après et on effectue les produits scalaires des vecteurs de données d'entrée et de (H"K) En conséquence, on peut effectuer un calcul exactement équivalent à la méthode de conversion d'Euler sans calculer effectivement la progression à différence arithmétique de pas et avec un nombre d'opérations de calcul réduit, ce qui rend possible d'interpoler entre les données avec une précision élevée Les équations sont alors The highest pitch difference order is designated L, the scalar product of the coefficient vector (H'K), determined according to equations (29) and (30), and the input data vector (Dk 1) being performed to thereby immediately determine S and S. According to the method of the fourth aspect, the highest pitch difference order is fixed L with input data vectors (Dk) having corresponding terms of the The data series of {products t Dk1 which constitute the components of these vectors. In addition, the equivalent sum vector (H "K) determined by the following equations is used and the scalar products of the input and of (H "K) Consequently, a computation exactly equivalent to the Euler conversion method can be carried out without actually calculating the progression with arithmetic difference of steps and with a number of operations of reduced computation, which makes it possible to 'interp oler between the data with high precision The equations are then
L-KL-K
K' i 2 ki 2 K+ici i=o HIK = HI-K-L-1 si K < -N 1 = 1 si IKI < N = H'K-L-l si K > N+ 1 Le circuit d'interpolation suivant la présente invention peut être constitué uniquement au moyen de circuits numériques Par conséquent, les coûts de fabrication du matériel peuvent être fortement réduits parce que le circuit est à base de puces à K 'i 2 ki 2 K + here i = o HIK = HI-KL-1 if K <-N 1 = 1 if IKI <N = H'KL1 if K> N + 1 The interpolation circuit according to the present invention can therefore, hardware manufacturing costs can be greatly reduced because the circuit is chip-based
haute intégration.high integration.
Le circuit d'interpolation peut être constitué de manière que si l'on utilise un ensemble de données spécifiées ne nécessitant pas la méthode de conversion d'Euler pour déterminer leur somme, les données de produits provenant du circuit de calcul de produits sont envoyées directement à l'additionneur, tandis que si l'on utilise un enemble de données autres que les données spécifiées, les données de produits sont mémorisées l'une après l'autre dans le circuit de calcul de produits et, quand le nombre des données de produits ainsi mémorisées atteint un nombre prédéterminé, les données ainsi mémorisées sont envoyées au circuit de calcul de la progression à différence arithmétique de pas On peut alors effectuer entre les données une interpolation efficace de haute précision. The interpolation circuit may be constructed such that if a set of specified data that does not require the Euler conversion method is used to determine their sum, the product data from the product calculation circuit is sent directly. to the adder, whereas if a data set other than the specified data is used, the product data is stored one after the other in the product calculation circuit and, when the number of data of The stored products thus reach a predetermined number, the data thus stored are sent to the arithmetic difference progression calculation circuit. It is then possible to carry out an efficient interpolation of high precision between the data.
L'invention est décrite plus en détail ci- The invention is described in more detail below.
après en se référant aux dessins annexés représentant notamment des exemples de réalisation de l'invention, dessins dans lesquels: la figure 1 est un schéma fonctionnel d'un circuit d'interpolation de données suivant la présente invention, les figures 2 a à 2 c sont des organigrammes relatifs à une opération d'interpolation du circuit d'interpolation de données, la figure 3 est un graphique représentant une suite de données numériques, la figure 4 a et la figure 4 b sont des graphiques destinés à expliquer la nécessité de l'interpolation entre des données numérique, la figure 5 a et la figure 5 b sont des graphiques destinés à expliquer l'interpolation avec un paramètre de temps X, la figure 6 est un shéma fonctionnel représentant un circuit d'interpolation de données classique, la figure 7 a et la figure 7 b sont des graphiques destinés à expliquer l'introduction des données dans le circuit d'interpolation de données suivant la figure 6, la figure 8 est un organigramme de fonctionnement du circuit d'interpolation de données suivant la figure 6, les figures 9 a à 9 d sont des graphiques de fonctionnement en fonction du temps d'un circuit d'interpolation de données classique d'un autre type, la figure 10 est un schéma fonctionnel d'un filtre passe-bas utilisé dans le circuit d'interpolation de données suivant la figure 9, la figure il est un schéma fonctionnel d'un autre circuit d'interpolation de données connu et classique, la figure 12 est un schéma fonctionnel d'un convertisseur de fréquence d'échantillonnage dans lequel la présente invention est mise en application, et la figure 13 est un schéma fonctionnel d'un système optique de télévision collective comportant un convertisseur de fréquence d'échantillonnage suivant la FIG. 1 is a block diagram of a data interpolation circuit according to the present invention, FIGS. 2a to 2c, with reference to the appended drawings showing exemplary embodiments of the invention. are flowcharts relating to an interpolation operation of the data interpolation circuit, Fig. 3 is a graph showing a sequence of digital data, Fig. 4a and Fig. 4b are graphs for explaining the need for data interpolation. interpolation between digital data, Figure 5a and Figure 5b are graphs for explaining the interpolation with a time parameter X, Figure 6 is a block diagram showing a conventional data interpolation circuit, the FIG. 7a and FIG. 7b are graphs for explaining the introduction of the data into the data interpolation circuit according to FIG. 6, FIG. an operating flowchart of the data interpolation circuit according to FIG. 6, FIGS. 9a to 9d are graphs of operation as a function of time of a conventional data interpolation circuit of another type, FIG. 10 is a block diagram of a low pass filter used in the data interpolation circuit according to FIG. 9, FIG. 11 is a block diagram of another known and conventional data interpolation circuit, FIG. is a block diagram of a sampling frequency converter in which the present invention is implemented, and FIG. 13 is a block diagram of a collective television optical system having a sampling frequency converter in accordance with FIG.
présente invention.present invention.
Un premier exemple de réalisation de la présente invention sera décrit dans la suite en se référant à la figure 1 et à la figure 2 Un circuit d'interpolation de données suivant le présent exemple de réalisation nécessite l'addition d'un petit nombre de composants de circuit à un circuit d'interpolation de données connu et classique (voir figure 6) Il faut aussi changer des composants de circuit utilisés dans A first exemplary embodiment of the present invention will be described hereinafter with reference to FIG. 1 and FIG. 2. A data interpolation circuit according to the present embodiment requires the addition of a small number of components. circuit to a known and conventional data interpolation circuit (see Figure 6). Circuit components used in
ce circuit d'interpolation.this interpolation circuit.
Le circuit d'interpolation de données représenté sur la figure 1 comporte en plus du circuit d'interpolation de données classique un circuit de calcul de produits 5, un circuit 6 de calcul de The data interpolation circuit shown in FIG. 1 comprises, in addition to the conventional data interpolation circuit, a product calculation circuit 5, a circuit 6 for calculating data.
progression à différence artihmétique de pas (c'est-à- progression with artihmetic difference of steps (ie
dire de degrés), un circuit de calcul et de sommation d'Euler 7 et un additionneur 8 remplaçant le circuit arithmétique 4 représenté sur la figure 6 De façon plus précise, le circuit d'interpolation suivant le présent exemple de réalisation comporte une mémoire de données 2, une mémoire de facteurs ou de coefficients 3, un circuit de calcul de produits 5, un circuit 6 de calcul de progression à différence arithmétique de pas, un circuit de calcul et de sommation d'Euler 7 et un of degrees), an Euler calculating and summing circuit 7 and an adder 8 replacing the arithmetic circuit 4 shown in FIG. 6. More precisely, the interpolation circuit according to the present exemplary embodiment comprises a memory of data 2, a memory of factors or coefficients 3, a product calculation circuit 5, an arithmetic difference progression calculation circuit 6, a calculation and summation circuit of Euler 7 and a
circuit de commande 1.control circuit 1.
On va donner ci-après un résumé des opérations de fonctionnement du circuit d'interpolation We will give below a summary of the operation operations of the interpolation circuit
de données.of data.
La mémoire de données 2 sert à mémoriser l'une après l'autre des données numériques d'entrée en nombre fini provenant d'une unité extérieure La mémoire de coefficients 3 mémorise, en tant que données The data memory 2 serves to store, one after the other, the numerical data of the finite number input from an external unit. The coefficient memory 3 stores, as data
de coefficients, des valeurs calculées à l'avance. coefficients, values calculated in advance.
Le circuit de commande 1 divise à l'avance les données numériques d'entrée en un groupe ou ensemble d'un petit nombre de données spécifiées et en un groupe ou ensemble de données autres que celles du petit nombre de données spécifiées Ce circuit de commande 1 lit l'une après l'autre les données numériques d'entrée Ak dans la mémoire de données 2 En outre, le circuit de commande 1 lit l'une après l'autre des données de coefficients CK dans la mémoire de coefficients 3 et il combine ces données Ak et CK en un groupe ou ensemble de manière à introduire les données ainsi rassemblées dans le circuit de calcul de The control circuit 1 divides the input digital data in advance into a group or set of a specified small number of data and into a group or set of data other than those of the specified small number of data. 1 reads one after the other the digital input data Ak in the data memory 2 In addition, the control circuit 1 reads one after the other of the coefficient data CK in the coefficient memory 3 and it combines these data Ak and CK into a group or set so as to introduce the data thus collected into the calculation circuit of
produits 5.products 5.
Le circuit de calcul de produits 5 calcule des produits (Dk = Ak CK) des données numériques d'entrée Ak et des données de coefficients CK Quand on utilise l'ensemble de données spécifiées mentionné plus haut et déterminé par une instruction du circuit de commande 1 (par exemple quand le nombre de données est 2 N + 1 avec - N < K < N), le circuit de calcul de produits 5 envoie directement les produits ainsi calculés à l'additionneur 8 D'autre part, quand on utilise l'ensemble de données autre que l'ensemble de données spécifiées, le circuit de calcul de produits 5 mémorise l'un après l'autre des produits de données numériques Ak et de données de coefficients CK* Quand le nombre des données des produits ainsi mémorisés atteint un nombre prédéterminé (par exemple le nombre de données correspondant à L + 1 qui comprend DN+î à DÉN++L, D Nl à D_N L-1,), le circuit 1 envoie une instruction au circuit de calculs de produits 5, de manière à envoyer une pluralité de données qui y sont mémorisées au circuit 6 de calcul de progression à The product calculation circuit 5 calculates products (Dk = Ak CK) input digital data Ak and coefficient data CK. When using the specified data set mentioned above and determined by an instruction of the control circuit 1 (for example when the number of data is 2N + 1 with - N <K <N), the product calculation circuit 5 directly sends the products thus calculated to the adder 8 On the other hand, when using the set of data other than the set of data specified, the product calculation circuit 5 stores one after the other of the digital data products Ak and the coefficient data CK * When the number of the data of the products thus stored reaches a predetermined number (for example the number of data corresponding to L + 1 which comprises DN + 1 to DEN ++ L, D N1 to D_N L-1), the circuit 1 sends an instruction to the product calculation circuit 5 , so as to send a plural data stored therein at circuit 6 for calculating progress at
différence arithmétique de pas.arithmetic difference of step.
Le circuit 6 de calcul de progression à différence arithmétique de pas calcule une suite de différences de pas commençant à l'ordre O à partir d'une pluralité de ces données Dk jusqu'au Lième ordre au maximum quand le nombre de données est L+ 1), de manière à produire des données de différences de pas Eo, El, Ensuite, le circuit 6 de calcul de progression à différence arithmétique de pas envoie au circuit de sommation d'Euler 7 les données de différences de pas ainsi produites E 0, E 1, Le circuit de sommation d'Euler 7, calcule la somme d'Euler de ces données de différences de pas conformément à la méthode de conversion d'Euler et il The step arithmetic difference calculation circuit 6 calculates a sequence of pitch differences beginning at the order O from a plurality of these data Dk up to the maximum Lth order when the number of data is L + 1. ), so as to produce pitch difference data Eo, El, Then, the arithmetic difference progression calculating circuit 6 sends to the summation circuit of Euler 7 the pitch difference data thus produced E 0, E 1, the summation circuit of Euler 7, calculates the Euler sum of these pitch difference data in accordance with the Euler conversion method and
envoie le résultat de ses calculs à l'additionneur 8. sends the result of its calculations to the adder 8.
L'additionneur 8 calcule la somme des données fournies par le circuit de sommation d'Euler 7 et des données de produits fournies directement par le circuit de calcul de produits 5 Cet additionneur 8 fournit à sa sortie le résultat correspondant à la somme ainsi calculée Après que l'additionneur 8 ait fourni ce résultat de somme, cet additionneur 8 efface le contenu de résultat, de manière à effectuer la préparation pour The adder 8 calculates the sum of the data provided by the summing circuit of Euler 7 and the product data supplied directly by the product calculation circuit 5. This adder 8 supplies at its output the result corresponding to the sum thus calculated. that the adder 8 has provided this sum result, this adder 8 erases the result content, so as to perform the preparation for
le calcul suivant.the following calculation.
Après l'achèvement des calculs ci-dessus, le circuit de commande 1 met à jour l'ensemble des données d'entrée et commande les circuits respectifs de manière qu'ils effectuent à nouveau les opérations arithmétiques indiquées plus haut Puis, le circuit de commande 1 sert à terminer le processus mentionné plus haut jusqu'à ce que de nouvelles données soient introduites. Le processus d'interpolation de données peut ainsi être effectué avec une hate précision en utilisant un nombre réduit de données On va décrire l'interpolation des données de façon spécifique dans la After completion of the above calculations, the control circuit 1 updates all the input data and controls the respective circuits so that they perform the above arithmetic operations again. Command 1 is used to complete the process mentioned above until new data is entered. The data interpolation process can thus be performed with high accuracy using a small number of data. Data interpolation will be described specifically in the
suite en se référant à l'organigramme de la figure 2. continued with reference to the flowchart in Figure 2.
Comme représenté sur la figure 2 a, le circuit de commande 1 commence par lire l'un après l'autre les contenus (Ak et CK) mémorisés respectivement dans la mémoire de données 2 et dans la mémoire de coefficients 3 Puis, le circuit de calcul de produits 5 calcule simplement un produit (Dk = Ak CK) de Ak et CK et mémorise le produit ainsi calculé (étapes 10 à 13 = Par conséquent, le produit ainsi calculé est exactement égal à 50 qui a déjà été mentionnée. Ensuite, le circuit de commande 1 sélectionne des données Dk (pour lesquelles N+ 1 < K < N+L+l) auxquelles on doit appliquer la méthode de conversion d'Euler, à partir du circuit de calcul de produits 5 et il envoie les données ainsi sélectionnées Dk au circuit 6 de calcul de progression à différence arithmétique de pas Afin de simplifier l'exposé on ne considèrera que l'hypothèse K > 0 De plus, les indices à appliquer à D sont tous consittués par ceux obtenus en soustrayant N+ 1 de chacun de l'ensemble des indices appliqués aux données d'entrée De façon plus précise, les données introduites dans le circuit 6 de calcul de progression à différence arithmétique de pas sont toutes constituées par Do à DL en partant de DN+l à DN+l+L considérées normalement ainsi Le circuit 6 de calcul de progression à différence arithmétique de pas amène Do à une différencede pas d'ordre zéro Eo (étapes 20 à 22), comme représenté sur la figure 2 b Puis le circuit 6 de calcul de progression à différence arithmétique de pas calcule Dk Dk+l et remplace Dk par le résultat ainsi calculé (étapes 23 et 24) Le circuit 6 de calcul de progression à différence arithmétique de pas As shown in FIG. 2a, the control circuit 1 begins by reading one after the other the contents (Ak and CK) respectively stored in the data memory 2 and in the coefficient memory 3. product calculation 5 simply calculates a product (Dk = Ak CK) of Ak and CK and stores the product thus calculated (steps 10 to 13 = Therefore, the product thus calculated is exactly equal to 50 which has already been mentioned. the control circuit 1 selects data Dk (for which N + 1 <K <N + L + 1) to which the Euler conversion method must be applied, from the product calculation circuit 5 and sends the data as well as selected Dk to the arithmetic difference progression calculation circuit 6 In order to simplify the discussion, we shall consider only the hypothesis K> 0 Moreover, the indices to be applied to D are all consitrated by those obtained by subtracting N + 1 from each of the whole the indexes applied to the input data More specifically, the data input into the arithmetic difference progression calculation circuit 6 are all from D to DL from DN + 1 to DN + 1 + L considered. Normally, the arithmetic difference progression calculating circuit 6 causes Do to a zero-order step difference Eo (steps 20 to 22), as shown in FIG. 2b. Then the arithmetic difference progression calculation circuit 6 step calculates Dk Dk + 1 and replaces Dk by the result thus calculated (steps 23 and 24) The step calculation circuit 6 with arithmetic difference of steps
effectue ce processus de K = O à L-1 (étapes 20 à 25). performs this process from K = 0 to L-1 (steps 20 to 25).
Quand K=L et que le processus de routine passe par les étapes 25 et 26 pour retourner à l'étape 22 après arrêt temporaire du calcul requis, la valeur de Do devient une différence de pas El du ler ordre Au cours de la répétition ultérieure des calculs de différences de pas (étapes 21 à 26), le processus d'un calcul de différence de pas est arrêté temporairement et K devient L-m (K=L-m) De plus, la valeur de Do devient une différence de pas Em du mième ordre au moment o le When K = L and the routine process goes through steps 25 and 26 to return to step 22 after the calculation has been stopped temporarily, the value of C 1 becomes a step difference E 1 of the first order During the subsequent repetition step difference calculations (steps 21 to 26), the process of a step difference calculation is temporarily stopped and K becomes Lm (K = Lm) Moreover, the value of Do becomes a step difference Em of the mth order when the
processus de routine passe par les étapes 25 et 26. Routine process goes through steps 25 and 26.
Un tel processus est effectué de façon continue au cours de l'étape 26 jusqu'à ce que m'atteingne L-1. Quand les différences de pas de l'ordre O jusqu'au Lième ordre ont ainsi été déterminées, les valeurs de différences de pas correspondantes E 0, El, sont envoyées au circuit de calcul et de sommation d'Euler 7 Ce circuit de calcul et de sommation d'Euler 7 calcule la somme de ces valeurs conformément à la formule d'Euler, comme représenté surla figure 2 c (étapes 31 à 35) Il est à noter que la somme de ces valeurs basée sur la formule d'Euler signifie que ' _ 2-k-l Ek est calculée en utilisant des données de la suite à différences de pas {Ek correspondant aux données de la série t Dk L'organigramme de la figure 2 permet de montrer et de décrire que l'on effectue seulement un processus d'addition quand K> O Cependant, le même processus que celui qui correspond au cas de K> O est effectué par le circuit de calcul et de sommation d'Euler 7 mentionné précédemment En d'autres termes, les sommes 2-K Ek et 2 2 K 1 E k sont"' calculées quand K varie en croissant de O à L (K= O à L). Finalement, les deux résultats de calcul par le circuit de calcul et de sommation d'Euler 7 dans les cas de K< O et K> O ainsi que 50 sont additionnés entre xi 30 eux par l'additionneur 8, de manière à fournir à la Such a process is performed continuously in step 26 until I reach L-1. When the pitch differences of the order O up to the Lth order have thus been determined, the corresponding pitch difference values E 0, El are sent to the calculation and summation circuit of Euler 7. Euler summation 7 calculates the sum of these values according to the Euler formula, as shown in Figure 2c (steps 31 to 35). It should be noted that the sum of these values based on the Euler formula means 2-kl Ek is computed using data from the step difference sequence {Ek corresponding to the data of the series t Dk. The flowchart of FIG. 2 makes it possible to show and describe that one performs only one addition process when K> O However, the same process as that which corresponds to the case of K> O is carried out by the calculation and summation circuit of Euler 7 mentioned previously. In other words, the sums 2-K Ek and 2 2 K 1 E k are "'calculated when K varies in increasing from O to L (K = 0 to L) Finally, the two calculation results by the calculating and summing circuit of Euler 7 in the cases of K <0 and K> O as well as 50 are added between xi 30 by the adder 8, so as to provide the
sortie le résultat d'addition corresondant. output the corresponding addition result.
0 '.; Il est à noter que lorsque le processus de calcul ci-dessus est effectué, la série Dk I à calculer est divisée en trois parties, à savoir N+ 1 < K < N+L+ 1, -N<K<_N, -N-L-k K<-N-1 On utilise ensuite la méthode de conversion d'Euler pour calculer la somme des données dans le cas de N+k K<N+L+l et la somme des données dans le cas de -N-L-1 <K<- N-l ( le premier résultat de ces deux calculs est désigné par S + et le dernier est désigné par S-) Quand -N<K<N aucune donnée f Dkj n'est traitée et, par conséquent, S+ et S sont directement ajoutées l'une à l'autre pour en obtenir la somme En variante, on peut aussi effectuer les calculs suivants: De façon plus précise, on divise la série Dk à calculer en trois parties, comme suit 0 '.; It should be noted that when the above calculation process is performed, the series Dk I to be computed is divided into three parts, namely N + 1 <K <N + L + 1, -N <K <_N, -NLk K <-N-1 The Euler conversion method is then used to calculate the sum of the data in the case of N + k K <N + L + 1 and the sum of the data in the case of -NL-1 <K <- Nl (the first result of these two calculations is designated S + and the last one is designated S-) When -N <K <N no data f Dkj is processed and, therefore, S + and S are directly As an alternative, the following calculations can also be performed: More precisely, the series Dk is divided into three parts, as follows:
1) K = O1) K = O
2) L+ 1 > K > 12) L + 1> K> 1
3) -L-1 < K < -13) -L-1 <K <-1
Etant donné que, dans le cas 1), il n'y a qu'un seul terme à additionner, Do est constitué par 50 Dans le cas 2) et dans le cas 3), on utilise la méthode de conversion d'Euler pour caculer la somme des données dont les résultats de calcul sont désignés par S+ et S- Il en résulte que la somme de la série Since in case 1) there is only one term to add, Do is 50. In case 2) and in case 3), we use the Euler conversion method for caculate the sum of the data whose calculation results are designated by S + and S- It follows that the sum of the series
Dk 3 est donnée par SO + S+ + S-. Dk 3 is given by SO + S + + S-.
Suivant un tel procédé, l'addition des données dans le cas 1) peut ne pas être effectuée réellement Il en résulte que l'ensemble des calculs du flux de données est simplifié Cependant, contrairement à cela, dans le cas 2) et dans le cas 3), il y a au début des termes ayant des valeurs relativement grandes, par exemple D 1, D 2, D 3, En conséquence, les valeurs de différences de pas ne deviennent pas facilement plus petites A moins d'accroître le nombre de termes L à calculer, on n'obtient pas une précision According to such a method, the addition of the data in the case 1) may not be performed in reality. As a result, all the calculations of the data flow are simplified. However, in contrast to this, in the case 2) and in the case 3), there are at the beginning terms with relatively large values, for example D 1, D 2, D 3, As a result, the step difference values do not become easily smaller unless the number is increased. of terms L to be calculated, one does not obtain a precision
élevée pour le calcul des données. high for the calculation of data.
On va maintenant décrire un exemple montrant We will now describe an example showing
l'efficacité de l'invention.the effectiveness of the invention.
On suppose d'abord qu'on a les données exprimées par l'équation ( 32) échantillonnées à partir First assume that we have the data expressed by equation (32) sampled from
d'un signal d'entrée représenté par l'équation ( 31). an input signal represented by equation (31).
L'interpolation est effectuée en considérant la donnée The interpolation is performed considering the data
au temps t = XT.at time t = XT.
* f(t) = sin ( 27 flt + e) ( 31) Ak = f(KT) sin ( 2; 7 flkt + e) ( 32) Dans ces équations: f = 5 KHZ, e_ = 0,47* f (t) = sin (27 flt + e) (31) Ak = f (KT) sin (2; 7 flkt + e) (32) In these equations: f = 5 KHZ, e_ = 0.47
T = 2 ohs et X= 0,3 -T = 2 ohs and X = 0.3 -
Le nombre de données à utiliser pour les calculs est fixé à 21 (K = -10 à + 10) En d'autres termes, on utilise les données Ai O à A+ 10 Quand on utilise les moyens classiques pour calculer les données Ak confirmément à l'équation ( 8), The number of data to be used for the calculations is set to 21 (K = -10 to +10) In other words, we use the data Ai O to A + 10 When using the conventional means to calculate the data Ak confirmed to equation (8),
l'erreur relative résultante est égale à 3 10-3. the resulting relative error is 3 10-3.
D'autre part, on calcule Ä Ak CK et on les ajoute entre eux pour les données A_ 5 à A 5 de façon similaire à celle des moyens conventionnels (le résultat de l'addition correspondante est désigné par 50 Les moyens perfectionnés, qui ont été décrits dans l'exemple de réalisation exposé plus haut, sont utilisés pour calculer séparément dû Ak CK en ce qui concerne les données A 5 à A 10 et A_ 5 à A_ 10 La somme 2 Ak CK pour les données A 5 à A 1 O est désignée par S+, tandis que la somme Ä_ Ak CK pour les données A_ 5 à A_ 10 est désignée par S- Le résultat final est déterminé par SO + S+ + S- Il en résulte une erreur relative extrêmement bonne de 2 10-5 Cela corresond à une précision de 16 bits environ l On the other hand, Ak CK is calculated and added to each other for the data A 5 to A 5 in a manner similar to that of the conventional means (the result of the corresponding addition is designated 50). described in the embodiment described above, are used to separately calculate Ak CK with respect to the data A 5 to A 10 and A 5 to A 10 The sum 2 Ak CK for the data A 5 to A 1 O is denoted by S +, while the sum λ_ Ak CK for the data A_ 5 to A_ 10 is designated S- The final result is determined by SO + S + + S- This results in an extremely good relative error of 2 10- This corresponds to a precision of about 16 bits.
De façon plus spécifique, il est prouvé que- More specifically, it is proven that-
la présente invention peut avoir un effet remarquable sur l'interpolation des données En considérant la figure 1, on peut estimer qu'on exécute un processus extrêmement complexe par comparaison avec un processus " ' 30 exécuté avec les moyens classiques Cependant, étant donné qu'on utilise uniquement un circuit numérique dans le présent exemple de réalistion, lescoûts de fabrication du matériel peuvent fortement être réduits parce que le circuit d'interpolation peut être un The present invention can have a remarkable effect on the interpolation of the data. Referring to FIG. 1, it can be judged that an extremely complex process is performed in comparison with a process executed with the conventional means. only a digital circuit is used in the present exemplary embodiment, the hardware manufacturing costs can be greatly reduced because the interpolation circuit can be a
circuit intégré à grande échelle. large scale integrated circuit.
Comme cela a déjà été exposé, on peut utiliser toutes les ondes sinusoidales ayant des -, fréquences égales ou inférieures à la moitié de la fréquence d'échantillonnage ainsi que toutes les formes d'ondes contenant des composantes de fréquences égales ou inférieures à la moitié de la fréquence d'échantillonnage Par conséquent, la présente invention peut être utilisée dans une large étendue de As already stated, all sinusoidal waves with frequencies equal to or less than half the sampling frequency and all waveforms containing frequency components equal to or less than half of the frequency can be used. As a result, the present invention can be used in a wide range of
secteurs d'application.sectors of application.
On va décrire dans la suite un deuxième We will describe in the following a second
exemple de réalisation suivant la présente invention. embodiment according to the present invention.
Avec le procédé d'interpolation utilisé dansle premier exemple de réalisation, l'interpolation peut être effectuée avec une précision élevée en utilisant un nombre minimal de données Cependant, lorsqu'on fait croître l'ordre de différence de pas L le plus élevé au moment du calcul de la somme d'Euler des données conformément à la méthode de conversion d'Euler, pour accroître la précision des calculs, le nombre des calculs augmente sensiblement en proportion de L 2 Il faut alors une longue période de temps pour effectuer ces calculs C'est pourquoi le présent exemple de réalisation correspond à un procédé With the interpolation method used in the first exemplary embodiment, the interpolation can be performed with high precision using a minimum number of data. However, when the highest pitch difference order L is increased at the moment the calculation of the Euler sum of the data according to the Euler conversion method, to increase the accuracy of the calculations, the number of calculations increases substantially in proportion to L 2 It takes a long period of time to perform these calculations This is why the present exemplary embodiment corresponds to a method
perfectionné pour qu'un tel problème puisse être évité. perfected so that such a problem can be avoided.
On commence par diviser une série de données de produits j Dk, en trois parties d'après les critères suivants utilisant la valeur de k We start by dividing a series of product data j Dk into three parts according to the following criteria using the value of k
1) -N < K < N1) -N <K <N
2) K > N+ 12) K> N + 1
3) K < -N-13) K <-N-1
L'addition directe des données, que l'on effectue simplement dans le cas 1), est similaire à celle que l'on effectuait avant le perfectionnement du présent exemple de réalisation pour éviter le problème mentionné Dans ce cas, le résultat de l'addition des The direct addition of the data, which is simply carried out in the case 1), is similar to that which was carried out before refinement of the present example of embodiment to avoid the mentioned problem In this case, the result of the addition of
données est désigné par 50.data is designated by 50.
Dans le cas 2), on effectue le produit scalaire de vecteurs de données d'entrée (DN+î, DN+ 2, , DN+L î), dans lesquels des termes correspondants de la sériej Dk sont considérés comme des composantes vectorielles, et de vecteurs de coefficients d'interpolation préparés (H'o, H'1,, H'L), de manière à calculer la somme S+ des données de produits au temps o K > N+ 1 conformément à la méthode de In case 2), we carry out the scalar product of input data vectors (DN + 1, DN + 2,, DN + L i), in which corresponding terms of the series Dk are considered as vector components, and of interpolation coefficients vectors (H'o, H'1 ,, H'L), so as to calculate the sum S + of the product data at time o K> N + 1 according to the method of
conversion d'Euler.Euler conversion.
Dans le cas 3), de façon similaire au cas 2), on effectue le produit scalaire de vecteurs de données d'entrée (D-N_, D-N-2, DNL_-) et de vecteurs de coefficients d'interpolation (H'o, H'1,, H'L), de manière à calculer la somme S des données de produits au temps o K < -N- 1 conformément à la méthode de In case 3), similarly to case 2), the scalar product of input data vectors (D-N_, DN-2, DNL_-) and interpolation coefficient vectors (H'o) is performed. , H'1 ,, H'L), so as to calculate the sum S of the product data at the time o K <-N-1 according to the method of
conversion d'Euler.Euler conversion.
Ainsi, la somme de la série, c'est-à-dire la valeur d'interpolation est égale à S = S S+ + S- En réalité, S, S et S sont exprimées comme suit: Thus, the sum of the series, that is the interpolation value, is equal to S = S S + + S- In fact, S, S and S are expressed as follows:
SO = DN + D_N+ 1 + -+DNSO = DN + D_N + 1 + - + DN
S+ + D H'o + DN 2 H'1 + NL 1 H ( 33) N+l DN+ 2 À ''l L S = D _NH'o + DN 2 H' D-N-L-1 L Par consequent la somme S de 50 + S+ + S est exprimée par l'équation suivante: S + + D H'o + DN 2 H'1 + NL 1 H (33) N + 1 DN + 2 to 1 LS = D _NH'o + DN 2 H 'DNL-1 L Therefore the sum S of 50 + S + + S is expressed by the following equation:
S = 50 + S+ + SS = 50 + S + + S
= D D " + + Do H"o += D D "+ + Do H" o +
_-N-L-1 H -N-L-1 -N-L "-N-L 'N-L-1 H -N-L-1 -N-L -N-L
+DN+LH"N+L + DNTL+H NL+ ( 34)+ DN + LH "N + L + DNTL + H NL + (34)
o H"K = H'_K-L-1 si K > -N-1 H" K = l si -N < K < N *' { H"K = HK-L-1 si K < N+ 1 ( 35) > L'éêuation ( 34) montre que la somme S de la série (correspondant à la valeur d'interpolation est donnée par le produit scalaire des vecteurs de données d'entrée (D-_-L-1,DN-L,, Do, DN+L) et de vecteurs de coefficients de somme équivalents (Hi Il 'H, , À o, HI N+ L' H N+L+ 1) (Il est à noter que tous les vecteurs de coefficients de where K = -N-1H "K = 1 if -N <K <N * '{H" K = HK-L-1 if K <N + 1 (35 )> The evaluation (34) shows that the sum S of the series (corresponding to the interpolation value is given by the scalar product of the input data vectors (D -_-L-1, DN-L, , Do, DN + L) and equivalent sum coefficient vectors (Hi Il 'H,, A o, HI N + L' H N + L + 1) (It should be noted that all the coefficients vectors of
somme équivalents sont déjà connus). equivalent amounts are already known).
Comme on le comprend aisément à partir de la As is easily understood from the
description ci-dessus, quand on désire effectuer une description above, when one wishes to perform a
interpolation de données, il n'est pas nécessaire d'effectuer un processus gênant tel que le calculs spécifique d'une série à différence arithmétique de pas On comprend ainsi que le produit scalaire des vecteurs de données d'entrée et de vecteurs de coefficients de somme équivalents peut être effectué de interpolation of data, it is not necessary to perform an annoying process such as the specific computations of a series of arithmetic difference of steps It is thus understood that the scalar product of the input data vectors and the coefficient vectors of equivalent amount can be made from
façon simple.simple way.
Quand les moyens de perfectionnement sont utilisés, le coefficient IHWK} peut être mémorisé à l'avance dans la mémoire de coefficients 3 et l'opération arithmétique basée sur l'équation ( 34) peut When the refining means are used, the coefficient IHWK} can be stored in advance in the coefficient memory 3 and the arithmetic operation based on equation (34) can
être effectuée pour le vecteur de données d'entrée Dk. be performed for the input data vector Dk.
Le procédé d'interpolation perfectionné permet d'augmenter fortement la vitesse de calcul et à des effets remarquables De plus, l'interpolation des données peut être effectuée avec une précision élevée The improved interpolation process greatly increases the computational speed and has remarkable effects. In addition, data interpolation can be performed with high accuracy.
en utilisant un nombre de données réduit. using a reduced number of data.
On va maintenant décrire des exemples d'application du procédé d'interpolation de signaux numériques et du circuit d'interpolation suivant la Examples of application of the method of interpolation of digital signals and the interpolation circuit according to the invention will now be described.
présente invention.present invention.
L'une des applications les plus caractéristiques est peut- être, comme on l'a déjà décrit plus haut, un convertisseur de fréquences 4 d'échantillonnage Quand la présente invention est mise en application à un convertisseur de fréquences d'échantillonnage, les données de coefficients, qui * correspondent aux rapports entre les fréquences d'échantillonnage des signaux d'entrée et les fréquences d'échantillonnage à convertir, sont déterminées dans la mémoire de coefficients du circuit d'interpolation de signaux numériques suivant la présente invention Cela fournit divers types de convertisseurs de fréquences d'échantillonnage Perhaps one of the most characteristic applications is, as already described above, a sampling frequency converter 4. When the present invention is implemented at a sampling frequency converter, the data of coefficients, which * correspond to the ratios between the sampling frequencies of the input signals and the sampling frequencies to be converted, are determined in the coefficient memory of the digital signal interpolation circuit according to the present invention. types of sample rate converters
répondant à des spécifications voulues. meeting specifications.
La structure d'un convertisseur de fréquences d'échantillonnnage suivant la présente invention est représentée sur la figure 12 Un signal d'entrée numérique 51 est introduit dans un circuit d'interpolation de signaux numériques 52 suivant la présente invention ainsi que dans un circuit d'extraction de rythme 53 Le circuit d'extraction de rythme 53 prélève le rythme du signal d'entrée numérique 51 et l'envoie, en tant que rythme d'entrée The structure of a sampling frequency converter according to the present invention is represented in FIG. 12. A digital input signal 51 is introduced into a digital signal interpolation circuit 52 according to the present invention as well as in a digital circuit. timing extraction 53 The timing extraction circuit 53 takes the timing of the digital input signal 51 and sends it as an input rate
fin à un circuit de mesure de rapport de fréquences 54. end to a frequency ratio measuring circuit 54.
Le circuit de mesure de rapport de fréquences 54 mesure à chaque instant un rapport de fréquences fin/fout à partir du rythme de sortie fout d'un signal de sortie à convertir et du rythme d'entrée fin Il envoie ce rapport au circuit d'interpolation de données numériques 52 Dans le circuit d'interpolation de données numériques 52, un coefficient correspondant au rapport de fréquences fin/fout est choisi et le processus décrit plus haut est effectué pour obtenir une donnée d'interpolation Ensuite, le circuit 52 The frequency ratio measuring circuit 54 measures at each instant a ratio of frequencies fin / fout from the output timing fout of an output signal to be converted and the fine input rate It sends this report to the circuit of In the digital data interpolation circuit 52, a coefficient corresponding to the fine / fout frequency ratio is selected and the process described above is performed to obtain interpolation data.
transmet la donnée d'interpolation. transmits the interpolation data.
L'exemple suivant (figure 13) correspond au cas o le convertisseur de fréquences d'échantillonnage est utilisé pour un système optique de télévision collective Un moyen dont la voix est trans Nise par le système optique de télévision collective peut être une platine CD 62, un appareil à bande audionumérique DAT 63 et un émetteur-récepteur de satellite ER 64 Des signaux numériques vocaux 65, 66, 67 fournis par ces moyens sont convertis en fréquences d'échantillonnage nécessaires pour le système de télévision collective par des convertisseurs de fréquences d'échantillonnage respectifs 68, 69, 70 Les signaux de données numériques vocales 71, 72, 73, ayant des fréquences d'échantillonnage unifiées, sont superposées à un signal image 75 dans un multiplexeur 74 Puis, les signaux 71, 72, 73 sont transmis aux utilisateurs par un passage optique 76 et sont reçus par un récepteur The following example (FIG. 13) corresponds to the case where the sampling frequency converter is used for a collective television optical system. A means whose voice is transposed by the collective television optical system may be a CD player 62. a DAT 63 digital audio tape device and an ER 64 satellite transceiver. Digital voice signals 65, 66, 67 provided by these means are converted into the sampling frequencies required for the collective television system by frequency converters. respective sampling 68, 69, 70 The voice digital data signals 71, 72, 73, having unified sampling frequencies, are superimposed on an image signal 75 in a multiplexer 74. Then, the signals 71, 72, 73 are transmitted to users through an optical pass 76 and are received by a receiver
d'image de télévision 77 et un récepteur audio 78. television image 77 and an audio receiver 78.
De cette façon, en utilisant les convertisseurs de fréquences d'échantillonnage 68, 69, suivant la présente invention, les fréquences d'échantillonnage ( 44, 1 KHZ pour l'appareil CD, 48 K Hz pour l'appareil audionumérique, 48 ou 32 K Hz pour l'émetteur- récepteur de satellite) des différents signaux numériques vocaux fournis par les différents moyens sont converties en fréquences d'échantillonnage requises pour le système optique de télévision collective avec une grande précision et une vitesse élevée sous forme de signaux numériques On peut ainsi réaliser un système optique de télévision collective In this way, using the sampling frequency converters 68, 69, according to the present invention, the sampling frequencies (44, 1 KHZ for the CD apparatus, 48 KHz for the digital audio apparatus, 48 or 32 K Hz for the satellite transceiver) of the different digital voice signals provided by the different means are converted into sampling frequencies required for the collective television optical system with high accuracy and high speed in the form of digital signals. can thus achieve a collective television optical system
exempt de bruits et de distorsion.free of noise and distortion.
De plus, avec le convertisseur de fréquences d'échantillonnage, il est possible de traiter les différents signaux numériques vocaux à la même fréquence ou fréquence mutuelle Par conséquent, le multiplexage dans le multiplexeur 74 et la séparation dans les récepteurs 77, 78 placés dans les maisons des utilisateurs sont plus faciles Cela réduit les frais d'exploitation du système optique de télévision collective. Moreover, with the sampling frequency converter, it is possible to process the different digital voice signals at the same frequency or mutual frequency. Therefore, the multiplexing in the multiplexer 74 and the separation in the receivers 77, 78 placed in the User homes are easier This reduces the operating costs of the collective television optics system.
Claims (5)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17315590 | 1990-06-29 | ||
JP32975890 | 1990-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2664067A1 true FR2664067A1 (en) | 1992-01-03 |
FR2664067B1 FR2664067B1 (en) | 1995-11-17 |
Family
ID=26495240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9108090A Expired - Fee Related FR2664067B1 (en) | 1990-06-29 | 1991-06-28 | METHOD AND CIRCUIT FOR INTERPOLATING BETWEEN DIGITAL DATA. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2664067B1 (en) |
GB (1) | GB2247329B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3617716A (en) * | 1968-01-27 | 1971-11-02 | Saba Gmbh | Method and arrangement for extrapolation of a continuous function |
-
1991
- 1991-06-27 GB GB9113870A patent/GB2247329B/en not_active Expired - Fee Related
- 1991-06-28 FR FR9108090A patent/FR2664067B1/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3617716A (en) * | 1968-01-27 | 1971-11-02 | Saba Gmbh | Method and arrangement for extrapolation of a continuous function |
Non-Patent Citations (6)
Title |
---|
A.D.POLYDOROS ET AL: "DIGITAL INTERPOLATION OF STOCHASTIC SIGNALS", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DIGITAL SIGNAL PROCESSING, 30 August 1978 (1978-08-30), FIRENZE IT, pages 349 - 368 * |
D.ESTEBAN ET AL: "QUADRATIC INTERPOLATION USED AS LOW PASS FILTER", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, no. 12, May 1974 (1974-05-01), pages 3947 - 3949 * |
J.I.AGBINYA: "FAST INTERPOLATION ALGORITHM USING FAST HARTLEY TRANSFORM", PROCEEDINGS OF THE IEEE, vol. 75, no. 4, April 1978 (1978-04-01), NEW YORK US, pages 523 - 524 * |
K.P.PRASAD ET AL: "FAST INTERPOLATION ALGORITHM USING FFT", ELECTRONICS LETTERS, vol. 22, no. 4, February 1986 (1986-02-01), ENAGE GB, pages 185 - 187 * |
R.W.SCHAFER ET AL: "A DIGITAL SIGNAL PROCESSING APPROACH TO INTERPOLATION", PROCEEDINGS OF THE IEEE, vol. 61, no. 6, June 1973 (1973-06-01), NEW YORK US, pages 692 - 702 * |
V.C.LIU ET AL: "FINITE LENGHT BAND-LIMITED EXTRAPOLATION OF DISCRETE SIGNALS", PROCEEDINGS OF THE 1989 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, IEEE PRESS NEW YORK US, vol. 2/3, 8 May 1989 (1989-05-08), PORTLAND US, pages 1037 - 1040, XP000131629 * |
Also Published As
Publication number | Publication date |
---|---|
GB9113870D0 (en) | 1991-08-14 |
GB2247329B (en) | 1994-08-03 |
FR2664067B1 (en) | 1995-11-17 |
GB2247329A (en) | 1992-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2182386C (en) | Speech coding method using linear prediction and algebraic code excitation | |
FR2484744A1 (en) | DIGITAL FILTERING CIRCUITS REDUCING THE FLOW OF WORDS OF A DIGITAL SIGNAL OF THE TYPE USED IN DIGITAL-SWITCHING TELEPHONE SYSTEMS, DIGITAL FILTERS USED AND LINE DRIVER EQUIPPED WITH SUCH CIRCUITS | |
FR3004876A1 (en) | FRAME LOSS CORRECTION BY INJECTION OF WEIGHTED NOISE. | |
FR2977969A1 (en) | ADAPTATION OF ANALYSIS OR SYNTHESIS WEIGHTING WINDOWS FOR TRANSFORMED CODING OR DECODING | |
EP1727283A1 (en) | Method und device for sampling rate convertion | |
FR2675969A1 (en) | METHOD AND DEVICE FOR ENCODING-DECODING A DIGITAL SIGNAL | |
FR2488079A1 (en) | DIGITAL FILTERING DEVICE | |
EP0131521B1 (en) | Signal analysis and restitution method and system making use of sampling and interpolation | |
FR2783120A1 (en) | DIGITAL EQUALIZATION PROCESS, AND RADIOCOMMUNICATION RECEIVER IMPLEMENTING SUCH A PROCESS | |
EP0039980A1 (en) | Adaptive digital data receiving system with compensation of the amplitude and phase distortions introduced by the data transmission channel | |
EP0237382B1 (en) | Digital sampled signal cosine transforming device | |
FR2664067A1 (en) | Process and circuit for interpolating between numerical data | |
FR2485297A1 (en) | INTERPOLATION CODING DEVICE | |
EP0033568B1 (en) | Echo canceller with simplified computing circuits | |
EP1103138B1 (en) | Device for digital processing with frequency filtering and reduced computation complexity | |
EP0970562B1 (en) | Fractional delay digital filter | |
EP0080544A1 (en) | Method for receiving a data signal with double side-band quadrature carrier modulation | |
EP0724346B1 (en) | Method for calculation of the phase error in a receiver for digital signals | |
FR2818468A1 (en) | METHOD AND DEVICE FOR MULTI-USER DETECTION IN DS-CDMA MODE | |
FR2584250A1 (en) | DEVICE FOR PROCESSING DIGITAL SIGNALS WORKING WITH CONTINUOUS BIT TRAINS | |
EP0127544A1 (en) | Echo canceller with an adaptive digital filter for a transmission system | |
FR2710473A1 (en) | Method for digitally producing a complex baseband signal | |
FR2485304A1 (en) | AUDIO FREQUENCY PROCESSING DEVICE OF SUBSCRIBER LINE | |
FR2481024A1 (en) | ADAPTIVE PREDICTOR CIRCUIT USING A THREADED FILTER AND CORRESPONDING MIC DIFFERENTIAL ENCODING OR DECODING DEVICE | |
FR2707119A1 (en) | Method for calculating weighting coefficients for an analytical digitizer for signal processing, and analytical digitizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |