https://www.4shared.com/rar/O3uhY_DBca/DFS_Periodik.html
GUI untuk kasus ini telah dirancang.
Berikut adalah kode sumber callback dari tombol RUNTUN PERIODIK:
function
RUNTUN_PERIODIK_Callback(hObject, eventdata, handles)
% hObject handle to RUNTUN_PERIODIK (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
% Membaca L dan N
dari kedua edit teks
L =
str2num(get(handles.editL,'String'));
N =
str2num(get(handles.editN,'String'));
% Membangkitkan
runtun periodik
xn=[ones(1,L),zeros(1,N-L)]; % gelombang bujur-sangkar x(n)
xn1=[xn xn xn xn];
%=========================================================================
%Menampilkan runtun
eksponensial riil x pada sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes1)
stem(0:length(xn1)-1,xn1,'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 Kotak
Periodik xn')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.25]);
%Menyimpan
parameter-parameter global
global N_x
N_x = N;
global L_x
L_x = L;
Berikut adalah kode sumber callback dari
tombol HITUNG DFS:
function HITUNG_DFS_Callback(hObject,
eventdata, handles)
% hObject
handle to HITUNG_DFS (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 DFS
xn=[ones(1,L),zeros(1,N-L)]; % gelombang bujur-sangkar x(n)
k=[-N/2:N/2];
Xk=dfs(xn,N); % DFS
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFS
magX=magXk;
axes(handles.axes2), stem(k,magXk, 'c',
'LineWidth',2); grid
xlabel('k');
title(['DFS atas gelombang bujur-sangkar: ',
'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 DFS N= 2 KALI
N2=2*N;
xn=[ones(1,L),zeros(1,N2-L)]; % gelombang bujur-sangkar x(n)
k=[-N2/2:N2/2];
Xk=dfs(xn,N2); % DFS
magXk=abs([Xk(N2/2+1:N2) Xk(1:N2/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFS
magX=magXk;
axes(handles.axes3), stem(k,magXk, 'c',
'LineWidth',2); grid
xlabel('k');
title(['DFS atas gelombang bujur-sangkar: ',
'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 DFS N= 3 KALI
N3=3*N;
xn=[ones(1,L),zeros(1,N3-L)]; % gelombang bujur-sangkar x(n)
k=[-N3/2:N3/2];
Xk=dfs(xn,N3); % DFS
magXk=abs([Xk(N3/2+1:N3) Xk(1:N3/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFS
magX=magXk;
axes(handles.axes4), stem(k,magXk, 'c',
'LineWidth',2); grid
xlabel('k');
title(['DFS atas gelombang bujur-sangkar: ',
'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 DFS N= 4 KALI
N4=4*N;
xn=[ones(1,L),zeros(1,N4-L)]; % gelombang bujur-sangkar x(n)
k=[-N4/2:N4/2];
Xk=dfs(xn,N4); % DFS
magXk=abs([Xk(N4/2+1:N4) Xk(1:N4/2+1)]); % magnitudi DFS
%Menampilkan Magnitudo dari DFS
magX=magXk;
axes(handles.axes5), stem(k,magXk, 'c',
'LineWidth',2); grid
xlabel('k');
title(['DFS atas gelombang bujur-sangkar: ',
'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