📄 grafik.m
字号:
function varargout = Grafik(varargin)
global SNR_max jml_itr BR kanal rolloff M
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Grafik_OpeningFcn, ...
'gui_OutputFcn', @Grafik_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% --- Executes just before Grafik is made visible.
function Grafik_OpeningFcn(hObject, eventdata, handles, varargin)
global SNR_max jml_itr BR kanal rolloff M
% % Inisialisasi
SNR_max = 20;
jml_itr = 50;
% BR = 64000;
% kanal = 1;
% rolloff = 0.5;
% M = 16;
if M == 16
MMM = '16-QAM';
elseif M == 64
MMM = '64-QAM';
elseif M == 256
MMM = '256-QAM';
end
if kanal == 1
kanale = 'AWGN';
else
kanale = 'Rayleigh';
end
set(handles.edit1,'string',BR);
set(handles.edit1,'enable','off');
set(handles.edit2,'string',MMM);
set(handles.edit2,'enable','off');
set(handles.edit3,'string',kanale);
set(handles.edit3,'enable','off');
set(handles.edit4,'string',rolloff);
set(handles.edit4,'enable','off');
% SNR_max = str2num(get (handles.edit5,'string'));
% SNR_max=get(handles.edit5,'value');
% SNR_max=str2num(SNR_max);
set(handles.edit5,'string',SNR_max);
set(handles.edit5,'enable','off');
set(handles.edit6,'string','. . .');
% set(handles.edit6,'enable','off');
handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = Grafik_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
tengah(gcf)
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
function edit2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit4_Callback(hObject, eventdata, handles)
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit5_Callback(hObject, eventdata, handles)
function edit5_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit6_Callback(hObject, eventdata, handles)
function edit6_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
global SNR_max jml_itr BR kanal rolloff M
% ==== SCRIPT BUAT GRAFIK =================================================
set(handles.edit6,'string','. . . SELESAI . . .');
set(handles.edit6,'enable','off');
pe_on_snr = zeros(1,SNR_max+1);
for snr = 1:SNR_max+1
bit_error = zeros(1,jml_itr);
for jum=1:jml_itr
[jml_bit_err x]=qam(M,rolloff,snr,kanal,BR);
bit_error(1,jum) = jml_bit_err;jum;
end
total_bit_error = sum(bit_error);
probabilitas_error = total_bit_error/(length(x)*jml_itr);
pe_on_snr(1,snr) = probabilitas_error;
SNR_ke=snr;
end
snr = 0:SNR_max;
nnn = (10*log10(M))/(10*log10(2));
ebno = snr - 10*log10(nnn/(1+rolloff));
axes(handles.axes1);
semilogy(ebno,pe_on_snr,'-*');
grid on;
title('Pe vs EbNo');
xlabel('EbNo');
ylabel('P_e');
%
% =========================================================================
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
close
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -