Methods of generating waveforms

Abstract: A method of generating pure and decaying sinusoidal waveforms is readily implemented on arithmetic processors found in telecommunications circuits. The method is based on finite-difference equations and provides a sequence of signals having a high degree of spectral accuracy compared with presently-used methods. The sequence of signals can be generated in real-time without templates (ROM-stored patterns) because the method requires only two multiplications (16,18) and one addition (12) for each signal value generated in the sequence. The method finds application in dual-tone, multi-frequency (DTMF) telephone dialing systems.

Description: This invention relates generally to dual-tone multi-frequency (DTMF) telephone dialing systems and, more particularly, to a method of generating pure and decaying tones suitable for use in a telecommunication integrated circuit having an arithmetic processor. Generation of sinusoidal waveforms is a common function of circuitry used in telecommunications. For example, dual-tone, multi-frequency (DTMF) dialing signals are composed of pure sinusoidal waveforms of two different frequencies. Other uses of sinusoidal waveforms are found in such circuits; commonly required are waveforms whose amplitude decays with time. Various techniques are employed to generate sinusoidal waveforms: dedicated digital/analog circuitry such as is employed in American Microsystems' model S25089 tone generator; memory table look-up of sine values; and triangular and trapezoidal approximations. These three methods are described in U.S. Patent 4,563,548 entitled "Method and Circuit for Telephone Dialing Signal Generation" and such description is incorporated herein by reference. The digital/analog circuitry makes use of dedicated circuits to generate sinusoidal waveforms. These dedicated circuits take up valuable die area on the integrated circuit chip. Furthermore, they are generally fixed in terms of the functions they perform because of their use of analog circuit components. The latter two techniques are more desirable because they are typically purely digital in nature and accordingly can be programmed to perform a variety of functions. However, the memory look-up still requires dedicated read-only memory (ROM) to store sine values as well as amplitude templates for decaying waveforms. Furthermore, it is still somewhat inflexible because of the use of only selected values of amplitude information. The triangular and trapezoidal technique is considerably more flexible and efficient of die area as it can be programmed to run on an arithmetic processor usually incorporated on telecommunications chips. However, approximation of sinusoidal waveforms by straight-line segments produces undesirable harmonics in the resulting waveforms and only the fundamental frequency is correct. Additional filtering is therefore necessitated by this technique. What is needed is a method of generating pure and decaying sinusoidal waveforms which makes full use of the arithmetic processor commonly incorporated in telecommunications integrated circuits. Thereby not requiring circuitry dedicated solely to generation of sinusoidal waveforms and producing such waveforms accurately. IEEE Transactions on Aerospace and Electronic Systems, Vol. AES-11, No. 6, November 1975 has an article entitled "Design of Digital Sinusoidal Oscillators with Absolute Periodicity" (K. Furuno) which discloses a process of generating a sequence of digital signals y(n), n = 0, 1, 2......, that approximate a sinusoidal waveform having a frequency fo wherein the most recently generated signal y(n-1) and the next-most-recently generated signal y(n-2) are stored and multiplied by respective predetermined constants to form respective first and second product signals, and the first and second product signals are summed to form a resulting signal y(n) of the sequence. According to the present invention such a process is characterised in that if the signals are sampled once every T seconds at a frequency f S = 1/T, the first product signal is the product of the signal y(n-1) and the constant 2(d) T (cos Wo), and the second product signal is the product of the signal y(n-2) and the constant - (d) 2T , where d is a preselected decay factor of the sinusoidal waveform and Wo = 2Π f o /f s . A processor embodying the invention will be described herein. The processor is able to generate pure and decaying sinusoidal waveforms having a high degree of spectral accuracy. The processor is readily implemented on an arithmetic processor commonly found on telecommunications integrated circuits and therefore requires no additional circuitry taking up valuable die area. The processor is fully programmable making no use of preselected values and is readily capable of generating both pure and decaying sinusoidal waveforms of any desired frequency and decay rate. Initial parameter values specifying the initial phase and peak amplitude, a decay factor, and sampling and tone frequencies are used repetitively in a finite-difference equation to generate a sequence of values which closely approximates a pure or decaying sinusoidal waveforms. Because the finite-difference equation involves only two multiplications and one addition for each value generated, the method provides a faster way of generating a sequence of values than the table look-up method which requires time-consuming references to ROM for waveform and/or decay template values. In the accompanying drawings by way of example only:- Figure 1 is a signal flow diagram of waveform generation method embodying the present invention. Figure 2A and 2B illustrate a typical sinusoidal waveform as generated by the instant invention and the spectral power of the waveform, respectively. Figure 3A and 3B illustrate a typical sinusoidal waveform as generated by a trapezoidal method and the spectral power of the waveform, respectively. Figure 4 illustrates a typical decaying sinusoidal waveform as generated by the instant invention. The waveform generation method of the present example is based on the finite-difference equation: y(n) = a 1 *y(n-1) + a 2 *y(n-2) where y(n) is the output as the nth sampling instant and a 1 and a 2 are constants that determine the rate of decay and the tone frequency. If T = sampling period, d = decay factor and w o =2π.f o /f s where f o = desired tone frequency and f s = sampling frequency l/T, then a 1 and a 2 can be characterized as a 1 = 2d T cos(w o ) a 2 = -d 2r and the solution to Equ. 1 is given by y(n) = Ad Tn sin(w o n+) where A is the peak amplitude and  is the initial phase: As can be seen from Equ. (3), the general solution to Equ. (1) is of a decaying sine wave having peak amplitude A and initial phase . The sine wave decays by a factor of d between successive samples. Selection of the parameters A, , d, w o and T, permits the initial values of y(o) and y(1) to be determined via equations (2) and (4). In general, the values for y(o) and y(1) are given by y(o) = A sin  y(1) = Ad T sin(w o +) For instance, the easily-implemented case of zero initial phase and peak amplitude A leads to y(o) = o and y(1) = Ad T sin(w o ). If the general form of the decaying sine wave is F(t) = Ae -bt sin(w o t+) then d T = e -bT and d=e -b Fig. 1 is a signal flow diagram illustrating the generation of tones according to the instant invention. Those familiar with the art will recognize that such a signal flow diagram is readily implemented by a programmable digital arithmetic processor such as is commonly incorporated onto telecommunications integrated circuits. A delay block 10 receives the signal generated by a sum node 12. Initially block 10 will store the initial value y(1). The signal generated by block 10 is received by a delay block 14 and a product node 16. Initially block 14 will store the initial value y(o). A product node 18 receives the signal generated by block 14. Product node 16 also receives a signal representing the value 2(d) T cos(w o ) and product node 18 likewise receives a signal representing the value -(d) 2T . The signals generated by product nodes 16 and 18 are received by the sum node 12. Sum node 12 generates the signal representing the current output value y(n). A digital signal processor can readily implement the signal flow diagram of Fig. 1 and generate the series of values y(n); one each sampling period. With reference now to Fig. 2, a 500Hz waveform as generated by the instant invention, at a sampling frequency of 8KHz, is shown in Fig. 2A. The spectral power as a function of frequency of the waveform shown in Fig. 2A is shown in Fig. 2B. For comparison, the same waveform, as generated by the trapezoidal method described in U.S. Patent 4,563,548 is shown as Fig. 3A and the spectral power for this waveform is shown in Fig. 3B. As can be seen in Fig. 2A, the waveform generated by the instant invention is virtually indistinguishable from a true sinusoidal pattern and with reference to Fig. 2B its power is almost exclusively at 500Hz. Very little power is contained at other frequencies. The trapezoidal waveform of Fig. 3A only roughly corresponds to a true sinusoidal pattern. The result is that the power spectrum shown in Fig. 3B indicates significant power spikes at odd harmonics of the fundamental frequency, i.e., 1500Hz, 2500Hz, 3500 Hz, and this means that filtering will be required to remove these unwanted odd harmonics. Fig. 4 is an illustration of a decaying 500Hz waveform, the equation of which is given by F(t) = e -5t sin(2π κ 100t), produced by the instant invention with a decay factor d T =0.9993751, and a sampling frequency of 8KHz.

Claims: A process in a digital signal processor for generating a sequence of electrical digital signals y(n), n = 0, 1, 2, ...., each digital signal y(n) representing a periodic sample value of an approximate pure or decaying sinusoidal waveform having a frequency fo, wherein the most recently generated signal y(n-1) and the next-most-recently generated signal y(n-2) are stored and multiplied by respective predetermined constants to form respective first and second product signals, and the first and second product signals are summed to form a resulting signal y(n) of the sequence, the signals being sampled once every T seconds at a frequency f S = 1/T, characterised in that the first product signal is the product of the signal y(n-1) and the constant 2(d) T (cos W o ), and the second product signal is the product of the signal y(n-2) and the constant -(d) 2T , where d is a preselected decay factor of the sinusoidal waveform and W o = 2Π f o /f s . A process according to claim 1 wherein said sinusoidal waveform is a decaying waveform having a peak amplitude A and an initial phase , and wherein a first-generated signal y(o) = A sin  and a second-generated signal y(1) = Ad T sin(w o +). A process according to claim 1 wherein said sinusoidal waveform is a pure waveform and wherein said decay factor d=1. A process according to claim 1 wherein the decay factor d has a value selectable from a range of 0 to 1, and wherein the values of a first generated signal y(o) and a second generated signal y(1) are determined in accordance with the equations: A= y 2 o d 2 T + y 2 1 -2 d T y o y 1 cos Wo d T sin Wo where A is the peak amplitude and  is the initial phase of the approximate sinusoidal waveform. The use of a process according to any one of the preceding claims in a multi-tone multi-frequency telephone dialling system, the approximate pure or decaying sinusoidal waveform corresponding to one of the tones in the dialling system, and the sequence of digital signals being converted to the one tone by a digital-to-analogue converter.

Inventors: HATTANGADI RAJIV MOHAN, RAGHUVEER MYSORE, HATTANGADI, RAJIV MOHAN, RAGHUVEER, MYSORE
Applicants: ADVANCED MICRO DEVICES INC, ADVANCED MICRO DEVICES, INC.
Application year: 1989
Main classification: H04M1
IPC codes: H03B28, G06F7, G06G7, H04M1