0

currently I am trying to filter time data so that certain containing frequencies are getting amplified/reduced. I am dealing with a system which has a certain characteristic that I would like to get rid of by modifying my system input time signal so that the changes the system does to my signal result in getting back my original signal:

$y(t)$ -> $Equalizer$ -> $y2(t)$ -> $System$ -> $y(t)$

So I need to figure out the Equalizer part. I am working in Matlab and my time signal has a fixed sample time $Fs$. I used pink noise as an input signal to the system and I recorded the output of it:

Siso of unknown System

Using Y=fft(y) and Y2=fft(y2) by doing V=Y./Y2 I could calculate y2=ifft(V.*fft(y)) which then would give the alternated input $y2(t)$ to my system. Does this work like this? Here is how V should look like:

V - Transfer Function to counteract System behaviour

However I would also be interested in a solution using the filter() command in matlab to do everything in the time domain using a difference equation. I expect that solution to be much faster. The whole thing should run in real time continuously and I assume using fft() on chunks of data is slowing things down. Also the data length of the chunks could be changing and then I would need to change the length of the vector V all the time. The overall gain of my output signal is not important for me. So for instance if the output also shows the pink noise characteristic while all frequencies are 10 dB down that would be fine for me. Phase information is also not relevant.

Thank you for any help!

Matthias La
  • 380
  • 2
  • 9
  • Hi- please see this link which describes the approach of using the Wiener-Hopf equations for a least squared solution to your problem. This is a typical approach for determining the optimum coefficients to use (in a least squared sense) to equalize the resulting signal when you have the received signal and a copy of what that signal should actually be: https://dsp.stackexchange.com/questions/31318/compensating-loudspeaker-frequency-response-in-an-audio-signal – Dan Boschen Nov 07 '20 at 23:56
  • Hello Dan! Thank you very much for that information! It looks very promising. I am going to try it out and will give feedback. Once again: Thank you! – Matthias La Nov 09 '20 at 12:44

0 Answers0