GUI MATLAB untuk memverifikasi watak
pergeseran sirkular telah dirancang. Kode sumber callback dari tombol TAMPILKAN
RUNTUN EKSPONENSIAL RIIL:
function
TAMPILKAN_RUNTUN_Callback(hObject, eventdata, handles)
% hObject handle to TAMPILKAN_RUNTUN (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.axes6,'reset');
set(handles.axes6,'visible',
'off');
% Membaca n1, n2,
dan a dari ketiga edit teks
n1 =
str2num(get(handles.editN1,'String'));
n2 =
str2num(get(handles.editN2,'String'));
a =
str2num(get(handles.editA,'String'));
% Menghasilkan
runtun eksponensial kompleks
n=n1:n2;
x=a.^n;
%=========================================================================
%Menampilkan x pada
sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes1)
stem(n,real(x),'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
Eksponensial Riil')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.25]);
%Menyimpan data
global
global x_1
x_1 = x;
global n1_x
n1_x = n1;
global n2_x
n2_x = n2;
Kode sumber callback dari tombol
TAMPILKAN RUNTUN DIGESER SIRKULAR:
function
TAMPILKANSIRKULAR_Callback(hObject, eventdata, handles)
% hObject handle to TAMPILKANSIRKULAR (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
global x_1
x1 = x_1;
global n1_x
n1 = n1_x;
global n2_x
n2 = n2_x;
n=n1:n2;
N=length(n);
%Membaca nilai
pergeseran m
m =
str2num(get(handles.editM,'String'));
%Menghasilkan
runtun tergeser sirkular
y=sirkgeser(x1,m,N);
%=========================================================================
%Menampilkan xec
pada sumbu axes6 dengan tebal garis 2 warna merah
axes(handles.axes6)
stem(n,y,'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('Imajiner');
title('Runtun Genap
Sirkular Digeser Sejauh m')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.25]);
global x_geser
x_geser = y;
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
x = x_1;
global n1_x
n1 = n1_x;
global n2_x
n2 = n2_x;
global x_geser
y = x_geser;
%Membaca N
N =
str2num(get(handles.editBanyakTitik,'String'));
%==========================================================================
%Menghitung DFT[x((n-m) mod N)]
xn=y;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk=dft(xn,N+1); % DFT[x((n-m) mod
N)]
%==========================================================================
%Menampilkan Real dari DFT[x((n-m) mod N)]
axes(handles.axes2), stem(k,real(Xk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian riil dari DFT[x((n-m) mod
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 Imajiner dari DFT[x((n-m) mod
N)]
axes(handles.axes3), stem(k,imag(Xk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian Imajiner dari DFT[x((n-m) mod
N)]'); ylabel('Imajiner')
%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 Real dari DFT[xn]WNmk
%==========================================================================
%Membaca nilai pergeseran m
m = str2num(get(handles.editM,'String'));
WN=exp(-j*2*pi/N); % faktor WN
WNmk=WN.^(m*k); % modulasi karena pergeseran sirkular
DFT
xn=x;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk=dft(xn,N+1).*WNmk; % DFT[x((n-m) mod
N)]
axes(handles.axes4), stem(k,real(Xk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian riil dari DFT[xn]WNmk');
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[xn]WNmk
axes(handles.axes5), stem(k,imag(Xk), 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian Imajiner dari DFT[xn]WNmk');
ylabel('Imajiner')
%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