|
Q: What is Dynamic Convolution and what types of things can it be used to model?
A: Dynamic convolution is a method for modeling signal processing devices. It falls under the category of signal modeling, which refers to any modeling method that uses only relationships between input and output signals to characterize a device. In general, the advantage of signal modeling techniques is that nothing need be known about the processes which go on within a device in order to do the modeling. The disadvantage is that for nonlinear systems, it is possible that an infinite set of measurements is needed to do the characterization. Moreover, in most cases it is impossible to determine when enough measurements have been made. For linear systems, a device can be characterized fully with just a single measurement, but only for the particular knob settings tested. This means that for devices with many controls, it may be cumbersome to characterize a device using signal modeling. Without sophisticated analysis, data needs to be collected for every conceivable set of knob positions, and some method must be introduced to interpolate between measurements. Because of the difficulties associated with signal modeling, we at UA tend to use physical modeling techniques to produce our plug-ins. Physical modeling tends to require more work up front to set up a signal processing structure, but allows full characterization with a smaller set of measurements. So the disadvantage of physical modeling would be that we have to start from scratch for each device we want to model. Dynamic convolution is an attempt to use signal modeling to create a single, generic process which can be used to successfully model a wide array of devices. Let's look in detail at how dynamic convolution works:
"Dynamic convolution is an attempt to use signal modeling to create a single, generic process which can be used to successfully model a wide array of devices."
Under the dynamic convolution model, a system is measured in order to recover a series of responses, which correspond to the system behavior when excited by impulses of varying levels. The idea is that, for nonlinear systems, the response will depend in some way on the level of the input signal. The implementation of the model is a system, which, at each sample, begins output of one of the recorded impulse responses. The response is picked which corresponds to an impulse which has the same level as the instantaneous level of the input signal. Since one impulse response is started with each sample, at any given instant there may be multiple overlapping responses which must be then summed to form the output signal.
If the system being measured is linear and time-invariant (LTI), then all of the measured impulse responses will be scaled copies of each other. In this situation, dynamic convolution will give a response identical to the system being modeled. The method has, in this case, been reduced to conventional convolution, which is an appropriate model for linear-time invariant systems.
If the system being measured is not LTI, then "something else" will happen using dynamic convolution. One relevant question would be, "What is the something else, and is it appropriate?" It turns out that, depending upon the nature of the nonlinearities involved in the system being modeled, dynamic convolution may or may not be an appropriate modeling technique.
Figure 1. static nonlinearity followed by linear system
|
Figure 2: typical limiter block diagram
|
For mastering applications, many limiters will have a flat spectral response. For signals below the threshold of limiting, no dynamic processing or filtering will occur. This means that, under the dynamic convolution model, any impulse below the limit threshold will produce an output which is also an impulse, at the same level as the input. What happens for impulses above the threshold? If the limiter has lookahead, the gain will be reduced by the limiter as shown in Fig. 3. With lookahead, the gain will be reduced so that, by the time the input impulse arrives at the output, the output level will be equal to the threshold.
Figure 3: input signal and limiter gain shown as functions of time
|
Figure 4: input-output relationship for limiter modeled by dynamic convolution |
Obviously, this model fails to capture the internal states of the limiter, and leads to a grossly inadequate model of the behavior. The output as shown is merely a clipped, delayed version of the input.
Dynamic convolution can be used successfully for a very specialized set of nonlinear systems, but in general is not appropriate for systems with hidden internal states, such as dynamics processors.
-Dave Berners