Ve 4L se mě v měření kluci ptali, jak bych udělal do protokolu graf časových průběhů, kde je operační zesilovač zachycen v saturaci. Chvilku jsem přemýšlel a pak jsem řekl, že nejspíš v Octave, protože v tabulkovém procesoru by se mi asi nechtělo hrát si právě s tou saturací. I když taková hrůza by to jistě nebyla.
Jeden z přítomných poznamenal, že Octave a Matlab jsou jistě super, ale naučit se v tom dělat nění jednoduché.
Já osobně si myslím, že tak těžké to zase není. Navíc už asi dva roky existují suprové české stránky zabívající se právě Octave www.octave.cz.
Daná úloha by se dala řešit následovně:
close all;
% frekvence 1kHz
f1=1000;
% vzorkovací frekvence
fvz=100000;
% efektivni hodnota 3V
D=3*sqrt(2);
T1=1/f1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t=[0:1/fvz:2.5*T1];
t=t(1:length(t)-1);
vstup=D * sin(2*pi*f1*t);
% střední hodnota 2V
vstup=vstup+2;
% zesílení invertujícího zesilovače 10dB
vystup= -3 * vstup;
% pod 13.2V je zesilovač v saturaci
vystup(vystup<-13.2) = -13.2;
%%%%%%%%%%%%%%%%%%%%%%%%% kresba v časové oblasti
figure
hold on;
plot(t,vstup);
plot(t,vystup);
grid on;
xlabel('t [s]'); ylabel('u(t) [V]')
axis ([0 t(length(t)) -15 15])
hold off;
A výsledek?
S grafickým výstupem toho jde samozřejmě dělat mnohem více.