I'm trying to recover a sine wave which is embedded in periodic FM noise (span: 100MHz; cycle: 10 MHz) by means of an adaptive line enhancer (ALE).
The filter is able to identify the sine wave frequency but it is not able to fully recover its shape.
I believe the reason resides on the side lobes of the filter transfer function, which are not negligible and introduce spurious gains over the input signal.
I've tried to increase the filter length up to 1000 with a step-size of 0.001 and a decorrelation parameter = 1 without success.
Would you have any suggestion?
These are the reference (green) and filtered (blue) signal:
And the filter transfer function at the last iteration:
If the interference is a pure sine wave, even fluctuating slightly, then consider a driven oscillator, in which you have a second order IIR filter that is driven by feedback after the subtraction of the oscillator output is subtracted from the input.
First, the learning will be very fast, and if you reach the "correct" parameters for the oscillator, you can possibly set the step size to 0 at some point.
A few specific important concepts.
1) The coefficients result in poles on the unit circle.
2) The coefficient for the first order term of the feedback has the form 2*cos(2*pi*Ft/Fs).
3) The other coefficients are 1 and -1 for z^0 and z^2
4) Adapting the center frequency of the tracking is difficult, and I don't remember off the top of my head how to do it.
5) Use a numerator that results in zeroes at DC and Fs/2. 1-z^2
Hi from here,
just to add my 2 cts...
David's proposal immediately reminds me of the PLL concept in the analogue domain.
Basically you need a wide "capture" range to get it oscillating near the target frequency, then you "draw" it closer and closer to the reference signal.
In the end it will be dependent on the resolution of the final regulation steps.
If it's digitally controlled, it will "jump" every now and then.
When designing a digitally controlled oscillator for a 1MHz signal I ended up with a counter resolution of around 40bit to get the side lobes down to -80dB.
I guess from that, that you will need enough resolution and very clean algorithms. But I don't know if you can apply these hints in ALE ...
Thanks a lot for your comments,.
I'll analyze if it possible to apply your suggestions to the ALE structure.
Thank you very much for the feedback, dgshaw6.
My target signal is actually narrowband (200 kHz) but I'm trying to solve the filtering problem with a simplification, by treating it as a sine wave.
I'll consider your suggestions.
As I interpreted you first request, I read sine wave, hence my suggestion.
A "narrow" band signal will not respond nearly as well to the technique I proposed.