Skip to content

Instantly share code, notes, and snippets.

@dugagjin
Created January 9, 2016 22:07
Show Gist options
  • Save dugagjin/1e9987fceedc8ca5a839 to your computer and use it in GitHub Desktop.
Save dugagjin/1e9987fceedc8ca5a839 to your computer and use it in GitHub Desktop.
overgangsverschijnselen
clear all;clf;
% Overgangsgedrag: Maak een bodeplot van het tweede ordesysteem met polen :
% p1/2 = -1 +- 2pi*5j en versterking K = 2pi*5². Bereken daarna het
% impulsantwoord als volgt door middel van h = 2*real(ifft(H,2*N)) waarbij
% je dan enkel de eerste N punten gebruikt (h=h(1:N)). Construuer ook een
% tijdsvector.
polen1 = -1 + 2*pi*5*j;
polen2 = -1 - 2*pi*5*j;
K = (2*pi*5).^2;
N = 10000; % wist niet welk waarde N moest hebben dus staat er random 10000.
Ts = 1/K; % normaal /Fs. Wist niet wat ik met K (= 1000) moest doen.
wn = 100; % wist niet welk waarde w moest hebben dus staat er random 100.
% deel één van het vraag: bodeplot
tvec = [0:N-1]*Ts;
fvec = [0:N-1]/N/Ts;
w = 2*pi*fvec;
s = 1j * w;
H = wn^2 ./ (s-polen1) ./ (s-polen2);
subplot(2,2,1);
semilogx(w,db(H));
subplot(2,2,3);
semilogx(w,angle(H));
% deel twee van vraag: impulsantwoord.
h = 2*real(ifft(H,2*N));
h = h(1:N);
subplot(2,2,2);
plot(tvec, h);
% deel drie van vraag: construeer een sinus met f = 0.5Hz, en convolueer
% deze met het impulsantwoord. Vergelijk het aldus verkgregen
% uitgangssignaal met de input (sinus).
x = sin(2*pi*tvec*0.5);
z = conv(x,h);
subplot(2,2,4);
plot(z);
hold on;
plot(x,'r-') % Weet niet waarom maar schaal van grafieken niet juist is.
% maar worm is juist behalve laatste.
% Sinus is te klein?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment