I couldn't fix problem

if true
eksi_kisim=linspace(0,1,2000);
arti_kisim=linspace(1,0,2000);
filter=[zeros(1,3513) eksi_kisim arti_kisim zeros(1,3513)];
channel_st= abs(shift_xx).*filter;
filter_st=ifft(channel_st);
figure;
dt=filter_st.*cos(wc*t);
plot(t,abs(dt));
title('dt grafic');
xlabel('time');
ylabel('dt');
axis([0 1 -5 15]);
figure;
tt=fft(dt);
plot(abs(fftshift(tt)));
title('dt spectrum grafic');
xlabel('frequency');
ylabel('dt');
% filter code
[B,A]= butter(5,0.25);
out=filter(B,A,dt);
figure;
plot(t,out);
axis([0 1 0 8]);
% code
end
out=filter(B,A,dt); in that line Subscript indices must either be real positive integers or logicals. this error come up

 Accepted Answer

per isakson
per isakson on 26 Oct 2013
Edited: per isakson on 26 Oct 2013
In this line
filter=[zeros(1,3513) eksi_kisim arti_kisim zeros(1,3513)];
you make filter a double array. Because of that the function filter cannot be called. Surely, that was not your intention.

2 Comments

yasin
yasin on 26 Oct 2013
Edited: yasin on 26 Oct 2013
I want to create this filter
yasin
yasin on 26 Oct 2013
thank you

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Asked:

on 26 Oct 2013

Commented:

on 26 Oct 2013

Community Treasure Hunt

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

Start Hunting!