On Wed, 15 Sep 2004 13:07:06 -0700
davidrclark(a)earthlink.net wrote:
Erik,
Notice that step where you throw away the middle
N/2 samples?
That is a low pass filter applied in the frequency domain.
Not if the amplitudes are all already zero above N/2.
Sorry, the filter exists whether the frequencies are there or
not.
In addition, your frequency domain method has the same the pre
and post ringing effects that I get with an FIR filter. This
can be proved in about 15 seconds using Octave or Matlab. In
fact, lets do that (using Octave in my case):
x = [1 1 zeros(1,2046)]; # create a signal
f = fft (x);
f_mod = [f(1:512) f(3*512+1:2048)];
x_mod = real (ifft (f_mod));
plot (x_mod)
As you can see from the plot, the ringing is plainly visible.
Now I will admit that if the signal is already bandlimited
filter many not be necessary, but that is a different matter
all together.
In that case, the
input and output frequency spectra are absolutely identical. If nothing
was removed or even altered, then no filtering has actually occurred.
Thats not correct. The presense or absense of filtering does not
depend on whether there is a signal there or not. In effect, what
you are saying is:
"If I take a signal consisting of a single sine wave of frequency
fs/1000 and pass it through a lowpass filter with a monotonicaly
decreasing frequency response and a -3dB point of fs/4, then no
filtering has taken place because because there are no signal
components anywhere near where the filter has an effect."
Unfortunately, its not correct.
Less accurate
how? Is this measurable or is this just hand waving?
I have already addressed this in previous postings where I described the
fact that I had merely listened to the recordings repeatedly until I
could distinguish the original from the sndfile-resample one and could
not distinguish the FFT-overlap one from the original --- ergo less accurate.
In other words, handwaving.
My intention was not to "measure" accuracy,
but to listen for the alleged
distortions. You had posted a sort of celebration of the fact that I
thought the sinc-based resampler produced a better-sounding version of
the recording than my FFT-overlap resampler, but apparently had also
neglected the fact that I was also saying that it sounded better than
the original --- ergo was inaccurate (albeit very, very slightly so).
Was this a double blind test?
Now I could take time to measure my resampler's
performance,
Have you measured the signal-to-noise ratio?
but I think
we both know the expected results, don't we? In terms of absolute
accuracy, any FFT-overlap resampler which utilizes large windows (hundreds
of thousands or millions of samples) and which is properly implemented
should, in fixed-rate conversions, outperform a sinc-based resampler that
If you work out the mathematical expression for your frequency
domain converter, you will find that there is a time domain
expression that is mathematically identical and that the time
domain expression is in part a FIR lowpass filter very much
like my converter.
The difference between the two would be that my version uses
linear interpolation into a very large table to obtain the
filter coefficients while yours are more exact. However mine
provides a *measured* SNR of at least 97dB.
P.S. I'll be "sans computer" for the
next few days, heading towards Ivan
so won't be able to correspond on this for a while....
Good luck.
Cheers,
Erik
--
+-----------------------------------------------------------+
Erik de Castro Lopo nospam(a)mega-nerd.com (Yes it's valid)
+-----------------------------------------------------------+
Spammer: Any of you guys looking for a permanent position in Scotland?
Kaz Kylheku: No, I'm looking for a thug in Scotland who might be interested
in beating up off-topic Usenet spammers, on a pro bono basis.