Anda bisa mengunduh GUI MATLAB di sini:
https://www.4shared.com/rar/7FS52FACei/DFT_Runtun.html
Kode sumbuer GUI MATLAB berikut:
function HITUNG_DFT_Callback(hObject, eventdata, handles)
% hObject handle to HITUNG_DFT (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%Membaca parameter-parameter global
global N_x
N = N_x;
global L_x
L = L_x;
%==========================================================================
%Menghitung DFT
xn=sin(2*pi*1*(1:L)/L);
xn = [xn, zeros(1,N-L)]; % gelombang sinusoidal periodik x(n)
k=[-N/2:N/2];
Xk=dft(xn,N); % DFT
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFT
magX=magXk;
axes(handles.axes2), stem(k,magXk, 'y', 'LineWidth',2); grid
xlabel('k');
title(['DFT atas Sinusoidal: ', 'L = ', num2str(L),' N = ', num2str(N)])
%Memberikan grid x dan y dengan warna merah
set(gca, 'XColor', 'r')
set(gca, 'YColor', 'r')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
%==========================================================================
%Menghitung DFT N= 2 KALI
N2=2*N;
xn=sin(2*pi*1*(1:L)/L);
xn = [xn, zeros(1,N2-L)]; % gelombang sinusoidal periodik x(n)
k=[-N2/2:N2/2];
Xk=dft(xn,N2); % DFT
magXk=abs([Xk(N2/2+1:N2) Xk(1:N2/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFT
magX=magXk;
axes(handles.axes3), stem(k,magXk, 'y', 'LineWidth',2); grid
xlabel('k');
title(['DFT atas Runtun Sinusoidal: ', 'L = ', num2str(L),' N = ', num2str(N2)])
%Memberikan grid x dan y dengan warna merah
set(gca, 'XColor', 'r')
set(gca, 'YColor', 'r')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
%==========================================================================
%Menghitung DFT N= 3 KALI
N3=3*N;
xn=sin(2*pi*1*(1:L)/L);
xn = [xn, zeros(1,N3-L)]; % gelombang sinusoidal periodik x(n)
k=[-N3/2:N3/2];
Xk=dft(xn,N3); % DFT
magXk=abs([Xk(N3/2+1:N3) Xk(1:N3/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFT
magX=magXk;
axes(handles.axes4), stem(k,magXk, 'y', 'LineWidth',2); grid
xlabel('k');
title(['DFT atas Runtun Sinusoidal: ', 'L = ', num2str(L),' N = ', num2str(N3)])
%Memberikan grid x dan y dengan warna merah
set(gca, 'XColor', 'r')
set(gca, 'YColor', 'r')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
%==========================================================================
%Menghitung DFT N= 4 KALI
N4=4*N;
xn=sin(2*pi*1*(1:L)/L);
xn = [xn, zeros(1,N4-L)]; % gelombang sinusoidal periodik x(n)
k=[-N4/2:N4/2];
Xk=dft(xn,N4); % DFT
magXk=abs([Xk(N4/2+1:N4) Xk(1:N4/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFT
magX=magXk;
axes(handles.axes5), stem(k,magXk, 'y', 'LineWidth',2); grid
xlabel('k');
title(['DFT atas Runtun Sinusoidal: ', 'L = ', num2str(L),' N = ', num2str(N4)])
%Memberikan grid x dan y dengan warna merah
set(gca, 'XColor', 'r')
set(gca, 'YColor', 'r')
%Memberikan warna keabuan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.5]);
No comments:
Post a Comment