Erzeugung eines „unsymmetrischen“ Dreiecks aus Sägezahn ...
Erzeugung eines „unsymmetrischen“ Dreiecks aus Sägezahn ...
Erzeugung eines „unsymmetrischen“ Dreiecks aus Sägezahn ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Prof. Dr. R. Kessler,C:\Si05\dgln\matlab\unsymdreieck.doc, S. 1/2<br />
Homepage: http://www.home.hs-karlsruhe.de/~kero0001/<br />
<strong>Erzeugung</strong> <strong>eines</strong> <strong>„unsymmetrischen“</strong> <strong>Dreiecks</strong> <strong>aus</strong> <strong>Sägezahn</strong>,<br />
Simulink und Matlab<br />
Simulink:(rot), Matlab:schwarz<br />
bild 3, fs=1, sw=0.1, dt=0.01<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
-1<br />
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2<br />
-> sec, Dreieck(-1..+1):glatt, Dreieck(0..+1)gestrichelt, <strong>Sägezahn</strong>: gepunktet<br />
Aufruf war: clear; fs=1; sw=0.1;tmax=2;dt=0.01;bild=3; rdrei1;<br />
Simulink:(rot), Matlab:schwarz<br />
bild 4, fs=1, sw=0.9, dt=0.01<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
-1<br />
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2<br />
-> sec, Dreieck(-1..+1):glatt, Dreieck(0..+1)gestrichelt, <strong>Sägezahn</strong>: gepunktet<br />
Aufruf war : clear; fs=1; sw=0.9;tmax=2;dt=0.01;bild=4; rdrei1;<br />
Datei drei1.mdl<br />
Rundatei rdrei1.m<br />
saeg<br />
t<br />
fs* u - floor ( fs*u )<br />
u - sw<br />
abs(u) * ( ( sgn(u) 0)/(1- sw) )<br />
drei<br />
( u - 0.5) *2<br />
dreid
Prof. Dr. R. Kessler,C:\Si05\dgln\matlab\unsymdreieck.doc, S. 2/2<br />
% Datei rdrei1.m Rundatei für Simulink-Datei drei1.mdl<br />
% clear; fs=1; sw=0.2;tmax=5;dt=0.01;bild=2; rdrei1;<br />
format compact;<br />
if bild ==1, drei1; p<strong>aus</strong>e; end; % Simulink-Modell auf Bildschirm<br />
sim('drei1');<br />
figure(bild);clf;<br />
plot(t,saeg,':m', t,drei,'--m', t,dreid,'m'); grid on;<br />
xlabel('-> sec, Dreieck(-1..+1):glatt, Dreieck(0..+1)gestrichelt, <strong>Sägezahn</strong>: gepunktet');<br />
axis([0,max(t),-1.1, 1.1]);<br />
S1=['bild ',num2str(bild)]; S2=[', fs=',num2str(fs)]; S3=[', sw=',num2str(sw)];<br />
S4=[', dt=',num2str(dt)];<br />
tit=[S1,S2,S3,S4]; title(tit);<br />
ylabel('Simulink:(rot), Matlab:schwarz');<br />
disp('das war Simulink(rot), Taste! ');p<strong>aus</strong>e;<br />
% jetzt mit Matlab:<br />
Np=floor(tmax/dt); tp=zeros(Np,1); ysp=tp; dp=tp; ddp=tp;<br />
k=0;t=0;<br />
while t < tmax;<br />
ys= t*fs - floor(t*fs);<br />
usw=ys-sw;<br />
d=abs(usw) * ( ( sign(usw) 0)/(1- sw) );<br />
dd=(d-0.5)*2;<br />
k=k+1; tp(k)=t; dp(k)=d; ysp(k)=ys; ddp(k)=dd;<br />
t=t+dt;<br />
end;<br />
hold on;<br />
plot(tp,ysp,':k', tp,dp,'--k', tp,ddp,'k');