Freqz Command Resulting in Position 1 Invalid Index
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I was wondering if someone could review my code an explain what is causing the error message in my freqz command. The error message is claiming that index in position 1 is invalid and that array indices must be positive or local, but I don't see what's causing the issue. If someone could help me figure out what the error is, I would be very appreciattive
clc
w1 = 0.35;
w2 = 0.65;
n = 1024;
freqz = linspace(0,1,n);
for order = [16 32 64 128 256];
bp = fir1(order, [w1 w2], 'bandpass');
f = freqz(bp, 1, n);
magn_dB = 20*log10(abs(f));
plot [freqz, magn_dB, DisplayName, ['Order' num2str(order)];
hold on ;
end
legend('Location', 'South');
grid on
xlabel('Normalized Frequency, \omega')
ylabel ('Magnitude, dB')
title('Effect of Increasing Filter Order')
0 comentarios
Respuestas (1)
Jan
el 25 de Oct. de 2022
Editada: Jan
el 25 de Oct. de 2022
The problem is mentioned in the error message already:
"'freqz' appears to be both a function and a variable. If this is unintentional, use 'clear freqz' to remove the variable 'freqz' from the workspace."
After this line:
freqz = linspace(0,1,n);
freqz is a vector, not a function anyore.
What is the purpose of this line:
plot [freqz, magn_dB, DisplayName, ['Order' num2str(order)];
Do you mean:
plot(freqz, magn_dB, 'DisplayName', ['Order' num2str(order)]);
% ^^^^^ see above
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!