EP0209336B1 - Digital sound synthesizer and method - Google Patents

Digital sound synthesizer and method Download PDF

Info

Publication number
EP0209336B1
EP0209336B1 EP86305358A EP86305358A EP0209336B1 EP 0209336 B1 EP0209336 B1 EP 0209336B1 EP 86305358 A EP86305358 A EP 86305358A EP 86305358 A EP86305358 A EP 86305358A EP 0209336 B1 EP0209336 B1 EP 0209336B1
Authority
EP
European Patent Office
Prior art keywords
coefficients
signal
linear prediction
filter
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP86305358A
Other languages
German (de)
French (fr)
Other versions
EP0209336A2 (en
EP0209336A3 (en
Inventor
Michael A. Deaett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Raytheon Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Raytheon Co filed Critical Raytheon Co
Publication of EP0209336A2 publication Critical patent/EP0209336A2/en
Publication of EP0209336A3 publication Critical patent/EP0209336A3/en
Application granted granted Critical
Publication of EP0209336B1 publication Critical patent/EP0209336B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves

Definitions

  • This invention relates to a method of synthesizing a given signal, typical of that received from sources in a real ocean environment, the method being of the kind comprising generating a noise signal, and so filtering the noise signal in accordance with linear prediction coefficients as to replicate the given signal, and to corresponding apparatus.
  • the article refers to an experiment conducted to test the audibility of transitions between noise condition, such as shifting sea states or ship's speeds, and concludes that in general, immediate spectral level changes greater than 1dB were perceptible and should be changed gradually in time to maintain realism.
  • FR-A-2 510 288 also describes a linear prediction coefficient system of synthesizing submarine sonar sounds, in particular, the sounds of propellors, diesel engines, and other such sources from which the type of ship or engine can be recognised.
  • FR-A-2 510 288 is particularly concerned with the transients that arise in the synthesized output when one set of linear prediction coefficients is replaced by another set of linear prediction coefficients, and discloses as a solution to this problem the use of an interposed set or sets of linear prediction coefficients derived from the autocorrelation function or functions corresponding to one or more transfer functions calculated from linear interpolation between the squares of the respective initial and final transfer functions corresponding to the two sets of linear prediction coefficients between which the change is to take place. Thereby a smooth transition in the simulated sound is obtained.
  • the noise signal is a pseudo-random noise signal which changes at a sample rate
  • the linear prediction coefficients are derived from the covariance matrix of a respective block of consecutive signal samples of the given signal and are changed at a block rate, the given signal being divided into a set of contiguous frames and each block of the samples being obtained from a respective frame
  • the gain of the filtering is derived from the covariance matrix coefficients and the linear prediction coefficients and is changed in synchronism with the coefficients
  • the given signal is a transient signal.
  • apparatus for synthesizing a given signal comprising means for generating a noise signal, and a filter for so filtering the noise signal in accordance with linear prediction coefficients as to replicate the given signal, characterised in that the noise signal generating means comprises a pseudo-random noise generator the output of which changes at a sample rate, the filter is a recursive filter including multiplying means for multiplying the noise signal with the said linear predictive coefficients (b i ) and a gain coefficient (A), and means for changing the gain and linear prediction coefficients (A, b i ) in synchronism at a block rate, the linear prediction coefficients (b i ) being derived from the covariance matrix of a respective block of consecutive signal samples of the given signal, the gain coefficient (A) being derived from the covariance matrix coefficients (a i ) and the linear prediction coefficients (b i ), and the given signal being a transient signal.
  • the noise signal generating means comprises a pseudo-random noise generator the output of which changes at a
  • a preferred embodiment of this invention provides a computer controlled synthesis system providing transient audio signals.
  • the system is not cumbersome and is easy to use in the selection of different stored transient sounds.
  • the digital synthesizer has denser packaging (smaller volume) for storing a large repertoire of audio sound signals, and is more reliable than the instructor controlled analog tape recorder.
  • the method of synthesis utilizes linear prediction coding techniques to derive time-varying-filter coefficients. These coefficients are stored in digital form and are used to program a recursive filter which is driven by white noise. The resulting signatures are then an inherent part of the trainer and are generated under complete computer control.
  • the system approximates the desired transient signature by the storage of sets of coefficients of a recursive digital filter, which coefficients are updated periodically thereby resulting in an output from the recursive filter which is a close approximation of the actual transient signature. It is assumed that an autoregressive model will provide an adequate description of the desired transient signature.
  • the signature which is desired to be synthesized is most easily obtained from a recording of the signature which is later to be synthesized. Because the spectral content of the transient signature is time varying, the auto-regressive model is nonstationary and must be updated periodically. Therefore, the transient signature is synthesized by considering the signal to be comprised of a serial sequence of blocks of the signal.
  • Each block of the signal has its amplitude sampled to provide 1024 samples of digital data.
  • the autocorrelation function of the 1024 amplitude samples provides the 12 most significant autocorrelation values and a gain value which is obtained through the normalization of the autocorrelation values.
  • a matrix equation is obtained relating the autocorrelation values of the actual signal to the unknown coefficients of a recursive filter.
  • the system of equations of the matrix is solved for each block of data and the filter coefficients are stored.
  • the coefficients are periodically updated in real-time by a control processor.
  • the coefficients are recovered fro memory in real-time and provided to the recursive filter circuitry whose output is provided to a digital to analog converter to produce audible sound replicating the original transient signature.
  • FIG. 1 shows the waveform of the original transient audio signal which is reproduced by the synthesizer of this invention
  • FIG. 2 shows a flow diagram of a time-varying recursive filter
  • FIG. 3 is an analog representation of an embodiment of the synthesizer of this invention.
  • FIG. 4 is a digital implementation of a preferred embodiment of the synthesizer of this invention.
  • the transient analog signal 10 of figure 1 which is to be simulated by the apparatus of this invention is operated upon by first partitioning the analog signal into a sequence of frames 11.
  • the time duration of each frame is determined by examining the power spectral characteristics of the signal over a multiple of frame durations and then choosing the maximum duration over which those spectral characteristics are essentially constant. The greater the frequency extent of the power distribution, the shorter is the time period for that frame.
  • the signal within each frame is then periodically sampled at a rate T c exceeding the Nyquist rate and stored in digital form.
  • the set of samples 12 which is stored for each signal frame is a block of digital data. One block of data results for each signal frame.
  • the number of sample points per block is determined by the frame duration and by the highest frequency contained in the data signal waveform which is to be synthesized. At least two and preferably four data points are obtained within a signal frame for each cycle of the highest frequency component within that frame.
  • the sample data points contained within each block are autocorrelated and a selected number of the autocorrelation coefficients are determined.
  • the number of autocorrelations values which are used is equal to the least number required to reduce the autocorrelation coefficient recursive prediction residual to an acceptable fraction of the zero lag autocorrelation value. An acceptable fraction is commonly 0.01.
  • the autocorrelation values are normalized by a factor R which provides unity value of the autocorrelation coefficient at zero displacement.
  • the autocorrelation function coefficients have been designated by the letters a0, a1, ... a m with the subscript indicating the relative lag displacement in the autocorrelated data block.
  • the unity value coefficient a0 is the normalized autocorrelation coefficient at zero relative displacement.
  • the covariance matrix is next employed to determine the values for the multiplication factors "b" applied to the output of each of the delay units of the recursive filter as shown in FIG. 2.
  • the covariance matrix is given below where "a” with subscripts are the normalized autocorrelation coefficient values. "b” with subscripts are the linear prediction coefficients obtained from the covariance matrix and are the multiplying factors which are applied to the multipliers of the recursive filter in addition to the gain factor A.
  • the transient signatures are generated by feeding "white" (uncorrelated) noise samples S(n) through a time-varying recursive digital filter.
  • a flow diagram of the recursive filter 20 is shown in FIG. 2.
  • the random noise signal S(n) produces an amplitude modulated signal which changes its amplitude from one level to another at the same rate as that at which the original analog signal was sampled.
  • the random noise signal is multiplied in multiplier 22 by the factor A, where A is determined from the normalization of the autocorrelation function as explained earlier and is constant during each block.
  • the output y(n-1) of the delay unit 24' is transferred to a second delay unit 24" and also is provided to a multiplier 25' which multiplies the output y(n-1) by the coefficient b1 obtained from the covariance matrix.
  • the output of multiplier 25' is provided as an input to the adder 23.
  • the process of delaying the earlier sampled values y(n-2), ..., y(n-m) continues in the remaining delay units 24 whose outputs are respectively multiplied by the coefficients b2, b3, b4... bm (constant during each block) in multipliers 25 whose outputs are in turn applied as inputs to adder 23.
  • the transfer function of the recursive filter 20 of FIG. 2 is that given by the transfer function of the preceding equation.
  • the analog synthesizer 50 comprises a pseudo-random noise generator 51 which produces an analog output signal having a value between zero and one which changes with every clock pulse input, the clock pulses having a period T c which is the same period as that at which the original signal 10 was sampled.
  • the clock pulses are provided by clock pulse generator 52 which also provides the clock pulses to the counter 53 having a modulo F where F is the number of samples of the analog signal in one block time.
  • a pulse having period T f is applied to the memory 54 to produce a new set of analog numbers A1, -b1, ..., -b m .
  • the memory 54 is represented as a multi-pole switch having n + 1 poles with the switch arms 55 moving by one switch position in response to each energization of the switch coil 56 by the pulse T f .
  • Each set of coefficients appears at a selected position of switch arms 25. As shown in FIG. 2, the initial position of the switch arm provides the set of coefficients A, -b1, ..., -b m .
  • the second switch arm position which would exist as a result of one pulse T f would provide a different set of coefficients for the second block time; namely, A', -b1 ⁇ , ..., b m '.
  • the last set of coefficients corresponding to the last block of the sampled input signal is provided by the memory 54 as A k , b1 k , ..., -b m k , where k is the number of blocks.
  • the output of the pseudo-random noise generator 51 is provided to a multiplier 57 whose other input during a block time is the amplitude coefficient A.
  • the output of multiplier 57 is provided at one input of the summing circuit 58.
  • the output of the summing circuit 58 is provided as the input to a delay unit 591 whose output is provided to delay unit 592 and to multiplier 571.
  • the other input to multiplier 571 is the coefficient -b1 provided by the memory 54 during the first time block.
  • the output of multiplier 571 is provided at another input to the summing circuit 58.
  • the time delay provided by delay 591 is equal to the interpulse period T c of the clock pulses provided by generator 52.
  • the circuit 50 has a cascade of delay elements 592 , ..., 59 m connected serially to the delay 591
  • the output of the summer circuit is the desired simulated signal which corresponds to the original signal which is being simulated. This simulated signal is designated as y(n).
  • the output of each delay unit 591. 592, ..., 59 m is correspondingly y(n - 1), y(n - 2), ..., y(n - m).
  • the circuit 50 will, therefore, provide an output y(n) in accordance with the equation presented earlier which sounds like the original audio signal which was sampled to provide coefficients b in the manner described earlier and stored in memory 54.
  • the coefficients which have been computed in the manner detailed in the preceding paragraphs are stored in sequential addresses of a RAM or ROM coefficient memory 31.
  • a RAM or ROM coefficient memory 31 In the example of the embodiment of this invention, it will be assumed that seven coefficients b1 through b7 of FIG. 2 together with the gain factor A are adequate for the synthesis and are stored in the first eight addresses 0, ..., 7 of memory 31. Addresses 8, ..., 15 will contain the coefficients A', -b1', ..., -b7'.
  • Counter 34 has input clock pulses having a period T c obtained from the modulo eight output line 44 of counter 33.
  • Counter 34 is of modulo L, where L is the number of samples per block of input signal.
  • the output pulse of counter 34 at the count of L increments by one the block counter 341.
  • the output count of counter 341 is provided to the more significant bits (MSB) of buffer register 35 which provide the block address to the memory 31.
  • the output count on line 33' of counter 33 is provided as the least significant bits (LSB) of register 35.
  • the output address of address generator 32 on line 321 will initially produce (through adder 65 and register 66) the sequential addresses 0, ..., 7 to the memory 31 repetitively for the number of samples L in the block, followed by the addresses 8, ..., 15, repeated L times, etc. Therefore, the memory 31 output will be a group of sequential coefficients A, -b1, ..., -b m at a period T c /8 (for addresses 1 through 8) repeated L times because of the modulo L of counter 34.
  • Block counter 341 which is incremented by one changes the MSB of register 35 so that the addresses 8, ..., 15 of memory 31 provide the next group of coefficients A', -b'1, ..., -b' m repeated L times also. This process of providing successive groups of coefficients to synthesize blocks of a signal continues until the memory 31 addresses contain no coefficients.
  • the pseudo-random noise generator 36 produces a 16-bit word for every 16-bit coefficient provided by memory 31.
  • the word produced by noise generator 36 is stored in a 16-bit register 37.
  • the memory 31 also produces the coefficients as 16-bit digital words and stores the words in register 38.
  • Registers 37 and 38 provide digital inputs to multiplier 39 which provides a 32-bit output word to adder 40.
  • Adder 40 provides an input to accumulator register 41 whose output is provided as a second input to adder 40 and whose output is provided also as an input to switch 42.
  • Switch 42 is open except when closed in response to a pulse on line 44 provided by the modulo m output of counter 33 to the random access memory 45.
  • the counter 33 of modulo 8 provides clock pulses T c on line 44 as an input to counter 47 which increments a write address to memory 45 at a time such that the switch 42 provides the output y(n) as an input to memory 45.
  • Switch 46 is also responsive to clock pulses at the period T c provided by counter 33 on line 44. Closing of switch 46 by a pulse on line 44 allows the 16-bit number from random number generator 36 to be provided to the register 37 at that time as stated earlier. Since pulses in lines 44 only occur during the eighth count of counter 33, during the remaining seven other outputs of counter 33, switch 46 has an input 461 connected to the output of memory 45.
  • the write address provided by counter 47 at output 48 is provided as one input to subtract circuit 49.
  • the other input to subtractor 49 is the output count from counter 33 on line 33'.
  • the read address is provided at the time that the switch 46 input line 461 is providing a signal corresponding to that address from memory 45 to the register 37.
  • the circuit of FIG. 4 provides a newly calculated value of y(n) at intervals corresponding to the original sampling period T c .
  • the RAM 31 generates an amplitude coefficient A which is stored in register 38 and multiplied in multiplier 39 by the output x(n) of the random noise generator 38 provided to register 37 through closed switch 46.
  • the product A ⁇ x(n) is stored in accumulation register 41.
  • Switch 42 is open and no output appears to be read into memory 45 through its input register 60.
  • the switch 46 connects register 37 with the output of memory 45.
  • Subtractor circuit 49 has an input address 48 and an input 33' which causes the next read address presented to memory 45 to be the address next preceding that at which the output y(n) has been written in by write address counter 47. This address will cause the value y(n - 1) to be read out to the register 37.
  • the address generator 32 is indexed to the second address of memory 31 and the value -b1 will be read out and provided to register 38.
  • the resulting product provided by multiplier 39, -b1y(n - 1) is added in adder 40 to the previously stored value Ax(n) in register 41 and the sum (Ax(n) - b1y(n - 1)) is then stored in accumulation register 41.
  • the next timing pulse T c /m causes the read address provided to memory 45 to be decremented by one and provide the output y(n - 2) to the register 37 through switch 46.
  • the address provided to memory 31 is incremented by one to provide the coefficient -b2 to register 38.
  • the contents of the registers 37, 38 are multiplied in multiplier 39 to provide -b2y(n - 2) which is added in adder 40 to the exiting contents (Ax(n) - b1y(n - 1)) of accumulation register 41 and the result (Ax(n) - b1y(n - 1) - b2y(n - 2)) is then stored in register 41.
  • Register 60 contains the output y(n + 1) (which becomes the new value of y(n)) which is written into the next sequential address of memory 45 inasmuch as the write address counter 47 responsive to a pulse at the rate l/T c on line 44 from counter 33 has caused the write address on line 48 to be incremented by one.
  • switch 42 When the new value of y(n) appears at the output of register 41, switch 42 is caused to close by a pulse on line 44 to thereby provide a new y(n) output and to provide this new value as the input to the memory 45 at the incremented address.
  • the output y(n) of switch 42 is in digital form and is converted to an analog signal Y(n) in digital-to-analog converter 62.
  • Signal Y(n) is smoothed in filter 63 to remove the sampling frequency components, centered at frequencies 1/T c and multiples thereof, and to thereby provide the synthesized analog signal y(t) that is desired corresponding to the blocks of coefficients selected by the initial address provided by start address register 64 which is added in adder 65 to the output of buffer register 35 and stored in register 66 before being provided to coefficient memory 31.
  • the computer 67 is programmed to provide one or a series of start addresses at predetermined time intervals to register 64 in response to a START command to thereby produce one or a series of timed, different synthesized audio output signals y(t), each corresponding to a different start address.

Landscapes

  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

  • This invention relates to a method of synthesizing a given signal, typical of that received from sources in a real ocean environment, the method being of the kind comprising generating a noise signal, and so filtering the noise signal in accordance with linear prediction coefficients as to replicate the given signal, and to corresponding apparatus.
  • Acoustic trainers are required which produce signatures characteristic of signals received from sources in a real ocean environment. Traditionally, the broadband and harmonic spectral contents of targets and the broadband content of background noise have been emphasized for replication, as described in Chapter 7 and 10 of "Principles of Underwater Sound for Engineers", 2nd Edition, 1975, published by MacGraw Hill, New York. Recently, active echoes and reverberation have been added to the trainer repertoire, as described in a report entitled "Multi Application Sonar Trainer" by Raytheon Company, 1st October 1982. An additional component of the acoustic environment which is required for purposeful training is the set of transient signatures. These include occasional and also continuous biologic emissions, hatch openings and closings, ice fractures in the arctic environment, undersea seismic disturbances, and the noise of submerged wrecks moving with currents - just to name a few. The synthesis of these transients has typically resided in an instructor controlled analog tape recorder. The disadvantage of this approach is the large number of tapes required and/or the problem of and time required for locating a particular sound amongst a number of sounds on a long tape. In addition, the control of the tape recorder and its connection are cumbersome.
  • In a paper entitled "The Application of Linear Prediction Techniques to Background Noise Generation for Sonar Trainers" published for the International Conference on Acoustics, Speech and Signal Processing, 1983, Boston, Massachusetts, by IEEE, Charles E. Schmid describes the generation of broad band background noise by passing white noise through an all-pole filter to create the desired spectrum. Background noise changes very slowly and in this known technique a pseudo-random noise generator supplied white noise to a linear prediction coefficient filter feeding a single stage deemphasis filter coupled through a digital to analog convertor to a low-pass filter which produced the analog output. The linear prediction coefficient filter used twelve reflection coefficients representing the best fit to the desired spectrum according to least square error criteria. The article refers to an experiment conducted to test the audibility of transitions between noise condition, such as shifting sea states or ship's speeds, and concludes that in general, immediate spectral level changes greater than 1dB were perceptible and should be changed gradually in time to maintain realism.
  • FR-A-2 510 288 also describes a linear prediction coefficient system of synthesizing submarine sonar sounds, in particular, the sounds of propellors, diesel engines, and other such sources from which the type of ship or engine can be recognised. FR-A-2 510 288 is particularly concerned with the transients that arise in the synthesized output when one set of linear prediction coefficients is replaced by another set of linear prediction coefficients, and discloses as a solution to this problem the use of an interposed set or sets of linear prediction coefficients derived from the autocorrelation function or functions corresponding to one or more transfer functions calculated from linear interpolation between the squares of the respective initial and final transfer functions corresponding to the two sets of linear prediction coefficients between which the change is to take place. Thereby a smooth transition in the simulated sound is obtained.
  • In contrast to the prior art, it is an object of the present invention to provide a method and apparatus for synthesizing a transient signal.
  • According to one aspect of the present invention there is provided a method of the kind defined hereinbefore at the beginning, characterised in that the noise signal is a pseudo-random noise signal which changes at a sample rate, the linear prediction coefficients are derived from the covariance matrix of a respective block of consecutive signal samples of the given signal and are changed at a block rate, the given signal being divided into a set of contiguous frames and each block of the samples being obtained from a respective frame, the gain of the filtering is derived from the covariance matrix coefficients and the linear prediction coefficients and is changed in synchronism with the coefficients, and the given signal is a transient signal.
  • According to another aspect of the invention there is provided apparatus for synthesizing a given signal, comprising means for generating a noise signal, and a filter for so filtering the noise signal in accordance with linear prediction coefficients as to replicate the given signal, characterised in that the noise signal generating means comprises a pseudo-random noise generator the output of which changes at a sample rate, the filter is a recursive filter including multiplying means for multiplying the noise signal with the said linear predictive coefficients (bi) and a gain coefficient (A), and means for changing the gain and linear prediction coefficients (A, bi) in synchronism at a block rate, the linear prediction coefficients (bi) being derived from the covariance matrix of a respective block of consecutive signal samples of the given signal, the gain coefficient (A) being derived from the covariance matrix coefficients (ai) and the linear prediction coefficients (bi), and the given signal being a transient signal.
  • A preferred embodiment of this invention provides a computer controlled synthesis system providing transient audio signals. The system is not cumbersome and is easy to use in the selection of different stored transient sounds. The digital synthesizer has denser packaging (smaller volume) for storing a large repertoire of audio sound signals, and is more reliable than the instructor controlled analog tape recorder. The method of synthesis utilizes linear prediction coding techniques to derive time-varying-filter coefficients. These coefficients are stored in digital form and are used to program a recursive filter which is driven by white noise. The resulting signatures are then an inherent part of the trainer and are generated under complete computer control. The system approximates the desired transient signature by the storage of sets of coefficients of a recursive digital filter, which coefficients are updated periodically thereby resulting in an output from the recursive filter which is a close approximation of the actual transient signature. It is assumed that an autoregressive model will provide an adequate description of the desired transient signature. The signature which is desired to be synthesized is most easily obtained from a recording of the signature which is later to be synthesized. Because the spectral content of the transient signature is time varying, the auto-regressive model is nonstationary and must be updated periodically. Therefore, the transient signature is synthesized by considering the signal to be comprised of a serial sequence of blocks of the signal. Each block of the signal has its amplitude sampled to provide 1024 samples of digital data. The autocorrelation function of the 1024 amplitude samples provides the 12 most significant autocorrelation values and a gain value which is obtained through the normalization of the autocorrelation values. A matrix equation is obtained relating the autocorrelation values of the actual signal to the unknown coefficients of a recursive filter. The system of equations of the matrix is solved for each block of data and the filter coefficients are stored. Through the synthesizer signature the coefficients are periodically updated in real-time by a control processor. The coefficients are recovered fro memory in real-time and provided to the recursive filter circuitry whose output is provided to a digital to analog converter to produce audible sound replicating the original transient signature. There is thus provided the synthesis of audio signals from stored digital data and more particularly a synthesizer in which the stored data are sets of the coefficients of a recursive filter and where each set is applied to the filter for a fixed time period, the periods totaling the duration of the synthesized audio signal.
  • Brief Description of the Drawings
  • The aforementioned aspects and other features, objects and advantages of the method and apparatus of this invention will be apparent from the following detailed description taken in conjunction with the accompanying drawings wherein:
  • FIG. 1 shows the waveform of the original transient audio signal which is reproduced by the synthesizer of this invention;
  • FIG. 2 shows a flow diagram of a time-varying recursive filter;
  • FIG. 3 is an analog representation of an embodiment of the synthesizer of this invention; and
  • FIG. 4 is a digital implementation of a preferred embodiment of the synthesizer of this invention.
  • Description of the Preferred Embodiment
  • The transient analog signal 10 of figure 1 which is to be simulated by the apparatus of this invention is operated upon by first partitioning the analog signal into a sequence of frames 11. The time duration of each frame is determined by examining the power spectral characteristics of the signal over a multiple of frame durations and then choosing the maximum duration over which those spectral characteristics are essentially constant. The greater the frequency extent of the power distribution, the shorter is the time period for that frame. The signal within each frame is then periodically sampled at a rate Tc exceeding the Nyquist rate and stored in digital form. The set of samples 12 which is stored for each signal frame is a block of digital data. One block of data results for each signal frame. The number of sample points per block is determined by the frame duration and by the highest frequency contained in the data signal waveform which is to be synthesized. At least two and preferably four data points are obtained within a signal frame for each cycle of the highest frequency component within that frame. The sample data points contained within each block are autocorrelated and a selected number of the autocorrelation coefficients are determined. The number of autocorrelations values which are used is equal to the least number required to reduce the autocorrelation coefficient recursive prediction residual to an acceptable fraction of the zero lag autocorrelation value. An acceptable fraction is commonly 0.01. The autocorrelation values are normalized by a factor R which provides unity value of the autocorrelation coefficient at zero displacement. For the waveforms and block times utilized in embodiments of this invention, it is found that twelve autocorrelation coefficients are adequate to produce synthesized audio signals which are indistinguishable from the original signal from which the autocorrelation functions were obtained. The autocorrelation function coefficients have been designated by the letters a₀, a₁, ... am with the subscript indicating the relative lag displacement in the autocorrelated data block. The unity value coefficient a₀ is the normalized autocorrelation coefficient at zero relative displacement.
  • The covariance matrix is next employed to determine the values for the multiplication factors "b" applied to the output of each of the delay units of the recursive filter as shown in FIG. 2. The covariance matrix is given below where "a" with subscripts are the normalized autocorrelation coefficient values. "b" with subscripts are the linear prediction coefficients obtained from the covariance matrix and are the multiplying factors which are applied to the multipliers of the recursive filter in addition to the gain factor A.
    Figure imgb0001
  • The transient signatures are generated by feeding "white" (uncorrelated) noise samples S(n) through a time-varying recursive digital filter. The transfer function of this filter, G(Z), is given as
    G(Z) = -A/(1 - b₁z - ¹ - b₂z - ² ..., - b m z -m )
    Figure imgb0002

    where A is the filter gain, and the b's are the multiplier coefficients. A flow diagram of the recursive filter 20 is shown in FIG. 2. The random noise signal S(n) produces an amplitude modulated signal which changes its amplitude from one level to another at the same rate as that at which the original analog signal was sampled. The random noise signal is multiplied in multiplier 22 by the factor A, where A is determined from the normalization of the autocorrelation function as explained earlier and is constant during each block. The output of multiplier 22 is applied to an adder 23 which provides the output y(n) (n = total number of samples of the signal being simulated) of the recursive filter 20 and also provides y(n) to the first delay stage 24' having a delay which is equal to the intersample interval. The output y(n-1) of the delay unit 24' is transferred to a second delay unit 24" and also is provided to a multiplier 25' which multiplies the output y(n-1) by the coefficient b₁ obtained from the covariance matrix. The output of multiplier 25' is provided as an input to the adder 23. The process of delaying the earlier sampled values y(n-2), ..., y(n-m) continues in the remaining delay units 24 whose outputs are respectively multiplied by the coefficients b₂, b₃, b₄... bm (constant during each block) in multipliers 25 whose outputs are in turn applied as inputs to adder 23. The transfer function of the recursive filter 20 of FIG. 2 is that given by the transfer function of the preceding equation.
  • Referring now to FIG. 3, there is shown an analog representation of a circuit for the implementation of the synthesizer of this invention. The analog synthesizer 50 comprises a pseudo-random noise generator 51 which produces an analog output signal having a value between zero and one which changes with every clock pulse input, the clock pulses having a period Tc which is the same period as that at which the original signal 10 was sampled. The clock pulses are provided by clock pulse generator 52 which also provides the clock pulses to the counter 53 having a modulo F where F is the number of samples of the analog signal in one block time. The counter 53 provides block pulses whose period Tfis equal to the period of the clock pulses Tc multiplied by the number of samples F, Tf = Tc · F. At the end of each block a pulse having period Tf is applied to the memory 54 to produce a new set of analog numbers A₁, -b₁, ..., -bm. The memory 54 is represented as a multi-pole switch having n + 1 poles with the switch arms 55 moving by one switch position in response to each energization of the switch coil 56 by the pulse Tf. Each set of coefficients appears at a selected position of switch arms 25. As shown in FIG. 2, the initial position of the switch arm provides the set of coefficients A, -b₁, ..., -bm. The second switch arm position which would exist as a result of one pulse Tfwould provide a different set of coefficients for the second block time; namely, A', -b₁ʼ, ..., bm'. The last set of coefficients corresponding to the last block of the sampled input signal is provided by the memory 54 as Ak, b₁k, ..., -bm k, where k is the number of blocks.
  • The output of the pseudo-random noise generator 51 is provided to a multiplier 57 whose other input during a block time is the amplitude coefficient A. The output of multiplier 57 is provided at one input of the summing circuit 58. The output of the summing circuit 58 is provided as the input to a delay unit 59₁ whose output is provided to delay unit 59₂ and to multiplier 57₁. The other input to multiplier 57₁ is the coefficient -b₁ provided by the memory 54 during the first time block. The output of multiplier 57₁ is provided at another input to the summing circuit 58. The time delay provided by delay 59₁ is equal to the interpulse period Tcof the clock pulses provided by generator 52. The circuit 50 has a cascade of delay elements 59₂ , ..., 59m connected serially to the delay 59₁ The output of the summer circuit is the desired simulated signal which corresponds to the original signal which is being simulated. This simulated signal is designated as y(n). The output of each delay unit 59₁. 59₂, ..., 59m is correspondingly y(n - 1), y(n - 2), ..., y(n - m). The circuit 50 will, therefore, provide an output y(n) in accordance with the equation presented earlier which sounds like the original audio signal which was sampled to provide coefficients b in the manner described earlier and stored in memory 54.
  • Referring now to the block diagram of FIG. 4 showing an embodiment of the invention, the coefficients which have been computed in the manner detailed in the preceding paragraphs are stored in sequential addresses of a RAM or ROM coefficient memory 31. In the example of the embodiment of this invention, it will be assumed that seven coefficients b₁ through b₇ of FIG. 2 together with the gain factor A are adequate for the synthesis and are stored in the first eight addresses 0, ..., 7 of memory 31. Addresses 8, ..., 15 will contain the coefficients A', -b₁', ..., -b₇'. Successive groups of eight addresses of RAM 31 have successive groups of coefficients A, -b₁ through -b₇, (one group for each block of signal data) with the total number of groups of coefficients equaling the number of blocks of the original audio signal which is to be simulated by the synthesizer 30 of FIG. 4. The address generator 32 comprises a counter 33 of modulo m (m = 8 for the group of eight addresses), a counter 34 of modulo L (L = number of sample points per block), a block counter 341 responsive to the Lth count of counter 34 and a buffer register 35. Counter 33 has clock input pulses provided by clock pulse generator 61 having a period Tc/m equal to the sampling period of the original audio signal divided by the number of coefficients "m" in a group (m = 8 in this example). Counter 34 has input clock pulses having a period Tc obtained from the modulo eight output line 44 of counter 33. Counter 34 is of modulo L, where L is the number of samples per block of input signal. The output pulse of counter 34 at the count of L increments by one the block counter 341. The output count of counter 341 is provided to the more significant bits (MSB) of buffer register 35 which provide the block address to the memory 31. The output count on line 33' of counter 33 is provided as the least significant bits (LSB) of register 35. Therefore, the output address of address generator 32 on line 321 will initially produce (through adder 65 and register 66) the sequential addresses 0, ..., 7 to the memory 31 repetitively for the number of samples L in the block, followed by the addresses 8, ..., 15, repeated L times, etc. Therefore, the memory 31 output will be a group of sequential coefficients A, -b₁, ..., -bm at a period Tc/8 (for addresses 1 through 8) repeated L times because of the modulo L of counter 34. Block counter 341 which is incremented by one changes the MSB of register 35 so that the addresses 8, ..., 15 of memory 31 provide the next group of coefficients A', -b'₁, ..., -b'mrepeated L times also. This process of providing successive groups of coefficients to synthesize blocks of a signal continues until the memory 31 addresses contain no coefficients.
  • The pseudo-random noise generator 36 produces a 16-bit word for every 16-bit coefficient provided by memory 31. The word produced by noise generator 36 is stored in a 16-bit register 37. The memory 31 also produces the coefficients as 16-bit digital words and stores the words in register 38. Registers 37 and 38 provide digital inputs to multiplier 39 which provides a 32-bit output word to adder 40. Adder 40 provides an input to accumulator register 41 whose output is provided as a second input to adder 40 and whose output is provided also as an input to switch 42. Switch 42 is open except when closed in response to a pulse on line 44 provided by the modulo m output of counter 33 to the random access memory 45. The counter 33 of modulo 8 provides clock pulses Tc on line 44 as an input to counter 47 which increments a write address to memory 45 at a time such that the switch 42 provides the output y(n) as an input to memory 45. Switch 46 is also responsive to clock pulses at the period Tc provided by counter 33 on line 44. Closing of switch 46 by a pulse on line 44 allows the 16-bit number from random number generator 36 to be provided to the register 37 at that time as stated earlier. Since pulses in lines 44 only occur during the eighth count of counter 33, during the remaining seven other outputs of counter 33, switch 46 has an input 461 connected to the output of memory 45. The write address provided by counter 47 at output 48 is provided as one input to subtract circuit 49. The other input to subtractor 49 is the output count from counter 33 on line 33'. The read address is provided at the time that the switch 46 input line 461 is providing a signal corresponding to that address from memory 45 to the register 37.
  • In operation, the circuit of FIG. 4 provides a newly calculated value of y(n) at intervals corresponding to the original sampling period Tc. Initially, the RAM 31 generates an amplitude coefficient A which is stored in register 38 and multiplied in multiplier 39 by the output x(n) of the random noise generator 38 provided to register 37 through closed switch 46. The product A · x(n) is stored in accumulation register 41. Switch 42 is open and no output appears to be read into memory 45 through its input register 60. At the next occurrence of clock pulse Tc, the switch 46 connects register 37 with the output of memory 45. Subtractor circuit 49 has an input address 48 and an input 33' which causes the next read address presented to memory 45 to be the address next preceding that at which the output y(n) has been written in by write address counter 47. This address will cause the value y(n - 1) to be read out to the register 37. At the same time, the address generator 32 is indexed to the second address of memory 31 and the value -b₁ will be read out and provided to register 38. The resulting product provided by multiplier 39, -b₁y(n - 1),
    Figure imgb0003
    is added in adder 40 to the previously stored value Ax(n) in register 41 and the sum (Ax(n) - b₁y(n - 1))
    Figure imgb0004
    is then stored in accumulation register 41. The next timing pulse Tc/m causes the read address provided to memory 45 to be decremented by one and provide the output y(n - 2) to the register 37 through switch 46. At the same time, the address provided to memory 31 is incremented by one to provide the coefficient -b₂ to register 38. The contents of the registers 37, 38 are multiplied in multiplier 39 to provide -b₂y(n - 2)
    Figure imgb0005
    which is added in adder 40 to the exiting contents (Ax(n) - b₁y(n - 1))
    Figure imgb0006
    of accumulation register 41 and the result (Ax(n) - b₁y(n - 1) - b₂y(n - 2))
    Figure imgb0007
    Figure imgb0008
    is then stored in register 41. This process continues until the last coefficient b₇ at the eighth address of memory 31 is provided to register 38 and the contents of memory 45 at the address containing y(n - 7) are multiplied, added and accumulated in register 41 which is then cleared and read out through switch 42 by a pulse on line 44 to input register 60. Register 60 then contains the output y(n + 1) (which becomes the new value of y(n)) which is written into the next sequential address of memory 45 inasmuch as the write address counter 47 responsive to a pulse at the rate l/Tcon line 44 from counter 33 has caused the write address on line 48 to be incremented by one. When the new value of y(n) appears at the output of register 41, switch 42 is caused to close by a pulse on line 44 to thereby provide a new y(n) output and to provide this new value as the input to the memory 45 at the incremented address. The output y(n) of switch 42 is in digital form and is converted to an analog signal Y(n) in digital-to-analog converter 62. Signal Y(n) is smoothed in filter 63 to remove the sampling frequency components, centered at frequencies 1/Tc and multiples thereof, and to thereby provide the synthesized analog signal y(t) that is desired corresponding to the blocks of coefficients selected by the initial address provided by start address register 64 which is added in adder 65 to the output of buffer register 35 and stored in register 66 before being provided to coefficient memory 31. The computer 67 is programmed to provide one or a series of start addresses at predetermined time intervals to register 64 in response to a START command to thereby produce one or a series of timed, different synthesized audio output signals y(t), each corresponding to a different start address.
  • Having described a preferred embodiment of the invention, it will be apparent to one of skill in the art that other embodiments incorporating its concept may be used. It is believed, therefore, that this invention should not be restricted to the disclosed embodiment but rather should be limited only by the scope of the appended claims.

Claims (6)

  1. A method of synthesizing a given signal typical of that received from sources in a real, ocean environment, comprising generating a noise signal (36), and so filtering (39, 40, 41) the noise signal in accordance with linear prediction coefficients (bi) as to replicate the given signal (10), characterised in that the noise signal is a pseudo-random noise signal (36) which changes at a sample rate (44), the linear prediction coefficients (bi) are derived from the covariance matrix of a respective block of consecutive signal samples (12) of the given signal (10) and are changed at a block rate (33'), the given signal (10) being divided into a set of contiguous equal duration frames (11) and each block of the samples (12) being obtained from a respective frame (11), the gain (A) of the filtering is derived from the covariance matrix coefficients (ai) and the linear prediction coefficients (bi) and is changed in synchonism with the coefficients; and the given signal (10) thereby synthesized is a transient signal.
  2. Apparatus for synthesizing a given signal typical of that received from sources in a real ocean environment, comprising means (36) for generating a noise signal, and a filter (39, 40, 41) to so filter the noise signal in accordance with linear prediction coefficients (bi) as to replicate the given signal (10), characterised in that the noise signal generating means comprises a pseudo-random noise generator (36) the output of which changes at a sample rate, the filter is a recursive filter including multiplying means (39) for multiplying the noise signal with the said linear prediction coefficients (bi) and a gain coefficient (A), and means (61, 32, 65, 66, 31) for changing the gain and linear prediction coefficients (A, bi) in synchronism at a block rate (33'), the linear prediction coefficients (bi) being derived from the covariance matrix of a respective block (11) of consecutive signal samples (12) of the given signal (10), the gain coefficient (A) being derived from the covariance matrix coefficients (ai) and the linear prediction coefficients (bi), and the given signal (l0) thereby synthesized being a transient signal.
  3. Apparatus according to claim 2, characterised in that means (61, 33) are provided for producing clock pulses at the sample rate and are supplied to the pseudo-random noise generator (36), means (31) are provided for store sets of the said coefficients (bi), and the recursive filter includes a plurality of delay means (45) having an output (46) coupled to the multiplying means (39), and an adder (40) to which the multiplying means (39) is connected, the said storing means (31) being adapted to supply each of said coefficients (bi) in each respective set to the multiplying means (39), and means (67, 64, 65, 66) for changing each set of coefficients (bi) in response to a predetermined number of clock pulses.
  4. Apparatus according to claim 3, characterised in that the clock pulse means (61, 33) provide a fixed period between pulses which corresponds to the sampling period of the said transient signal.
  5. Apparatus according to claim 2, characterised in that the pseudo-random noise generator (36) is responsive to a clock pulse generator (61, 33) and produces a random amplitude signal at each clock pulse; a first memory (31) contains a plurality of sets of a normalization factor and the linear prediction coefficients (bi) in a like plurality of sets of addresses of said memory (31), each set of a normalization factor and coefficients corresponding to a corresponding block of samples of the given signal; means (67, 64, 65, 66, 38) are provided for repetitively providing sequentially each factor and coefficient of successive sets; a second memory (45) is provided for storing successive values y(n) of the output of the filter (39, 40, 41) at successive addresses; the multiplying means (39) is adapted to multiply in sequence said random amplitude signal with said factor, and to multiply the first one of the sequences of coefficients (bi) with the values y(n) in reverse order of succession in which y(n) values are stored in said second memory (45) to provide a succession of products; and means (40) are provided for adding said products of each sequence of coefficients to provide a value y(n) for each sequence, said means (67, 64, 65, 66, 38) repetitively providing said sets of coefficients being coupled to the adding means (40) whereby a corresponding number of values y(n) result, and said means (67, 64, 65, 66, 38) repetitively providing said sets of coefficients (bi) providing the same set of coefficients (bi) for the same number of times as said given signal (10) is sampled in each frame (11) whereafter the next successive set of coefficients (bi) is repetitively provided.
  6. Apparatus according to claim 2, characterised in that the pseudo-random noise generator (36) is responsive to a clock pulse generator (61, 33) to produce a random amplitude signal at each clock pulse; and the filter includes means (67, 64, 65, 66, 31, 38) repetitively providing a plurality of sets of said coefficients (A) for a fixed number of times corresponding to the number of samples in each frame (11); means (39) multiplying each coefficient of said sets of coefficients with one of said random input signals and successive earlier values y(n) of the output of the filter to provide corresponding products; and means (40) for adding said corresponding products to provide a value of y(n) for each set of coefficients, said means (67, 64, 65, 66, 31, 38) for repetitively providing said sets of coefficients operating in such a manner that a corresponding number of successive values y(n) of the filter output results.
EP86305358A 1985-07-18 1986-07-11 Digital sound synthesizer and method Expired - Lifetime EP0209336B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75622085A 1985-07-18 1985-07-18
US756220 1985-07-18

Publications (3)

Publication Number Publication Date
EP0209336A2 EP0209336A2 (en) 1987-01-21
EP0209336A3 EP0209336A3 (en) 1987-05-20
EP0209336B1 true EP0209336B1 (en) 1991-03-13

Family

ID=25042526

Family Applications (1)

Application Number Title Priority Date Filing Date
EP86305358A Expired - Lifetime EP0209336B1 (en) 1985-07-18 1986-07-11 Digital sound synthesizer and method

Country Status (5)

Country Link
EP (1) EP0209336B1 (en)
AU (1) AU588334B2 (en)
DE (1) DE3678054D1 (en)
ES (1) ES2000520A6 (en)
IL (1) IL79268A0 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005204A (en) * 1985-07-18 1991-04-02 Raytheon Company Digital sound synthesizer and method
CA2031965A1 (en) * 1990-01-02 1991-07-03 Paul A. Rosenstrach Sound synthesizer
US5278774A (en) * 1991-10-01 1994-01-11 Rockwell International Corporation Alarm for transient underwater events
US5299144A (en) * 1992-06-17 1994-03-29 Advanced Micro Devices, Inc. Architecture for covariance matrix generation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1603993A (en) * 1977-06-17 1981-12-02 Texas Instruments Inc Lattice filter for waveform or speech synthesis circuits using digital logic
US4344148A (en) * 1977-06-17 1982-08-10 Texas Instruments Incorporated System using digital filter for waveform or speech synthesis
FR2510288B1 (en) * 1981-07-24 1986-10-31 Labo Cent Telecommunicat METHOD AND DEVICE FOR GENERATING UNDERWATER NOISE, PARTICULARLY FOR THE SIMULATION OF SONAR NOISE
GB2103908B (en) * 1981-07-31 1985-06-12 Gen Electric Co Plc Linear predictive coders

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Makhoul, John, Proc IEEE vol 63, no 4, April 75, pages 561-580; Schmid, Charles, Int Conf on Acoustic Speech, Signal Process IEEE Boston 1983; Chapter 7 and 10 of "Principles of Underwater Sound for Engineers" 2nd Edition MacGraw Hill, New York, 1975 *

Also Published As

Publication number Publication date
IL79268A0 (en) 1986-09-30
AU5923086A (en) 1987-01-22
EP0209336A2 (en) 1987-01-21
ES2000520A6 (en) 1988-03-01
EP0209336A3 (en) 1987-05-20
AU588334B2 (en) 1989-09-14
DE3678054D1 (en) 1991-04-18

Similar Documents

Publication Publication Date Title
US5005204A (en) Digital sound synthesizer and method
US5029509A (en) Musical synthesizer combining deterministic and stochastic waveforms
US4085644A (en) Polyphonic tone synthesizer
US4076958A (en) Signal synthesizer spectrum contour scaler
US4393272A (en) Sound synthesizer
US4984495A (en) Musical tone signal generating apparatus
US4132140A (en) Electronic musical instrument by digitally calculating harmonics and coefficients
US5157214A (en) Musical sound synthesizing apparatus
EP0568789A2 (en) Digital signal processing apparatus employed in electronic musical instruments
US3845395A (en) Harmonic series synthesizer
EP0209336A2 (en) Digital sound synthesizer and method
US3676565A (en) Time domain waveform synthesizing method
JPS6097397A (en) Sound analyzer
JPS6093496A (en) electronic musical instruments
US6442104B1 (en) Underwater background-acoustics synthesizer system and method
US4192210A (en) Formant filter synthesizer for an electronic musical instrument
US4653099A (en) SP sound synthesizer
US4986755A (en) Acoustic target doppler simulator
US4075424A (en) Speech synthesizing apparatus
US4108039A (en) Switch selectable harmonic strength control for a tone synthesizer
JPS639239B2 (en)
US4084472A (en) Electronic musical instrument with tone generation by recursive calculation
Deaett Signature modeling for acoustic trainer synthesis
US4702142A (en) Fundamental frequency variation for a musical tone generator using stored waveforms
US4461200A (en) Electronic musical instrument

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE GB IT

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE GB IT

17P Request for examination filed

Effective date: 19871001

17Q First examination report despatched

Effective date: 19890131

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

ITF It: translation for a ep patent filed
AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE GB IT

REF Corresponds to:

Ref document number: 3678054

Country of ref document: DE

Date of ref document: 19910418

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19990622

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19990623

Year of fee payment: 14

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20000711

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20000711

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20010501

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20050711