i dont know why my code is not working..

1 visualización (últimos 30 días)
okan
okan el 24 de Dic. de 2014
Editada: Yona el 25 de Dic. de 2014
if true
fs = 200;
Ts = 1/fs;
t = 0:Ts:50; % Zaman vektörü
u2=sin(2.*pi.*(1+5.*t).*t);
N=ceil(log2(length(u2)));
for k=1:N
X(k)=0;
for n=1:N
X(k)=X(k)+u2(n).*exp(-1j.*2.*pi.*(n-1).*(k-1)./N);
end
end
Pyy=X.*conj(X);
f=fs*(0:(2^(N-1)-1))/2^N;
figure(1),plot(f,Pyy(1:2^(N-1)));
[MAX, MAXidx] = max(Pyy(1:2^(N-1)));
hold on
plot(f(MAXidx), MAX,'or')
end
Index exceeds matrix dimensions.

Respuestas (1)

Yona
Yona el 24 de Dic. de 2014
plot(f,Pyy(1:2^(N-1)));
the length of pyy in 14 so you cannot take cell number 16384 (2^13).
another problem: length(f)=8196 so length(Pyy) need to be the same.
  3 comentarios
okan
okan el 24 de Dic. de 2014
btw when i use that
if true
fs = 200; % Örnekleme frekansı fs
Ts = 1/fs; % Öernekleme periyodu Ts
% Oluşturacağımız sinyaldeki frekanslar
t = 0:Ts:50; % Zaman vektörü
u2=sin(2.*pi.*(1+5.*t).*t);
noise=u2+0.5*randn(size(t));
N=ceil(log2(length(u2)));
X=fft(noise);
Pyy=X.*conj(X);
f=fs*(0:(2^(N-1)-1))/2^N;
figure(1),plot(f,Pyy(1:2^(N-1)));
[MAX, MAXidx] = max(Pyy(1:2^(N-1)));
hold on
plot(f(MAXidx), MAX,'or')
figure(1),ylabel('Genlik');
figure(1),xlabel('Zaman (s)');
figure(1),grid;
end
its working but i shouldn't use fft command for my homework
Yona
Yona el 24 de Dic. de 2014
Editada: Yona el 25 de Dic. de 2014
In your error-file length(X)=14 and in correct-file it 1001. try to check why it append, it probably will fix your problem

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by