% Lab1d  Høsten 2004  Terje Natås
% Modellering av pulstog vha cosinusfunksjoner
% Tilnærmet funksjon er her kalt g.
%M=input('Oppgi antall Fourierkoeffisienter M:  ');
M=10;
tau=1;                          % Pulsbredde
T=2; f1=1/T;                    % Periode  
d=tau/T;                        % Nyttefaktor  
%Tmax=input('Oppgi tidsspenn for graf Tmax:   ');
Tmax=1;
N=3000;                         % N plottepunkter
n=0:(N-1);                      % Vektor med N telleverdier
t=linspace(0,Tmax,N);           % Tidsvektor med N tidspunkter fra 0 til Tmax. 
g=d*[ones(1,N)];                % Startverdi for funksjonen settes lik d for alle tidspunkter
for p=1:1:M                     % Summerer M frekvenskomponentene til den opprinnelige konstantverdien. 
   g=g+2*d*sinc(d*p)*cos(2*pi*p*f1*t);   
end
plot(t,g)                        % Plotter tilnærmet funksjon for firkantsignalet.
%legend('0.5 Hz dempet sinus') % Forklarende tekst på fig. Flyttes vha mus.
grid on
100*(max(g)-1)
pause;
%max(g)

%M=input('Oppgi antall Fourierkoeffisienter M:  ');
M=50;
tau=1;                          % Pulsbredde
T=2; f1=1/T;                    % Periode  
d=tau/T;                        % Nyttefaktor  
%Tmax=input('Oppgi tidsspenn for graf Tmax:   ');
Tmax=1;
N=3000;                         % N plottepunkter
n=0:(N-1);                      % Vektor med N telleverdier
t=linspace(0,Tmax,N);           % Tidsvektor med N tidspunkter fra 0 til Tmax. 
g=d*[ones(1,N)];                % Startverdi for funksjonen settes lik d for alle tidspunkter
for p=1:1:M                     % Summerer M frekvenskomponentene til den opprinnelige konstantverdien. 
   g=g+2*d*sinc(d*p)*cos(2*pi*p*f1*t);   
end
plot(t,g)                        % Plotter tilnærmet funksjon for firkantsignalet.
grid on
100*(max(g)-1)
pause;
%M=input('Oppgi antall Fourierkoeffisienter M:  ');
M=200;
tau=1;                          % Pulsbredde
T=2; f1=1/T;                    % Periode  
d=tau/T;                        % Nyttefaktor  
%Tmax=input('Oppgi tidsspenn for graf Tmax:   ');
Tmax=1;
N=3000;                         % N plottepunkter
n=0:(N-1);                      % Vektor med N telleverdier
t=linspace(0,Tmax,N);           % Tidsvektor med N tidspunkter fra 0 til Tmax. 
g=d*[ones(1,N)];                % Startverdi for funksjonen settes lik d for alle tidspunkter
for p=1:1:M                     % Summerer M frekvenskomponentene til den opprinnelige konstantverdien. 
   g=g+2*d*sinc(d*p)*cos(2*pi*p*f1*t);   
end
plot(t,g)                        % Plotter tilnærmet funksjon for firkantsignalet.
grid on
100*(max(g)-1)
pause;

%M=input('Oppgi antall Fourierkoeffisienter M:  ');
M=500;
tau=1;                          % Pulsbredde
T=2; f1=1/T;                    % Periode  
d=tau/T;                        % Nyttefaktor  
%Tmax=input('Oppgi tidsspenn for graf Tmax:   ');
Tmax=1;
N=3000;                         % N plottepunkter
n=0:(N-1);                      % Vektor med N telleverdier
t=linspace(0,Tmax,N);           % Tidsvektor med N tidspunkter fra 0 til Tmax. 
g=d*[ones(1,N)];                % Startverdi for funksjonen settes lik d for alle tidspunkter
for p=1:1:M                     % Summerer M frekvenskomponentene til den opprinnelige konstantverdien. 
   g=g+2*d*sinc(d*p)*cos(2*pi*p*f1*t);   
end
plot(t,g)                        % Plotter tilnærmet funksjon for firkantsignalet.
grid on
100*(max(g)-1)
pause;


close         
