GUI MATLAB untuk memverifikasi watak
konjugasi FFT telah dirancang. Berikut adalah kode sumber callback dari tombol
TAMPILKAN RUNTUN:
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)
% Membaca n1, n2, alfa, dan beta dari keempat
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;
x1=exp((sigma+omega*j)*n);
%=========================================================================
%Menampilkan x1 pada sumbu axes1 dengan tebal
garis 2 warna merah
axes(handles.axes1)
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('Bagian Riil Runtun Eksponensial
Kompleks')
%Memberikan warna kehijauan pada latar sumbu
set(gca,'Color',[0.5 0.5 0.25]);
%=========================================================================
%Menampilkan x2 pada sumbu axes6 dengan tebal
garis 2 warna merah
axes(handles.axes6)
stem(n,imag(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('Imajiner');
title('Bagian Imajiner 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 = x1;
global n1_x
n1_x = n1;
global n2_x
n2_x = n2;
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;
%Membaca N
N =
str2num(get(handles.editBanyakTitik,'String'));
%==========================================================================
%Menghitung DFT[conj(xn)]
xn=conj(x1);
L=length(xn);
xn=[xn,zeros(1,N-L)];
k=[-N/2:N/2];
Xk=dft(xn,N); % DFT
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % magnitudo DFT
%Menampilkan Magnitudo dari DFT
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % magnitudo DFT
axes(handles.axes2), stem(k,magXk, 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian magnitudo dari DFT[conj(xn)]');
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([Xk(N/2+1:N) Xk(1:N/2+1)]);
axes(handles.axes4), stem(k,angX, 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian Sudut dari DFT[conj(xn)]');
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]);
%==========================================================================
%Menghitung mod(conj(DFT[x(n)]),N)
xn=x1;
L=length(xn);
xn=[xn,zeros(1,N-L)];
k=[-N/2:N/2];
Xk=dft(xn,N);
Xk=conj(Xk);
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % magnitudo DFT
%Pelipatan DFT
n=1:N+1;
magXk=magXk(modulo(-n,N)+1);
%x2=x1(modulo(-n,length(n))+1);
%Menampilkan Magnitudo dari DFT
axes(handles.axes3), stem(k,magXk, 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian magnitudo dari mod(conj(DFT[x(n)]),N)');
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([Xk(N/2+1:N) Xk(1:N/2+1)]);
n=1:N+1;
angX=angX(modulo(-n,N)+1);
axes(handles.axes5), stem(k,angX, 'c',
'LineWidth',2); grid
xlabel('k');
title('Bagian Sudut dari
mod(conj(DFT[x(n)]),N)]'); 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