当前位置: 代码迷 >> 综合 >> 【信息处理】基于GUI数字波束的算法库含Matlab源码
  详细解决方案

【信息处理】基于GUI数字波束的算法库含Matlab源码

热度:100   发布时间:2023-12-03 17:29:36.0

1 简介

将多种数字波束形成算法融合到一个平台,不仅丰富了数字波束形成仿真平台的功能,而且还可以为用户二次开发提供便利.利用MATLAB GUI开发了包含线性约束最小方差(LCMV),最小方差无失真响应(MVDR),最大信噪比(MSNR)准则等算法的波束形成仿真平台,该设计实现了与用户交互,波束形成过程可视化,方便对波束形成算法的研究,是研究自适应波束形成的一个有力工具.?

2 部分代码

function varargout = algrithem_database(varargin)% ALGRITHEM_DATABASE M-file for algrithem_database.fig%      ALGRITHEM_DATABASE, by itself, creates a new ALGRITHEM_DATABASE or raises the existing%      singleton*.%%      H = ALGRITHEM_DATABASE returns the handle to a new ALGRITHEM_DATABASE or the handle to%      the existing singleton*.%%      ALGRITHEM_DATABASE('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in ALGRITHEM_DATABASE.M with the given input arguments.%%      ALGRITHEM_DATABASE('Property','Value',...) creates a new ALGRITHEM_DATABASE or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before algrithem_database_OpeningFunction gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to algrithem_database_OpeningFcn via varargin.%%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one%      instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help algrithem_database% Last Modified by GUIDE v2.5 15-May-2006 00:06:21% Begin initialization code - DO NOT EDITgui_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 = 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 algrithem_database is made visible.function algrithem_database_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% varargin   command line arguments to algrithem_database (see VARARGIN)% Choose default command line output for algrithem_databasehandles.output = hObject;% Update handles structureguidata(hObject, handles);?initialize_gui(hObject, handles, false);      %初始化界面% UIWAIT makes algrithem_database wait for user response (see UIRESUME)% uiwait(handles.figure1);?% --- Outputs from this function are returned to the command line.function varargout = algrithem_database_OutputFcn(hObject, eventdata, handles) % varargout  cell array for returning output args (see VARARGOUT);% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;???function array_number_Callback(hObject, eventdata, handles)% hObject    handle to array_number (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 array_number as text%        str2double(get(hObject,'String')) returns contents of array_number as a doublearray_number = str2double(get(hObject, 'String'));% if isnan(array_number)%     set(hObject, 'String', 0);%     errordlg('Input must be a number','Error');% end% Save the new array_number valuehandles.metricdata.array_number = array_number;guidata(hObject,handles)% --- Executes during object creation, after setting all properties.function array_number_CreateFcn(hObject, eventdata, handles)% hObject    handle to array_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');% endusewhitebg = 1;if usewhitebg    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end????function work_frequency_Callback(hObject, eventdata, handles)% hObject    handle to work_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 work_frequency as text%        str2double(get(hObject,'String')) returns contents of work_frequency as a doublework_frequency = str2double(get(hObject, 'String'));% if isnan(work_frequency)%     set(hObject, 'String', 0);%     errordlg('Input must be a number','Error');% end% Save the new volume valuehandles.metricdata.work_frequency = work_frequency;guidata(hObject,handles)% --- Executes during object creation, after setting all properties.function work_frequency_CreateFcn(hObject, eventdata, handles)% hObject    handle to work_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');% endusewhitebg = 1;if usewhitebg    set(hObject,'BackgroundColor','white');else    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));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

3 仿真结果

4 参考文献

[1]张晓东. 基于MATLAB GUI的几种数字波束形成算法设计与仿真[J].  2022(5).

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

  相关解决方案