パケット通信,《通信技术》
【通信】基于LCEC GSC PCI MWF欧共体PCA多种算法实现自适应波束生成_MATLAB仿真博客的技术博客_博客
作者简介:热爱科研的矩阵实验室仿真开发者,修心和技术同步精进,matlab项目合作可私信。
个人主页:Matlab科研工作室
个人信条:格物致知。
内容介绍近年来,随着移动通信的迅速发展,用户急剧增加,移动通信的频谱资源日益紧张,多址干扰、共信道干扰以及多径衰落的影响限制了信道容量和通信质量的进一步提高。智能天线和空间滤波为这些问题的解决带来了新的思路。智能天线技术利用信号的空间特征——到达角来克服这些因素的影响,在保证一定的通信质量的前提下,能够提高覆盖范围,增加系统容量。本文基于LCEC GSC PCI MWF欧共体PCA多种算法实现自适应波束生成。
部分代码函数varargout=algrithem _ database(vara rgin)
% ALGRITHEM _ DATABASE M-ALGRITHEM _ DATABASE。无花果文件
% ALGRITHEM_DATABASE本身会创建一个新的算法数据库或引发现有的
%单例* .
%
% H=ALGRITHEM_DATABASE返回新算法数据库的句柄或
%现有的单例*。
%
% ALGRITHEM_DATABASE(CALLBACK ,hObject,eventData,handles,)调用本地
% ALGRITHEM _ DATABASE中的函数名为回电.用给定的输入参数初始化m .
%
% ALGRITHEM_DATABASE(Property , Value ,)创建一个新的算法数据库或引发
%现有单例*。从左边开始,属性值对是
%在调用algrithem _ database _ opening函数之前应用于图形用户界面.一;一个
%无法识别的属性名或无效值使属性应用程序
%停止。所有输入都通过变长度输入宗量传递给algrithem _ database _ OpeningFcn .
%
% *请参见指南的"工具"菜单上的图像使用者界面选项。选择图像使用者界面只允许一个
要运行的%实例(单例)”.
%
%请参阅:指南、GUIDATA、GUIHANDLES
%版权所有2002-2003 MathWorks公司。
%编辑以上文本以修改响应来帮助算法数据库
%上次由指南v2.5修改于2006年5月15日00:06:21
%开始初始化代码-不要编辑
GUI _ Singleton=1;
gui_State=struct(gui_Name ,mfilename,
gui_Singleton ,gui_Singleton,
gui_OpeningFcn ,@algrithem_database_OpeningFcn,
gui_OutputFcn ,@algrithem_database_OutputFcn,
gui_LayoutFcn ,[],
gui_Callback ,[]);
if nargin ischar(varargin{1})
GUI _ state。GUI _ Callback=str 2 func(vara rgin { 1 });
目标
如果输出参数的数目
[varargout { 1:nargout }]=GUI _ mainfcn(GUI _ State,vara gin {:});
其他
gui_mainfcn(gui_State,vara rgin {:});
目标
%结束初始化代码-不要编辑
% -在算法数据库可见之前执行。
函数algrithem _ database _ opening cn(ho object,eventdata,handles,varargin)
%此函数没有输出参数,请参见输出Fcn .
% h对象句柄到数字
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% varargin algrithem _ database的命令行参数(请参见瓦拉金)
%选择算法数据库的默认命令行输出
handles.output=hObject
%更新句柄结构
guidata(hObject,handles);
initialize_gui(hObject,handles,false);%初始化界面
%等待使算法数据库等待用户响应(请参见UIRESUME)
% ui等待(句柄。图1);
% -此函数的输出返回到命令行。
函数varargout=algrithem _ database _ output fcn(h对象,事件数据,句柄)
% varargout单元格数组,用于返回输出参数(请参见VARARGOUT);
% h对象句柄到数字
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
%从句柄结构获取默认命令行输出
varargout { 1 }=handles.output
函数array_number_Callback(hObject,eventdata,handles)
% h对象数组编号的句柄(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回数组编号的内容
% str 2 double(get(ho object, String ))以双精度形式返回数组编号的内容
array _ number=str 2 double(get(ho object, String ));
% if isnan(array_number)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的数组编号值
手柄。度量数据。数组编号=数组编号;
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数array_number_CreateFcn(hObject,eventdata,handles)
% h对象数组编号的句柄(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数work _ frequency _ Callback(h对象,eventdata,句柄)
% h对象句柄到工作频率(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回工作频率的内容
% str 2 double(get(ho object, String ))以双精度形式返回工作频率的内容
work _ frequency=str 2 double(get(ho object, String ));
% if isnan(work_frequency)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。工作频率=工作频率;
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数work _ frequency _ create fcn(h对象,事件数据,句柄)
% h对象句柄到工作频率(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数array _ distance _ Callback(h对象,事件数据,句柄)
% h对象句柄到数组_距离(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回数组_距离的内容
% str 2 double(get(ho object, String ))以双精度形式返回数组_距离的内容
array _ distance=str 2 double(get(ho object, String ));
% if isnan(数组距离)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。数组距离=数组距离;
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数array _ distance _ create fcn(h对象,事件数据,句柄)
% h对象句柄到数组_距离(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数work _ wavelength _ Callback(h对象,eventdata,句柄)
% h对象句柄到工作波长(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回工作波长的内容
% str 2 double(get(ho object, String ))以双精度形式返回工作波长的内容
work _ wavelength=str 2 double(get(ho object, String ));
% if isnan(工作波长)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。工作波长=工作波长;
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数工作波长创建fcn(h对象,事件数据,句柄)
% h对象句柄到工作波长(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数SNR_Callback(hObject,eventdata,handles)
% h对象句柄到信噪比(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回信噪比(Signal Noise Ratio)的内容
% str 2 double(get(ho object, String ))以双精度形式返回信噪比(Signal Noise Ratio)的内容
SNR=str 2 double(get(ho object, String ));
% if isnan(SNR)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。信噪比=信噪比;
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数SNR_CreateFcn(hObject,eventdata,handles)
% h对象句柄到信噪比(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数JNR1_Callback(hObject,eventdata,handles)
% h R1的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回JNR1的内容
% str 2 double(get(ho object, String ))以双精度形式返回JNR1的内容
jn R1=str 2 double(get(ho object, String ));
% if isnan(JNR1)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。JNR1=JNR1
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数JNR1_CreateFcn(hObject,eventdata,handles)
% h R1的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数JNR3_Callback(hObject,eventdata,handles)
% h jnr 3的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回JNR3的内容
% str 2 double(get(ho object, String ))以双精度形式返回JNR3的内容
jnr 3=str 2 double(get(ho object, String ));
% if isnan(JNR3)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。jnr 3=jnr 3
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数JNR3_CreateFcn(hObject,eventdata,handles)
% h jnr 3的对象句柄(参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数JNR2_Callback(hObject,eventdata,handles)
% h jrn 2的对象句柄(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回JNR2的内容
% str 2 double(get(ho object, String ))以双精度形式返回JNR2的内容
jnr 2=str 2 double(get(ho object, String ));
% if isnan(JNR2)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。jnr 2=jnr 2
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数JNR2_CreateFcn(hObject,eventdata,handles)
% h jrn 2的对象句柄(请参见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
% -在复位时按下按钮时执行。
% function reset _ Callback(h对象,eventdata,句柄)
% %要重置的对象句柄(请参见GCBO)
% % eventdata保留-将在矩阵实验室的未来版本中定义
% %使用句柄和用户数据处理结构(请参见GUIDATA)
%
% initialize_gui(gcbf,handles,true);%改动处
% -在计算中按下按钮时执行。
% function Calculate _ Callback(h对象,eventdata,句柄)
% %要计算的对象句柄(参见GCBO)
% % eventdata保留-将在矩阵实验室的未来版本中定义
% %使用句柄和用户数据处理结构(请参见GUIDATA)
函数ang0_Callback(hObject,eventdata,handles)
% h对象句柄为ang0(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄包含句柄和用户数据的结构(请参见GUIDATA)
% Hints: get(hObject, String )以文本形式返回ang0的内容
% str 2 double(get(ho object, String ))以双精度形式返回ang0的内容
ang 0=str 2 double(get(ho object, String ));
% if isnan(ang0)
% set(hObject, String ,0);
% errordlg(输入必须是数字,‘错误’);
%结束
%保存新的音量值
手柄。度量数据。ang 0=ang 0
guidata(hObject,handles)
% -在设置所有属性后,在对象创建期间执行。
函数ang0_CreateFcn(hObject,eventdata,handles)
% h对象句柄为ang0(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% -在设置所有属性后,在对象创建期间执行。
函数ang2_CreateFcn(hObject,eventdata,handles)
% h对象句柄到ang2(见GCBO)
% eventdata保留-将在矩阵实验室的未来版本中定义
%句柄为空-调用所有创建Fcns后才创建句柄
%提示:在Windows操作系统上,编辑控件通常有一个白色背景。
%参见上海跨国采购中心有限公司和计算机。
% if ispc等于(get(ho object, BackgroundColor ),get(0, defaultUicontrolBackgroundColor ))
% set(hObject, BackgroundColor , white );
%结束
usewhitebg=1;
如果使用白色bg
set(hObject, BackgroundColor , white );
其他
set(ho对象, BackgroundColor ,get(0, defaultUicontrolBackgroundColor ));
目标
函数snap_number_Callback(hObject,eventdata,handles)
% h对象句柄到快照编号(见GCBO)
% eventdata保留-待定
defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,String) returns contents of snap_number as text
% str2double(get(hObject,String)) returns contents of snap_number as a double
snap_number = str2double(get(hObject, String));
% if isnan(snap_number)
% set(hObject, String, 0);
% errordlg(Input must be a number,Error);
% end
% Save the new volume value
handles.metricdata.snap_number = snap_number;
guidata(hObject,handles)
% --- Executes during object creation, after setting all properties.
function snap_number_CreateFcn(hObject, eventdata, handles)
% hObject handle to snap_number (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
% if ispc isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
% set(hObject,BackgroundColor,white);
% end
usewhitebg = 1;
if usewhitebg
set(hObject,BackgroundColor,white);
else
set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor));
end
function sample_frequency_Callback(hObject, eventdata, handles)
% hObject handle to sample_frequency (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,String) returns contents of sample_frequency as text
% str2double(get(hObject,String)) returns contents of sample_frequency as a double
sample_frequency = str2double(get(hObject, String));
% if isnan(sample_frequency)
% set(hObject, String, 0);
% errordlg(Input must be a number,Error);
% end
% Save the new volume value
handles.metricdata.sample_frequency = sample_frequency;
guidata(hObject,handles)
% --- Executes during object creation, after setting all properties.
function sample_frequency_CreateFcn(hObject, eventdata, handles)
% hObject handle to sample_frequency (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
% if ispc isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor))
% set(hObject,BackgroundColor,white);
% end
usewhitebg = 1;
if usewhitebg
set(hObject,BackgroundColor,white);
else
set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor));
end
function AM_JAM1_Callback(hObject, eventdata, handles)
% hObject handle to AM_JAM1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of AM_JAM1
% --- Executes on button press in PM_JAM1.
function PM_JAM1_Callback(hObject, eventdata, handles)
% hObject handle to PM_JAM1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of PM_JAM1
% --- Executes on button press in radiobutton3.
function AM_JAM2_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton3
% --- Executes on button press in radiobutton4.
function PM_JAM2_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton4
% --- Executes on button press in radiobutton5.
function AM_JAM3_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton5
% --- Executes on button press in radiobutton6.
function PM_JAM3_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function MVDR_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function GSC_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function MWF_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function LCEC_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function PCI_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function PCA_MVB_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function SC_MVB_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function EC_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,Value) returns toggle state of radiobutton6
function reset_Callback(hObject, eventdata, handles)
% hObject handle to reset (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
initialize_gui(gcbf, handles, true); %改动处
function initialize_gui(fig_handle, handles, isreset)
% If the metricdata field is present and the reset flag is false, it means
% we are we are just re-initializing a GUI by calling it from the cmd line
% while it is up. So, bail out as we dont want to reset the data.
if isfield(handles, metricdata) ~isreset
return;
end
handles.metricdata.array_number = 16;
handles.metricdata.work_frequency = 3e9;
handles.metricdata.array_distance = 0.05;
handles.metricdata.work_wavelength = 0.1;
handles.metricdata.SNR = 0;
handles.metricdata.JNR1 = 30;
handles.metricdata.JNR2 = 30;
handles.metricdata.JNR3 = 30;
handles.metricdata.ang0 = 15;
handles.metricdata.ang1 = 25;
handles.metricdata.ang2 = 0;
handles.metricdata.ang3 = -15;
handles.metricdata.snap_number = 100;
handles.metricdata.sample_frequency = 18e9;
set(handles.array_number, String, handles.metricdata.array_number);
set(handles.work_frequency, String, handles.metricdata.work_frequency);
set(handles.array_distance, String, handles.metricdata.array_distance);
set(handles.work_wavelength, String, handles.metricdata.work_wavelength);
set(handles.SNR, String, handles.metricdata.SNR);
set(handles.JNR1, String, handles.metricdata.JNR1);
set(handles.JNR2, String, handles.metricdata.JNR2);
set(handles.JNR3, String, handles.metricdata.JNR3);
set(handles.ang0, String, handles.metricdata.ang0);
set(handles.ang1, String, handles.metricdata.ang1);
set(handles.ang2, String, handles.metricdata.ang2);
set(handles.ang3, String, handles.metricdata.ang3);
set(handles.snap_number, String, handles.metricdata.snap_number);
set(handles.sample_frequency, String, handles.metricdata.sample_frequency);
set(handles.AM_JAM1,Value,1,Enable,on);
set(handles.PM_JAM1,Value,0,Enable,on);
set(handles.AM_JAM2,Value,1,Enable,on);
set(handles.PM_JAM2,Value,0,Enable,on);
set(handles.AM_JAM3,Value,1,Enable,on);
set(handles.PM_JAM3,Value,0,Enable,on)
for k=1:length(ang)
for i=1:M
a(i)=exp(j*2*pi/lamda*d*(i-1)*sin(ang(k)*pi/180));
end
beam1(k)=W1*a;
end
beam1=abs(beam1);
beam1=beam1/max(beam1);
beam1=20*log10(beam1);
axes(handles.directional_diagram_axes)
plot(ang,beam1)
set(handles.directional_diagram_axes,XMinorTick,on)
grid on
⛄ 运行结果
⛄ 参考文献[1]杨鑫. 自适应波束形成器生成方法及系统:, CN110687528A[P]. 2020.
[2]袁海杰. 无源相控阵天线自适应波束算法优化及实现[D]. 西安电子科技大学.
❤️ 关注我领取海量matlab电子书和数学建模资料❤️部分理论引用网络文献,若有侵权联系博主删除
© ©
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。