My understanding of signals is limited. I did a signal processing subject in engineering, but I can't say I got much from it. For me, the subject wasn't taught with enough 'real world' explanation - all mathematics.
I want to take a signal from an experiment I am running, and remove the high frequencies (all above 3Hz).
By applying a fft, I am able to transform my signal into a frequency domain, showing a frequency spectrum and a range of amplitudes. I was lead to believe that if make the amplitudes of the signals I don't want, zero, then inverse transform the signal, I should effectively filter the unwanted frequencies. I have tried this, and it doesn't seem to work.
My thought on why this doesn't work is: In the time domain, the signal can be deconstructed into it's harmonics, each having an transient amplitude over the time period. When transforming to the frequency domain, we loose the time component, so when inverse transforming, we don't have any transient information, essentially we get a periodic signal comprised of all the harmonics superimposed, but the amplitudes of the harmonics don't change in time. Is this correct?
If so, is there a way of determining the amplitude transients in the original signal, masking the frequencies in the frequency domain, then reapplying the amplitude transients in the time domain?
y = ifft( fft(x) .* mask )and see if it's good enough. It'll take 2 seconds and might let you move on to the more interesting aspects of your work. – AnonSubmitter85 Jan 22 '14 at 04:00