harj42.m
function harj42()
% Aikavektori
dt = 1/100;
t = 0:dt:10;
% Signaali
x = sinisignaali(t);
% Signaalin käsittely
y = kasittele(t,x);
% Esitetään tulokset graafisesti
hold off
plot(t,x,'b-')
xlabel('Aika (s)')
ylabel('Amlitudi')
hold on
plot(t,y,'r-')
end
% Signaali tuotetaan tässä alifunktiossa hyödyntäen aikavektoria
function x = sinisignaali( t )
freq = 12;
for i=1:length(t)
if t(i) < 3
x(i) = 0;
elseif t(i) < 6
x(i) = sin( 2*pi*freq*t(i) );
else
x(i) = 0;
end
end
end
% Signaalin käsittely tässä alifunktiossa
function z = kasittele(t,x)
dt = t(2)-t(1);
fc = 1.2;
rc = 1/(2*pi*fc);
alpha = dt/(rc+dt);
y = abs(x);
z(1) = y(1);
for i=2:length(y)
z(i) = alpha*y(i) + (1-alpha)*z(i-1);
end
end
Last modified: Wed Feb 22 15:57:39 2017