Thursday, August 24, 2017

KORELASI ATAS DUA RUNTUN SINUSOIDAL







Berikut adalah kode sumber callback dari tombol KORELASI:

function KORELASI_Callback(hObject, eventdata, handles)
% hObject    handle to KORELASI (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

%Membaca parameter rentang waktu dari runtun kosinus
n1 = str2num(get(handles.editN1,'String'));
n2 = str2num(get(handles.editN2,'String'));
n1=[n1:n2];

%Membaca tiga parameter dari tiga edit teks untuk runtun kosinus
AKosinus = str2num(get(handles.editAKosinus,'String'));
FKosinus = str2num(get(handles.editFKosinus,'String'));
FaseKosinus = str2num(get(handles.editFaseKosinus,'String'));

%Membangkitkan runtun kosinus diskret
x1=AKosinus*cos(FKosinus*pi*n1+FaseKosinus*pi);

%Menampilkan runtun kosinus pada sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes1)
stem(n1,x1,'r','LineWidth',2); grid on;

%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')

%Menambahkan label dan judul
xlabel('Cuplik');ylabel('Amplitudo');
title('Runtun Kosinus Diskret')

%Memberikan warna kebiruan  pada latar sumbu
set(gca,'Color',[0 0 0.75]);

%==========================================================================
%Membaca parameter rentang waktu dari runtun sinus
n11 = str2num(get(handles.editN11,'String'));
n21 = str2num(get(handles.editN21,'String'));
n2=[n11:n21];

%Membaca tiga parameter dari tiga edit teks untuk runtun sinus
ASinus = str2num(get(handles.editASinus,'String'));
FSinus = str2num(get(handles.editFSinus,'String'));
FaseSinus = str2num(get(handles.editFaseSinus,'String'));

%Membangkitkan runtun sinus diskret
x2=ASinus*sin(FSinus*pi*n2+FaseSinus*pi);

%Menampilkan runtun sinus pada sumbu axes2 dengan tebal garis 2 warna
%kuning
axes(handles.axes2)
stem(n2,x2,'y','LineWidth',2); grid on;

%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')

%Menambahkan label dan judul
xlabel('Cuplik');ylabel('Amplitudo');
title('Runtun Sinus Diskret')

%Memberikan warna kebiruan  pada latar sumbu
set(gca,'Color',[0 0 0.75]);

%==========================================================================
%Mengkorelasikan kedua runtun diskret
[kor,lag] = xcorr(x1,x2);
[~,I] = max(abs(kor)); %Untuk normalisasi koefisien korelasi menjadi maks 1

%Menampilkan runtun hasil penjumlahan pada sumbu axes3 dengan tebal garis 2 warna
%putih
axes(handles.axes3)
stem(lag,kor/I,'w','LineWidth',2); grid on;

%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')

%Menambahkan label dan judul
xlabel('Cuplik');ylabel('Amplitudo');
title('Korelasi Kedua Runtun Sinusoidal')

%Memberikan warna keabuan  pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);





No comments: