I am fairly new to the signal processing world and that being said I have little to no experience. The problem that I am having is that I am not quite sure how to use dsp.RLSFilter. So far I have only used highpass filter and it was straight forward - I had to just decide on the cutting frequency, type of highpass and sampling frequency, whereas for the RLS filter I have a ton of parameters to choose from. For example, how to decide on the method to calculate the filter coefficients? Furthermore, in the documentation it is stated:
Call step to filter each channel of the input according to the properties of dsp.RLSFilter. The behavior of step is specific to each object in the toolbox.
and in the example step is not used:
rls1 = dsp.RLSFilter(11, 'ForgettingFactor', 0.98);
filt = dsp.FIRFilter('Numerator',fir1(10, .25)); % Unknown System
x = randn(1000,1); % input signal
d = filt(x) + 0.01*randn(1000,1); % desired signal
[y,e] = rls1(x, d);
w = rls1.Coefficients;
subplot(2,1,1), plot(1:1000, [d,y,e]);
title('System Identification of an FIR filter');
legend('Desired', 'Output', 'Error');
xlabel('time index'); ylabel('signal value');
subplot(2,1,2); stem([filt.Numerator; w].');
legend('Actual','Estimated');
xlabel('coefficient #'); ylabel('coefficient value');
So what is the difference between using step and using the method in the example? When I try using the same the same way as in the example I get the following error message: Array formation and parentheses-style indexing with objects of class 'dsp.RLSFilter' is not allowed. Use objects of class 'dsp.RLSFilter' only as scalars or use a cell array. I tried using num2cell on x and d, however, I had 0 success.



dsp.RLSFiltercommand in matlab I can have multipe parameters that are briefly covered in the documentation + in the documentation it is said to usestepand in the example it is done otherwise. – dsax7 May 13 '17 at 13:45y = step(rlsFilt,x,d) recursively adapts the reference input, x, to match the desired signal, d, using the System object, rlsFilt.and it did not work. In the second link you gave, under examples it is done withoutstep,however, as I mentioned at the begining that does not work for me as well and I get an error message. – dsax7 May 13 '17 at 14:29dsp.LMSFilteroffered by matlab? – dsax7 May 13 '17 at 15:14rls1=dsp.RLSFilter();[y,e]=step(rls1,mySignal,desiredSignal);MSE=msesim(rls1,mySignal,desiredSignal);figure;plot(e)I plot the error because my desired signal is the signal that I want to be removed from the original signal. After running MSE they are converging to minimum,however, the signal is not being processed. I may be doing something wrong (most probably I am as I am new to the signal processing world). – dsax7 May 14 '17 at 15:18