how to remove error from this code

a = 1000;
a = randi([-1 1],a,1);
b= (a >= 0);
bm=(a<0);
b1(b)=1;
b1(bm)=-1;
d=b1(:);
h=[1 0.25 -0.5];
c=conv(h,d);
e=c(1:end-2,:);
noise1 =normrnd(0,0.1,[length(e)],1); % noise signal of zero mean and 0.1 variance
f1=e+noise1;
t=f1(1:end-990,:); %take 10 values
ss = 16; % NLMS step size
offset = 50; % NLMS offset
ha = adaptfilt.nlms(3,ss,1,offset);
stem([h', ha.coefficients']);
legend('Actual','Estimated');
xlabel('Coefficient number'); ylabel('Coefficient Value');
l=deconv(f1,ha.coefficients);
idmax = (l > 0);
idmin = (l < 0);
l1(idmax) = 1;
l1(idmin) = -1;
ll=[l1 0 0];
Y1 = ll(:);
p1=0;
q1=0;
for i=1:1000
if(ll(i)==d(i))
p1=p1+1;
else
q1=q1+1;
end
end
pe1=(q1/1000);

3 Comments

What is the error message? Please copy and paste the full error message (all the text in red) to your question.
You appear to have one variable named l1 and another named ll. That is legal but it is hard on the readers whose vision is no longer perfect.
Do you mean this error:
Undefined variable "adaptfilt" or class "adaptfilt.nlms".
Error in test1 (line 16)
ha = adaptfilt.nlms(3,ss,1,offset);
If so, it's probably that you don't have the proper toolbox installed.

Sign in to comment.

Answers (0)

Tags

Asked:

on 10 Apr 2016

Commented:

on 10 Apr 2016

Community Treasure Hunt

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

Start Hunting!