⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmittertest.m

📁 一个仿真测试4FSK信号的matlab环境GUI程序。可以查看基带IQ波形、眼图、星座图。并可以仿真高斯白噪声、瑞利衰减对信号的影响。
💻 M
字号:
function varargout = TransmitterTest(varargin)
% TRANSMITTERTEST M-file for TransmitterTest.fig
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @TransmitterTest_OpeningFcn, ...
                   'gui_OutputFcn',  @TransmitterTest_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

% ======================================================================
function TransmitterTest_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

axes(handles.axes_Main);
title('In-Phase Signal Plot');ylabel('Amplitude');xlabel('In-Phase');
set(handles.txt_Date,'string',['Current Date: ',date]);

% =====================================================================
function varargout = TransmitterTest_OutputFcn(hObject, eventdata, handles) 
varargout{1} = handles.output;


% =====================================================================
function chk_NewFigure_Callback(hObject, eventdata, handles)
if get(handles.chk_NewFigure,'value'),
    figure;
end

function chk_Gridon_Callback(hObject, eventdata, handles)


function chk_Holdon_Callback(hObject, eventdata, handles)


% --- Executes on button press in chk_AdjustX.
function chk_AdjustX_Callback(hObject, eventdata, handles)
if get(handles.chk_AdjustX, 'value')
    Min = str2num(get(handles.edt_Min,'string'));
    Max = str2num(get(handles.edt_Max,'string'));
    set(handles.edt_Min,'enable','on');
    set(handles.edt_Max,'enable','on');
    set(handles.axes_Main, 'XLim',[Min,Max]);
else
    set(handles.edt_Min,'enable','off');
    set(handles.edt_Max,'enable','off');
end

% ==================================================================
function edt_Min_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_Min,'string'));
Max = str2num(get(handles.edt_Max,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''Min'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value>=Max
        msgbox('Min could not be large than Max','ERROR','ERROR');
        return
    end
end
set(handles.axes_Main, 'XLim',[value,Max]);

% --- Executes during object creation, after setting all properties.
function edt_Min_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% ====================================================================
function edt_Max_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_Min,'string'));
Max = str2num(get(handles.edt_Max,'string'));
if isempty(Max)
    msgbox('Get a invalid number in the ''Max'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value>=Max
        msgbox('Min could not be large than Max','ERROR','ERROR');
        return
    end
end
set(handles.axes_Main, 'XLim',[value,Max]);

function edt_Max_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% =====================================================================
function slider1_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties.
function slider1_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% =====================================================================
function radiobutton1_Callback(hObject, eventdata, handles)
set(handles.radiobutton1,'value',1);
set([handles.radiobutton2, handles.radiobutton3, ...
    handles.radiobutton4, handles.radiobutton5],'value',0);

function radiobutton2_Callback(hObject, eventdata, handles)
set(handles.radiobutton2,'value',1);
set([handles.radiobutton1, handles.radiobutton3, ...
    handles.radiobutton4, handles.radiobutton5],'value',0);

function radiobutton3_Callback(hObject, eventdata, handles)
set(handles.radiobutton3,'value',1);
set([handles.radiobutton1, handles.radiobutton2, ...
    handles.radiobutton4, handles.radiobutton5],'value',0);

function radiobutton4_Callback(hObject, eventdata, handles)
set(handles.radiobutton4,'value',1);
set([handles.radiobutton1, handles.radiobutton2, ...
    handles.radiobutton3, handles.radiobutton5],'value',0);

function radiobutton5_Callback(hObject, eventdata, handles)
set(handles.radiobutton5,'value',1);
set([handles.radiobutton1, handles.radiobutton2, ...
    handles.radiobutton3, handles.radiobutton4],'value',0);

% ===================================================================
function pop_Mod_Method_Callback(hObject, eventdata, handles)
function pop_Mod_Method_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% ===================================================================
function edt_Mod_Fd_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_Mod_Fd,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''Fd'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value<=0
        msgbox('Fd must large than zero.','ERROR','ERROR');
        return
    end
end
function edt_Mod_Fd_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% ====================================================================
function edt_Mod_Index_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_Mod_Index,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''Index'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value<=0 || value>1,
        msgbox('the value of Inex must between [0 1].','ERROR','ERROR');
        return
    end
end
function edt_Mod_Index_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% ====================================================================
function edt_Mod_nSamp_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_Mod_nSamp,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''nSamp'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value<=0,
        msgbox('nSamp must large than zero.','ERROR','ERROR');
        return
    end
end

function edt_Mod_nSamp_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% ===================================================================
function pop_RRC_Type_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties.
function pop_RRC_Type_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% =====================================================================
function edt_RRC_Order_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_RRC_Order,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''Order'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value<=0,
        msgbox('Filter Order should be large than zero.','ERROR','ERROR');
        return
    end
end

function edt_RRC_Order_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% ===================================================================
function edt_RRC_OverSamp_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_RRC_OverSamp,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''OverSamp'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value<=0,
        msgbox('OverSamp should be large than zero.','ERROR','ERROR');
        return
    end
end

function edt_RRC_OverSamp_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% =====================================================================
function edt_RRC_RollOff_Callback(hObject, eventdata, handles)
value = str2num(get(handles.edt_RRC_RollOff,'string'));
if isempty(value)
    msgbox('Get a invalid number in the ''Delay'' Edit field. Check again!','ERROR','ERROR');
    return
else
    if value<=0,
        msgbox('Delay should be large than zero.','ERROR','ERROR');
        return
    end
end

function edt_RRC_RollOff_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% =====================================================================
function btn_ImportData_Callback(hObject, eventdata, handles)


function btn_SaveResult_Callback(hObject, eventdata, handles)



function btn_Apply_Callback(hObject, eventdata, handles)
t = [-1:0.001:1];
y = cos(2*pi*4*t);
yNoise = awgn(y,10,'measured',12345,'db');
axes(handles.axes_Main);
hold on; 
plot(t,yNoise,'r-');
set(handles.axes_Main, 'XGrid', 'on');
set(handles.axes_Main, 'YGrid', 'on');
set(handles.axes_Main, 'XMinorTick', 'on');
set(handles.axes_Main, 'YMinorTick', 'on');

function btn_About_Callback(hObject, eventdata, handles)
About


function btn_Help_Callback(hObject, eventdata, handles)




function btn_Exit_Callback(hObject, eventdata, handles)
close


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -