I'm working on a digital wavetable oscillator based on ZipCPU's numerically controlled oscillator algorithm, and have been trying to implement techniques for antialiasing. I'm starting with a naive saw wavecycle, and I'm implementing Julius O. Smith's bandlimited interpolation algorithm. I was under the impression that, as long as my interpolation was bandlimited, my output should be bandlimited as well. However, I've read in several different places that, if your wavecycle contains a discontinuity, then the aliasing is essentially baked-in. The output of my program seems to support this idea, as my interpolation seems to have no effect on the aliasing at all! I can see the Gibb's phenomena appear at lower frequencies, so I know that my interpolation is at least applying correctly.
I was hoping I could at least use the naive wavecycle to verify that I'm reducing aliasing, but that seems to not be the case. Is it a fool's errand to try to reduce the aliasing when starting with a naive wavecycle?
I was hoping I could at least use the naive wavecycle to verify that I'm reducing aliasing, but that seems to not be the case. Is it a fool's errand to try to reduce the aliasing when starting with a naive wavecycle?
Statistics: Posted by MARPAT — Tue Nov 19, 2024 6:10 am — Replies 3 — Views 137