% UTFPR - Universidade Tecnologica Federal do Parana
% PSV02 - Fundamentos de Vibraçoes
% Prof.: Carlos Alberto Bavastri
% Aluno: Rubem Matimoto Koide
% Trabalho2_Sinais - Fundamentos de Vibraçoes
% 
%            TRABALHO1
%
% coeficiente:
%                                  
% F(omegan)= (A/m) (sin j*Pi/m)/(j*Pi/m) ou
%
% F(omegak)=2*sin (k*omega1*T1))/(k*omega1*T)
%
% omega1= 2*Pi/T
%                  
% Variaveis
clear all 
clc

% Trabalho1 - a) A=1 e T0=1 s

AA=1;           % Amplitude
T0a=1;          % Largura do pulso
ma1=4;          % parametro inteiro
ma2=10;

Ta1=ma1*T0a;      % Periodo da funcao periodica
Ta2=ma2*T0a

omegana1=2*pi/Ta1;
omegana2=2*pi/Ta2;

ta=0:0.0143:10;

for it=1:length(ta);
soma=0.0;
    j=1:400;
    for k=1:length(j);
        omegaa1(k)=k*omegana1;
        Fa1(k)=(AA/ma1)*[sin(k*pi*T0a/ma1)/(k*pi*T0a/ma1)];        
        soma=soma+(Fa1(k)*exp(1i*omegaa1(k)*ta(it)))+conj(Fa1(k)*exp(-1i*omegaa1(k)*ta(it)));
    end
fa1(it)=soma;
end

for it=1:length(ta);
soma=0.0;
    j=1:400;
    for k=1:length(j);
        omegaa2(k)=k*omegana2;
        Fa2(k)=(AA/ma2)*[sin(k*pi*T0a/ma2)/(k*pi*T0a/ma2)];        
        soma=soma+(Fa2(k)*exp(1i*omegaa2(k)*ta(it)))+conj(Fa2(k)*exp(-1i*omegaa2(k)*ta(it)));
    end
fa2(it)=soma;
end

figure(1);
subplot(2,2,1); plot(ta,fa1);
grid on;
title('Grafico - Funcao Portão- Amplitude A');
ylabel(' Funçao - f(t)=A') ;
xlabel(' Tempo - t (s) ');
legend(' f(t)= Amplitude A=1 - T0=1 s ' );


subplot(2,2,3); plot((omegaa1/(2*pi)),abs(Fa1));
grid on;
title('Grafico - Coeficiente x Frequencia');
xlabel('Frequencia - Omega (rad/s)');
ylabel('Coeficientes da Funcao - F(omega)'); 

subplot(2,2,2); plot(ta,fa2);
grid on;
title('Grafico - Funcao Portão- Amplitude A');
ylabel(' Funçao - f(t)=A') ;
xlabel(' Tempo - t (s) ');
legend(' f(t)= Amplitude A=1 - T0=1 s ' );


subplot(2,2,4); plot((omegaa2/(2*pi)),abs(Fa2));
grid on;
title('Grafico - Coeficiente x Frequencia');
xlabel('Frequencia - Omega (rad/s)');
ylabel('Coeficientes da Funcao - F(omega)'); 



figure(2)

stem((omegaa1/(2*pi)),Ta1*(abs(Fa1)));
hold on
stem((omegaa2/(2*pi)),Ta2*abs(Fa2),'r')