Friday, August 25, 2017

WATAK PELIPATAN DTFT














GUI MATLAB untuk memverifikasi watak pelipatan DTFT telah dirancang. Berikut adalah kode sumber callback dari tombol TAMPILKAN RUNTUN EKSPONENSIAL:

% Membaca a, n1, dan n2 dari ketiga edit teks
n1 = str2num(get(handles.editN1,'String'));
n2 = str2num(get(handles.editN2,'String'));
sigma = str2num(get(handles.editSigma,'String'));
omega = str2num(get(handles.editOmega,'String'));

% Menghasilkan runtun eksponensial kompleks
n=n1:n2;
x=exp((sigma+omega*j)*n);

%=========================================================================
%Menampilkan bagian riil dari 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('Bagian riil dari runtun eksponensial kompleks')

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

%=========================================================================
%Menampilkan bagian imajiner dari x pada sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes7)
stem(n,imag(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('Bagian imajiner dari runtun eksponensial kompleks')

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

%Menyimpan data global agar dapat dipakai untuk callback berikutnya

global x_1
x_1 = x;

global n1_x
n1_x = n1;

global n2_x
n2_x = n2;

Berikut adalah callback dari tombol TAMPILKAN DTFT:

function TAMPILKAN_DTFT_Callback(hObject, eventdata, handles)
% hObject    handle to TAMPILKAN_DTFT (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;


%Membaca parameter-parameter DFT
N = str2num(get(handles.editBanyakTitik,'String'));
F1 = str2num(get(handles.editFSampai,'String'));
F0 = str2num(get(handles.editFMulai,'String'));

%==========================================================================
%Menghitung DTFT F[x(-n)]
n=n1:n2;
k=F0*N:F1*N; w=(pi/N)*k;
[y,n]=sinyallipat(x,n);
X=y*(exp(-j*pi/N)).^(n'*k);

%Menampilkan Magnitudo dari DFT
magX=abs(X);
axes(handles.axes2), plot(k/N,magX, 'c', 'LineWidth',2);grid
xlabel('frekuensi dalam unit pi');
title('Bagian magnitudo dari F[x(-n)]'); ylabel('Magnitudo')

%Memberikan grid x dan y dengan warna merah
set(gca, 'XColor', 'r')
set(gca, 'YColor', 'r')

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

%Menampilkan Sudut dari DFT
angX=angle(X);

axes(handles.axes4), plot(k/N,angX, 'c', 'LineWidth',2);grid
xlabel('frekuensi dalam unit pi');
title('Bagian Sudut dari F[x(-n)]'); ylabel('Radian')

%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 DTFT X(-jw)
n=n1:n2;

k=F0*N:F1*N; w=(pi/N)*k;
X2=x*(exp(j*pi/N)).^(n'*k);

%Menampilkan Magnitudo dari DFT
magX=abs(X2);
axes(handles.axes3), plot(k/N,magX, 'r', 'LineWidth',2);grid
xlabel('frekuensi dalam unit pi');
title('Bagian magnitudo dari X(-jw)'); 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 Sudut dari DFT
angX=angle(X2);

axes(handles.axes5), plot(k/N,angX, 'r', 'LineWidth',2);grid
xlabel('frekuensi dalam unit pi');
title('Bagian Sudut dari X(-jw)'); 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: