(19)
(11) EP 0 135 512 B1

(12) EUROPEAN PATENT SPECIFICATION

(45) Mention of the grant of the patent:
03.08.1988 Bulletin 1988/31

(21) Application number: 84900575.6

(22) Date of filing: 22.12.1983
(51) International Patent Classification (IPC)4G10L 9/14
(86) International application number:
PCT/US8302/038
(87) International publication number:
WO 8402/814 (19.07.1984 Gazette 1984/17)

(54)

IMPROVED METHOD AND MEANS OF DETERMINING COEFFICIENTS FOR LINEAR PREDICTIVE CODING

VERBESSERTES VERFAHREN UND MITTEL ZUR BESTIMMUNG VON KOEFFIZIENTEN ZUR LINEAREN VORHERSAGEKODIERUNG

PROCEDE ET DISPOSITIF AMELIORES DE DETERMINATION DES COEFFICIENTS DE CODAGE LINEAIRE PAR PREDICTION


(84) Designated Contracting States:
AT CH DE FR GB LI LU NL SE

(30) Priority: 03.01.1983 US 454929

(43) Date of publication of application:
03.04.1985 Bulletin 1985/14

(73) Proprietor: MOTOROLA, INC.
Schaumburg, IL 60196 (US)

(72) Inventor:
  • GERSON, Ira, Alan
    Hoffman Estates, IL 60195 (US)

(74) Representative: Hudson, Peter David 
Motorola, European Intellectual Property Operations, Midpoint Alencon Link
Basingstoke, Hampshire RG21 7PL
Basingstoke, Hampshire RG21 7PL (GB)


(56) References cited: : 
GB-A- 2 026 289
US-A- 4 282 405
US-A- 4 378 469
US-A- 3 662 115
US-A- 4 340 781
US-A- 4 389 540
   
  • ICASSP 81 (IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING), Atlanta, 30th March - 1st April 1981, pages 355-353, IEEE, New York, US; F. SUGIYAMA et al.: "An LPC vocoder for efficient implementation"
  • COMPCON 79 (19TH IEEE COMPUTER SOCIETY INTERNATIONAL CONFERENCE), Washington, D.C., 4th-7th September 1979, pages 203-206, IEEE, New York, US; A.J. GOLDBERG et al.: "Microprocessor implementation of a linear predictive coder"
  • "IEEE Transactions on Acoustics, Speech and Signal Processing" June 1977 J. Le Roux et al "Fixed Point Computation of Partial Correlation Coefficients" pages 257-259
  • IEEE Transactions on Acoustics and Signal Processing, Vol. ASSP-25, No. 5, Oct. 1977, pages 423-428
   
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

Background of the invention



[0001] This invention relates to linear predictive coding. In particular, it relates to an improved method and means of determining coefficients for linear predictive coding.

[0002] Linear predictive coding is a method of analysing a speech signal and characterising that signal in terms of coefficients which can be encoded, broadcast, received, and decoded to recover a close approximation to the original signal. The existence of redundancies in speech makes it possible to use encoded descriptions of the speech that can be carried in a communication channel having a bandwidth that is less than the bandwidth of the speech. This is in distinct contrast to many well-known forms of converting speech into digital signals. Most of these methods require a bandwidth that is greater than the bandwidth of the speech.

[0003] Linear predictive coding (LPC) of speech begins conceptually with a model of the human speech-producing system. The model has a source of sound that is analogous to the vocal cords. That source is coupled acoustically to a stacked array of hollow cylindrical tubes that is analogous to the cavities of the throat and mouth in a human speaker. From the model, speech is characterised by four types of quantities. The first of these is a measure of whether speech is voiced or unvoiced. A voiced signal begins with an input from the vocal cords, while an unvoiced signal is produced by the action of the rest of the vocal tract on moving air alone: This produces the differences in sound between "s" which is unvoiced and its voiced equivalent "z", for example. A second characteristic of the sound is the pitch, the fundamental frequency produced by the vocal cords in making a voiced sound. A third characteristic is the energy. Finally, the effect of the throat and mouth on either voiced or unvoiced sound is summarized by obtaining some measure of the transfer function of the vocal tract. Such a measure might be the reflection coefficients of the structure, the poles of the transfer function of the structure, the logarithmic area ratios (LAR's) of the structure, or any of several other well-known functions of such resonances. In addition, various mathematical transforms of these functions may have utility for particular purposes. The functions are interrelated so that any one set can be determined from a knowledge of any other set.

[0004] The present invention concerns an improved method and means of determining quantities corresponding to reflection coefficients. The reflection coefficients are coefficients with a specific all pole filter structure known as a lattice filter. The reflection coefficients discussed here are the electrical analog of .acoustical reflection coefficients. While the reflection coefficient is in general a complex quantity in which .the imaginary portion is a measure of loss at a discontinuity, when determining the reflection coefficients that characterize a human vocal tract, the portions of reflection coefficients associated with loss are small enough compared to the real part that denotes lossless reflection that it is adequate to use a lossless model in which the reflection coefficients are real.

[0005] One way of obtaining the reflection coefficients that characterise a sample of a signal such as speech is to determine the characteristics of an inverse lattice filter that will reproduce the signal when excited by an impulse. Examples of several approaches of performing such an analysis are given in an article entitled "Stable and Efficient Lattice Methods for Linear Prediction" by Makhoul in "IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol. ASSP-25, No. 5, October, 1977 pages 423―428. This article points out that an analysis based on the all-pole lattice filter is stable without windowing but at a computational cost that is several times the cost of the auto-correlation and covariance methods of calculation. What Makhoul refers to as the computational costs of computer analysis are proportional to the equipment costs of realizing a circuit for comparable analysis on a semiconductor chip. Two examples of methods of computing partial correlation coefficients for predictive coding are in papers by F. Itakura et al in IEEE Transactions on Communications, August 1972, pages 792-797 and by J. Le Roux and C. Gueguen in IEEE Transactions on Acoustics, Speech and Signal Processing, June 1977, pages 257-259.

Summary of the invention



[0006] It is an object of the present invention to provide an improved method and means of determining reflection coefficients of a signal.

[0007] It is a further object of the present invention to provide an improved method and means of determining parameters of an all-pole lattice filter that characterise an electrical signal.

[0008] A method and apparatus in accordance with the invention are defined in the claims.

Brief description of the drawings



[0009] 

Fig. 1 is an overall block diagram of a circuit for the practice of the present invention.

Fig. 2 is an expanded circuit diagram of the address calculator of Fig. 1.

Fig. 3 is an expanded circuit diagram of the update calculator of Fig. 1.

Fig. 4 is an expanded circuit diagram of the reflection-coefficient calculator of Fig. 1.

Fig. 5 is a flowchart of a method for practising the invention.

Fig. 6 is a block diagram of a section of a typical lattice filter for the practice of the present invention.


Detailed description of the invention



[0010] Fig. 1 is an overall block diagram of a circuit for the practice of the invention. In Fig. 1 an electrical analog signal that is to be analysed is applied at terminal 10. That signal will typically be an electrical analog of a voice signal, although it may be any electrical signal that exhibits redundancies analogous to those of speech. Examples of such other signals include video scans and seismic analysis records. Whatever the source, the signal at terminal 10 is applied to a filter 12, if necessary, to limit its bandwidth. If the bandwidth is already adequate, filter 12 may comprise a direct wire connection, or filter 12 may combine a bandpass filter with any of a number of systems of pre-emphasis that are commonly used in radio broadcasting. The output of filter 12, treated as described, is applied to analog-to-digital converter (ADC) 14. The digital output of ADC 14 will be separated into frames of a convenient length, of the order of tens of milliseconds. That function is here indicated as being performed by framer 16 as a means of insuring that the digital input to correlator 18 establishes correlation among samples in the same frame. The function of framer 16 could also be combined into correlator 18 or ADC 14. It should be noted that the ADC 14 is not necessary if the signal is already in digital form. The correlation parameters are obtained in the circuit of Fig. 1 because that circuit will be used to determine reflection coefficients.

[0011] The output of correlator 18 is applied, if necessary, to a normalizer 20 to normalize output values to a common level. The output of normalizer 20 is taken to random-access memory (RAM) 22 where it is stored in an address that is directed by a signal from multiplexer 23. Normalizer 20 also generates a signal indicating the completion of the operation of correlator 18 for one frame. That signal is taken as an input to sequencer 24. Signals from sequencer 24 are coupled out to control an address calculator 26, an update calculator 28, a reflection coefficient calculator 30, multiplexer 23, and multiplexer 32. Normalizer 20 determines the appropriate addresses in RAM 22 for storing the coefficients of a correlation matrix so that their serial readout will be in a desired order. The output of normalizer 20 is applied to multiplexer 23 to apply first an initial condition to RAM 22 that is determined from normalizer 20, and then accessed by address instructions from address calculator 26.

[0012] The output of RAM 22 is applied through multiplexer 32 to RAM 34. Multiplexer 32 selects as an input to RAM 34 either the output of RAM 22 or the output of update calculator 28. Multiplexer 32 is controlled by a signal from sequencer 24. The location of storage elements in RAM 34 is controlled by a signal from address calculator 26. The output of RAM 34 is read into update calculator 28 and reflection coefficient calculator 30. Update calculator 28 also receives as an input the calculated reflection coefficients from reflection coefficient calculator 30, which coefficients are taken as the output of the circuit of Fig. 1.

[0013] Fig. 2 is a circuit diagram of the address calculator 26 of Fig. 1. Address calculator 26 produces the addresses that direct the retrieval of matrix elements in RAMs 22 and the storage and retrieval of matrix elements in RAM 34. In Fig. 2 sequencer 24 supplies addresses to read-only memory (ROM) 40. ROM 40 is read out into multiplexers 42 and 44. The output of multiplexer 42 is taken to RAM 46 which is loaded under the control of signals from sequencer 24. The output of RAM 46 is taken directly as the input to RAM 34 of Fig. 1, and it is also applied to latches 48 and 50, as well as the add/subtract unit 42. The output of latch 48 is taken to multiplexer 23 of Fig. 1, and then to RAM 22. The output of latch 50 is multiplexed in multiplexer 44 with the output of ROM 40 under the control of a signal from sequencer 24. The output of multiplexer 44 is applied to add-subtract unit 52 where it is supplied as an input to be either added or subtracted from the output of RAM 46, depending upon a control signal from sequencer 24. The add/subtract unit 52 also has an output connected to sequencer 24 which indicates a zero result from the add/subtract operation.

[0014] Fig. 3 is a circuit diagram of the update calculator 28 of Fig. 1. In Fig. 3 data inputs are applied at terminals 60 and 62. The input at terminal 60 is the output of RAM 34 of Fig. 1. Terminal 60 is connected to a shifter 64, the output of which is taken to a RAM 66 and to a multiplexer 68. The output of RAM 66 is taken to. multiplexer 70 which, in turn, is connected to multiplier 72. The output of multiplier 72 is taken as an input to multiplexer 68, as an input to register 74, and as an input to multiplexer 76. The output of register 74 is coupled through multiplexer 78 to supply a second input to multiplier 72.

[0015] Terminal 62 is connected to reflection-coefficient calculator 30 of Fig. 1 to receive calculated reflection coefficients which are then coupled to register 80 of Fig. 3. The outputs of register 74 and 80 are applied to multiplexer 78 to be selected under the control of a signal from sequencer 24 of Fig. 1. The output of register 80 of Fig. 3 is also taken as an input to multiplexer 70. Multiplexer 76 produces an output that is taken to registers 82 and 84, the outputs of which supply inputs to multiplexer 86. The output of multiplexer 86 is taken as an input to multiplexer 70 and as an input to summer 88. The output of summer 88 is taken as input to multiplexer 76 as a data input to RAM 34 of Fig. 1 and as an input to OR gate 90 of Fig. 3. The output of OR gate 90 is taken to register 92 which supplies an output that is taken both as a second input to OR gate 90 and as an input to priority encoder 94. The output of priority encoder 94 controls register 96 that operates shifter 64. The combination of shifter 64, register 96, OR gate 90, register 92 and priority encoder 94 comprises a normalizer that normalizes the output of RAM 34 of Fig. 1. If it is not desired or is considered unnecessary to normalize coefficients, then terminal 60 can supply an input directly to RAM 66 and the elements just described could be removed from the circuit of Fig. 3.

[0016] Fig. 4 is a circuit diagram of the reflection coefficient calculator 30 of Fig. 1. In Fig. 4 terminal 100 receives a signal from RAM 34 that is applied to a subtractor 102 and a multiply-by-two circuit 104. The output of subtractor 102 is connected to register 106, which produces one output that is connected as a input to subtractor 102, and another output that is taken to divider 108. The output of divider 108 may be taken directly as a reflection coefficient. In the alternative, it may be desirable to quantize that value as in quantizer 110. In either case, the signal at terminal 112 is a reflection coefficient of the equivalent filter of the original input signal. The reflection coefficients may be used directly as the coefficients in LPC or they may be transformed into a different function, as described earlier. If it is desired to convert reflection coefficients into LAR's, this can be combined readily with the quantization that is performed by quantizer 110. The choice of the particular functions is one of design.

[0017] Consider now the elements of Fig. 1 in terms of their functions. Filter 12 has already been described as optional. If the circuit of Fig. 1 is to be applied to speech for use in a typical radio speech bandwidth, then the input signal may need to be subjected to bandpass filtering. It may also be desirable to combine some form of pre-emphasis with filter 12. Filter 12 may also be used to prevent aliasing when the filtered signal is applied to ADC 14. The sample rate produced by ADC 14 is a design parameter. According to the well-known sampling theorem, it will be necessary to sample the input at a rate that is at least twice the frequency of the highest component contained in the input. Thus, sampling rates for speech are typically between 6.4 kHz and 10 kHz. Each sample is then encoded into a number of bits that typically ranges between 8 and 15, with 12 as a typical number. It follows that a typical frame will have of the order of one hundred samples. Correlator 18 takes these samples and determines from them the elements of a covariance matrix. This matrix is symmetric. Element (i,k) of the covariance matrix is obtained by summing, from n=p to the total number of samples, the product of the (n-i)th and the (n-k)th samples for zero less than or equal to k, less than or equal to i, less than or equal to p. In this statement, p is the prediction order, a number that is typically between 8 and 12 for speech. The index k is kept less than or equal to i to avoid recalculating equal terms on both sides of the axis of the symmetric matrix.

[0018] Normalizer 20 of Fig. 1 performs a function that is here indicated separately but that might also be included in correlator 18. Normalizer 20 shifts the elements of the correlation matrix so that the maximum value of any element in the array is between one-half and one in magnitude. Normalizer 20 then truncates the values of the elements thus shifted to a number of bits equal to the word length of the system. The covariance matrix thus has a number of elements equal to (p+1 )2.

[0019] Since the covariance matrix is symmetric, it can be described completely by storing the elements of the diagonal and the elements below the diagonal, a total of (p+ 1)(p+2)/2 elements. These elements are stored in RAM 22 in a location that is controlled by address calculator 26. A convenient method of loading RAM 22 is to load the diagonal elements, beginning with the element of highest order and proceeding to the diagonal element of lowest order, and then repeat in sequence down paths in the matrix that are parallel to the main diagonal. It should be noted that the F and B matrices are also symmetric and may be stored in a similar fashion.

[0020] The operation of the circuits of Figs. 1, 2, 3 and 4 is explained further in the flowchart of Fig. 5 which shows the sequence of operations that are performed by those circuits. In Fig. 5, after a start 120, an operations block 122 directs the determination of correlation coefficients. Such a determination is well known. For discrete or sampled components, it is normally accomplished by a calculation such as that of the following equation:

where s(n), OsnsN-1 are samples of the audio signal during a frame and p is the order of the filter.

[0021] The next step in the flowchart of Fig. 5 is to initialize the matrices of F, B and C as indicated in operations block 126. The quantities F, B and C are intermediate quantities used in the determination of LPC coefficients. Their initial values are determined as follows:



[0022] Operations box 128 next directs that the value of j equal 1. Operations box 130 then calls for the determination of the quantity kj, the jth reflection coefficient. This is determined as follows:



[0023] A variety of techniques are available for determining the reflection coefficient and the above technique is intended as an illustration of one embodiment of the present invention.

[0024] After the value of kj is determined, it is quantized according to the instruction from operations block 132 at a quantization level that is determined by the number of bits reserved to broadcast the particular LPC coefficient in question. Decision block 134 next tests to see whether j=p. If it does, all of the LPC coefficients have been calculated, and exit is to operations block 136 to end the calculation. If j does not equal p, the calculated value of kj is used in operations block 138 to update values of F, B and C according to the following relations:



[0025] The value of j is increased by 1 in operations block 140, and control returns to operations block 130 to continue the calculations.

[0026] The preceding description shows a circuit for determining LPC coefficients and a flowchart of the steps performed by that circuit. The flowchart of Fig. 5 is also useful in directing the steps of a program for determining LPC coefficients by the same method using a computer. This has been done, and a computer program for determining LPC coefficients using this method is included as an appendix to this application. The computer program has the particular advantage that, using the method of the present invention, calculations may be performed efficiently in integer arithmetic. This speeds calculations and makes it possible to determine LPC coefficients in real time using the present invention.

[0027] Fig. 6 is a block diagram of a lattice filter that provides a further explanation of the process by which the circuit of Fig. 1 obtains reflection coefficients.

[0028] In Fig. 6 a terminal 150 receives as an input the sampled signal. This signal is applied to an upper leg 152 which will calculate a forward residual, and it is applied to a lower leg 154 which will apply the signal to the first of a sequence of delay elements 156 to calculate backward residual. Fig. 6 comprises a cascade of elements, each of which applies the forward signal to a multiplier 158 and a summer 165. The backward signals are applied to a multiplier 162 and a summer 164. Both multipliers 158 and 162 receives as additional inputs the current reflection coefficient. Thus, the current forward residual is multiplied by the current reflection coefficient and added to the current backward residual in summer 164 to generate as an output the next backward residual. The current backward residual is multiplied in multiplied 162 with the current reflection coefficient and added to the current forward residual in summer 160 to generate the next forward residual. The process just described continues through a number of sections of the lattice filter that is determined by the designer as a number adequate to characterize the particular signal in question. This is typically a number of stages equal to 8, 10 or 12. The last such stage is shown here as receiving a current forward residual signal on terminal 166 and a current backward residual signal on terminal 168. The current forward residual signal is applied to a multiplier 170 and a summer 172, while the current backward residual is delayed in delay element 174, and the delayed signal is applied to multiplier 176 and summer 178. Both multipliers 170 and 176 receive as additional inputs the current reflection coefficient. If the lattice filter has been designed with an adequate number of sections to approximate the input signal sufficiently well, then the output of the final forward residual signal at terminal 180 will be close to zero and so will the final backward residual signal at terminal 182.

[0029] The result of applying a signal to this circuit of Fig. 6 is the production in forward line 152 of a sequence of elements of a forward residual vector and to produce in line 156 the elements of a backward residual vector. Individual elements are combined to produce an autocorrelation matrix of the forward residual elements, and autocorrelation matrix of the backward residual elements, and a cross-correlation matrix between forward and backward residual elements. These matrices are used as described earlier to calculate the reflection coefficients.

[0030] Lattice methods of determining coefficients for linear predictive coding have been used in the past. However, circuits and programs used to determine the lattice coefficients have used intermediate variables that varied in magnitude over a wide range. This required a wide range of quantize values to characterize the intermediate variables, and thus took more computational time. The circuit arrangement and method of the present invention uses only variable and intermediate variables which are bounded in magnitude by unity. This permits operations and calculations to be performed in a fixed-point fractional implementation. In addition if the input signal is windowed so that it is stationary in a statistical sense, then it can be shown that the number of computations necessary to determine lattice coefficients is reduced still further. The method and means of the present invention has been used with a frame length of approximately 15 milliseconds to determine 12 lattice coefficients in real time. By completing the calculations for the data of one frame before the end of the next succeeding frame.

APPENDIX FORTRAN PROGRAM FOR COEFFICIENTS



[0031] 










Claims

1. A method of processing a digitised electrical signal representative of voice or a similar autoregressive signal, to obtain lattice coefficients of an inverse lattice filter that characterises the digitised signal, the method comprising the steps of:

a. sampling the digitised signal; and

b. calculating correlation coefficients of the samples (124);
characterised in that the samples are selected in time periods equal to a predetermined frame length and that the correlation coefficients are normalised to a common level, and wherein, for each frame, the method further comprises the steps of:

c. initialising stored values of F, Band C matrices using the normalised correlation coefficients (126), wherein said matrices respectively indicate the forward residual correlation (F), the backward residual correlation (B) and the cross correlation (C) of forward and backward residuals;

d. calculating a value of the lattice coefficients from the stored values of the F, B and C matrices, the value of the lattice coefficients providing an indication of the correlation between the forward and backward residuals;

e. calculating new values of the F, B and C matrices (138) from the calculated value of the lattice coefficients and the stored values of the F, B and C matrices;

f. storing the new values of the F, B and C matrices;

g. repeating the steps of calculating a value of the lattice coefficients from the stored values of the F, B and C matrices, calculating new values of the F, Band C matrices and storing the new values of the F, Band -C matrices for a predetermined number of repeated calculations, the number of repeats indicating the order of the lattice filter, until the calculated value of the lattice coefficients has reached a predetermined accuracy; and

h. outputting the latest calculated value of the lattice coefficients for the particular frame.


 
2. The method of claim 1 wherein the step of calculating correlation coefficients comprises the step of obtaining a sum of products of sampled signals according to the relationship:

where s(n), 0<n<N-1 are samples of the digitised signal during a frame, (i,k) are coordinates of the matrix, N is the total number of samples and p is the order of the filter.
 
3. The method of claim 1 wherein said step of initialising stored values of F, B and C matrices comprises the step of determining initial values according to the relationships:

for:

where s(n), 0<n<N-1 are samples of the digitised signal during a frame, (i,k) are coordinates of the matrix, N is the total number of samples and p is the order of the filter.
 
4. The method of claim 1, wherein said lattice coefficients are calculated according to the relationship:

where kj is the jth value of the lattice coefficient k.
 
5. The method of claim 1 wherein new values of the F matrix are calculated according to the relation:

for 0≤i≤k≤(P―1―1
 
6. The method of claim 1 wherein new values of the B matrix are calculated according to the relation:

for 0≤i≤k≤(P-j-1
 
7. The method of claim 1 wherein new values of the C matrix are calculated according to the relation:

for 0<_i,k<_(P-1-1).
 
8. An apparatus for processing an analog electrical signal according to the method of claim 1 to obtain lattice coefficients of an inverse lattice filter that characterise the analog electrical signal, the apparatus comprising:

a. a filter (12) for receiving the analog electrical signal and producing a filtered analog electrical signal;

b. an analog-to-digital converter (14) connected to the filter to produce a digital signal,

c. a correlator (18) connected to the analog-to-digital converter to produce correlation coefficients of the digital signals; and characterised in that the apparatus further comprises:

d. a framer (16) connected to the correlator to select time intervals of a predetermined amount so that correlation coefficients are produced during each framed interval;

e. a normaliser (20) connected to the correlator to normalise the correlation coefficients of the correlator,

f. a first RAM (22) connected to the normaliser to receive and store normalised correlation coefficients,

g. a sequencer (24) that generates a plurality of control signals;

h. an address calculator (26) connected to the sequencer and to the first RAM to control addresses at which normalised correlation coefficients are stored in the first RAM;

i. a multiplexer (32) connected to the first RAM and receiving data as input from the first RAM;

j. a second RAM (34) connected to the multiplexer and to the address calculator, the second RAM receiving input from the multiplexer and storing that input in a location controlled by the address calculator;

k. a lattice coefficient calculator (30) connected to the second RAM and to the sequencer, the lattice coefficient calculator receiving data from the second RAM and calculating lattice coefficients under control from the sequencer; and

I. an update circuit (28) connected to the lattice coefficient calculator, the second RAM, and the sequencer to calculate current lattice coefficients under the control of the sequencer and produce an output which is taken as an input to the multiplexer.


 


Ansprüche

1. Verfahren zum Verarbeiten eines digitalisierten elektrischen Signals, das für eine Stimme oder ein ähnliches autoregressives Signal kennzeichnend ist, um Brückenkoeffizienten eines inversen Brückenfilters zu erhalten, das das digitalisierte Signal charakterisiert, enthaltend die folgenden Schritte:

a) Abtasten des digitalisierten Signals; und

b) Berechnen von Korrelationskoeffizienten der Abtastwerte (124);
dadurch gekennzeichnet, daß die Abtastwerte in Zeitperioden ausgewählt werden, die gleich einer vorbestimmten Rahmenlänge sind, und daß die Korrelationskoeffizienten auf einen gemeinsamen Pegel normiert werden, und wobei für jeden Rahmen das Verfahren weiterhin die Schritte aufweist:

c) Initialisieren von gespeicherten Werten von F-, B- und C-Matrizen unter Verwendung der normierten Korrelationskoeffizienten (126), wobei die Matrizen jeweils die Vorwärtsrestkorrelation (F), die Rückwärtsrestkorrelation (B) und die Kreuzkorrelation (C) von Vorwärts- und Rückwärtsresten angeben;

d) Berechnen eines Wertes der Brückenkoeffizienten aus den gespeicherten Werten der F-, B- und C-Matrizen, wobei der Wert der Brückenkoeffizienten eine Angabe über die Korrelation zwischen den Vorwärts- und Rückwärtsresten ergibt;

e) Berechnen neuer Werte der F-, B- und C-Matrizen (138) aus dem berechneten Wert der Brückenkoeffizienten und der gespeicherten Werte der F-, B- und C-Matrizen;

f) Speichern der neuen Werte der F-, B- und C-Matrizen;

g) Wiederholen der Schritte der Werteberechnung der Brückenkoeffizienten aus den gespeicherten Werten der F-, B- und C-Matrizen, Berechnen neuer Werte der F-, B- und C-Matrizen und Speichern der neuen Werte der F-, B- und C-Matrizen für eine vorbestimmte Anzahl wiederholter Berechnungen, wobei die Anzahl der Wiederholungen die Ordnung des Brückenfilters angibt, bis der berechnete Wert der Brückenkoeffizienten eine vorbestimmte Genauigkeit erreicht hat; und

h) Ausgeben des letzten berechneten Wertes der Brückenkoeffizienten für den speziellen Rahmen.


 
2. Verfahren nach Anspruch 1, bei dem der Schritt der Berechnung von Korrelationskoeffizienten den Schritt des Erhaltens einer Summe aus Produkten abgetasteter Signale gemäß dem folgenden Verhältnis umfaßt:

wobei s(n), 0<n<N-1 Abtastwerte des digitalisierten Signals während eines Rahmens sind, (i,k) Koordinaten der Matrix sind, N die Gesamtzahl von Abtastwerten ist und p die Ordnung des Filters ist.
 
3. Verfahren nach Anspruch 1, bei dem der Schritt der Initialisierung gespeicherter Werte von F-, B- und C-Matrizen den Schritt des Bestimmens von Anfangswerten entsprechend der nachfolgenden Verhältnisse umfaßt:

für

wobei s(n), 0<n<N-1 Abtastwerte des digitalisierten Signals während eines Rahmens sind, (i,k) Koordinaten der Matrix sind, N die Gesamtzahl von Abtastwerten ist und p die Ordnung des Filters ist.
 
4. Verfahren nach Anspruch 1, bei dem die Brückenkoeffizienten entsprechend dem nachfolgenden Zusammenhang berechnet werden:

wobei kj der j-te Wert des Brückenkoeffizienten k ist.
 
5. Verfahren nach Anspruch 1, bei dem neue Werte der F-Matrix entsprechend dem folgenden Zusammenhang berechnet werden:

für 0≤i≤k≤(P-j-1).
 
6. Verfahren nach Anspruch 1, bei dem neue Werte der B-Matrix gemäß dem folgenden Zusammenhang berechnet werden:

für 0≤i≤k≤(p-j-1
 
7. Verfahren nach Anspruch 1, bei dem neue Werte der C-Matrix gemäß dem folgenden Zusammenhang berechnet werden:

für 0<i, k≤(P-j-i).
 
8. Vorrichtung zur Verarbeitung eines analogen elektrischen Signals gemäß dem Verfahren nach Anspruch zur Erzielung von Brückenkoeffizienten eines inversen Brückenfilters, die das analoge elektrische Signal charakterisieren, enthaltend:

a) ein Filter (12) zum Aufnehmen des analogen elektrischen Signals und zum Erzeugen eines gefilterten analogen elektrischen Signals;

b) einen Analog/Digital-Wandler (14), der mit dem Filter verbunden ist, um ein digitales Signal zu erzeugen,

c) einen Korrelator (18), der mit dem Analog/Digital-Wandler verbunden ist, um Korrelationskoeffizienten der digitalen Signale zu erzeugen; und dadurch gekennzeichnet, daß die Vorrichtung weiterhin enthält;

d) einen Rahmengeber (16), der mit dem Korrelator zu ausgewählten Zeitintervallen einer vorbestimmten Größe verbunden ist, so daß Korrelationskoeffizienten während eines jeden gerahmten Intervalls erzeugt werden;

e) einen Normierer (20), der mit dem Korrelator verbunden ist, um die Korrelationskoeffizienten des Korrelators zu normieren,

- f) einen ersten RAM (22), der mit dem Normierer verbunden ist, um die normierten Korrelationskoeffizienten entgegenzunehmen und zu speichern,

g) einen Sequenzer (24), der mehrere Steuersignale erzeugt;

h) einen Adreßrechner (26), der mit dem Sequenzer und mit dem ersten RAM verbunden ist, um Adressen zu steuern, an denen normierte Korrelationskoeffizienten in den ersten RAM gespeichert werden;

i) einen Multiplexer (32), der mit dem ersten RAM verbunden ist und Daten als Eingabe von dem ersten RAM empfängt;

j) einen zweiten RAM (34), der mit dem Multiplexer und dem Adreßrechner verbunden ist und von dem Multiplexer eine Eingabe erhält und diese an einer Stelle speichert, die von dem Adreßrechner bestimmt wird;

k) einen Brückenkoeffizientenrechner (30), der mit dem zweiten RAM und mit dem Sequenzer verbunden ist und von dem zweiten RAM Daten entgegennimmt und Brückenkoeffizienten unter Steuerung durch den Sequenzer berechnet; und

I) eine Aktualisierungsschaltung (28), die mit dem Brückenkoeffizientenrechner, dem zweiten RAM und dem Sequenzer verbunden ist, um unter Steuerung durch den Sequenzer laufende Brückenkoeffizienten zu berechnen und einen Ausgang zu erzeugen, der dem Multiplexer als Eingang zugeführt wird.


 


Revendications

1. Procédé de traitement d'un signal électrique mis sous forme numérique qui est représentatif d'une voix ou d'un signal autorégressif analogue afin d'obtenir les coefficients de réseau d'un filtre de réseau inverse qui caractérisé le signal mis sous forme numérique, le procédé comprenant les opérations suivantes:

a. échantillonner le signal mis sous forme numérique; et

b. calculer les coefficients de corrélation des échantillons (124);
caractérisé en ce qu'on sélectionne les échantillons dans des périodes de temps égales à une longueur de bloc prédéterminée et en ce qu'on normalise les coefficients de corrélation à un niveau commun, et où, pour chaque bloc, le procédé comprend en outre les opérations suivantes:

c. initialiser les valeurs emmagasinées de matrices F, B et C à l'aide des coefficients de corrélation normalisés (126), où lesdites matrices indiquent respectivement la corrélation (F) des résidus avant, la corrélation (B) des résidus arrière et la corrélation croisé (C) des résidus avant et arrière;

d. calculer une valeur des coefficients de réseau à partir des valeurs emmagasinées des matrices F, B et C, la valeur des coefficients de réseau fournissant une indication de la corrélation entre les résidus avant et arrière;

e. calculer de nouvelles valeurs des matrices F, B et C (138) à partir de la valeur calculée des coefficients de réseau et des valeurs emmagasinées des matrices F, B et C;

f. emmagasiner les nouvelles valeurs des matrices F, B et C;

g. répéter les opérations consistant à calculer une valeur des coefficients de réseau à partir des valeurs emmagasinées des matrices F, B et C, calculer de nouvelles valeurs des matrices F, B et C et emmagasiner les nouvelles valeurs des matrices F, B et C pour un nombre prédéterminé de calculs répétés, le nombre des répétitions indiquant l'ordre du filtre de réseau, jusqu'à ce que la valeur des coefficients de réseau ait atteint une précision prédéterminée; et

h. délivrer la dernière valeur calculée des coefficients de réseau pour le bloc considéré.


 
2. Procédé selon la revendication 1, où l'opération de calcul des coefficients de corrélation comprend l'opération consistant à obtenir une somme de produits de signaux échantillonnés selon la relation:

où s(n), pour 0<n<n-1, sont des échantillons du signal mis sous forme numérique pendant un bloc, (i,k) sont les coordonnées de la matrice, N est le nombre total d'échantillons, et p est l'ordre du filtre.
 
3. Procédé selon la revendication 1, où ladite opération d'initialisation des valeurs emmagasinées des matrices F, B et C comprend l'opération consistant à déterminer les valeurs initiales selon les relations:

pour:

où s(n), avec 0<n<N-1, sont les échantillons du signal mis sous forme numérique pendant un bloc, (i,k) sont les coordonnées de la matrice, N est le nombre total d'échantillons, et p est l'ordre du filtre.
 
4. Procédé selon la revendication 1, où on calcule lesdits coefficients de réseau selon la relation:

où kj est la jème valeur du coefficient de réseau k.
 
5. Procédé selon la revendication 1, où on calcule les nouvelles valeurs de la matrice F selon la relation:

pour 0≤i≤k≤(P-j-1
 
6. Procédé selon la revendication 1, où on calcule les nouvelles valeurs de la matrice B selon la relation:

pour 0≤i≤k≤(P-j-1).
 
7. Procédé selon la revendication 1, où on calcule les nouvelles valeur de la matrice C selon la relation:

pour 0<i, k≤(p-j-1).
 
8. Appareil permettant de traiter un signal électrique analogique selon le procédé de la revendication 1 afin d'obtenir les coefficients de réseau d'un filtre de réseau inverse qui caractérisent le signal électrique analogique, l'appareil comprenant:

a. un filtre (12) servant à recevoir le signal électrique analogique et à produire un signal électrique analogique filtré;

b. un convertisseur analogique-numérique (14) connecté au filtre afin de produire un signal numérique;

c. un corrélateur (18) connecté au convertisseur analogique-numérique afin de produire des coefficients de corrélation des signaux numériques;
l'appareil étant caractérisé en ce qu'il comprend en outre:

d. un délimiteur de bloc (16) connecté au corrélateur afin de sélectionner des intervalles de temps d'une étendue prédéterminée de façon que des coefficients de corrélation soient produits pendant chaque intervalle délimité;

e. un normalisateur (20) connecté au corrélateur afin de normaliser les coefficients de corrélation du corrélateur;

f. une première RAM (22) connectée au normalisateur afin de recevoir et d'emmagasiner des coefficients de corrélation normalisés;

g. un dispositif de commande de séquence (24) qui produit plusieurs signaux de commande;

h. un calculateur d'adresse (26) connecté au dispositif de commande de séquence et à la première RAM afin de désigner les adresses auxquelles les coefficients de corrélation normalisés sont emmagasinés dans la première RAM;

i. un multiplexeur (32) connecté à la première RAM et recevant en entrée des données de la première RAM;

j. une deuxième RAM (34) connectée au multiplexeur et au calculateur d'adresse, la deuxième RAM recevant son signal d'entrée de la part du multiplexeur et emmagasinant ce signal d'entrée en un emplacement désigné par le calculateur d'adresse;

k. un calculateur de coefficients de réseau (30) connecté à la deuxième RAM et au dispositif de commande de séquence, le calculateur de coefficients de réseau recevant des données de la part de la deuxième RAM et calculant les coefficients de réseau sous commande du dispositif de commande de séquence; et

I. un circuit de remise à jour (28) connecté au calculateur de coefficients de réseau, à la deuxième RAM et au dispositif de commande de séquence afin de calculer les coefficients de réseau courants sous commande du dispositif de commande de séquence et de produire un signal de sortie qui est pris comme signal d'entrée du multiplexeur.


 




Drawing