John Curl's Blowtorch preamplifier part II

Status
Not open for further replies.
Unfortunately, the complementary differential jfet input stage seems to be heading the way of tubes, and becoming more difficult and expensive to implement. However, for me it started with attempting to create a fully balanced design and removing the bias and temp instability of my previous balanced amp design that had only one complementary pair of transistors (either bipolar or unipolar) as an input stage.
The complementary differential design made for easy biasing of the input stage AND a push pull pair of outputs that were located on opposite power supplies from each other so that a pair of transistors could be easily attached to push pull drive each other. It was the second stage that got the most improvement from the comp diff arrangement. I suspect that there is a dynamic thermal advantage by using comp differential jfets, but I do not have any hard evidence to prove it here.
 
So here:

'the aritmetic had a dynamic range exceeding 250 dB, it was then correctly dithered and truncated. this could have been to 24 bit but then the files would be easily identified and maybe not playable on all systems. obviously all processing offers loss, even taking a file and just dithering and quantizing. why not try comparing the phase between the 2 tracks. so yes requantizing to 16 bit may by itself maybe detectable... i should have requantized the non phase distorted track.'

jan

Just a reminder there is a large database of comparisons SRC Comparisons. I'm still surprised that they are all different. Not my expertise but as these things go there is probably a mathematically derivable "perfect" (at least to IEEE double precision) answer that is still too compute intensive to be done real time.

EDIT - Don't be too quick to point out the "infinite" limits of Fourier theory, I said convergence to one LSB at 64 bit float precision which is limited.
 
Last edited:
EDIT - Don't be too quick to point out the "infinite" limits of Fourier theory, I said convergence to one LSB at 64 bit float precision which is limited.

My math is too weak to say for sure, but I've read pretty convincing arguments that Fourier's theory applies perfectly to finite blocks of time and word length, and that only the FFT assumes infinite time and bit depth. Maybe some of the math heavyweights can comment and clear this up.

Thanks,
Chris
 
Just a reminder there is a large database of comparisons SRC Comparisons. I'm still surprised that they are all different. Not my expertise but as these things go there is probably a mathematically derivable "perfect" (at least to IEEE double precision) answer that is still too compute intensive to be done real time.
Perhaps for up-sampling, but down-sampling can never be mathematically "perfect" because there is information loss by definition. All of the SRC comparisons at Infinite Wave are down-sampled from 96 kHz to 44.1 kHz, and thus there should be no surprise that they are all different. Each uses a slightly different low pass filter, more or less brick wall, with varying phase responses and aliasing.

Then, even for up-sampling, you have the necessity of dither. Most SRC operations have the ability to produce an infinite number of LSBs that must be truncated. Truncation noise is the worst, so dithering is used to avoid that in exchange for an "inaudible" noise. But you have uniform distribution, triangular distribution, and several orders above that until the limit of normal distribution. On the other axis you have flat frequency noise (white), high-pass noise, inverse Fletcher-Munson curve noise, various proprietary noise curves and even dynamic noise spectrums which use knowledge of psychoacoustics to hide the dither noise under the spectra of the content.

To cut it short: Lots of reasons why SRC can differ (even though I've fallen into the trap of considering the possibility of mathematically perfect conversion).

My math is too weak to say for sure, but I've read pretty convincing arguments that Fourier's theory applies perfectly to finite blocks of time and word length, and that only the FFT assumes infinite time and bit depth. Maybe some of the math heavyweights can comment and clear this up.
Actually, I believe it's the reverse: Fourier theorized about infinite series, but the FFT uses convergence to apply that to a finite series. There are also variations for continuous time (analog) and discrete time (digital). But I think you'll find that the math heavyweights on comp.dsp have been arguing about this (almost) infinitely.
 
Last edited:
Perhaps for up-sampling, but down-sampling can never be mathematically "perfect" because there is information loss by definition. All of the SRC comparisons at Infinite Wave are down-sampled from 96 kHz to 44.1 kHz, and thus there should be no surprise that they are all different. Each uses a slightly different low pass filter, more or less brick wall, with varying phase responses and aliasing.

Using the criterion of minimum rms error you can bound the "lost" information. I was refering to things like convolution with sin(x)/x carried out until all terms were less than the smallest representable number. The down-sampling problem has a unique solution in the pedantic mathematical sense.

EDIT- There is no "trap" of mathematicaly perfect conversion. You convolve a signal with a sin(x)/x and you get a "perfect" brickwall filter, no aliasing. The residual aliasing is from shortcuts due to computational limitations.
 
Last edited:
Using the criterion of minimum rms error you can bound the "lost" information. I was refering to things like convolution with sin(x)/x carried out until all terms were less than the smallest representable number. The down-sampling problem has a unique solution in the pedantic mathematical sense.

EDIT- There is no "trap" of mathematicaly perfect conversion. You convolve a signal with a sin(x)/x and you get a "perfect" brickwall filter, no aliasing. The residual aliasing is from shortcuts due to computational limitations.
No, you're getting the two parts of SRC confused. If you have a band-limited signal, then you can use perfect math. But if your source signal includes frequencies above the Nyquist of the target rate, then you cannot simply convert the rate without first running through a low pass. There is no 'perfect' brick wall filter - that's a mathematical impossibility. When up-converting, though, you can skip the low-pass because it's impossible for the low sample rate signal to include frequencies above the Nyquist of the target rate. Only when up-sampling can you achieve the theoretically perfect conversion (and then it's more than theoretical; it's practical).

Again, I want to remind you that even the perfect math must be dithered afterwards, and there are several choices.

If an original performance is recorded at 192 kHz using microphones that are flat to 50 kHz (such things exist) and you wish to convert this to 44.1 kHz, there is no 'perfect' conversion possible, mathematically or otherwise. By all definitions, there must be information lost. Even once you agree that information will be lost, you will not necessarily get everyone to agree on the 'perfect' low pass. Some will accept a certain amount of aliasing in exchange for flatter or higher response near 20 kHz. Others will accept significant amplitude loss near 20 kHz in exchange for less aliasing or even 'no' aliasing. Yet others will be tempted to maximize both of these goals, resulting in phase distortions within the audible band. If you can't get everyone to agree on the low pass then you can't have a mathematically 'perfect' conversion from 192 kHz to 44.1 kHz. However, after the low pass filter has been applied, you can indeed execute a 'perfect' rate conversion of the resulting data. The Infinite Wave SRC site shows the results of the combined low pass and rate conversion.

One of the fundamental tradeoffs is between time and frequency. The sharper your filter cutoff, the more time smearing that results. The tighter your time (phase) response, the shallower the filter slope. You're claiming that convolving with sin(x)/x produces an infinitely sharp low pass without any time smearing, and that's simply impossible. You cannot maximize both at the same time. This is like the Hiesenburg uncertainty principle of digital audio.

The "trap" that I am referring to is the temptation to jump to the conclusion that mathematically perfect SRC is possible because math exists to ideally convert a bandlimited signal. The problem is that not all signals happen to be already bandlimited for all desired target sample rates, and thus the 'perfect' math is not an option when you need to drop the Nyquist frequency below the highest frequency in your source signal. A sin(x)/x convolution will alias certain high-bandwidth signals when down-sampling.
 
Last edited:
Unfortunately, the complementary differential jfet input stage seems to be heading the way of tubes, and becoming more difficult and expensive to implement. However, for me it started with attempting to create a fully balanced design and removing the bias and temp instability of my previous balanced amp design that had only one complementary pair of transistors (either bipolar or unipolar) as an input stage.
The complementary differential design made for easy biasing of the input stage AND a push pull pair of outputs that were located on opposite power supplies from each other so that a pair of transistors could be easily attached to push pull drive each other. It was the second stage that got the most improvement from the comp diff arrangement. I suspect that there is a dynamic thermal advantage by using comp differential jfets, but I do not have any hard evidence to prove it here.

Thanks, that's interesting, I need to think about it more.
Does this configuration also reduce the THD ?
When I first saw it, this is what I thought it does, similarly to a differential stage that has lower distortions than a single transistor one.
 
There is no 'perfect' brick wall filter - that's a mathematical impossibility.

No that is not true, the integrals that define the solution exist and they converge. If we limit ourselves to -260dB max aliasing component we can just do it with what we have. Pre-supposing violations in the sampling process only complicates matters.

To convert from 192k to 44.1k you need to go to the lowest common factor, if that ends up in the Ghz so what. If you need to take 10**7 sin(x)/x terms so what. If the solution requires 10**12 multiply accumulates per sample so what.

The variety comes from the simplifications to make the problem tractable, the exact solution is unique.
 
Last edited:
One of the fundamental tradeoffs is between time and frequency. The sharper your filter cutoff, the more time smearing that results. The tighter your time (phase) response, the shallower the filter slope. You're claiming that convolving with sin(x)/x produces an infinitely sharp low pass without any time smearing, and that's simply impossible. You cannot maximize both at the same time. This is like the Hiesenburg uncertainty principle of digital audio.

I never said anything about time smearing. This has nothing to do with this problem. If you don't like the "ringing" of sin(x)/x you are in Wadia land.
 
No that is not true, the integrals that define the solution exist and they converge. If we limit ourselves to -260dB max aliasing component we can just do it with what we have.
What is the phase response of this perfect brick wall filter? What is the width of the transition band? Where are you setting the pass frequency: Nyquist? lower? higher?

You haven't defined what the "it" is that you're doing. You can maximize certain parameters only at the expense of others, and so the "perfect" anti-aliasing filter is not possible.

Please cite at least one reputable reference which describes the math for an ideal low pass that passes all frequencies below Nyquist at 0 dB amplitude, and all frequencies at or above Nyquist at -260 dB, with 0 degrees of phase shift in the pass band. You cannot do it.

Pre-supposing violations in the sampling process only complicates matters.
What are you talking about? Violations when sampling at 44.1 kHz are not violations when sampling at 192 kHz. I'm saying that a perfectly valid 192 kHz source, without any violations in the sampling process must still be filtered before conversion to 44.1 kHz. The methods you have described so far would create aliasing in the result.

To convert from 192k to 44.1k you need to go to the lowest common factor, if that ends up in the Ghz so what. If you need to take 10**7 sin(x)/x terms so what. If the solution requires 10**12 multiply accumulates per sample so what.
Lowest common factors only accomplish the sample rate change - they do not remove aliased frequencies. Calculating a rate change perfectly does not address the problem of aliasing. With up-sampling, that's not a problem. With down-sampling it's a serious problem.

CoreAudio in Mac OS X always calculates the ideal rate change, even if that goes up into the GHz range. That's why you see CoreAudio perform so well against the other options on InfiniteWave. However, Apple does not document the characteristics of their automatically-generated low pass (anti-alias) filter. There is no such thing as an "ideal" when it comes to an anti-alias filter, at least not that can be achieved without tradeoff.

The variety comes from the simplifications to make the problem tractable, the exact solution is unique.
Again, you're not distinguishing between the two steps of conversion. Ideal rate conversion is actually easy, and it rarely even requires simplification to make the problem tractable. Ideal anti-aliasing is not possible to define because the inherent tradeoffs will not please everyone. There is more involved than making the problem tractable.
 
Last edited:
The sharper your filter cutoff, the more time smearing that results.

Do please explain what you mean by 'time smearing' here. It looks like you've got the ringing of a sharp cut-off filter confused with something else - the time smear introduced by running an equiripple FIR filter as spoken about by Julian Dunn in his paper here:

http://www.nanophon.com/audio/antialia.pdf

This time smearing issue is most certainly not the Hiesenburg Uncertainty Principle of sampling. It can be fixed by designing the filter a different way.

...with 0 degrees of phase shift in the pass band.

And why would Scott limit himself to 0 degrees of phase shift? What's wrong with a bit of delay? You're setting him a practical impossibility as all filters have some phase shift.
 
Last edited:
You guys amaze me, I was studying that stuff about filter tradeoffs, more than 30 years ago. I even spoke about it in an interview back around 1980 in TAS. You can NEVER get the signal exactly right, AND you often get PRESHOOT, unless you are VERY sophisticated in filter design. The PRESHOOT is caused by using a delay line type filter, and releasing information BEFORE it is supposed to happen. Dr. Peter Craven did some good work in this area, look him up.
 
Last edited:
Do please explain what you mean by 'time smearing' here.
Phase shift / phase response.

This time smearing issue is most certainly not the Hiesenburg Uncertainty Principle of sampling. It can be fixed by designing the filter a different way.
That's just my creative way of rephrasing the limitations of filtering.

Heisenberg said you can either measure position accurately, or speed, not both. As you improve the accuracy of positional measurement, you become less certain of the instantaneous speed; as you improve the accuracy of determining momentum, you become less certain of the precise position. It's about pairs of properties which cannot both be done to arbitrarily high precision.

It's impossible to build a filter with 'perfect' 0 dB response all the way up to < Nyquist and -260 dB at Nyquist and above. That represents a discontinuity in the frequency domain, which is impossible. Just like the 'perfect' square wave can never be obtained (infinite frequency response is only possible on paper, not in the physical world), the 'perfect' brick wall low pass filter is equally impossible. There can be no discontinuities in the time domain or frequency domain ... not for real world signals that we can listen to.

And why would Scott limit himself to 0 degrees of phase shift? What's wrong with a bit of delay? You're setting him a practical impossibility as all filters have some phase shift.
Scott claimed that sample rate conversion could be 'perfect' with the right math - and considering the failure of many brick wall anti-aliasing filters due to their extreme phase alterations, I'd say anything but 0-degree phase shift cannot earn the label of 'perfect.'

If you say that you can implement your favorite filter perfectly, then fine. But not everyone is going to agree that your filter response is the ideal for their goals, and thus the filter cannot be perfect.

You guys amaze me, I was studying that stuff about filter tradeoffs, more than 30 years ago. I even spoke about it in an interview back around 1980 in TAS. You can NEVER get the signal exactly right, AND you often get PRESHOOT, unless you are VERY sophisticated in filter design. The PRESHOOT is caused by using a delay line type filter, and releasing information BEFORE it is supposed to happen. Dr. Peter Craven did some good work in this area, look him up.
Correct. But keep in mind that preshoot is only one way for the "time smearing" to be realized. You can design the filter with all preshoot, all post-ringing, you can balance the two with an equal amount of post- and preshoot - anything tradeoff you prefer, but you cannot get rid of the time smearing.
 
Phase shift / phase response.

OK so not the industry accepted meaning for 'time smear' as used by Julian Dunn, Bruno Putzeys and (I presume) others. Glad we cleared that one up then :)

So I'll ask again - what's the matter with a bit of delay? That's phase shift which is linear with frequency. Do you see it as a problem?

Heisenberg said you can either measure position accurately, or speed, not both. As you improve the accuracy of positional measurement, you become less certain of the instantaneous speed; as you improve the accuracy of determining momentum, you become less certain of the precise position. It's about pairs of properties which cannot both be done to arbitrarily high precision.

Without any particular wish to delve into the depths of QM. my take is that its not just about measurement of the thing, its about whether its even at all meaningful to say that the thing 'has' those characteristics in the absence of observation. Its not even a 'thing' at all, its a wave when no measurement is being undertaken. So that's where the time-frequency trade off differs from Heisenberg in my estimation. Bart Kosko waxes lyrical on this (time - frequency, not momentum-position) trade off being imposed by linearity I seem to recall in his book 'Fuzzy Logic'. But I digress, considerably...
 
Scott claimed that sample rate conversion could be 'perfect' with the right math - and considering the failure of many brick wall anti-aliasing filters due to their extreme phase alterations, I'd say anything but 0-degree phase shift cannot earn the label of 'perfect.'

You're claiming that I'm advocating a mathematical impossibility because you and maybe others think that the transition band phase and more importantly that dreaded pre-ringing is somehow not "perfect". No I'm saying from information theory the brickwall filter with sin(x)/x is perfect. If you examine the impulse responses at that web site you will see that the sin(x)/x is truncated and windowed these choices will determine the spectral leakage, aliasing, etc. The truncation is long before that determined by the numerical resolution.

To state it in another way your source is a 192K, you have no apriory choice but to assume that this was done correctly. You then, for instance, have say a 23kHz tone. You can then reproduce the value of that tone at ANY time exactly within the resolution of your math. Quantization uncertainty is a separate issue not fundamental to this problem. You can then using standard digital filter theory specify a low pass 22.1KHz that is -260dB at 23KHz to resample at 44.1kHz. My very first statement was that this is not computationally practical.

Or you could express the resampling problem as an infinite polynomial sum and carry the terms out till you are beyond 64bit floats. This is also computationally impractical at real time. The funny thing is Wadia and others used DSP and fairly short polynomials to "do their thing" and the aliasing is easily shown to exist but in this case it didn't matter because it made square waves look "nice".

EDIT - That's 22.1kHz yes you can specify a filter that's flat to 20kHz and -260dB at 22.1kHz. You can reduce the aliasing to some arbitrary level, and I don't know if it's -260dB or -200dB I don't think it matters.
 
Last edited:
The PRESHOOT is caused by using a delay line type filter, and releasing information BEFORE it is supposed to happen. Dr. Peter Craven did some good work in this area, look him up.

The preshoot is not information it is only a mathematical artifact. Funny when people criticise scope photos of square wave responses on amplifiers everyone jumps in and says, "music doesn't have square waves".
 
To get it out of the realm of QM (which is not really applicable), consider the tuning of a guitar. When two strings are close, you can hear beat notes. The longer the period of the beat note, the closer the strings are to the same frequency. So, the two strings can never be perfectly in pitch (putting aside the slip in the Grovers) because you'd have to wait for an infinite period to determine this. The shorter the wait, the greater the uncertainty. Time and frequency are classically conjugate variables.

In any case, there are workarounds in filter design to get the phase response to be anything you'd like, independent of the target frequency response. This was one missed opportunity in CD development- if the anti-imaging filters had been standardized, the phase response could have been made flat by some DSP at the recording end.
 
Status
Not open for further replies.