% LAB1c.m  Høsten 2004  Terje Natås
%
N=1000;  % 
t=linspace(0,1.0,N);  % Lager 1000 målepunkter fra 0 til 1 s.
% Firkantsignal
% Først 2 sek lav, deretter 4 sek høy, til slutt 2 sek lav
firkant=[zeros(1,2*N),ones(1,4*N),zeros(1,2*N)]; % Lengde 1000
% Lager tidsrom for de 8*N måleverdiene mellom -4 og +4 sekund:
t1=linspace(-4.0,4.0,8*N); 
% Plotter firkantsignalet
plot(t1,firkant);
axis([-4 4 -0.2 1.2])
grid on; pause;

% Trekantsignal
% Først 0-ere i 3 sekund, deretter rampe i 1 sekund
% så fallende rampe i 1 sekund og til slutt 3 sek. med 0-ere
trekant=[zeros(1,3*N),t,(1-t),zeros(1,3*N)];
% Plotter trekantsignalet
plot(t1,trekant);
axis([-4 4 -0.2 1.2])
grid on; pause

% Lager sincfunksjon
d=10;  % Gir første 0-kryssing i 1/d sekund
sincfunksjon=d*sinc(t1*d);    
plot(t1,sincfunksjon);
grid on; pause  

% Folder firkantsignal med trekantsignal.
% Bruker standardfunksjonen conv(), men må dividere på N
% siden vi har N målepunkter pr. sek.
FolderFirkantMedTrekant=1/N*conv(firkant,trekant);   
% conv() gir et resultat med lengde lik summen av målepunktene 
% i de to signalene minus 1
% Må derfor sørge for å lage en tidsfunksjon med samme lengde
% Ønsker å beholde N målepunkter pr. sekund så vi dobbler 
% det samlede tidsområdet.
t2=linspace(-8,8,16*N-1);
% Plotter folding av firkant med trekant
plot(t2,FolderFirkantMedTrekant);
axis([-4 4 -0.2 1.2])
grid on; pause;                            

% Folder firkantsignal med sincfunksjon.  <---- Lag denne delen selv
FolderFirkantMedSinc=1/N*conv(firkant,sincfunksjon);   
% t2=linspace(-8,8,16*N-1);
% Plotter folding av firkant med sinc
plot(t2,FolderFirkantMedSinc);
axis([-4 4 -0.2 1.2])
grid on; pause;                            

close                           % close current figure
