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

 采纳的回答

per isakson
per isakson 2013-10-26
编辑:per isakson 2013-10-26
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 个评论

yasin
yasin 2013-10-26
编辑:yasin 2013-10-26
I want to create this filter
thank you

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by