Octave/Matlab-oppgave: Frekvensresponsanalyse

Løsning

  • Octave: Definerer transferfunksjonen som system-variabel av typen transferfunksjon med tf2sys:

    H=tf2sys([1],[1,1]);

  • Matlab: Definerer en LTI-modell (Linear Time Invariant) av typen transferfunksjon med tf:

    H=tf([1],[1,1]);

Plotter frekvensresponsen i Bodediagram med bode:

wmin=0.5;
wmaks=5;
dw=0.1;
bode(H,[wmin:dw:wmaks])

Fra amplitude(-forsterknings)diagrammet i Bodediagrammet ser vi at amplituden er -3dB ved frekvensen w=1rad/s, som derfor er båndbredden.

Nedenfor brukes lsim til å simulere og plotte responsen i utgangsvariabelen y når inngangssignalet er en sinus med frekvens lik 1rad/s. Windowsversjonen av Octave støtter visstnok ikke plotting i flere figurvinduer samtidig. Derfor må evt. tidligere genererte plott slettes før resultatet av lsim-simuleringen plottes. Dette gjøres med kommandoene

clearplot (som lukker eksisterende figur)

etterfulgt av

closeplot (som avslutter og nullstiller Gnu-plott"maskinen" som jobber i bakgrunnen i Octave)

Etter ovennevnte to kommandoer skal alt være klart for å generere nye plott.

t=[0:0.1:30]';
w=1;%rad/s
u=sin(w*t);
y=lsim(H,u,t);
plot(t,u,t,y);

Hvis du vil ha rutenett:

  • Octave:

    grid;
    replot

  • Matlab:

    grid;

Amplitudeforholdet mellom den resulterende sinusformede utgangssignalet og sinusinngangen bør være -3dB = 0,71. Ser du dette fra simuleringen?


Oppdatert 7.10.04 av Finn Haugen, faglærer. E-postadresse: Finn.Haugen@hit.no.