konvolusi dua buah sinyal

Percobaan ketiga adalah mengenai konvolusi dua buah sinyal dalam bentuk persamaan continouse. Sinyal yang dikonvolusi adalah sinyal input [x(t)] dan impulse respon [h(t)]. Sinyal ini dibangkitkan berdasarkan fungsi waktu t. Pada grafik berikutnya, sinyal impulse respon diubah variable waktunya menjadi h(t-tau), tau adalah nilai waktu sedangkan t adalah variable penggesernya,
karena nilai tau adalah negative maka sinyal h(t) dicerminkan terhadap sumbu y. kemudian digeser(delay) sejauh t. Dimana nilai t yang digunakan adalah 2,5 Kemudian sinyal input [x(tau)] dikalikan dengan impulse respon [h(t-tau)] menghasilkan sinyal seperti gambar ketiga percobaan 3. Setelah itu dibangkitkan sinyal y1 dengan kalkulasi fungsi transfer sinyal x(t). Sinyal y1 tampak seperti pada gambar ke empat percobaan ketiga, yakni kurva berwarna biru. Dari kurva y(t) ditandai dimana saat t bernilai 2,5 dengan menggunakan perintah sprintf. Kemudian dibangkitkan sinyal y2 dimana y2 adalah hasil dari konvolusi sinyal x(t) dan h(t). sinyal y2 dan y1 dibangkitkan bersamaan, dimana sinyal y1 kurvanya berwarna hijau dan y2 berwarna merah. Kurva yang muncul. Tampak bahwa kurva y1 dan y2 adalah sama karena kurvanya bertumpukan(ditunjukan dengan gambar kurva hijau dan merah yang berselingan). Ini menunjukan bahwa hasil konvolusi x(t) dengan h(t) memiliki nilai yang sama dengan kalkulasi fungsi transfer terhadap x(t). Selanjutnya sinyal x(t), h(t), dan hasil konvolusinya diplot pada grafik semilog dengan domain frekuensi magnitude dan domain frekuensi fase.
%CONVOLUTION_02_MAT
%
fig_size = [232 84 774 624];
t = 0:0.01:10; % time vector
nt = length(t);
dt = t(2);
h = 2*t.*exp(-t) + exp(-2*t) - exp(-3*t); % impulse response
x = 1 - exp(-1.5*t); % input signal
%
figure(1),clf,plot(t,x,t,h),grid,xlabel('Time (s)'),ylabel('Amplitude'),...
title('Input x(t) and Impulse Response h(t)'),...
text(2.5,0.95,'x(t)'),text(2.5,0.45,'h(t)'),set(gcf,'Position',fig_size)
 
figure(2),clf,plot(t,x,2.5-t,h),grid,xlabel('Time Tau (s)'),ylabel('Amplitude'),...
title('Input x(tau) and Impulse Response h(t-tau), t = 2.5 s'),...
text(2.5,0.95,'x(tau)'),text(2.25,0.65,'h(t-tau)'),set(gcf,'Position',fig_size)

tau = t(1:251);
tmtau = 2.5 - tau;
hx = (1 - exp(-1.5*tau)) .* ( 2*tmtau.*exp(-tmtau) + exp(-2*tmtau) - exp(-3*tmtau) );
%
figure(3),clf,plot(t(1:251),hx),grid,xlabel('Time Tau (s)'),ylabel('Amplitude'),...
title('Product of Input x(tau) and Impulse Response h(t-tau), t = 2.5 s'),...
text(0.75,0.25,'Value of y(t) at t = 2.5 s equals the area under this curve'),...
set(gcf,'Position',fig_size)
%
[numh,denh] = residue([0;2;1;-1;],[-1;-1;-2;-3],0); % calculation of transfer function
[numx,denx] = residue([1; -1],[0; -1.5],0); % calculation of input transform
[numy,deny] = series(numx,denx,numh,denh); % calculation of output transform
%
[resy,poly,ky] = residue(numy,deny); % partial fraction expansion for output
%
y1 = lsim(numh,denh,x,t); % calculation of output using "lsim"
%
figure(4),clf,plot(t,y1,t,x,t,h,t(251),y1(251),'r*'),grid,xlabel('Time (s)'),ylabel('Amplitude'),...
title('Input x(t),Impulse Response h(t), and Output y(t)'),...
text(2.5,0.9,'x(t)'),text(3.5,0.3,'h(t)'),text(3.5,1.6,'y(t)'),...
text(2.7,y1(251),sprintf('y(t=2.5) = %g',y1(251))),set(gcf,'Position',fig_size)
%
outputnya

Tidak ada komentar