Abstract:
A digital filter for a voice synthesis circuit which operates on the basis of the principle of linear predictive coding. More particularly, a digital filter of the lattice type for voice synthesis on the basis of the principle of linear predictive coding and capable of operating with a low clock frequency. Furthermore, the digital filter may use one multiplication circuit and one addition/subtraction circuit as well as containing an attenuation term element.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a digital filter for a voice synthesis circuit which is derived on the basis of the principle of linear predictive coding; in particular, the present invention relates to a method of forming a digital filter for voice synthesis which is derived on the basis of the principle of linear predictive coding of the lattice type. 
     A digital filter of the lattice type was already described in detailed in chapter 5 of the book entitled &#34;Linear Prediction of Speech&#34;, written by Markel and Gray (Springer-Verlag, New York, 1976). 
     The historical analysis of the means for fabricating said digital filter of the lattice type was disclosed in detail in Japanese Patent Laid-Open Specification No. 7838/1979 in which a means for fabricating a digital filter of the lattice type by using one multiplication circuit and one addition-subtraction circuit was proposed. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a digital filter which has operating characteristics which are sufficient for voice synthesis even if the operating clock frequency is low. 
     It is another object of the present invention to provide a means for fabricating a digital filter of the lattice type by using one multiplication circuit and one addition-subtraction circuit which is similar in design to the above described circuit disclosed by Japanese Patent Laid-Open Specification No. 7838/1979 and to provide a digital filter containing an attenuation term. 
     The model of a digital filter containing an attenuation term and its design on the basis of a stored-program form was disclosed in &#34;one chip PARCOR synthesizer&#34; written by Yamada et al., of the Musashino Electrical Communication Laboratory of Nippon Telegraph and Telephone Public Corporation and printed in the Sogo-Zenkoku-Taikai conference papers &#39;79 of The Institute of Electronics and Communication Engineers of Japan. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be described hereinafter by referring to the drawings. 
     FIG. 1 shows a model of a synthetic digital filter; 
     FIG. 2 is a block-diagram showing an example of the present invention; 
     FIGS. 3A and 3B are a timing-diagram showing the operation of an example of the present invention as shown in FIG. 2; 
     FIGS. 4A and 4B show a model of a synthetic digital filter containing an attenuation term; 
     FIG. 5 is a block-diagram showing an example of the present invention containing an attenuation term; 
     FIGS. 6A and 6B are a timing-diagram showing the operation of an example of the present invention as shown in FIG. 5; 
     FIG. 7 is a block-diagram showing another example of the present invention; 
     FIGS. 8A and 8B are a timing-diagram showing the operation of another example of the present invention as shown in FIG. 7; 
     FIG. 9 is a block-diagram showing another example of the present invention as shown in FIG. 7 but additionally containing an attenuation term; 
     FIGS. 10A and 10B are a timing-diagram showing the operation of another example of the present invention as shown in FIG. 9. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The basic construction of a voice synthesizer used in the present invention was described in detail in the article entitled &#34;Voice synthesizer for VOCODER of linear predicting coding (LPC) type was realized by using three tips&#34; written by R. Wiggins and L. Brantingham (Nikkei Electronics., Jan. 8, 1979, pp. 147-162). 
     FIG. 1 is a model showing a digital filter of the lattice type as used in the voice synthesizer. Referring to FIG. 1, AU(i) designates an input signal which is a product of an amplitude signal A and an excitation signal U(i) in the i-th cycle of time. y 1  is a synthetic output signal which is put into DA transformer. Referring to FIG. 1 which shows an example of a 10-step type of filter, 1 to 10 designate subtracters, 11 to 19 designate adders, 21 to 30 and 22&#39; to 30&#39; designate multipliers for multiplying by filter coefficients k i  (i=1, 2, ˜10) and 41 to 50 designate delaying devices of a one time cycle delay. y 10  to y 1  designate output signals from said subtracters 1 to 10, b 10  to b 2  designate output signals from said adders 11 to 19 and b 1  is equal to y 1 . For example, the signal y 8  can be calculated by subtracting the product obtained by multiplying the signal before one time cycle b 8  by the coefficient k 8  from the signal y 9 . The signal b 8  can be calculated by adding the product obtained by multiplying the signal b 7  before one time cycle by the coefficient k 7  to the signal y 7 . 
     Table 1 shows mathematically the relationship between the signals y 10  to y 1  and b 10  to b 1 . 
     FIG. 2 shows an example of the present invention. Referring now to FIG. 2, 90 designates a K-stack a memory-device, which stores the digital values k 1  to k 10  representing filter coefficients and an amplitude signal A, 102 designates a multiplication circuit of which one input a is arranged in parallel to the output from K-stack 90. As a rule, a parallel operation circuit of an array type is used as the multiplication circuit 102. In the case of using Booth&#39;s algorithm, the operation of complementing can be done regardless of signs. For example, in the case of using Booth&#39;s secondary algorithm, the operation can be finished by repeating four steps of parallel addition when the number of parallel bits from said K-stack 90 is equal to 10. Booth&#39;s secondary algorithm was described in detail in the article entitled &#34;Multiplication operation circuit on the basis of parallel operation of the improved LSI-nization&#34; (Nikkei Electronics., No. 5-29, 76-90, 1978). 103 designates a three-step shift register used as the first delay circuit, 104 designates a one-step intermittently operating shift register used as the first intermittently operating delay circuit, 105 designates a change-over switch for selecting an output either from said shift register 103 or an output from said intermittently separating shift register 104, 106 designates an addition-subtraction circuit of which one input c is an output from said change-over switch 105, 107 designates a change-over switch, 108 designates a one-step shift register used as the second delay circuit, 109 designates a nine-step intermittently operating shift register used as the second intermittently operating delay circuit and is connected to said shift register 108. 110 designates a latch circuit which holds the digital value obtained by the above described operations and then sends it out to a DA transformer (not shown in the figure). 111 designates a change-over switch for selecting an output either from said addition-subtraction circuit 106 or an output from said intermittently operating shift register 109, its output being used as the other input d for said addition-subtraction circuit 106. Said change-over switch 107 changes over an output from said addition-subtraction circuit 106, an output from said intermittently operating shift register 109 and an exciting signal U(i), its output being used as an input for said shift register 108. A part of an output from said shift register 108 is also used as the other input b for said multiplication circuit 102. 
     Referring to FIG. 2, said amplitude signal A and said exciting signal U(i) is put into said shift register 108 through said K-stack 90 and said change-over switch 107, respectively, in a spare time period during the operation time of the circuit of FIG. 2, and are then subjected to multiplication AxU(i) in another spare time period during the operation time. 
     FIGS. 3A-3B show the detailed timing diagram in the practical operation of the formulae shown in Table 1 by means of the circuit shown in FIG. 2. Referring to FIGS. 3A-3B, the coefficient k i  or the information of an amplitude A is used as an input a for said multiplication circuit 102 and the output from said one-step shift register 108 is used as an input b for said multiplication circuit 102. The result of the addition appears in the form of an output from said three-step shift register 103 after 7 cycles through said four-step multiplication circuit 102 and said three-step shift register 103. 
     Said one-step intermittently acting shift register 104 is in this shift-action during the cycle T 1  to T 11  and interrupts shift-operation during the cycle T 12  to T 20 . The output from said one-step intermittently operating shift register 104 is used as the input c for said addition-subtraction circuit 106 during the cycle T 20  and cycles T 1  to T 10  and the output from said three-step shift register 103 is used as the input c for said addition-subtraction circuit 106 during the cycles T 11  to T 19 . The output from said addition-subtraction circuit 106, the output from said nine-step intermittently operating shift register 109 and 0 is used as the input d for said addition-subtraction circuit 106 during the cycles T 1  to T 10 , T 11  to T 19  and T 20 , respectively. Said addition-subtraction circuit 106 carries out the subtracting operation in which the input c is subtracted from the input d during the cycles T 1  to T 10  and the adding operation in which the input c is added to the input d during the cycles T 11  to T 20 . 
     The output from said nine-step intermittently operating shift register 109, the exciting signal U(i+1) and the output from said addition-subtraction circuit 106 is used as the input for said one-step shift register 108 during the cycles T 1 , T 2  and T 3  to T 20 , respectively. Said nine-step intermittently operating shift register 109 is in its shift-operation during the cycles T 11  to T 2  and interrupts shift-operation during the cycle T 3  to T 10 . The contents of said latch circuit 110 are held during the cycles T 2  to T 20  and T 1  and refreshed during the transition point from the cycle T 1  to the cycle T 2 . 
     The above described circuit construction makes it possible to carry out the operations shown in Table 1 by means of simple circuit-elements and the connection of circuit-elements to each other can also be simplified. 
     The attenuation operation may also be introduced. The insertion of a micro-loss in the synthesis filter may be taken as the counter-measure for limiting an unusual amplitude of synthetic voices. Its effect was described in detailed in the article entitled &#34;The study of an analysis-synthesis method of PARCOR of deformed lattice type&#34; (Material No. S77-06, Voice Study Meeting, The Acoustical Society of Japan, 1977, May). 
     FIG. 4a shows a model of a filter of the lattice type in which an attenuation operation is introduced. 51 to 60 designates attenuators, b 10  &#39; to b 1  &#39; designate the inputs for said attenuators 51 to 60 and b 10  to b 1  designate the output from said attenuators 51 to 60. The rest of the model is the same as that shown in FIG. 1. For example, the transition from b 3  &#39; to b 3  leads to the reduction of the value to 255/256. 
     FIG. 4b shows an example of attenuators 51 to 60. 
     Table 2 shows the relationship between the signals y 10  to y 1 , b 10  to b 1  and b 10  &#39; to b 1  &#39; as shown in FIG. 4. 
     FIG. 5 shows another example of the present invention. It is the same as FIG. 2 except that a shift circuit 112 and a subtraction circuit 113 are used instead of said one-step shift register 108. The output from said subtraction circuit 113 is the output from said change-over switch 107 times (1-1/256) if said shift circuit 112 is shifted to the right by eight bits. It is easy to adopt or except an attenuation operation because said shift circuit 112 and said subtraction circuit 113 are merely one-step shift registers if the output of said shift circuit 112 shown in FIG. 5 is equal to 0. 
     FIGS. 6A-6B show the timing diagram in the practical operation of the formulae shown in Table 2 by means of the construction shown in FIG. 5. FIGS. 6A-6B are the same as FIGS. 3A-3B except that the attenuation operation is carried out by means of the input and the output of said subtraction circuit 113. Referring to FIGS. 6A-6B, the construction in which a latch-circuit is connected with the output of a subtraction circuit and b 1  (i-1) is given to said latch-circuit during the cycle T 2  may be used, too. 
     As shown above, the present invention can remarkably simplify the construction of circuits and easily introduce an attenuation term. 
     FIG. 7 shows another example of the present invention. The same reference numbers as shown in the figure of the above described example designate the same elements as shown in the figure of the previously described example. However, also the same numbers will be explained again for completeness. 90 designates a k-stack used as a memory means which stores digital values k 1  to k 10  representing filter coefficients. 100 designates a one-step delay circuit in which the relationship between the input signal and the output signal is identical with the relationship between the input and the output in said one-step delay circuit. Thus, the output signal of said k-stack is encoded to obtain the signal which conforms to a multiplication algorithm of a multiplication circuit 102 as will be mentioned later. 101 designates the first shift register used as the first delay circuit means, 102 designates a multiplication circuit of which a first input terminal is connected to the output of said one-step delay circuit 100 in a manner such that plural parallel input segments (for plural bits) constituting the first input terminal are connected to corresponding plural parallel output segments (for plural bits) constituting the output of said one-step delay circuit, respectively. As a rule, a parallel operation circuit of an array type is used as said multiplication circuit. In the case of using Booth&#39;s algorithm, the operation of complementing can be carried out regardless of signs. For example, in case of using Booth&#39;s secondary algorithm, the four-step repetition of parallel addition is enough if the number of parallel bits from said k-stack 90 is 10. Booth&#39;s secondary algorithm was detailedly described in the article entitled &#34;Multiplication operation circuit on the basis of parallel operation of the improved LSI-nization&#34; (Nikkei Electronics., No. 5-29, 76-90, 1978). 103 designates the second shift register used as the second delay circuit means, 104 designates the first intermittently acting shift register used as the first intermittently operating delay circuit means. 105 designates a change-over switch for the output and the input of said second shift register 103, 106 designates an addition-subtraction circuit of which one input c is the output from said change-over switch 105, 107 designates a change-over switch, 108 designates the third shift register used as the third delay circuit means, 109 designates the second intermittently operating shift register used as the second intermittently operating delay circuit means, said second intermittently operating shift register 109 being connected to said third shift register 108. 110 designates a latch circuit which holds a digital value obtained by the operations described above and sends it out to a DA transformer (not shown in the figure). 111 designates a change-over switch for selecting either the output from said addition-subtraction circuit 106 or the output from said second intermittently operating shift register 109, its output being the other input d for said addition-subtraction circuit 106. Said change-over switch 107 also exchanges over the output from said addition-subtraction circuit 106, the output from said second intermittently acting shift register 109 and an exciting signal U(i), the output from said change-over switch 107 being used as an input for said third shift register 108. The output from said first shift register 101 is also used as the other input b for said multiplication circuit 102. 
     Referring to FIG. 7, an amplitude signal A and an exciting signal U(i) is put into said third shift register 108 through said k-stack 90 and said change-over switch 107, respectively, in a spare time period during the operation time of the circuit of FIG. 7, and are then subjected to multiplication AxU(i) in another spare time period during the operation time. 
     FIGS. 8A-8B show the timing diagram in the practical operation of the formulae shown in Table 1 by means of the circuits shown in FIG. 7. Referring to FIGS. 8A-8B, the information of the coefficient k is used as an input a for said one-step delay circuit 100 and the output from said third shift register 108 is used as an input b for said multiplication circuit 102 through said first shift register 101. The result of the multiplication appears in the form of the output from said second shift register 103 after six cycles through said multiplication circuit 102 and said second shift register 103. 
     Said first intermittently operating shift register 104 is in its shift-operation during the cycles T 1  to T 11  and interrupts the shift-operation during the cycles T 12  to T 20 . The output from said first intermittently operating shift register 104 is used as the input c for said addition-subtraction circuit 106 during the cycles T 20  to T 1  and T 1  to T 10  and the output from said second shift register 103 is used as the input c for said addition-subtraction circuit 106 during the cycles T 11  to T 19 . The output from said addition-subtraction circuit 106 is also used as the input d for said addition-subtraction circuit 106 during the cycles T 1  to T 10 , the output from said second intermittently operating shift register 109 being used as the input d for said addition-subtraction circuit 106 during the cycles T 11  to T 19 , and 0 being used as the input d for said addition-subtraction circuit during the cycle T 20 . Said addition-subtraction circuit 106 carries out the subtraction operation in which the input c is subtracted from the input d during the cycles T 1  to T 10  and the addition operation in which the input c is added to the input d during the cycles T 11  to T 20 . 
     The output from said second intermittently operating shift register 109, an exciting signal U(i+1) and the output from said addition-subtraction circuit 106 is used as the input for said third shift register 108, respectively. Said second intermittently operating shift register 109 is in its shift operation during the cycles T 11  to T 20  and T 20  to T 2  and interrupts the shift operation during the cycles T 2  to T 10 . The contents of said latch circuit 110 is held during the cycles T 2  to T 20  and T 20  to T 1  and refreshed during the transition point from the cycle T 1  to the cycle T 2 . 
     The above described construction of circuits makes it possible to carry out the operations shown in Table 1 by means of simple circuit-elements and said circuit-elements may be easily connected to each other. 
     Said one-step delay circuit 100 shown in FIG. 7 can encode the output signal from said k-stack 90 to put out the signal which is suitable for the multiplication algorithm of said multiplication circuit 102. It will be explained hereinafter why the addition of a one-step delay is required occasionally. One example is the design of an enode circuit by means of a four-phase dynamic ratioless shift register for the sake of power saving. The principle of forming a gate circuit by using four-phase dynamic ratioless shift register was described in detailed in the article entitled &#34;MOS/LSI Design and Application&#34; written by Dr. William N. Carr and Dr. Jack P. Mize (McGrawhill Book Company, 1972). 
     The attenuation operation may also be introduced. The insertion of a micro-loss in the synthesis filter may be taken as the countermeasure for limiting an unusual amplitude of synthetic voice. Its effect was described in detailed in the article entitled &#34;The study of an analysis-synthesis method of PARCOR of deformed lattice type&#34; (Material No. S77-06, Voice Study Meeting, The Acoustical Society of Japan, 1977, May). 
     FIG. 4a shows a model of a filter of a lattice type in which an attenuation operation is introduced. 
     Referring to FIG. 4a, the relationship between the signals y 10  to y 1 , b 10  to b 1  and b 10  &#39; to b 1  &#39; are also represented by the formulae shown in Table 2. 
     FIG. 9 shows another example of the present invention. It is the same as that shown in FIG. 7 except that shift circuit 112 and a subtraction circuit 113 are used instead of said third shift register 108 in FIG. 7. The output from said subtraction circuit 113 is the output from said change-over switch 107 times (1-1/256) if said shift circuit 112 is shifted to the right by eight bits. It is easy to adopt or except an attenuation operation because said shift circuit 112 and said subtraction circuit 113 are merely one-step shift registers if the output of said shift circuit 112 shown in FIG. 9 is 0. 
     FIGS. 10A-10B show the timing diagram in the practical operation of the formulae shown in Table 2 by means of the construction shown in FIG. 9. FIGS. 10A-10B are the same as FIGS. 8A-8B except that the attenuation operation is carried out by means of the input and the output of said subtraction circuit 113. Referring to FIG. 9, the construction in which a latch circuit 110 is connected with the output of said subtraction circuit 113 and b 1  (i-1) is put in said latch circuit 110 during the cycle T 2  may be used, too. 
     As shown above, the present invention can provide a digital filter which is remarkably simplified in construction and in which an attenuation term is easily introduced. 
     
                       TABLE 1______________________________________   y.sub.10 (i) = AU(i) - k.sub.10 b.sub.10 (i - 1)   y.sub.9 (i) = y.sub.10 (i) - k.sub.9 b.sub.9 (i - 1)   b.sub.10 (i) = b.sub.9 (i - 1) + k.sub.9 y.sub.9 (i)   y.sub.8 (i) = y.sub.9 (i) - k.sub.8 b.sub.8 (i - 1)   b.sub.9 (i) = b.sub.8 (i - 1) + k.sub.8 y.sub.8 (i)   y.sub.7 (i) = y.sub.8 (i) - k.sub.7 b.sub.7 (i - 1)   b.sub.8 (i) = b.sub.7 (i - 1) + k.sub.7 y.sub.7 (i)   y.sub.6 (i) = y.sub.7 (i) - k.sub.6 b.sub.6 (i - 1)   b.sub.7 (i) = b.sub.6 (i - 1) + k.sub.6 y.sub.6 (i)   y.sub.5 (i) = y.sub.6 (i) - k.sub.5 b.sub.5 (i - 1)   b.sub.6 (i) = b.sub.5 (i - 1) + k.sub.5 y.sub.5 (i)   y.sub.4 (i) = y.sub.5 (i) - k.sub.4 b.sub.4 (i - 1)   b.sub.5 (i) = b.sub.4 (i - 1) + k.sub.4 y.sub.4 (i)   y.sub.3 (i) = y.sub.4 (i) - k.sub.3 b.sub.3 (i - 1)   b.sub.4 (i) = b.sub.3 (i - 1) + k.sub.3 y.sub.3 (i)   y.sub.2 (i) = y.sub.3 (i) - k.sub.2 b.sub.2 (i - 1)   b.sub.3 (i) = b.sub.2 (i - 1) + k.sub.2 y.sub.2 (i)   y.sub.1 (i) = y.sub.2 (i) - k.sub.1 b.sub.1 (i - 1)   b.sub.2 (i) = b.sub.1 (i - 1) + k.sub.1 y.sub.1 (i)   b.sub.1 (i) = y.sub.1 (i)______________________________________ 
    
     
                       TABLE 2______________________________________   y.sub.10 (i) = AU(i) - k.sub.10 b.sub.10 (i - 1)   y.sub.9 (i) = y.sub.10 (i) - k.sub.9 b.sub.9 (i - 1)   b&#39;.sub.10 (i) = b.sub.9 (i - 1) + k.sub.9 y.sub.9 (i)   b.sub.10 (i) = b&#39;.sub.10 (i) - 2.sup.-8 b&#39;.sub.10 (i)   y.sub.8 (i) = y.sub.9 (i) - k.sub.8 b.sub.8 (i - 1)   b&#39;.sub.9 (i) = b.sub.8 (i - 1 + k.sub.8 y.sub.8 (i)   b.sub.9 (i) = b&#39;.sub.9 (i) - 2.sup.-8 b&#39;.sub.9 (i)   y.sub.7 (i) = y.sub.8 (i) - k.sub.7 b.sub.7 (i - 1)   b&#39;.sub.8 (i) = b.sub.7 (i - 1) + k.sub.7 y.sub.7 (i)   b.sub.8 (i) = b&#39;.sub.8 (i) - 2.sup.-8 b&#39;.sub.8 (i)   y.sub.6 (i) =  y.sub.7 (i) - k.sub.6 b.sub.6 (i - 1)   b&#39;.sub.7 (i) = b.sub.6 (i - 1) + k.sub.6 y.sub.6 (i)   b.sub.7 (i) = b&#39;.sub.7 (i) - 2.sup.-8 b&#39;.sub.7 (i)   y.sub.5 (i) = y.sub.6 (i) - k.sub.5 b.sub.5 (i - 1)   b&#39;.sub.6 (i) = b.sub.5 (i - 1) + k.sub.5 y.sub.5 (i)   b.sub.6 (i) = b&#39;.sub.6 (i) - 2.sup.-8 b&#39;.sub.6 (i)   y.sub.4 (i) = y.sub.5 (i) - k.sub.4 b.sub.4 (i - 1)   b&#39;.sub.5 (i) = b.sub.4 (i - 1) + k.sub.4 y.sub.4 (i)   b.sub.5 (i) = b&#39;.sub.5 (i) - 2.sup.-8 b&#39;.sub.5 (i)   y.sub.3 (i) = y.sub.4 (i) - k.sub.3 b.sub.3 (i - 1)   b&#39;.sub.4 (i) = b.sub.3 (i - 1) + k.sub.3 y.sub.3 (i)   b.sub.4 (i) = b&#39;.sub.4 (i) - 2.sup.-8 b&#39;.sub.4 (i)   y.sub.2 (i) = y.sub.3 (i) - k.sub.2 b.sub.2 (i - 1)   b&#39;.sub.3 (i) = b.sub.2 (i - 1) + k.sub.2 y.sub.2 (i)   b.sub.3 (i) = b&#39;.sub.3 (i) - 2.sup.-8 b&#39;.sub.3 (i)   y.sub.1 (i) = y.sub.2 (i) - k.sub.1 b.sub.1 (i - 1)   b&#39;.sub.2 (i) = b.sub.1 (i - 1) + k.sub.1 y.sub.1 (i)   b.sub.2 (i) = b&#39;.sub.2 (i) - 2.sup.-8 b&#39;.sub.2 (i)   b&#39;.sub.1 (i) = y.sub.1 (i)   b.sub.1 (i) = b&#39;.sub.1 (i) - 2.sup.-8 b&#39;.sub.1 (i)______________________________________