Berikut adalah callback dari tombol
TAMPILKAN KEDUA RUNTUN dari GUI MATLAB yang dipakai untuk memverifikasi watak
perkalian DTFT:
function
TAMPILKAN_EKSPONENSIAL_Callback(hObject, eventdata, handles)
% hObject
handle to TAMPILKAN_EKSPONENSIAL (see GCBO)
% eventdata
reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Membaca a, n0, n1, dan n2 dari ketiga edit
teks
n0 = str2num(get(handles.editN0,'String'));
n1 = str2num(get(handles.editN1,'String'));
n2 = str2num(get(handles.editN2,'String'));
a = str2num(get(handles.editA,'String'));
%=========================================================================
% Menghasilkan runtun eksponensial riil yang
dapat ditunda
n=n1:n2;
x_0=zeros(length(n),1); length(x_0)
n_x=n0:n2;
x=a.^n_x;
[x_eksriil,n_eksriil]=sinyaltambah(x_0,n,x,n_x);
%=========================================================================
%Menampilkan runtun eksponensial riil x pada
sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes1)
stem(n_eksriil,x_eksriil,'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 x1')
%Memberikan warna kehijauan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.25]);
%=========================================================================
% Menghasilkan runtun tangga unit yang dapat
ditunda
[x_tangga,n_tangga]=stepseq(n0,n1,n2);
%=========================================================================
%Menampilkan runtun tangga x2 pada sumbu
axes7 dengan tebal garis 2 warna merah
axes(handles.axes7)
stem(n_tangga,x_tangga,'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 Tangga Unit')
%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 x1
x1 = x_eksriil;
global x2
x2 = x_tangga;
global n1_x
n1_x = n1;
global n2_x
n2_x = n2;
Berikut adalah kode sumber callback dari
tombol TAMPILKAN DTFT dari GUI MATLAB yang sama:
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
global x1
x_eksriil = x1;
global x2
x_tangga = x2;
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[x1(n)*x2(n)]
n=n1:n2;
k=F0*N:F1*N; w=(pi/N)*k;
y=x_eksriil.*x_tangga;
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[x1(n)*x2(n)]'); ylabel('Magnitudo')
%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]);
%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[x1(n)*x2(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 conv[X1(jw),X2(jw)]
n=n1:n2;
k=F0*N:F1*N; w=(pi/N)*k;
X1=(x_eksriil*(exp(-j*pi/N)).^(n'*k));
X2=(x_tangga*(exp(-j*pi/N)).^(n'*k));
Y=conv(X1,X2, 'same');
%Menampilkan Magnitudo dari DFT
magX=abs(Y);
axes(handles.axes3), plot(k/N,magX, 'r',
'LineWidth',2);grid
xlabel('frekuensi dalam unit pi');
title('Bagian magnitudo dari
conv[X1(jw),X2(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(Y);
axes(handles.axes5), plot(k/N,angX, 'r',
'LineWidth',2);grid
xlabel('frekuensi dalam unit pi');
title('Bagian Sudut dari
conv[X1(jw),X2(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:
Post a Comment