Tronic wrote:you used a symmetric FIR implementation or am I wrong?
I would like to deepen this oversampling technique, if you have time and desire,
would you explain how to use it both for UP / DOWN sampling, and what you used to derive the coefficients?
Yes, it is a symmetric FIR so it is linear phase. I think that most D/A converters are also linear phase, but I really don't know if that is generally true.
There is good information on the SM forum and wiki, just google oversampling. I should note that the filter in the above schematic is designed for the specific task of intersample peak estimation. It is less suited for other sound processing tasks (mainly because of its poor stopband rejection). In that case the toolkit IIR filter will perform
much better.
The coefficients are from the excellent
LabVIEW online utility.
Drnkhobo wrote:by "tap" do you mean pole?
I have tested this with a version I made with the oversampling toolkit and cyto's peak meter. . .
It seems that the OSToolkit + Cyto's Peak Detector find higher values than the example you provided. . ? Im not sure if I did it wrong, probably
No, I mean tap (I thought that's a common term for FIR filters). Typically you would have (nontrivial) poles in IIR filters, not FIR.
Your test with the SM OS Toolkit is interesting, I get the same result for noise input. However, it really depends on the input signal. For example, for an impulse train, the toolkit actually yields
lower peak values, even lower than those of the original input!

It does make sense if you look at the time response of the toolkit filter: a single pulse gets heavily distorted with lots of ringing.
tulamide wrote:So, regarding my question, the interpolation method isn't standardized, but rather one uses generalized algorithms (filtering/oversampling). It approximates to keep reasonable cpu-load/accuracy ratio, accepting to let some peaks unrecognized. I'm not much into sound engineering, but it reminds me on a spline in the graphical world, where start and end are known, and the control points are set to certain discrete values (all with a resolution as low as possible).
That's true. If all D/A converters were linear phase, then the "ideal" method would be a sinc-interpolation. My little schematic addresses this scenario, with some (hopefully) reasonable trade-off between CPU load and approximation. For other than linear phase, it is really impossible to know the peaks after D/A conversion.