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

📄 dplresolution.m

📁 在MATLAB环境下设计一个加速度计动态校准的数据处理软件附有程序源代码,压缩包中有软件使用说明
💻 M
📖 第 1 页 / 共 5 页
字号:
function varargout = DPLResolution(varargin)
% DPLRESOLUTION M-file for DPLResolution.fig
%      DPLRESOLUTION, by itself, creates a new DPLRESOLUTION or raises the existing
%      singleton*.
%
%      H = DPLRESOLUTION returns the handle to a new DPLRESOLUTION or the handle to
%      the existing singleton*.
%
%      DPLRESOLUTION('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in DPLRESOLUTION.M with the given input arguments.
%
%      DPLRESOLUTION('Property','Value',...) creates a new DPLRESOLUTION or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before DPLResolution_OpeningFunction gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to DPLResolution_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 DPLResolution

% Last Modified by GUIDE v2.5 27-Aug-2006 14:44:23

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @DPLResolution_OpeningFcn, ...
                   'gui_OutputFcn',  @DPLResolution_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 DPLResolution is made visible.
function DPLResolution_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 DPLResolution (see VARARGIN)
BackColor=get(findobj('Tag','uipanel21'),'BackgroundColor');
set(findobj('Tag','uipanel28'),'HighlightColor',BackColor);
set(findobj('Tag','uipanel30'),'HighlightColor',BackColor);
set(findobj('Tag','uipanel31'),'HighlightColor',BackColor);
load DPR_DataSupport DPRCover_PopMenuSTD_Value DPRCover_PopMenuTEA_Value DPRCover_PopMenuTEB_Value DPRCover_PopMenuCOL_Value;
if DPRCover_PopMenuTEA_Value==4
    set(findobj('Tag','text2'),'Visible','off');
    set(findobj('Tag','pushbutton17'),'Visible','off');
    set(findobj('Tag','text21'),'Visible','off');
    set(findobj('Tag','text44'),'Visible','off');
    set(findobj('Tag','text49'),'Visible','off');
    set(findobj('Tag','edit11'),'Visible','off');
    set(findobj('Tag','text55'),'Visible','off');
    set(findobj('Tag','edit17'),'Visible','off');
    set(findobj('Tag','text57'),'Visible','off');
    set(findobj('Tag','text63'),'Visible','off');
    set(findobj('Tag','radiobutton15'),'Visible','off');
    set(findobj('Tag','radiobutton16'),'Visible','off');
    set(findobj('Tag','text78'),'Visible','off');
end
if DPRCover_PopMenuTEB_Value==4
    set(findobj('Tag','text3'),'Visible','off');
    set(findobj('Tag','pushbutton18'),'Visible','off');
    set(findobj('Tag','text20'),'Visible','off');
    set(findobj('Tag','text43'),'Visible','off');
    set(findobj('Tag','text50'),'Visible','off');
    set(findobj('Tag','edit12'),'Visible','off');
    set(findobj('Tag','text54'),'Visible','off');
    set(findobj('Tag','edit18'),'Visible','off');
    set(findobj('Tag','text58'),'Visible','off');
    set(findobj('Tag','text64'),'Visible','off');
    set(findobj('Tag','radiobutton17'),'Visible','off');
    set(findobj('Tag','radiobutton18'),'Visible','off');
    set(findobj('Tag','text79'),'Visible','off');
end
set(findobj('Tag','pushbutton39'),'Enable','on');
load DPR_DataSupport CHSTD_Status CHTEA_Status CHTEB_Status countSTD;
if DPRCover_PopMenuTEA_Value==4 & (any(CHSTD_Status) & any(CHTEB_Status))
    set(findobj('Tag','pushbutton9'),'Enable','on');
    handles.DPR_DataSTD=handles.DPR_DataSTD_Backup;
    handles.DPR_DataTEB=handles.DPR_DataTEB_Backup;
    x=1:countSTD;
    plot(x,handles.DPR_DataSTD,'r',x,handles.DPR_DataTEB,'y')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
elseif DPRCover_PopMenuTEB_Value==4 & (any(CHSTD_Status) & any(CHTEA_Status))
    set(findobj('Tag','pushbutton9'),'Enable','on');
    handles.DPR_DataSTD=handles.DPR_DataSTD_Backup;
    handles.DPR_DataTEA=handles.DPR_DataTEA_Backup;
    x=1:countSTD;
    plot(x,handles.DPR_DataSTD,'r',x,handles.DPR_DataTEA,'c')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
elseif DPRCover_PopMenuTEA_Value==4 & DPRCover_PopMenuTEB_Value==4 & any(CHSTD_Status)
    set(findobj('Tag','pushbutton9'),'Enable','on');
    handles.DPR_DataSTD=handles.DPR_DataSTD_Backup;
    x=1:countSTD;
    plot(x,handles.DPR_DataSTD,'r')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
elseif DPRCover_PopMenuTEA_Value~=4 & DPRCover_PopMenuTEB_Value~=4 & (any(CHSTD_Status) & any(CHTEA_Status) & any(CHTEB_Status))
    set(findobj('Tag','pushbutton9'),'Enable','on');
    handles.DPR_DataSTD=handles.DPR_DataSTD_Backup;
    handles.DPR_DataTEA=handles.DPR_DataTEA_Backup;
    handles.DPR_DataTEB=handles.DPR_DataTEB_Backup;
    x=1:countSTD;
    plot(x,handles.DPR_DataSTD,'r',x,handles.DPR_DataTEA,'c',x,handles.DPR_DataTEB,'y')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
else
    cla;
    set(findobj('Tag','pushbutton9'),'Enable','off');
end
hold off;
% Choose default command line output for DPLResolution
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);

% UIWAIT makes DPLResolution wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = DPLResolution_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 structure
varargout{1} = handles.output;

% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton11 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close;
run DPLResolutionCover;

% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton10 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton9 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
hold off;
set(hObject,'Enable','off');
set(findobj('Tag','pushbutton39'),'Enable','off');
load DPR_DataSupport DPRCover_PopMenuSTD_Value DPRCover_PopMenuTEA_Value DPRCover_PopMenuTEB_Value;
if DPRCover_PopMenuSTD_Value==1 | DPRCover_PopMenuTEA_Value==1 | DPRCover_PopMenuTEB_Value==1
    f=[0 0.0005 0.001 0.4 0.42 1];
    m=[0 0 1 1 0 0];
    b=firls(501,f,m);
    title('操作提示:选择多普勒信号的开始点,去掉开始部分的不正常信号','FontSize',10)
    [x,y]=ginput;
    title('')
    x_front=round(x);
    size_xfront=size(x_front);
    x_front=x_front(size_xfront(1,1));
    if DPRCover_PopMenuSTD_Value==1
        handles.DPR_DataSTD([1:x_front],1)=sum(handles.DPR_DataSTD([x_front:x_front+9],1))/10;
    end
    if DPRCover_PopMenuTEA_Value==1
        handles.DPR_DataTEA([1:x_front],1)=sum(handles.DPR_DataTEA([x_front:x_front+9],1))/10;
    end
    if DPRCover_PopMenuTEB_Value==1
        handles.DPR_DataTEB([1:x_front],1)=sum(handles.DPR_DataTEB([x_front:x_front+9],1))/10;
    end
    x=1:handles.countSTD;
    plot(x,handles.DPR_DataSTD,'r')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
    hold on;
    if DPRCover_PopMenuTEA_Value~=4   
        plot(x,handles.DPR_DataTEA,'c')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
        hold on;
    end
    if DPRCover_PopMenuTEB_Value~=4   
        plot(x,handles.DPR_DataTEB,'y')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
    end
    hold off;
    title('操作提示:选择结尾点,去掉结尾部分的不正常信号','FontSize',10)
    [x,y]=ginput;
    title('')
    x_back1=round(x);
    size_xback1=size(x_back1);
    x_back1=x_back1(size_xback1(1,1));
    set(findobj('Tag','edit24'),'String',num2str(x_back1));
    handles.DPR_DataSTD=handles.DPR_DataSTD([1:x_back1],1);
    if DPRCover_PopMenuTEA_Value~=4
        handles.DPR_DataTEA=handles.DPR_DataTEA([1:x_back1],1);
    end
    if DPRCover_PopMenuTEB_Value~=4
        handles.DPR_DataTEB=handles.DPR_DataTEB([1:x_back1],1);
    end
    hold off;
    if DPRCover_PopMenuSTD_Value==1
        handles.DPR_DataSTD=filtfilt(b,1,handles.DPR_DataSTD);
    end
    if DPRCover_PopMenuTEA_Value==1
        handles.DPR_DataTEA=filtfilt(b,1,handles.DPR_DataTEA);
    end
    if DPRCover_PopMenuTEB_Value==1
        handles.DPR_DataTEB=filtfilt(b,1,handles.DPR_DataTEB);
    end
    x=1:x_back1;
    plot(x,handles.DPR_DataSTD,'r')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
    hold on;
    if DPRCover_PopMenuTEA_Value~=4
        plot(x,handles.DPR_DataTEA,'c')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
        hold on;
    end
    if DPRCover_PopMenuTEB_Value~=4
        plot(x,handles.DPR_DataTEB,'y')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
    end
    hold off;
    title('操作提示:再次选择多普勒信号的结尾点,去掉结尾部分滤波不正常的信号','FontSize',10)
    [x,y]=ginput;
    title('')
    x_back2=round(x);
    size_xback2=size(x_back2);
    x_back2=x_back2(size_xback2(1,1));
    set(findobj('Tag','edit24'),'String',num2str(x_back2));
    handles.DPR_DataSTD=handles.DPR_DataSTD([1:x_back2],1);
    x=1:x_back2;
    plot(x,handles.DPR_DataSTD,'r')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
    hold on;
    if DPRCover_PopMenuTEA_Value~=4
        handles.DPR_DataTEA=handles.DPR_DataTEA([1:x_back2],1);
        plot(x,handles.DPR_DataTEA,'c')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
        hold on;
    end
    if DPRCover_PopMenuTEB_Value~=4
        handles.DPR_DataTEB=handles.DPR_DataTEB([1:x_back2],1);
        plot(x,handles.DPR_DataTEB,'y')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
    end
    hold off;
    if DPRCover_PopMenuSTD_Value==1
        handles.DPR_DataSTD=hilbert(handles.DPR_DataSTD);
        handles.DPR_DataSTD=angle(handles.DPR_DataSTD)+pi;
        handles.DPR_DataSTD=unwrap(handles.DPR_DataSTD,1);
    else
        handles.DPR_DataSTD=handles.DPR_DataSTD.*100;
    end
    if DPRCover_PopMenuTEA_Value==1
        handles.DPR_DataTEA=hilbert(handles.DPR_DataTEA);
        handles.DPR_DataTEA=angle(handles.DPR_DataTEA)+pi;
        handles.DPR_DataTEA=unwrap(handles.DPR_DataTEA,1);
    end
    if DPRCover_PopMenuTEA_Value~=1 & DPRCover_PopMenuTEA_Value~=4
        handles.DPR_DataTEA=handles.DPR_DataTEA.*100;
    end
    if DPRCover_PopMenuTEB_Value==1
        handles.DPR_DataTEB=hilbert(handles.DPR_DataTEB);
        handles.DPR_DataTEB=angle(handles.DPR_DataTEB)+pi;
        handles.DPR_DataTEB=unwrap(handles.DPR_DataTEB,1);
    end
    if DPRCover_PopMenuTEB_Value~=1 & DPRCover_PopMenuTEB_Value~=4
        handles.DPR_DataTEB=handles.DPR_DataTEB.*100;
    end
    x=1:x_back2;
    plot(x,handles.DPR_DataSTD,'r')
    set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
    grid on;zoom off;zoom xon;
    hold on;
    if DPRCover_PopMenuTEA_Value~=4
        plot(x,handles.DPR_DataTEA,'c')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
        hold on;
    end
    if DPRCover_PopMenuTEB_Value~=4
        plot(x,handles.DPR_DataTEB,'y')
        set(gca,'Color',[0,0,0],'XColor',[0,1/2,0],'YColor',[0,1/2,0]);
        grid on;zoom off;zoom xon;
    end
    hold off;
    if DPRCover_PopMenuSTD_Value~=1
        handles.DPR_DataSTD=handles.DPR_DataSTD./100;
    end
    if DPRCover_PopMenuTEA_Value~=1 & DPRCover_PopMenuTEA_Value~=4
        handles.DPR_DataTEA=handles.DPR_DataTEA./100;
    end
    if DPRCover_PopMenuTEB_Value~=1 & DPRCover_PopMenuTEB_Value~=4
        handles.DPR_DataTEB=handles.DPR_DataTEB./100;
    end
else 
    x_back2=handles.countSTD;
end
load DPR_DataSupport DPR_AmpSTD DPR_AmpTEA DPR_AmpTEB;

⌨️ 快捷键说明

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