The present invention relates generally to a system for non-linear audio equipment simulation, and more specifically to the estimation of characteristic parameters in a model of such equipment and real-time simulation of this model.
There are many kinds of audio equipment that show a non-linear behavior and then inherently are difficult to simulate. Microphones, pre-amplifiers, power-amplifiers and loud speaker cabinets are some examples of non-linear audio equipment. Of particular importance are the old-fashioned amplifiers used by for instance guitarists, that contain electronic vacuum tubes. Professional and amateur guitar players appreciate the sound of classic tube amplifiers. The warm sound of their dynamic distortion has turned out to be quite hard to mimic with transistor based amplifiers. In addition to a small second hand market of original amplifiers, so called re-issues are available commercially. The main drawbacks with these ones are: high price, high cost for spare parts (transformers, tubes, capacitors etc), large manufacturing variations between the tubes, high power consumption and the sometimes unpleasant fact that one has to use a high output level to get saturation and the required distortion. Another inherent drawback is that guitar players want to shift between different amplifiers and special effects, which require several cable re-connections or additional switching hardware, and a lot of expensive and space-requiring hardware.
Therefore, several products exist today for simulating the tube distortion in analog electronics, or using software solutions in digital signal processors. Examples of this kind of technology are found in UK Patent GB 2.040.632 (H. Peavey, Sound amplifiers, August 1980, Peavey), U.S. Pat. No. 5,789,689 (M. Doidic, M. Mecca, M. Ryle, and C. Senffner, Tube modeling programmable digital guitar amplification system, August 1998, Line 6) and U.S. Pat. No. 6,350,943 (K. Matsumoto, M. Suruga, and Y. Suzuki, Electric instrument amplifier, February 2002, Korg). The point is that the products become cheaper, smaller in size and much more flexible in that the user can switch between different amplifiers, pre-amps, loudspeaker models and additional effects (delay, echo, chorus, reverbation, equalizer, auto-volume and so on). However, when switching between these prior attempts of tube emulating systems and one of the original amplifiers they are said to mimic, musicians and even amateurs can hear the difference.
The task of modeling and simulating a dynamic system is a well-established area in engineering. This area is described in e.g. the text book L. Ljung and T. Glad, Modeling of dynamic systems (Prentice-Hall, 1996), where it is pointed out that there is no principal difference between modeling and simulation of economic and biologic systems, paper plants and electric systems. A dynamic system can be any physical or abstract process where one can observe its input and the outputs the process produces. Audio equipment and in particular a tube amplifier fits very well in this framework and is no exception to this general problem. The most critical problem is to find a good model of the dynamical system at hand, and if no physical model can be made, as is the case for the complicated nature of a tube amplifier, one should aim at estimating a model that fits observed input-output data from the system. This task is called system identification, and it is also a quite well established research area with long traditions for identifying models of dynamic systems, see the text books L. Ljung, System identification, Theory for the user (Prentice Hall, Englewood Cliffs, N.J., second edition, 1999), and T. Söderström and P. Stoica, System identification (Prentice Hall, N.Y., 1989) for instance, and the commercial software packages System Identification Toolbox for Matlab (The MathWorks, Inc, Natick, Mass., 1999) and Frequency Identification Toolbox for Matlab (The MathWorks, Inc, Natick, Mass., 1995). The general approach is as follows: Design an experiment and collect data from the dynamical system, here the guitar input and the output from the amplifier, for example the loudspeaker signal. ‘Guess’ a model structure (linear or non-linear discrete time filter, or a combination thereof). Use a numerical algorithm to adjust the free parameters in the model structure such that the discrepancy between the measured signals and model predictions are minimized. For linear systems, there is a variety of model structures and software tools to choose among. The theory of modeling linear dynamics is well-known and found in any text book in signal processing or modeling L. Ljung and T. Glad, Modeling of dynamic systems and J. G. Proakis and D. G. Manolakis, Digital signal processing—principles, algorithms and applications (Prentice-Hall International, New Jersey, 3 edition, 1996).
For non-linear systems, for instance tube amplifiers, certain series connections of linear black box models with static non-linearities (SNL) (a so called Wiener model) have been suggested, see L. Ljung, System identification, Theory for the user and D. Atherton Nonlinear Control Engineering. This is also what has been used in previous art, such as U.S. Pat. No. 5,789,689. A typical engineer in the system identification community would try several such structures, use standard software to identify free parameters in each structure from observed input-output data, and probably in the end find a fair approximation but conclude that no known standard structure is perfectly suitable for high-performance tube amplifiers. In prior art there is therefore a lack of satisfying models for simulating tube amplifiers in a natural sounding manner. Our findings is that standardized model structures consisting of series connection of linear dynamics and static non-linearities (SNL's) cannot model the complicated behavior of for instance tubes.
Audio equipment that can be controlled by potentiometers can be simulated in software by using a number of fixed filters, and then interpolating between these. A piece of prior art is the U.S. Pat. No. 6,222,110, which describes a method for interpolating two second order filters.
The problem to be solved and the object of the invention is to provide an improved method and system for simulating audio equipment in general and tube amplifiers in particular, for instance those found in electric guitar equipment. Aspects of the problem are:
In accordance with the present invention, the characteristic behavior of the audio equipment is modeled as a dynamic non-linearity (DNL), where a mode parameter decides which SNL should be active. This mode parameter can be interpreted as the operating point of the audio device and it may for instance include hysteresis effects and the temperature, measured as the recent energy.
Further, the invention comprises a particular structure on the DNL, which is built up from a linear combination of a basis for the SNL, where the so called Chebyshev polynomial basis is one possible choice. This gives many practical advantages for both identification and simulation performance, as will be described later. An important consequence, compared to related art, is that the particular structure that is used does not require over-sampling.
The invention also comprises an efficient identification experiment for estimating the coefficients in the Chebyshev expansion, or any other, basis expansion, of the DNL. In accordance with the invention inputting sinusoids of different amplitudes is sufficient for estimation of these coefficients, and it is shown that these are related to the Fourier series expansion of the measured output of the audio equipment, enabling efficient algorithms, such as the fast Fourier transform (FFT) or more dedicated algorithms to be used.
The invention describes an apparatus for software or hardware emulation of electronic audio equipment, which characterizes a non-linear behavior. The invention comprises an analog to digital interface (504) for the input audio signal (502), whose output (506) is communicatively coupled to a dynamic non-linearity (508). The output (514) of this dynamic non-linearity is finally communicatively coupled to an interface (516) producing the output audio signal (518). The dynamic non-linearity consists of mode switching static non-linear function, where the mode parameter (512) is estimated in a function (510) based on the previous values on the input (506) and output (514) of the dynamic non-linearity.
In another embodiment of the invention, a linear filter is used to change the frequency content of the interfaced audio signal (504) before it is coupled to the DNL (508). Yet another linear filter can be used on the DNL's output (514) to change the audio output frequency characteristics.
It has been validated that this structure is particularly well suited for emulation of guitar tube amplifiers, where the dynamic non-linearity models the complicated tube behavior, whose characteristics can be explained by the operating mode of the tube which physically may be explained by one or more of the following quantities of the input signal: energy, amplitude, hysteresis and frequency.
The present invention will be further explained by means of exemplifying embodiments in conjunction with the accompanying drawings, in which:
The invention is based on a model of first the linear parts and then a dynamic non-linear model structure for the non-linear devices, identification of the free parameters in this non-linear model structure and finally a way to simulate this model. The total audio equipment emulator is outlined in
Though the invention applies to a range of audio equipment, we will sometimes speak of a particular application of simulating a tube pre-amplifier as illustrated in
General Setting
The invention comprises a method and a realization of the method that may be realized in hardware, software or a combination thereof. The most feasible realization of the invention is likely to be in the shape of a computer program product preferably comprising a data carrier provided with program code or other means devised to control or direct a data processing apparatus to perform the method steps and functions in accordance with the description. A data processing apparatus running the inventive method typically includes a central processing unit, data storage means and an I/O-interface for signals or parameter values. The invention may also be realized as specifically designed hardware and software in an apparatus or a system comprising mechanisms and functional stages or other means carrying out the method steps and functions in accordance with the description.
Modeling the Linear Parts
An embodiment of the invention comprises modeling of linear parts in the electronic device, denoted Gpre (102) in
The parts of the amplifier that include only passive components like resistors and capacitors, can be modeled theoretically with high accuracy, at least if all component values are known. The procedure to model and simulate the linear part is well-known from for instance the text books above, but is an important preliminary step for this invention. First, the electrical circuit with passive components will provide a continuous time filter. In accordance with an embodiment of the invention, the modeling will provide a continuous time filter G(s; vnorm),
Here s is the Laplace operator related to the frequency ƒ (in [Hz]) as s=i2πƒ, and vnom denote the nominal component values. The parameters di and ci can be computed from the known component values.
Since a digital implementation is used, this model can be converted to a discrete time model H (z; θ). Here z=ei2πƒ is the z-transform operator and θ is the vector of parameters in the transfer function, which takes the form
where θ=(a1, a2, . . . , an, b0, b1, . . . , bm)T. The point is that such a discrete time filter is simple to implement and simulate in software. That is, once H (z; θ) is determined, simulation of the linear part is straightforward. The transformation from ν to θ can be computed in many ways, for instance using Tustin's formula or zero-order hold approximations, see the text book Åström and Wittenmark, Computer Controlled Systems (Prentice Hall, 1984).
This is fine if the component values are known exactly, and if the circuit diagram is available. Consider first the case when a circuit diagram is available, but the component values are uncertain, or have been changed by the owner. There are two main approaches for finding the correct values. The first method works in the time domain, cf. e.g. the prior art book L. Ljung, System identification, Theory for the user. Generate an arbitrary input signal, usually random numbers, and collect the signals ut, yt. Then adjust the parameters so that the model predictions are minimized
The second method applies in the frequency domain, see e.g. the prior art text books J. Schoukens and R. Pintelon, Identification of linear systems. A practical guideline to accurate modeling (Pergamon Press, U.K., 1991) and J. Schoukens and R. Pintelon, System Identification—A frequency domain approach (IEEE Press 2003). Generate a periodic input ut and measure the output yt it generates. Both the input and output will in the frequency domain consist of a finite number of frequencies ƒk, k=1, 2, . . . , M. Then adjust the parameters to minimize a frequency weighted least squares criterion
Computing the structure in equation (1) and then equation (2) from a circuit scheme is a quite tedious task to do for each new amplifier that is going to be modeled. An alternative used in an embodiment of the invention is to establish a general black-box model of the form as in equation (2), where one guesses or uses model selection criteria to choose m and n, collect input-output data in an identification experiment and then estimate the parameters with standard methods, for instance available in the system identification or frequency domain identification toolboxes in Matlab. This will provide an H (z; {circumflex over (θ)}).
Interpolation of the Linear Parts
A flexible linear part in an electronic device, Gpre (102) and Geq (126) in
In one dimension (one potentiometer), the theory is simple. Let the potentiometer value be represented by 0≦u≦1, and suppose we have computed the filter H (z; ui) for i=1, 2, . . . , n. The user then chooses u such that uk≦u≦uk+1. The interpolated filter is then
Further, for two-dimension linear interpolation we have the values u, v such that uk≦u≦uk+1 and vk≦v≦vk+1, and the interpolated filter is given from the pre-computed H (z; ui, vj) by
Multidimensional linear interpolation is computed as a straightforward extension of these formulas.
Instead of interpolating filters, which increases the filter order, it is more practical to interpolate the filter poles/zeros or filter coefficients. For instance, the numerator coefficients in Equation (2) can be computed as
Still, the number of pre-computed filter coefficients that need to be stored in memory is too high. Ten different potentiometer settings for four potentiometers implies 104 set of filter coefficients. Another embodiment of the invention is to use very few potentiometer settings, for instance only 2, and include a scalar pre-compensation function ūi=ƒi(ui) for each potentiometer i=1, 2, 3, . . . , K. That is, first each potentiometer setting, ui is first transformed by a one-dimensional non-linear function ƒi, then a multidimensional interpolation is applied using the compensated potentiometer settings. The non-linear function ƒi is preferably stored as a table and one-dimensional interpolation applied. Here, only 24 different coefficient sets need to be pre-computed and stored in memory. Practice has shown that audio equipment as tone stacks are interpolated very accurately with this method.
Simulation of the Linear Parts
The linear parts in the electronic device, denoted Gpre (102) and Geq (126) in
It is wellknown that any linear transfer function can be described as a sum of a basis function expansion. The basis functions can for instance be second order orthonormal Kautz filters, see Identification of Resonant Systems using Kautz Filters, Bo Wahlberg, Proceedings of the 30th Conference on Decision and Control, 1991, pages 2005-2010. The Kautz basis is a set of second order filters of the form
and the filter H (z) in (2) can be written
Here, the coefficients ƒi, gi are uniquely given by the coefficients ai, and the coefficients hi are given from a linear system of equations from the coefficients bi. The simulated output is know computed as a sum of second order filter outputs as follows:
where U (z) is the z-transformed input and Y (z) the z-transformed output.
A further embodiment of the invention involves to use the delta-operator instead of the z-transform based shift operator in the filter implementation. This can also be seen as a different basis, where the in signal processing dominating z-transform variable is replaced by δ=(z−1)/T, where T is the sampling interval. The theory is described in for instance Sampling in digital signal processing and control, A. Feuer and G. C. Goodwin, Birkhauser, 1996.
Structure of the Dynamic Non-Linearity (DNL)
After all linear parts in the electronic device are modeled according to the previous section, we next focus on the non-linear parts. In this section, we propose a non-linear dynamic model structure which is very efficient in modeling non-linear electronic devices The idea is to consider the electric device as a black box with input ut and output yt, and model what is in between.
In fully controlled experiments, we can generate arbitrary ut and collect the device's output zt. Due to the sensitive feedback loops in for instance tubes, we cannot put a probe into the amplifier and measure the tube input yt directly. However, using thae linear model from the previous section, we can compute yt=H (q; {circumflex over (θ)})ut and use this instead. The question now is what structure to use for the DNL. We propose the following one
zt=ƒ(yt; mt). (14)
Here mt is a mode parameter that depends on the operating point of the tube
mt=g(yt,zt,yt−1,zt−1,yt−2,zt−1, . . . ) (15)
The operating point may include the input derivative, amplitude, frequency and power, for instance. We consider the function ƒ(y; m) to be continuous in m, so that we can tabulate different static non-linearities (SNL) and then interpolate between these. For example, if mt is a scalar mode parameter, we can tabulate ƒ(y; k) at the integers, and for a k≦m≦k+1 we use
z=(k+1−m)ƒ(y; k)+(m−k)ƒ(y; k+1). (16)
We have found the following mode parameters to be of particular importance for tube modeling:
That is, we have two mode parameters that decide which SNL to be used. We stress that this mode switching non-linear behavior is crucial for accurate tube modeling and that such a DNL cannot be achieved by a series combination of a linear filters and SNL's as has been suggested in previous patents.
That is, the DNL now takes the form
zt=ƒ(yt; At,ht) (18)
That is, for each At, ht we have a SNL, and the next question is to decide on a structure for each SNL.
We next need a structure for each SNL z=ƒ(y). Since this structure will be the same for each mode parameter, it will in the sequel be suppressed. Consider an arbitrary basis Pk(y) for a general class of functions defined on the interval −1≦y≦1. These so called Legendre polynomials satisfy by the definition of an orthonormal basis the orthonormality conditions
These can for instance be mathematically derived from the (non-orthonormal) basis pk(y)=yk with a Gram-Schmidt orthonormalization procedure. The first four basis functions using this principle are shown in
Since this is a basis for all functions ƒ: [−1,+1]→[−1,+1], this implies that any function can be approximated arbitrary well by a finite sum
Now, hysteresis implies that we have two SNL's, one for h=1 and one for h=−1. Denote these two SNL's ƒh(y). We can from these define the even and odd SNL's by
That is, we need two basis expansions, one for the even and one for the odd part of the hysteresis function. From this, it is clear that the total DNL, including the mode parameter, can be written
This is the structure we have found most useful. However, other mode parameters can also give good performance, so the invention is not limited to this particular choice of modes.
Estimation of the coefficients can be done with standard least squares algorithms, by noting that equation (23) can be written as a linear regression model
From an experiment, we get zt, yt, ht, t=1, 2, . . . , N, and then form the over-determined system of equations:
which can be solved in the least squares sense for each input amplitude A.
Chebyshev Polynomials
We will motivate in several ways why a Chebyshev polynomial expansion is an ingenious way for modeling tube behavior. First, the definition of these polynomials, here called
which differs from the polynomials Pk(y) defined in equation (19) by the weighting factor 1/√{square root over (1−y2)}. The first four basis functions are shown in
These basis functions can be written explicitly. It is standard in literature and convenient for further discussion to split the basis function
Tk(y)=cos(k arccos(y)) (28)
Dk(y)=sin(k arccos(y)) (29)
We can now expand the odd and even parts of the hysteresis function as
Referring to the embodiment of the invention shown in
The weighting factor 1/√{square root over (1−y2)} makes the polynomial more sensitive to catch the critical non-linearities around ±1, which is of utmost importance for audio applications. An important practical consequence is that relatively few basis functions are enough for accurate modeling, which facilities simulation, and that the softness of the basis functions turn out to eliminate the computational expansive over-sampling, which is usually needed to avoid unwanted harmonics when simulating non-linear functions.
Identification of the DNL
The DNL structure from the previous section is very flexible and efficient for modeling non-linear electric devices, but we still need a procedure to determine the parameters in the structure. Here we describe how the parameters in the DNL can be computed from measured inputs ut and outputs yt. In
The general identification problem is to first design the input ut and then to find an algorithm for fitting αk(A, h) in equation (23) to the observed data. Because of the new concept of a DNL, there is no available standard software for this problem. We suggest to use inputs ut such that yt=A cos (2πƒ0). This is achieved by
We will in the following omit the dependence of A, and assume that the input yt to the SNL is scaled to unity magnitude.
It can be proven that the Fourier series coefficients of zt with a sinusoid as the input correspond to the coefficients αk, βk in the expansion (30) (again omitting the mode parameter for brevity), so we can compute them theoretically for a given function ƒ(y) as
We design ƒ0, the sampling interval Ts and the number of data N such that ƒ0 is a multiple of 1/(NTs). We can then use the fast Fourier transform (FFT) or more dedicated and efficient algorithms to compute Z(ei2πƒ
{circumflex over (α)}k(A)=real(Z(ei2πƒ
{circumflex over (β)}k(A)=imag(Z(ei2πƒ
The order K of the approximation can be chosen automatically by observing when the Fourier series coefficients become insignificant.
The choice of Chebyshev polynomials can be theoretically justified for SNL modeling in general and tube modeling in particular as follows. The polynomial
where αk are computed from equation (32) can be shown to be the polynomial g(y) of degree less than or equal K that minimizes the least squares approximation
See for instance the text book Fox and Parker, Chebyshev polynomials in numerical analysis (1968). The weighting factor 1/√{square root over (1−y2)} is crucial for tubes, since it is large for y=±1 and thus increases the accuracy of the approximation near ±1, exactly where the tube's particular soft sound is created! Furthermore, the approximation {circumflex over (ƒ)} will be very close to the polynomial of order less than or equal to K that minimizes the maximum error
See the text book Å. Björck and G. Dahlquist, Numerical mathematics (Compendium, to be published, 1999) for instance.
Simulating the DNL
The previous sections have first suggested a new dynamic non-linear (DNL) model structure and how to estimate the free parameters. We now describe in detail how the DNL can be simulated efficiently, which is the final step in emulating a non-linear electronic device according to our invention.
Computer-based, or signal processor based, simulation of our model begins with a sample and hold circuit and an AD converter. Design issues include the choice of sample rate ƒs=1/Ts and the number of quantization bits. How this should be done is described in any text book in signal processing, see e.g. the text books J. G. Proakis and D. G. Manolakis, Digital signal processing—principles, algorithms and applications and F. Gustafsson, L. Ljung, and M. Millnert, Signalbehandling (Studentlitteratur, in Swedish, 2000). The sample rate should of course exceed at least twice the bandwidth of the guitar signal to avoid aliasing.
Simulation of linear discrete time dynamical systems (filter) as H(z, {circumflex over (θ)}) is a standard procedure and does not deserve any particular comments, other than that the sample rate ƒs=1/Ts should be chosen high enough compared to the bandwidth of the filter.
In one embodiment of the invention, the following algorithm is used for simulation of the DNL:
where interpolation is used for the mode parameter At. This simplified algorithm uses the peak value of the input amplitude over a sliding window L, but more sophisticated methods can be used.
It is well-known that a non-linear function creates harmonics of the input signals. This is mostly a desired consequence and is needed to get the soft distortion of the tubes, as well as the attack during the transients. Of course, if these harmonics exceed the Nyqvist frequency ƒs/2, they will be aliased and the sound quality will deteriorate. The standard procedure described in text books is to oversample the input signal and then anti-alias filter and decimate the output zt. Oversampling can be done either after the linear filters at yt, or by choosing high enough a sample rate of ut in the first place. However, we have found that the smooth form of the Chebyshev basis functions create very little unwanted high frequency harmonics, and this is probably a problem that occurs mainly if look-up tables and interpolation are used to represent a SNL ƒ(y).
Filter Bank Implementation of DNL
As an alternative to the DNL, a filter bank approach can be used, where the energy in each frequency interval controls the dynamic non-linearity. A filter bank is defined by a set of band-pass filters {Bi(q)}i=1n, which may be orthogonal or overlapping in the frequency domain. Conceptually, they divide the frequency spectrum in different parts, and the output xti=Bi(q)yt of each filter can be used to compute the energy E(xti)2 in the corresponding frequency interval. The mode parameter mt in (14) can now be taken as a vector of energies
mt=(E((xt1)2,E((xt2)2,E((xtn)2). (44)
That is, the operating point depends on the energy spectrum of the signal. A further alternative that has proven to work well for certain equipment as for instance loudspeakers, is to have separate non-linear functions to each frequency band, and then combine their outputs as
This can be seen as an alternative to (14).
Summary of the Audio Equipment Emulator
To sum up, in one embodiment of the invention, the signal flow is structured as in
A computer program for this embodiment may be structured according to
The gain scheduling constant m to the DNL is computed (224) basis functions Dk and Tk (226,228) are then computed, which is repeated for each k (232), and these are weighted with the parameters αk and βk, respectively, and these terms are summed up. The buffer is then passed through some equations implementing a linear filter Geq (234) and finally the output is written to a D/A converter (236). The procedure is repeated (238) until the program ends (240).
Furthermore, the invention is in one embodiment realized as an apparatus, method or computer program product devised for simulating linear parts of an audio equipment using stable basis expansions of the filter, such as Kautz filters and delta operators. This embodiment can be combined with any of the other optional features of the invention in accordance with the description and the claims.
One further aspect of the invention in one embodiment, is realized as an apparatus, method or computer program product devised for controlling the dynamics of linear parts of an audio equipment using multivariable interpolation techniques of higher order linear filters. This embodiment can be combined with any of the other optional features of the invention in accordance with the description and the claims.
Summary of the Audio Equipment Automatic Modeling Procedure
First, all passive components (402) form a linear system, where a linear model H(q; θ) (420) is estimated using standard system identification techniques (420) using the model error signal yt−ŷt (412).
Second, the non-linear parts as tubes (404) are modeled by the proposed new DNL structure z=ƒ(y; m, α) (422), where a tailored new system identification algorithm (414) is applied to estimate the free parameters α using the error signal zt−{circumflex over (z)}t (416). The gain scheduling parameter m is computed (430) for instance as instantaneous amplitude or frequency.
Number | Date | Country | Kind |
---|---|---|---|
0301790 | Jun 2003 | SE | national |
Number | Name | Date | Kind |
---|---|---|---|
4809336 | Pritchard | Feb 1989 | A |
4868869 | Kramer | Sep 1989 | A |
4991218 | Kramer | Feb 1991 | A |
5144096 | Kunimoto | Sep 1992 | A |
5206448 | Kunimoto | Apr 1993 | A |
5241692 | Harrison et al. | Aug 1993 | A |
5248844 | Kunimoto | Sep 1993 | A |
5265516 | Usa et al. | Nov 1993 | A |
5304734 | Kunimoto | Apr 1994 | A |
5477004 | Kunimoto | Dec 1995 | A |
5680450 | Dent et al. | Oct 1997 | A |
5789689 | Doidic et al. | Aug 1998 | A |
6208969 | Curtin | Mar 2001 | B1 |
6350943 | Matsumoto et al. | Feb 2002 | B1 |
6504935 | Jackson | Jan 2003 | B1 |
6664460 | Hanson et al. | Dec 2003 | B1 |
6760451 | Craven et al. | Jul 2004 | B1 |
6998528 | Limacher et al. | Feb 2006 | B1 |
Number | Date | Country |
---|---|---|
2.040.632 | Aug 1980 | GB |
1-502873 | Sep 1989 | JP |
6342287 | Dec 1994 | JP |
8-502153 | Mar 1996 | JP |
11-202863 | Jul 1999 | JP |
2001-270927 | Mar 2000 | JP |
2004-502202 | Jan 2004 | JP |
WO 8807787 | Oct 1988 | WO |
WO 9402934 | Feb 1994 | WO |
WO 0203377 | Jan 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20040258250 A1 | Dec 2004 | US |