Currently I am working on a feed-forward control system to actively control vibrations. For that purpose I need to measure accelerations on a vibrating structure and use a transfer function in the frequency domain to calculate a force which should be applied back to the structure. As the measured acceleration trace is in the time domain I need to perform a fourier transformation, multiply my signal in the frequency domain and do an inverse fourier transform to get back to the time domain to apply the force on the structure using a shaker device.
The whole process looks somewhat like this:
As this whole signal chain should work continously I am unsure how to handle the FFTs? I need a certain signal length in order to perform a fft. So I need to cut my continious signal into chunks and do the ffts of them. Is it usefull to use overlaps with those chunks and how do I determine a suitable FFT length?
Of course I want to get a continious signal at the output. So I need to somehow smooth the cutting points between the chunks after the idft.
So basicaly I know about the individual parts of this process chain, but I have never done such a chain in total and so I am somewhat lost on how to deal with the delay and the stepping I get due to the fft.
I think the solution has something to do with the overlap-add method that is talked about in this question: https://stackoverflow.com/questions/5117839/understanding-overlap-and-add-for-filtering?noredirect=1&lq=1 https://en.wikipedia.org/wiki/Overlap%E2%80%93add_method