I couldn't fix problem

1 次查看(过去 30 天)
yasin
yasin 2013-10-26
评论: yasin 2013-10-26
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

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by