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