Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!zaphod.mps.ohio-state.edu!sample.eng.ohio-state.edu!columbia!rob From: rob@columbia.eng.ohio-state.edu (Rob Carriere) Newsgroups: comp.dsp Subject: Re: 48k to 44.1k sample rate conversion Message-ID: <1991May30.214126.15656@ee.eng.ohio-state.edu> Date: 30 May 91 21:41:26 GMT References: <42250@ucbvax.BERKELEY.EDU> <502@valid.valid.com> <1991May29.204046.12494@syssoft.com> Sender: news@ee.eng.ohio-state.edu Organization: The Ohio State University Dept of Electrical Engineering Lines: 88 In article <1991May29.204046.12494@syssoft.com> tom@syssoft.com (Rodentia) writes: >1) How bad is interpolation? Clearly, the signal probably did not look > like the linear interpolation of the samples (I know, look is not > important; hear or dB is), but it seems to be a "reasonable" > approximation. Roughly how much dB or % distortion is added? > I have read here that a linear interpolation is a special form of > low pass filter. Is its problem that it doesn't have high or band > pass characteristics as well? An interpolator is indeed a simple low-pass filter. The problem is mainly with the `simple'. I couldn't give you distortion numbers off the top of my head; maybe someone else can help here? >2) How good is digital filtering? Does the filtered signal actually > include the sample points, or can the filter turn a V into a U > (imagine a U that doesn't go down as far) at a high frequency > area? Is this considered distortion or just a loss of amplitude > (that can be compensated by rescaling)? There exists a rather surprising result that says that for bandlimited signals sampled at a sufficiently high frequency, perfect reconstruction is possible. `The sufficiently high frequency' should be at least twice the bandwidth of the signal. This sample rate is known as the Nyquist rate. For example, suppose that the original signal has a bandwidth of 20KHz, then both 44.1KHz and 48KHz meet the Nyquist criterion, so it is possible to perfectly reconstruct the signal from the 48K sampled version, and resample at 44.1K _without_any_loss_of_information_or_fidelity_. The digital filtering techniques attempt to perform this trick without having to explicitly reconstruct the analog signal, i.e. go directly from one digital representation to the other. Again, this is possible without losing anything. Whether you actually lose anything and if so, how much, depends on how sophisticated a design you are willing to tolerate. >3) It appears that a filters instantaneous response is based on its > current internal state (charge on the capacitors, etc.) and the > input signal. It seems that it should be possible to construct > equations that continuously reflect the output of a filter between > samples. It also seems that these equations would be exponential > or perhaps 2nd-order or greater. If the filter is linear, it can be described by a linear differential equation. Solutions to such equations look like (a sum of) exponential functions plus other stuff that depends on the input. (Slightly more mathematically, it is the input signal convolved with exponential functions.) > I know that this would involve more complex math and perhaps numeric > errors (underflow, etc.), but it seems to have the advantage of > generating only those samples needed (as opposed to a high i > intermediate frequency). Has anyone compared this more mathematical > approach to the current number-crunching mac (multipy-accumulate) > approach? Is the theoretical distortion any different? Are computers > just so much better at the simpler math (with the increased possibilty > of pipelining) that the more mathematical approach has been discarded > for the time being? As long as the Nyquist criterion is satisfied[1], this approach doesn't give you anything extra, as the digital filter can be made to reproduce the behavior of the analog filter. (It doesn't help with the resampling either, as you have to simulate the analog filter in discrete time -- the computer doesn't do any other kind -- so you get the exact same resampling choices.) On the other hand, simulating an analog filter would be a significant computational load compared to the digital approach. However, your general idea isn't so strange: there exist several design methods for digital filters that work by first designing an analog filter that will do the job and then `translating' the analog design into a digital one. For the problem at hand though, it might be more enligthening to think of the filters not as filters, but as sophisticated interpolators. This is the reverse viewpoint of your first paragraph, where you looked at a linear interpolator as a simple filter; here we think of a filter as a fancy interpolator. This shows you that filter is functioning at a much higher sample rate than the signal (or it couldn't interpolate between the data points). In fact, the filter operates at the LCM of 48K and 44.1K (~71M). Since you only want the `bottom' 44.1K of the signal (out of the 71M that pours out of the filter), the filter is going to be some kind of a low-pass filter. It could be very simple, like a linear interpolator, or very complex, like some of the designs that have been discussed here in the past couple of days. The question is how close do you want to come to the ideal resampling without information loss. SR [1] And if the Nyquist criterion isn't satisfied, you're in trouble anyway. :-) ---