Method and apparatus for correcting a sequence of invalid samples of an equidistantly sampled signal
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention relates to a method of and apparatus for correcting a sequence of samples which are considered as invalid, of an equidistantly sampled signal, on the basis of replacement values derived from sequences of valid samples. 
     2. Description of the Related Art 
     Such a method and apparatus are described in applicant&#39;s copending U.S. application Ser. No. 898,460 (PHN 11,716) filed concurrently herewith, which claims priority based on a Netherlands patent application. Such U.S. application also references a pending application, assigned to the present assignee, filed Mar. 30, 1988 as a continuation of U.S. application Ser. No. 601,817, filed Apr. 19, 1984, now abandoned, disclosing a different kind of restoration technique for invalid signal samples. 
     The restoration technique described in such concurrently filed U.S. application requires the availability, immediately after a sequence of samples to be restored, of a relatively long subsequent sequence of valid samples. More specifically, the length of such a subsequent sequence must correspond to a maximum anticipated instantaneous periodicity of a signal segment of which the sequence of samples to be restored forms part. For example, for speech sampled at a rate of 8000 Hz such a subsequent sequence must comprise approximately 160 samples. Consequently, a delay of 20 msec is introduced after the appearance of the sequence of samples to be restored before the result of the restoration procedure can be made available. 
     In addition, the implementation of the above-described restoration technique requires that the periodicity of a signal segment containing the sequence of samples to be restored must be estimated. The replacement values for restoring invalid samples are then determined by solving a system of equations in which the replacement values are unknown factors. 
     SUMMARY OF THE INVENTION 
     The invention has for its object to provide an alternative restoration technique, in which the delay introduced by the necessity of a subsequent sequence of valid samples, as described above, is reduced. 
     To that end, a method according to the invention is characterized in that an environment of the relevant sequence of samples to be restored is compared with an environment of an equally long sequence of valid samples which occurred a predetermined period of time earlier; 
     such a comparison is made for a plurality of different predetermined periods of time; 
     the environment which most closely approximates the sequence of samples to be restored is selected; and 
     the valid samples boundd by the environment thus selected are used for forming the replacement values. 
     More specifically, a method of restoring a sequence of m samples s t+i , wherein i=0, . . . , m-1 which are considered invalid, is characterized in accordance with the invention by the following steps: 
     (a) values of valid samples immediately preceding the first invalid sample s t , in combination with values of valid samples in a immediately subsequent environment following the last invalid sample s t+m-1  and containing a number of p samples, are correlated with values of a number of samples preferably equal to p which are present in an environment immediately preceding a sample s q , wherein q represents a variable sample position in the range p≦q≦t-p, in combination with values of samples present in an environment immediately subsequent to the sample s q+m-1  ; 
     (b) the correlation result of step (a) is determined and recorded; 
     (c) the steps (a) and (b) are repeated in that sequence for a plurality of differently chosen q-values; 
     (d) from the set of correlation results determined after step (c) the correlation result having the lowest value is determined; 
     (e) the value q corresponding to the correlation result obtained in step (d) is determined, more specifically q opt  ; and 
     (f) a sequence of values of the samples in the positions q opt , . . . , q opt+m-1  is selected, the replacement values for the samples s t , . . . , s t+m-1  being formed from the values of the samples thus selected. 
     A preferred embodiment of a method according to the invention, in which the correlation procedure is normalised, is characterized in that each environment determined by a value q opted for is scaled by a factor a q  so that the mean square error relative to the environment of the samples to be restored is minimal and 
     each of the values of the samples in the indicated positions q opt , . . . , q opt+m-1  is multiplied by the factor a qopt . 
     It is illustrative of the invention that in the case of speech which is sampled at a rate of 8000 Hz, the time interval corresponding to said subsequent sequence can be reduced to approximately 25 samples, i.e. to approximately 3 msec. 
     Apparatus for performing the method according to the invention is characterized by 
     comparator means for comparing values of samples which constitute an environment for the relevant sequence of samples to be restored, the values constituting a test environment of the relevant sequence of samples to be restored, which values or samples constitute a test environment of an equally large sequence of valid samples which appeared a predetermined period of time earlier; 
     indicating means for indicating several groups of samples shifted in time relative to each other, each group forming one of said test environments; 
     control means controlling the mode of operation of said comparator means in dependence on the indication result of the indicator means; 
     selection means which on the basis of the results provided by the comparator means select that test environment which approximates the environment of the sequence of samples to be restored most closely; and 
     arithmetic means deriving the replacement values from the values of the samples which are bounded by the selected test environment. 
     More specifically, an apparatus for performing the method according to the invention, is characterized by an arithmetic unit arranged for always calculating for a plurality of chosen values q, wherein q=p, . . . , t-p, the quantities a q  and ε(q, aq) in accordance with the formulae ##EQU1## 
     A comparator unit selects from the pairs of quantities a q  and ε(q, a q ), as generated by the arithmetic unit, that pair for which ε(q, a q ) is minimal and determines the associated values for q and a q  &gt;o as q opt  and a opt  ; and 
     a multiplying circuit multiplies each of the sample values in the position q opt+i , wherein i=0, . . . , m-1, by a opt  and substitutes the product values as replacement values for the invalid samples. 
     The apparatus of the invention is further characterized in that it operates in accordance with the flow charts of FIGS. 4 and 5. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention and how it can be put into effect will now be further described by way of example with reference to the accompanying drawing, wherein: 
     FIG. 1 shows a time diagram with reference to which the principle of the present invention will be described; 
     FIG. 2 is a functional block circuit diagram to illustrate the basic operations performed in accordance with the present invention; 
     FIG. 3 is a block circuit diagram of an apparatus according to the invention; 
     FIG. 4 is a flow chart to illustrate an input/output program performed according to the invention; and 
     FIG. 5 is a flowchart for further illustration of the restoration technique according to the invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The invention can advantageously be used for a sampled speech signal of which a number of samples is mutilated such as by interferences so that at the receiver side of an associated transmission system the samples are considered as invalid. Such a situation can, for example occur in a telephony system of the type known as MAT (mobile automatic telephony). Due to what is commonly referred to as selective fading, the signal received and consequently the speech signal received fails regularly and for a short period of time. It has been found that a speech signal modulated on a carrier of, for example, approximately 300 MHz is received undisturbed and disturbed at the receiver at given intervals which depend on the speed at which a relevant vehicle functioning as a mobile station of such a telephony system travels. 
     The restoration technique performed by the invention makes it possible to reliably restore invalid samples of a speech signal sampled at a frequency of 8000 Hz, if the interval containing unknown samples is less than approximately 12 msec, and if the relevant speech signal is available undisturbed on both sides of such an interval, for approximately 3 msec. 
     Hereinafter, the principle of the present invention will be further described with reference to FIG. 1. The diagram shown in FIG. 1 is illustrative of a sequence of consecutive samples s k , wherein k=0, . . . , N-1. Of such samples, the m samples s t , . . . , s t+m-1 , in interval B 1  form a sequence of samples which are considered invalid and must be restored. In other words, the replacement estimated values s t+i , wherein i=0, . . . , m-1 must be found for these invalid samples. These replacement values must approach the original values of these invalid samples to the best possible extent, or in any case be such that in the ultimately restored signal substantially no observable errors occur. 
     The invention is based on the principle that such replacement values can be derived from the values of that sequence of valid samples s q+i  whose environment approximates the environment of the sequence s t+i  to the best possible extent, FIG. 1 interval B2. In the foregoing, q represents a sample position in a chosen further range of samples, while for i it holds that i=0, . . . , m-1. As is shown in FIG. 1, the sequence s t+i  of invalid samples is bounded between a pre-environment A 1  defined by the samples s t-p  and s t-1 , and a post-environment C 1  following the sequence of invalid samples. The sample position index q will now be chosen within the limitations of 
     
         p≦q≦t-p; and 2.sub.p+m &lt;t.                   (1) 
    
     It is now possible to define for each sequence s q+i , wherein i=0, . . . , m-1, defined by a sample index position q, also a pre-environment interval A2 and a post-environment interval C2, each comprising a number of p samples. The respective pre-environment and post-environments can now be defined by s q-p  and s q-1  and s q+m  and s q+m+p-1 , respectively. 
     The strategy for determining the sequence of valid samples which will ultimately be suitable to serve as a source for making available the replacement values of the samples which are considered invalid is as follows. For each of a plurality of sets having different q-values, the pre-environment and the post-environment of a sequence s q+i , wherein i=0, . . . , m defined by the chosen q-value, is compared with the pre-environment and the post-environment of the sequence s t+i  of invalid samples. That environment which, but for a scaling factor a q , most closely approximates the environment of the sequence of invalid samples s t+i  then identifies the boundaries of the sequence s q+i  looked for. This means in practice that the sampling values 
     
         s.sub.t+i =a.sub.q s.sub.q+i,                              (2) 
    
     wherein i=0, . . . , p-1, 
     are the desired estimation values which can be used in the position of the invalid samples if the pre-environment and post-environment, respectively, of these invalid samples is approached to the closest possible extent by the pre-environment and post-environment of samples which can be represented by 
     
         a.sub.q s.sub.q-p+i, 
    
     wherein i=0, . . . , p-1, 
     
         and 
    
     
         a.sub.q s.sub.q+m+i, 
    
     wherein i=0, . . . , p-1. 
     The scaling factor a q  depends on the value chosen for the sample position index q for a relevant equation. By introducing such a scaling factor a q  it can be accomplished that environments of the same shapes which are compared with each other can also be made equal to each other as regards their magnitude. 
     The above-described strategy is based on the assumption that one set of samples is &#34;similar&#34; to another set of samples, if the environments of these two sets of samples may be considered as &#34;similar&#34;. For the case of voiced speech, in other words in the case of a signal considered as periodical, this assumption is certainly correct. Because of this periodical character of voiced speech it is, in addition, substantially certain that in a finite interval preceding the sequence of samples to be restored, a sequence of valid samples is present whose values, after scaling, can serve as replacements for the samples considered as invalid. For the case of unvoiced speech, which has rather the character of noise, this is not always the case. Despite that, it has been found that the proposed restoration technique leads to satisfactory results even when the received signal is unvoiced speech. 
     From the foregoing it will be obvious that identifying the sequence of valid samples s q+i  wherein i=0, . . . , m-1, which is suitable for supplying replacement values, in practice means finding the correct values for the quantities p and q and a q . As is also illustrated in FIG. 1, the samples suitable for use as the replacement values are looked for in a finite interval preceding the sequence of samples s t+i , wherein i=0, . . . , m-1 to be restored. As will also be obvious from FIG. 1, the sequence s k , wherein k=0, . . . , t+m+p-1, wherein k≠t, . . . , t+m-1, is available for that purpose. 
     Taking account of the limitations imposed by formula (1), it holds that t-p-m-p=t-2.p-m defines a stock of valid samples which are suitable for making replacement values available for the invalid samples. As will further be clear from formula (1), p must in any case be less than (t-m)/2. It was found experimentally that p≧25  provides satisfactory results. With a customary sampling rate of 8000 Hz of a speech signal, this implies that the subsequent sequence produces a delay of only 3.125 msec. 
     For each chosen value of the sample position index q wherein q=p, . . . , t-p a value of a=a q  can be determined, as a result of which the expression ##EQU2## minimizes. Thus, each environment, more specifically the pre-environment and post-environment, respectively, as described by 
     
         [(s.sub.q-p+i).sub.i=0, . . . , p-1, (s.sub.q+m+i).sub.i=0, . . . , p-1 ]q=p, . . . , t-p                                         (4) 
    
     can be scaled such that the means square error as described by formula (3) relative to the environment, more specifically the pre-environment and post-environment, respectively, as defined by 
     
         [(s.sub.t-p+i).sub.i=0, . . . , p-1, (s.sub.t+m+i).sub.i=0, . . . , p-1 ](5) 
    
     is minimal. The scaling factor a q  suitable for use as a selected sample position index q is that value for a for which the first derivative of the expression defined by (3) becomes equal to zero. From the equation thus obtained a q  can be solved in accordance with ##EQU3## 
     The expression ε(q, a q ) can be written as ##EQU4## 
     The correlation procedure proposed by this equation (7) is schematically illustrated in FIG. 1 in that the environments (test invironments) in this Figure, defined by a given sample position index q are shown below the environment bounding the sequence of samples to be restored and with which the said first environments are compared. 
     The optimum value for the sample position index q, q=q opt  and the optimum value for the scaling factor a q , a q  =a opt  is now that value of q and a q  for which the result of the equation (correlation) represented by equation (7) is minimal. 
     A method which is illustrative of the invention comprises the following steps: 
     For all the available values for the sample position index q, wherein q=p, . . . , t-p, the value a q  as defined in equation (6) and the correlation result in accordance with equation (7) are each time determined. From all the pairs 
     
         [a.sub.q, ε(q, a.sub.q)].sub.q=p, . . . , t-p 
    
     thus determined that pair is determined for which ε(q, a q ) is minimal. The associated values for q and a q  are the values q opt  and a opt . Thereafter, on the basis of the q opt  and a opt  thus determined, replacement values can be determined in accordance with 
     
         s.sub.t+i =a.sub.opt.s.sub.q.sbsb.opt.sub.+i, i=0, . . . , m-1 (8) 
    
     It has been ascertained that a opt  must be positive. This implies that the pairs [a q , ε(q, a q )], wherein a q  &lt;0 must be left out of consideration when looking for the minimum for ε(q, a q ). 
     FIG. 2 shows a general circuit diagram of a configuration of components dissolved in performing basic functions of the method according to the invention. 
     An equidistantly sampled signal, for example a speech signal is supplied in the form of a sequence of digital samples s k . A flag bit which indicates whether a replacement sample must be considered as valid or invalid is included in each of the applied samples. The samples are applied to a flat bit-recognizing circuit 2.1 which at an output generates a flag bit signal f k  which informs a control arrangement 2.2 of the fact whether an applied sample is be qualified as being valid or invalid. Via a different output of flag bit-recognizing circuit 2.1 the incoming signal samples s k  are applied to a randomly accessible register 2.3. This register has such a storage capacity that all the incoming samples required to complete a restoration cycle relating to a sequence of samples qualified as invalid, are available. The control arrangement 2.2 is inter alia arranged for determining in accordance with a predetermined program routine, on the basis of the flag bit signals and the samples present in the register 2.3, whether a restoration procedure for restoring a number of samples which are considered invalid must be initiated and completed or not. As soon as this control arrangement has ascertained that of a sequence of samples stored in the register 2.3 a set must be restored, all the samples in the positions q, wherein q=p, . . . , t-p, are read from the register 2.3, all this in such a manner as defined with reference to FIG. 1, the values of such samples being inputted to an arithmetic processor unit 2.4. Fundamentally, such an arithmetic unit performs a calculation whereby an environment of a relevant sequence of stored samples can be compared to an environment of an equally large sequence of valid samples which appear in a chosen period of time earlier, such a comparison being made for a plurality of different chosen periods of time. More specifically, the arithmetic unit 2.4 is arranged to always calculate for a selected value q the quantities a and ε(q, a q ) in accordance with the formulas (6) and (7) above, from the sample values read from the register 2.3. The results of the operation performed by the arithmetic unit 2.4, more specifically the pairs a q  and ε(q, a q ) generated for the chosen q-values, are applied to a comparator unit 2.5. Fundamentally, this comparator unit performs the function whereby the environment which most closely approximates the environment of the sequence of samples to be restored is selected. More specifically, this comparator unit 2.5 is arranged for finding from the results supplied by the arithmetic means 2.4, that combination for which the relevant quantity ε(q, a q ), wherein a q  &lt;0, is minimal. The values associated therewith for q and a q , namely q opt  and a opt , are supplied by comparator unit 2.5 to a multiplier 2.6. This multiplier is also arranged to read, under the control of the control arrangement 2.2, the stored samples in the positions q opt , . . . q opt+m-1  determined by the quantity q opt  supplied, and to receive such sample values. Multiplier 2.6 is then operative for multiplying each of the sample values thus received by the quantity a opt  supplied by the comparator unit 2.5, and to supply the ultimate replacement values to register 2.3 for the sample positions t, . . . , t+m-1. Thus, this multiplier performs basically the function whereby the valid samples which are bounded by the environment chosen by the comparator unit, are used to form the replacement values of the samples to be restored. 
     After such a restoration cycle the restored sequence of samples is supplied from the output of the register 2.3, also under the control of the control unit 2.2. 
     Generally the invention is suitable for use in those situations in which digitized signals, such as audio signals and more particularly speech signals, can be received in a disturbed state. The positions of the disturbed samples must be known, as also the position of the samples which determine the prior and post-environments. The invention is also suitable for restoring disturbed analog speech signals, after the signals have been converted to digital form. 
     The invention is also suitable for use in restoring speech signals which during transmission were protected by an error-correcting and detection code. In that case those samples can be restored which were detected as an error, but could not be corrected anymore by such code. 
     FIG. 3 shows a block circuit diagram of an embodiment of an arrangement according to the invention. The block 3.1 is a receiver which at its output can develop from a received signal a sequence of samples s k  such as they were described with reference to FIG. 2. The block 3.2 corresponds to the flag bit-recognizing circuit shown in FIG. 2. The values of the incoming samples appear at the output 3.3 in the form of 16-bit words. When at the output 3.3 a sample appears of a value which is regarded as invalid, a flag bit signal formed by a 1-bit word and indicating that the relevant sample is invalid appears at the output 3.4. The values of the samples and the flag bit signals are applied to the respective input arrangement 3.6 and 3.7 of a microprocessor configuration 3.5 arranged for implementing a restoration cycle for samples to be restored. In addition to an output 3.8 at which the sample values are outputted, this processor 3.5 comprises a central processing unit 3.9 of which a control member, an arithmetic member and a logic unit form part. Furthermore, the processor 3.5 includes three memories 3.10, 3.11 and 3.12. The memories 3.10 and 3.11 are random access memories, the memory 3.10 acting as a cyclic buffer and the memory 3.11 acting as a working store for storing the intermediate results. The memory 3.12 is a static memory in which the programs for restoring invalid samples are stored. The memories 3.10, 3.11 and 3.12 are coupled to the central processing unit 3.9 via a data bus 3.13, via which bus data can be inputted and outputted. For conveying addresses, the memories 3.10, 3.11 and 3.12 and also the inputting and outputting arrangements 3.6, 3.7 and 3.8 are coupled to the central processing unit 3.9 via an address bus 3.14. Furthermore, the processor 3.5 includes a clock 3.15 under whose control the operation of the central processing unit can be interrupted in order to permit the inputting and outputting of data to take place. Namely, digital audio signals require a constant through-put in order to accomplish that the frequency with which the samples appear at the output is the same as the rate at which the relevant signal is sampled. Inputting and outputting of data is controlled via a program stored in the program store 3.12. FIG. 4 illustrates a flow-chart of this program. 
     This program can be described as follows: (for captions see Table 1). 
     Block 4.1, caption: &#34;wait for interrupt&#34;; description: data can be inputted and outputted during an interrupt which is initiated when a clock pulse from data clock 3.5 appears. 
     Block 4.2: caption: &#34;output/input&#34;; description: upon the appearance of a clock pulse the value of a new sample is inputted via the input 3.6 and entered into the first free address in the memory 3.10, and the oldest sample present in memory 3.4 is read and outputted. 
     Block 4.3, caption: &#34;input error?&#34;; description: upon entering a new sample, the flag bit signal is at the same time entered via input 3.7. When no invalid sample is detected, the subsequent clock pulse is waited for repeating the procedure. 
     Block 4.4, caption: &#34;update error table&#34;; description: if a sample is detected as being invalid, the address of this sample is entered from the memory 3.10, into a Table of invalid samples in the working memory 3.11. 
     Under the regime of the above-described program, the cyclic buffer store 3.10 operates as a delay line, whose delay is determined by the period of time necessary for a restoration cycle measured from the arrival of the first sample, which is qualified as invalid, increased by the period of time of the required post-environment. The program stored in the memory 3.12, with which the replacement values for the samples to be corrected are calculated, is started when the input/output program detects a sample as being invalid. 
     This restoration program will now be described in greater detail with reference to FIG. 5, which shows a flow chart with this program. (For captions see Table II). 
     Block 51: &#34;wait for an error pattern to be restored&#34;, description: as long as no pattern of invalid samples is detected the restoration program is inoperative. 
     Block 52: caption &#34;compute q opt  and a opt  &#34;; from a row of possible values of q=p, . . . , t-p, a value of a=a q  is determined for which the expression ##EQU5## is minimised. The scaling factor a q  which is suitable for use for a selected sample position index q is that value of a for which the first derivative of the expression defined by (3) becomes equal to zero. From the equation of a q  obtained therefrom there are dissolved in accordance with ##EQU6## 
     The expression ε(q, a q ) can be written as ##EQU7## 
     The correlation procedure proposed by this equation (7) is schematically illustrated in FIG. 1, in that the environment defined by a given sample position index q (test environments) are shown in this Figure below the environments bounding the sequence of samples to be restored and with which the test environments are compared. 
     The optimum value for the sample position index q, q=q opt , and the optimum value for the scaling factor a q , a q  =a opt , is now that value of q and a q  for which the result of the equation (correlation) represented by equation (7) is minimal. If it is found that a opt  must be positive, that means that the pairs [a q , ε(q, a q )] wherein a q  &lt;0 must be ignored in the search for the minimum for ε(q, a q ). 
     Block 53: caption &#34;compute replacement samples s t+i , then the sample s t+i  is determined in accordance with s t+i  =a opt .s q .sbsb.opt +i , i=0, . . . , m-1&#34;. 
     Block 54: caption &#34;restore buffer samples, here the values of the invalid samples are replaced by the estimated values s t+i , i=0, . . . , m-1. Thereafter the program is again cycled through. 
     Tables 
     
                       TABLE 1                                                     
______________________________________                                    
Caption flow chart FIG. 4.                                                
block number      caption                                                 
______________________________________                                    
41                &#34;wait for interrupt&#34;                                    
42                &#34;output/input&#34;                                          
43                &#34;input error?&#34;                                          
44                &#34;update error table&#34;                                    
______________________________________                                    
 
    
     
                       TABLE 2                                                     
______________________________________                                    
captions flow chart FIG. 5.                                               
block number                                                              
          caption                                                         
______________________________________                                    
51        &#34;wait for an error pattern that can be restored&#34;                
52        &#34;compute q.sub.opt and a.sub.opt&#34;                               
53        &#34;compute replacement samples s + m&#34;                             
54        &#34;update buffer&#34;                                                 
______________________________________                                    
 ##EQU8##