GUI MATLAB untuk memverifikasi watak ini
telah dirancang. Berikut adalah kode sumber callback dari tombol TAMPILKAN
PERKALIAN RUNTUN. Hasil dari GUI ini ketika dijalankan ditampilkan pada Gambar
3.28.
function
HASIL_KONVOLUSI_Callback(hObject, eventdata, handles)
% hObject handle to HASIL_KONVOLUSI (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
%Membersihkan
sumbu-sumbu
cla(handles.axes1,'reset');
set(handles.axes1,'visible',
'off');
cla(handles.axes6,'reset');
set(handles.axes6,'visible',
'off');
%Menampilkan dan
mengaktifkan sumbu axes8
set(handles.axes8,'visible',
'on');
%Membaca data
global
global n1_x
n1 = n1_x;
global n2_x
n2 = n2_x;
global x_2
x2 = x_2;
global x_1
x1 = x_1;
%Menghitung perkalian
runtun
n=n1:n2;
hasil_kali =
x1.*x2;
%=========================================================================
%Menampilkan y pada
sumbu axes8 dengan tebal garis 2 warna merah
axes(handles.axes8)
stem(n,hasil_kali,'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('Hasil
Perkalian Dua Runtun')
%Memberikan warna
keabuan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
%Menyimpan data
global
global y
y = hasil_kali;
Berikut adalah kode sumber callback dari
tombol TAMPILKAN DFT:
function TAMPILKAN_DFT_Callback(hObject,
eventdata, handles)
% hObject
handle to TAMPILKAN_DFT (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
%Membaca data global agar dapat dipakai untuk
callback berikutnya
global x_1
x1 = x_1;
global n1_x
n1 = n1_x;
global n2_x
n2 = n2_x;
global x_2
x2 = x_2;
global y
hasil_kali = y;
%Membaca N
N =
str2num(get(handles.editBanyakTitik,'String'));
%==========================================================================
%Menghitung KONVOLUSI SIRKULAR[DFT[x1],DFT(x2)]]/N
xn=x1;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk1=dft(xn,N+1); %DFT[x1]
xn=x2;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk2=dft(xn,N+1); %DFT[x1]
%Menghitung konvolusi sirkular
Yk = sirkonv(Xk1,Xk2,length(xn))/length(xn);
%==========================================================================
%Menampilkan Absolut dari KONVOLUSI
SIRKULAR[DFT[x1],DFT(x2)]]/N
axes(handles.axes2), stem(k,abs(Yk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Nilai absolut dari KONVOLUSI
SIRKULAR[DFT[x1],DFT(x2)]]/N'); ylabel('Magnitudo')
%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
%==========================================================================
%Menampilkan Sudut dari KONVOLUSI
SIRKULAR[DFT[x1],DFT(x2)]]/N
axes(handles.axes3), stem(k,angle(Yk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Nilai sudut dari KONVOLUSI
SIRKULAR[DFT[x1],DFT(x2)]]/N'); ylabel('Radian')
%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
%==========================================================================
%Menghitung DFT[x1*x2]
%==========================================================================
xn=hasil_kali;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk_kali=dft(xn,N+1); % DFT[x1*x2]
%==========================================================================
%Menampilkan Absolut dari DFT[x1*x2]
axes(handles.axes4), stem(k,abs(Xk_kali),
'c', 'LineWidth',2); grid
xlabel('k');
title('Nilai absolut dari DFT[x1*x2]');
ylabel('Magnitudo')
%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
%==========================================================================
%Menampilkan Sudut dari DFT[x1*x2]
axes(handles.axes5), stem(k,angle(Xk_kali),
'c', 'LineWidth',2); grid
xlabel('k');
title('Nilai sudut dari DFT[x1*x2]');
ylabel('Radian')
%Memberikan grid x dan y dengan warna biru
set(gca, 'XColor', 'b')
set(gca, 'YColor', 'b')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
No comments:
Post a Comment