For the last couple of months, I’ve been looking into EEG analysis and classification for SSVEP detection, for a journal article we have been working on, based on our Bacteria Hunt project at eNTERFACE’09. The SSVEP response is a very direct reaction of the brain to a flickering stimulus. Say you have an image that can be on (white) or off (black), and you alternate them at a frequency of 7.5 Hz (7.5 alternations per second), then we can see a peak at 7.5Hz in the frequency spectrum in the occipital lobe.
One of the methods that is often used in SSVEP detection methods, is to do zero-padding before applying a Fourier transform to look at the frequency spectrum. The idea is to add data points, so you can have smaller frequency bins in the spectrum. The SSVEP response is very narrow-band, so a small frequency bin would be perfect. If you have a 1-second window of 512 samples, recorded at 512 Hz sample frequency, then the bin size is 1 Hz. If you add zeros to increase your window to 1024 samples, you have a bin size of 512 Hz/1024 samples = 0.5 Hz.
But there is one important thing to understand: zero-padding does not provide additional information — it only interpolates from the data you already have. So if you want a spectrum with smaller bins, it is better to just use a larger EEG window. And often there is no reason not to do so. If you have a setup which should provide real-time feedback, make the windows larger (you can keep the inter-window interval the same, so feedback is given at the same intervals as before). If you want to do offline analysis, be sure that during your experiment the stimulus duration was long enough, and then just take the full window size you need to get the appropriate bins. Be aware that it takes some time for the SSVEP response to be elicited as well.
There is a site that explains the zero-padding issue really nicely: blinkdagger – FFT and zero-padding — definitely a recommended read!