harj45.m

% 1 sekunnin signaali 1000 Hz näytteistystaajuudella
L = 1000;
dt = 1/1000;

freq =  52.2; % Signaalin taajuus
T = 1/freq;   % Signaalin jaksonaika

% Taulukot aikaa ja signaalia varten
t = [];
x = [];

% Silmukka käy läpi näytteet 1 sekunnin ajalta eli 1,2,...,L
i = 1;
while i<=L
    tt = i*dt;         % Aika näytteessä i
    t(i) = tt;         % Tallennetaan aika
    k = floor(2*tt/T); % Lasketaan puolijaksoindeksi
    if mod(k,2) == 0
        x(i) = 1;      % Parillinen
    else
        x(i) = -1;     % Pariton
    end
    i = i+1;
end

% Esitetään graafisesti kuvassa 1
figure(1)
plot(t,x)
xlabel( 'Aika (s)' )
ylabel( 'Signaali' )

% Lasketaan Fourier-muunnos
y = fft(x);

% Lasketaan positiivisten taajuuksien puolikkaasta logaritminen tehosuhde
P = 20*log10(abs(y(1:L/2+1))/L);

% Esitetään graafisesti kuvassa 2
figure(2)
f = (0:(L/2))/(L*dt); % Taajuusakseli
plot(f,P)
xlabel( 'Taajuus (Hz)' )
ylabel( 'Signaali' )

Last modified: Wed Feb 22 15:57:53 2017