Hi, is there an easy way to do zero-padding in the dsp block, to get a better frequency resolution in a fft~ ?
-
Zero-padding fft~ to increase frequency resolution?
-
@andresbrocco Yes.
@katjav does so here......... http://www.katjaas.nl/ippass/ippass.html
There is a zip at the end of her explanation.
You will get an error in vanilla for a missing [mux~] but it is just used to switch for testing and you won't need it.
David. -
thanks @whale-av!
Actually [mux~] is not missing, but [for++], [pddplink] and [lp6_cheb~] are.
Anyway, I got what's going on, but @katjav didn't zeropad the block. She actually discard part of the block by multiplying it by zero.
I've made a patch that increases the block size by a factor, but also overlaps by that factor, to keep the same dsp rate. Inside, it just multiplies the old blocks with zeros, so the result is:
[ 0 0 0 . . . 0 0 0 newBlock]
-
there is no need for zero-padding if you want to increase the frequency resolution in a fft-subpatch (block~), or do i get something wrong?
-
@solipp, I want to get high resolution in both frequency and time.
So if I do an FFT after every block, I get high resolution in time, but the block is too small, so I zeropad it to increase frequency resolution.
-
aha, so its about low latency fft? if you have a working patch, please share it!
-
on second thought, it doesn't make much sense to me.. I think you know, but, to increase the frequency resolution you just set a higher blocksize in the fft-subpatch, time resolution is your samplerate.
So, zero-padding to reduce latency? for a high-res spectrum display, or.. what do you want to do with your patch? I'm curious!