There is a measurement called waterfall effect in audio systems.
When you apply a sweep signal starting from 50Hz to 20KHz, it shows how long the resonance of the speaker goes. For example in the image above, SPL level of the signals at frequency domain after 150 ms has past are shown. The goal here is to minimize the waterfall effect. What i see in the data is that the damping model fits in below formula:
each frequency has below damping formula:
$$ A*e^{-c*t^{2}} $$
with different 'c' constant. So in a certain model, I extracted the constants, converting the SPL to Watt.
What I am after is to divide the data in small chunks, do a spectogram analysis, see the magnitude and phase of the signal of interest, and apply a damped signal right after a full period of the interested signals frequency, in reverse phase. I think the waterfall effect will ve cancelled out by this and I will achieve reduction of the waterfall affect, when I apply this algorithm in real time. Right now, I am doing all in preprocesed. After I confirm the way is correct, I will try to implement this method in real time. So long stroy short, I achieved this somehow;
The problem is, this method creates some pop noises in the sound.
For better understanding, I will explain the method in more detail. This is the sweep signal:
This is a 125 Hz signal that is found in one of the analized chunks:
This is the fading signal of it after one period:
I subtract this signal from the next period in the chunk. I hope you get the idea better. I do this for all the chunks.
But, this some times leads to some kind of pop noise. And the cause of the problem is below:
I tried applying filters after the process (Like sagvol or butterworth). It smooths the sudden discontinuties and distortions, it helps the noise but doesn't solve it. My question is, how can I overcome this noise in the data? is there a method which I can apply, without sacrificing the improvement I have now? An filter or methods I can use? Thanks.