%% Kinematyka drgań i analiza Fouriera
% 1) Zdefiniowanie parametrów próbkowania sygnału

clear all

fp=1000;                        % częstotliwość próbkowania
tk=10;                          % czas "pomiaru"
t=0:1/fp:tk-1/fp;               % wygenerowanie osi czasu

% 2) Zdefiniowanie sygnałów drgań
% Tę część należy modyfikować zmieniając watości amplitud, częstotliwości (ew. kąta przesunięcia fazowego)

a1=2;                           % amplituda pierwszego sygnału składowego
f1=5;                           % częstotliwość pierwszego sygnału składowego
gamma1=0;                       % kąt przesunięcia fazowego pierwszego sygnału składowego
y1=a1*sin(2*pi*f1*t+gamma1);    % pierwszy sygnał składowy 

a2=1;                           % amplituda drugiego sygnału składowego
f2=15;                          % częstotliwość drugiego sygnału składowego
gamma2=0;                       % kąt przesunięcia fazowego drugiego sygnału składowego
y2=a2*sin(2*pi*f2*t+gamma2);    % drugi sygnał składowy 2

y=y1+y2;                        % sygnał drgań

% 3) Wygenerowanie wykresów drgań

subplot(2,1,1)
plot(t,y,'k');hold on;          % wykres sygnału drgań
plot(t,y1,'r');hold on;         % wykres pierwszego sygnału składowego
plot(t,y2,'b');hold on;         % wykres drugiego sygnału składowego
%stem(t,y);                      % wykres punktowy
xlabel('t [s]')                 % etykieta osi poziomej
ylabel('y [m/s^2]')             % etykieta osi pionowej
grid;                           % siatka
xlim([0, 1])                    % zakres wyswietlania danych na osi x

% 4) Widmo drgań

subplot(2,1,2)
Y=abs(fft(y))/((tk*fp)/2);      % szybka transformata Fouriera sygnału drgań
f=0:1/tk:fp/2-1/tk;             % wygenerowanie osi częstotliwości
plot(f,Y(1:(tk*fp)/2));hold on; % wykres widma sygnału drgań
%stem(f,Y(1:(tk*fp)/2))          % wykres punktowy
xlabel('f [Hz]')                % etykieta osi poziomej
ylabel('Y [m/s^2]')             % etykieta osi pionowej
grid;                           % siatka
xlim([0, fp/2])                   % zakres wyswietlania danych na osi x