Tuesday, August 29, 2017

WATAK SIMETRI DFT











GUI MATLAB untuk memverifikasi watak simetri ini telah dirancang. Berikut adalah 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.axes1,'reset');
set(handles.axes1,'visible', 'off');
cla(handles.axes6,'reset');
set(handles.axes6,'visible', 'off');

% Membaca n1, n2, alfa, dan beta dari keempat 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;
x1=a.^n;

%=========================================================================
%Menampilkan x1 pada sumbu axes7 dengan tebal garis 2 warna merah
axes(handles.axes7)
stem(n,real(x1),'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 = x1;

global n1_x
n1_x = n1;

global n2_x
n2_x = n2;

Berikut adalah kode sumber callback dari tombol TAMPILKAN RUNTUN GENAP GANJIL:

function TAMPILKANGENAPGANJIL_Callback(hObject, eventdata, handles)
% hObject    handle to TAMPILKANGENAPGANJIL (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

%Membersihkan sumbu
cla(handles.axes7,'reset');
set(handles.axes7,'visible', 'off');

%Membaca data global
global x_1
x1 = x_1;

global n1_x
n1 = n1_x;

global n2_x
n2 = n2_x;

n=n1:n2;
n1
n2
%Menghasilkan runtun genap sirkular dan runtun ganjil sirkular
[xec,xoc]=sirkgangen(x1);

%=========================================================================
%Menampilkan xec pada sumbu axes6 dengan tebal garis 2 warna merah
axes(handles.axes6)
stem(n,xec,'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 [xec(n)]')

%Memberikan warna kehijauan  pada latar sumbu
set(gca,'Color',[0.5 0.5 0.25]);

%=========================================================================
%Menampilkan xoc pada sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes1)
stem(n,xoc,'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 Ganjil Sirkular [xoc(n)]')

%Memberikan warna kehijauan  pada latar sumbu
set(gca,'Color',[0.5 0.5 0.25]);

%Menyimpan data global
global xec_1
xec_1 = xec;

global xoc_1
xoc_1 = xoc;

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 xec_1
xec = xec_1;

global xoc_1
xoc = xoc_1;

%Membaca N
N = str2num(get(handles.editBanyakTitik,'String'));

%==========================================================================
%Menghitung DFT[xn], DFT[xec], dan DFT[xoc]
xn=x1;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xk=dft(xn,N+1);                           % DFT[xn]

length(Xk)
length(k)
length(xn)

xn=xec;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xec=dft(xn,N+1);                           % DFT[xec]

xn=xoc;
L=length(xn);
xn=[xn,zeros(1,N-L+1)];
k=[-N/2:N/2];
Xoc=dft(xn,N+1);                           % DFT[xoc]

%==========================================================================
%Menampilkan Real dari DFT[xn]
axes(handles.axes2), stem(k,real(Xk), 'c', 'LineWidth',2); grid
xlabel('k');
title('Bagian riil dari DFT[xn]'); 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]
axes(handles.axes3), stem(k,imag(Xk), 'c', 'LineWidth',2); grid
xlabel('k');
title('Bagian Imajiner dari DFT[xn]'); 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[xec]
axes(handles.axes4), stem(k,real(Xec), 'c', 'LineWidth',2); grid
xlabel('k');
title('Bagian riil dari DFT[xec]'); 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[xoc]
axes(handles.axes5), stem(k,imag(Xoc), 'c', 'LineWidth',2); grid
xlabel('k');
title('Bagian Imajiner dari DFT[xoc]'); 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: