Anda bisa mengunduh kode sumber GUI MATLAB:
di sini
GUI MATLAB untuk memverifikasi watak ini
telah dirancang. Berikut adalah kode sumber callback dari tombol TAMPILKAN
KONVOLUSI SIRKULAR. Hasil dari GUI ini ketika dijalankan ditampilkan pada
Gambar 3.27.
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
konvolusi sirkular
n=n1:n2;
N=length(n);
konv_sirkular=sirkonv(x1,x2,N);
%=========================================================================
%Menampilkan y pada
sumbu axes8 dengan tebal garis 2 warna merah
axes(handles.axes8)
stem(n,konv_sirkular,'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
Konvolusi Sirkular')
%Memberikan warna
keabuan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
%Menyimpan data
global
global y
y = konv_sirkular;
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_konvolusi = y;
%Membaca N
N =
str2num(get(handles.editBanyakTitik,'String'));
%==========================================================================
%Menghitung DFT[KONVOLUSI_SIRKULAR(x1,x2)]
xn=hasil_konvolusi;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk=dft(xn,N+1); %DFT[WNmn*xn]
%==========================================================================
%Menampilkan Real dari DFT[KONVOLUSI
SIRKULAR(x1,x2)]
axes(handles.axes2), stem(k,abs(Xk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Nilai absolut dari DFT[KONVOLUSI
SIRKULAR(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 Imajiner dari DFT[KONVOLUSI
SIRKULAR(x1,x2)]
axes(handles.axes3), stem(k,angle(Xk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Nilai sudut dari DFT[KONVOLUSI
SIRKULAR(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]);
%==========================================================================
%Menghitung DFT[x1]*DFT[x2]
%==========================================================================
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[x2]
Yk=Xk1.*Xk2;
%==========================================================================
%Menampilkan Riil dari DFT[x1]*DFT[x2]
axes(handles.axes4), stem(k,abs(Yk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Nilai absolut dari DFT[x1]*DFT[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 Imajiner dari DFT[x1]*DFT[x2]
axes(handles.axes5), stem(k,angle(Yk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Nilai sudut dari DFT[x1]*DFT[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