Problemet är att jag vill använda ett principialargumentet med värdmängd inom [0, 2π] istället för [-π, π] vilket är standard i Octave för funktionen arg. Då undrar jag om ni andra känner till några trix eller andra funktioner som jag kan använda mig av för att få önskad värdmängd och då kunna rita grafen snyggt utan hopp som figuren nedan visar?
Kod: Markera allt
f_s = 2*pi;
T = 1/f_s;
w = linspace (0, pi);
W = w*T;
z = e.^(j.*w);
a = 0.9;
b = 0.5;
H_AP = (a - b*(1+a)*z.^-1 + z.^-2) ./ (1 - b*(1+a)*z.^-1 + a*z.^-2);
subplot (2, 1, 1), plot (W ,abs(H_AP))
ylabel ('|H_{AP}(z)|');
xlabel ('\Omega');
subplot (2, 1, 2), plot (W ,arg(H_AP))
ylabel ('arg(H_{AP}(z))');
xlabel ('\Omega');
Df = acos (2*a / (1+2*a));
printf ("Δf = %f\n", Df);
wc = acos(b);
printf("ω_c = %f\n", wc);