View Filter Weights for Each Block - dsp.BlockLMSFilter

1 view (last 30 days)
TL:DR - I'm interested in viewing the final filter weights for all blocks of data when using the dsp.BlockLMSFilter object
I'm new to the signal processing world and am experimenting with the dsp.BlockLMSFilter object. As I understand it, the object operates on a single block of the signal (a subset set of the total signal samples) at a time, running through the least squares algorithm for the current block of data before moving to the next. Per the help page (https://www.mathworks.com/help/dsp/ref/dsp.blocklmsfilter-system-object.html?s_tid=doc_ta), one can call the filter weights when they call the object ([y,err,wts] = blms(x,d)).
I'm not necessarily interested in the filter weight histories for each block of data (although I may like to look into that further as I dig into this more), just the final weights for each block of data. I was initially expecting that if I had a signal containing 3000 samples and I operated on blocks of 500 samples, that the wtsvariable would contain 6 sets of taps - one for each data block. However, when I do this, wts only contains a single set of filter taps - which I presume is the final weights from the last block of data. I'm interested in viewing the final filter weights for all blocks of data.
The answer alludes to an example that allows the user to view the history of filter weights as the lms algorithm converges. However, the description only mentions a single data block of data. And more importantly, the page linked to in the answer looks to no longer exist.
Some details on my specific application:
I’m experimenting with an Adaptive Line Enhancer (ALE),Capture.PNG
My input signal is a chirp, to which I’ve added white gaussian noise (wgn). I selected a delay which corresponded to the second largest peak in the signal’s autocorrelation function (the largest peak corresponding to the autocorrelation with no shift), expecting that since the wgn is uncorrelated, higher autocorrelation with the chirp tone would allow the noise to be reduced.
I’m hoping to verify that the final filter weights for each block show a shifting bandpass filter over the course of the chirp.
I can give more details about my implementation, but didn’t think it necessary for the question I’m asking.
I appreciate your help. Let me know if there is other infromation I can provide that my be helpful.
Kyle

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!