Untitled

                Never    
%Jan Kowalski, K04
%CZ11P
%Zadanie 3, Szeregi Fouriera

clear all, close all
format short
t=(0:999)/1000;
% dla ft podmieniasz na swoje dane
% jesli twój sygnal ma byc 1 przez polowe okresu to
% ones(1,500)
% jesli zero to:
% zeros (1,500)
%ft=[sin(pi*t(1:500)),zeros(1,500)];
%ft=[t(1:500).^2*4, zeros(1,500)];
ft=[4.*t(1:500).^2, -4.*t(501:1000) .* (t(501:1000)-1)];

figure(1)
plot(t,ft),grid
%dla title() podmieniasz na swoj numer sygnalu
title('Zad 4')
xlabel('t')
ylabel('f(t)')

%jesli nie masz podane f0 musisz je wyliczyc
%podstawiajac 0 pod wzor na Fk. Za F0 podstawiasz
%swoje dane
%f0=
%f0=(-1+j*2.*0.*(-1).^0)/(pi*(4*0.^2-1)) 
f0=1/2;
k=(1:20).';

%za fk podstawiasz swoje dane
%fk=(-1+j*2.*k.*(-1).^k)./(pi*(4*k.^2-1)) ;
%fk=((-1).^k)./(pi^2 .* k.^2) + j.*(((-1).^k .* (pi^2 .* k.^2 -2)+2)./(2.*pi^3.*k.^3)); 

fk=((-1).^k -1)./ (pi^2 * k.^2)  + j*((2*(1-(-1).^k))./(pi^3 *k.^3));
disp('     k     |Fk|      arg(Fk) [deg]')
[k,abs(fk),angle(fk)*180/pi]
x=f0;
figure(2)

% l to L
for l=1:20
  x=x+2*abs(fk(l))*cos(l*2*pi*t+angle(fk(l)));
  plot(t,ft,t,x,'-m'),grid
  xlabel('t')
  ylabel('f(t)')
  %tutaj jarzabek moze podac inna opcje zapisu
  txt=sprintf('k = %g',l);
  title(txt)
  pause
end


%czesc dodatkowa
dt=t(2)-t(1);
ft2=ft.^2;
fsk=sqrt(sum(ft2)*dt)
fskp=sqrt(f0^2+sum(2*abs(fk).^2))

Raw Text