📄 chebyshev2_real.m
字号:
function varargout = chebyshev2_real(varargin)% CHEBYSHEV2_REAL Application M-file for chebyshev2_real.fig% FIG = CHEBYSHEV2_REAL launch chebyshev2_real GUI.% CHEBYSHEV2_REAL('callback_name', ...) invoke the named callback.% Last Modified by GUIDE v2.0 06-Sep-2005 10:56:05if nargin == 0 % LAUNCH GUI fig = openfig(mfilename,'reuse'); % Use system color scheme for figure: set(fig,'Color',get(0,'defaultUicontrolBackgroundColor')); % Generate a structure of handles to pass to callbacks, and store it. handles = guihandles(fig); guidata(fig, handles); if nargout > 0 varargout{1} = fig; endelseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK try if (nargout) [varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard else feval(varargin{:}); % FEVAL switchyard end catch disp(lasterr); endend%| ABOUT CALLBACKS:%| GUIDE automatically appends subfunction prototypes to this file, and %| sets objects' callback properties to call them through the FEVAL %| switchyard above. This comment describes that mechanism.%|%| Each callback subfunction declaration has the following form:%| <SUBFUNCTION_NAME>(H, EVENTDATA, HANDLES, VARARGIN)%|%| The subfunction name is composed using the object's Tag and the %| callback type separated by '_', e.g. 'slider2_Callback',%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.%|%| H is the callback object's handle (obtained using GCBO).%|%| EVENTDATA is empty, but reserved for future use.%|%| HANDLES is a structure containing handles of components in GUI using%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This%| structure is created at GUI startup using GUIHANDLES and stored in%| the figure's application data using GUIDATA. A copy of the structure%| is passed to each callback. You can store additional information in%| this structure at GUI startup, and you can change the structure%| during callbacks. Call guidata(h, handles) after changing your%| copy to replace the stored original so that subsequent callbacks see%| the updates. Type "help guihandles" and "help guidata" for more%| information.%|%| VARARGIN contains any extra arguments you have passed to the%| callback. Specify the extra arguments by editing the callback%| property in the inspector. By default, GUIDE sets the property to:%| <MFILENAME>('<SUBFUNCTION_NAME>', gcbo, [], guidata(gcbo))%| Add any extra arguments after the last argument, before the final%| closing parenthesis.% --------------------------------------------------------------------function varargout = pushbutton2_Callback(h, eventdata, handles, varargin)close all;index2;% --------------------------------------------------------------------function varargout = pushbutton3_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = plot_button_Callback(h, eventdata, handles, varargin)global select_signal;global t;% Calculate datay = fft(select_signal,512);m = y.*conj(y)/512;a = angle(y);f = 1000*(0:256)/512;% Create time plotaxes(handles.time_axes)plot(t,select_signal)ylabel('Time-domain')set(handles.time_axes,'XMinorTick','on')grid on% Create magnitude plotaxes(handles.magnitude_axes)plot(f,m(1:257))ylabel('Magnitude');set(handles.magnitude_axes,'XMinorTick','on')grid on% Create phase plotaxes(handles.phase_axes)plot(f,a(1:257))ylabel('Phase(degree)');set(handles.phase_axes,'XMinorTick','on')grid on% --------------------------------------------------------------------function varargout = time_axes_CreateFcn(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = plot_button_CreateFcn(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = pushbutton2_CreateFcn(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = plot_button2_Callback(h, eventdata, handles, varargin)global select_signal;global t;Wp=str2double(get(handles.wp_input,'String'));Ws=str2double(get(handles.ws_input,'String'));Rp=str2double(get(handles.rp_input,'String'));Rs=str2double(get(handles.rs_input,'String'));sa=str2double(get(handles.sample_input,'String'));val = get(handles.pop_menu,'Value');switch val; case 1 [N,Wn]=cheb2ord(Wp/(sa/2),Ws/(sa/2),Rp,Rs);[b,a]=cheby2(N,Rp,Wn,'high');figure(1)freqz(b,a,sa);figure(2)[h,tr]=impz(b,a,101);stem(tr,h)grid onyfilt=filter(b,a,select_signal);% Calculate datayy = fft(yfilt,512);mm = yy.*conj(yy)/512;aa = angle(yy);ff = 1000*(0:256)/512; % Create time plotaxes(handles.filter_axes1)plot(t,yfilt)set(handles.time_axes,'XMinorTick','on')grid on% Create magnitude plotaxes(handles.filter_axes2)plot(ff,mm(1:257))set(handles.magnitude_axes,'XMinorTick','on')grid on% Create phase plotaxes(handles.filter_axes3)plot(ff,aa(1:257))set(handles.phase_axes,'XMinorTick','on')grid on case 2 [N,Wn]=cheb2ord(Wp/(sa/2),Ws/(sa/2),Rp,Rs);[b,a]=cheby2(N,Rp,Wn,'low');figure(1)freqz(b,a,sa);figure(2)[h,tr]=impz(b,a,101);stem(tr,h)grid onyfilt=filter(b,a,select_signal);% Calculate datayy = fft(yfilt,512);mm = yy.*conj(yy)/512;aa = angle(yy);ff = 1000*(0:256)/512; % Create time plotaxes(handles.filter_axes1)plot(t,yfilt)set(handles.time_axes,'XMinorTick','on')grid on% Create magnitude plotaxes(handles.filter_axes2)plot(ff,mm(1:257))set(handles.magnitude_axes,'XMinorTick','on')grid on% Create phase plotaxes(handles.filter_axes3)plot(ff,aa(1:257))set(handles.phase_axes,'XMinorTick','on')grid on end% --------------------------------------------------------------------function varargout = w1_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = w2_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = sample_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = order_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = popupmenu1_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = filter_button_Callback(h, eventdata, handles, varargin)global select_signal;global t;f = 1000*(0:198)/512;c=conv(select_signal(1:100),handles.h(1:100));length(c)figure(1)plot(f,c)mag=abs(handles.h);db=10*log10(mag);axes(handles.filter_axes1)grid on% --- Executes during object creation, after setting all properties.function win_pop_CreateFcn(hObject, eventdata, handles)% hObject handle to win_pop (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end% --- Executes on selection change in win_pop.function win_pop_Callback(hObject, eventdata, handles)% hObject handle to win_pop (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns win_pop contents as cell array% contents{get(hObject,'Value')} returns selected item from win_pop% --------------------------------------------------------------------function varargout = wp_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = ws_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = fs_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = rp_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = rs_input_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = pushbutton7_Callback(h, eventdata, handles, varargin)close all;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -