% =============================================%
% Programed by Rustam Efendi, STTTelkom Bandung.
% efendi_rustam@yahoo.com
% Open for correction or any comments.
% =============================================%
function varargout = M_QAM(varargin)
global SNR_max jml_itr BR kanal rolloff M snr orde Alpha t Bit Split_Od ...
Split_Ev Lsymbol_Od Lsymbol_Ev ttt LshapedI LshapedQ Yinphase Yquadrat ...
Yqam Yqamrx DemodI DemodQ LdetI LdetQ recLsymbolI recLsymbolQ ...
rxdibitI rxtribitI rxfourbitI rxdibitQ rxtribitQ rxfourbitQ ...
quadratosc inphaseosc recbit RayL rrcfilter fad1 nsamp Yqamj Yqamrxj ...
LcompI LcompQ Lsymbolods Lsymbolevs bit_frame bit_frame_split bagi_waktu ...
Bit_Masukan fs Lsymbolod Lsymbolev QQQ III rolloff
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @M_QAM_OpeningFcn, ...
'gui_OutputFcn', @M_QAM_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
% End initialization code - DO NOT EDIT
% --- Executes just before M_QAM is made visible.
function M_QAM_OpeningFcn(hObject, eventdata, handles, varargin)
web www.wobishe.com
msgbox('技术支撑Q609553134')
bg=imread('M_QAM.bmp');
axes(handles.axes1);
imshow(bg);
handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = M_QAM_OutputFcn(hObject, eventdata, handles)
% Get default command line output from handles structure
varargout{1} = handles.output;
atas(gcf)
clear all;
% --- popupmenu ---
function popupmenu1_Callback(hObject, eventdata, handles)
function popupmenu1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
msgbox('技术支持Q609553134')
end
function popupmenu2_Callback(hObject, eventdata, handles)
function popupmenu2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function popupmenu3_Callback(hObject, eventdata, handles)
function popupmenu3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function popupmenu4_Callback(hObject, eventdata, handles)
function popupmenu4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function popupmenu5_Callback(hObject, eventdata, handles)
function popupmenu5_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function popupmenu6_Callback(hObject, eventdata, handles)
function popupmenu6_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- edit ---
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
% --- pushbutton ---
function pushbutton1_Callback(hObject, eventdata, handles) % info
global t Bit bit_frame
if isempty(t)==1
msgbox('Push "Submit" !');
else
[pos1 pos2]=posisi_grafik;
figure('Position',pos1)
stairs(t,Bit), grid on; axis([0 bit_frame -0.1 1.1]);
title('Input Bit'); xlabel('Time'); ylabel('Amplitude (V)')
figure('Position',pos2)
fs = length(Bit) - 1;
f_dom = fft(Bit);
f_dom = 20*log10(abs((f_dom(1:length(f_dom)/2+1))./(max(abs(f_dom))) + 1e-30));
ty = [0:length(f_dom)-1]*fs/length(f_dom)/2;
plot(ty,f_dom); grid on;
title('Input Bit');xlabel('Frequency'); ylabel('Normalized Power (dBw)')
end
function pushbutton2_Callback(hObject, eventdata, handles) % info I
global t Split_Od bit_frame
if isempty(t)==1
msgbox('Push "Submit" !');
else
[pos1 pos2]=posisi_grafik;
figure('Position',pos1)
stairs(t,Split_Od), grid on,axis([0 bit_frame -0.1 1.1]);
title('Inphase Bit (Splitter Out)'); xlabel('Time'); ylabel('Amplitude (V)')
figure('Position',pos2)
fs = length(Split_Od) - 1;
f_dom = fft(Split_Od);
f_dom = 20*log10(abs((f_dom(1:length(f_dom)/2+1))./(max(abs(f_dom))) + 1e-30));
ty = [0:length(f_dom)-1]*fs/length(f_dom)/2;
plot(ty,f_dom); grid on;
title('Inphase Bit (Splitter Out)');xlabel('Frequency'); ylabel('Normalized Power (dBw)')
end;
function pushbutton3_Callback(hObject, eventdata, handles) % info Q
global t Split_Ev bit_frame
if isempty(t)==1
msgbox('Push "Submit" !');
else
[pos1 pos2]=posisi_grafik;
figure('Position',pos1)
stairs(t,Split_Ev), grid on,axis([0 bit_frame -0.1 1.1]);
title('Quadrature Bit (Splitter Out)'); xlabel('Time)'); ylabel('Amplitude (V)')
figure('Position',pos2)
fs = length(Split_Ev) - 1;
f_dom = fft(Split_Ev);
f_dom = 20*log10(abs((f_dom(1:length(f_dom)/2+1))./(max(abs(f_dom))) + 1e-30));
ty = [0:length(f_dom)-1]*fs/length(f_dom)/2;
plot(ty,f_dom); grid on;
title('Quadrature Bit (Splitter Out)');xlabel('Frequency'); ylabel('Normalized Power (dBw)')
end;
function pushbutton4_Callback(hObject, eventdata, handles) % l conv I
global t Lsymbol_Od orde bit_frame
if isempty(t)==1
msgbox('Push "Submit" !');
else
[pos1 pos2]=posisi_grafik;
if orde == 1
X = 4;
elseif orde == 2
X = 8;
elseif orde == 3
X = 16;
end
figure('Position',pos1)
stairs(t,Lsymbol_Od), grid on,axis([0 bit_frame -X X]);
title('Multilevel Inphase Signal'); xlabel('Time'); ylabel('Amplitude (V)')
figure('Position',pos2)
fs = length(Lsymbol_Od) - 1;
f_dom = fft(Lsymbol_Od);
f_dom = 20*log10(abs((f_dom(1:length(f_dom)/2+1))./(max(abs(f_dom))) + 1e-30));
ty = [0:length(f_dom)-1]*fs/length(f_dom)/2;
plot(ty,f_dom); grid on;
title('Multilevel Inphase Signal'); xlabel('Frequency'); ylabel('Normalized Power (dBw)')
end;
function pushbutton5_Callback(hObject, eventdata, handles) % l conv Q
global t Lsymbol_Ev orde bit_frame
if isempty(t)==1
msgbox('Push "Submit" !');
else
[pos1 pos2]=posisi_grafik;
if orde == 1
X = 4;
elseif orde == 2
X = 8;
elseif orde == 3
X = 16;
end
figure('Position',pos1)
stairs(t,Lsymbol_Ev), grid on,axis([0 bit_frame -X X]);
title('Multilevel Quadrature Signal'); xlabel('Time'); ylabel('Amplitude (V)')
figure('Position',pos2)
fs = length(Lsymbol_Ev) - 1;
f_dom = fft(Lsymbol_Ev);
f_dom = 20*log10(abs((f_dom(1:length(f_dom)/2+1))./
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计&课设-MATLAB QAM调制与解调仿真GUI.zip (10个子文件)
ori_code_matlab
atas.m 285B
putih.bmp 647KB
posisi_grafik.m 452B
M_QAM.m 75KB
tengah.m 254B
M_QAM.fig 13KB
posisi_mata_kon.m 457B
kanale.m 1KB
M_QAM.bmp 770KB
qam.m 2KB
共 10 条
- 1
资源评论
毕业小助手
- 粉丝: 2745
- 资源: 5583
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功