GUI MATLAB untuk membuktikan watak
pergeseran frekuensi ini telah dirancang. Berikut adalah kode sumber callback
dari tombol TAMPILKAN RUNTUN TANGGA:
function
TAMPILKAN_TANGGA_Callback(hObject, eventdata, handles)
% hObject handle to TAMPILKAN_TANGGA (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
% Membaca n0, n1,
n2, dan omega0 dari keempat edit teks
n0 =
str2num(get(handles.editN0,'String'));
n1 =
str2num(get(handles.editN1,'String'));
n2 =
str2num(get(handles.editN2,'String'));
omega0 =
str2num(get(handles.editOmega0,'String'));
% Menjalankan
fungsi stepseq
[x1,n]=stepseq(n0,n1,n2);
%Memodulasi dengan
omega0
x2=x1.*exp(1i*omega0*pi*n);
%=========================================================================
%Menampilkan x1
pada sumbu axes1 dengan tebal garis 2 warna merah
axes(handles.axes1)
stem(n,x2,'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 dengan Tunda Sejauh n0')
%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 = x1;
global x_2
x_2 = x2;
global n0_x
n0_x = n0;
global n1_x
n1_x = n1;
global n2_x
n2_x = n2;
global omega0_x
omega0_x = omega0;
Berikut adalah kode sumber 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
x1 = x_1;
global x_2
x2 = x_2;
global n1_x
n1 = n1_x;
global n2_x
n2 = n2_x;
global n0_x
n0 = n0_x;
global omega0_x
omega0 = omega0_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)exp(j*omega0*n)]
n=n1:n2;
k=F0*N:F1*N;
w=(pi/N)*k;
X=x2*(exp(-j*pi/N)).^(n'*k);
%Menampilkan
Magnitudo dari DTFT
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)exp(j*omega0*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 DTFT
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)exp(j*omega0*n)]'); ylabel('Radian')
%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]);
%==========================================================================
%Menghitung DTFT
X(j(w-omega0))
n=n1:n2;
%Menghitung DTFT
k=F0*N:F1*N;
w=(pi/N)*k;
X=x2*(exp(-1i*(pi)/N)).^(n'*k);
%Menampilkan
Magnitudo dari DFT
magX=abs(X);
axes(handles.axes3),
plot(k/N,magX, 'r', 'LineWidth',2);grid
xlabel('frekuensi
dalam unit pi');
title('Bagian
magnitudo dari X(j(w-omega0))'); ylabel('Magnitudo')
%Memberikan grid x
dan y dengan warna biru
set(gca, 'XColor',
'b')
set(gca, 'YColor',
'b')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
%Menampilkan Sudut
dari DFT
angX=angle(X);
axes(handles.axes5),
plot(k/N,angX, 'r', 'LineWidth',2);grid
xlabel('frekuensi
dalam unit pi');
title('Bagian Sudut
dari X(j(w-omega0))'); ylabel('Radian')
%Memberikan grid x
dan y dengan warna biru
set(gca, 'XColor',
'b')
set(gca, 'YColor',
'b')
%Memberikan warna
kehijauan pada latar sumbu
set(gca,'Color',[0.5
0.5 0.5]);
No comments:
Post a Comment