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

📄 fir_rand.m

📁 自己编写的信号产生和处理软件
💻 M
字号:
function varargout = fir_rand(varargin)% FIR_RAND Application M-file for fir_rand.fig%    FIG = FIR_RAND launch fir_rand GUI.%    FIR_RAND('callback_name', ...) invoke the named callback.% Last Modified by GUIDE v2.0 06-Sep-2005 10:58:29if 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;sa=str2double(get(handles.sample_input,'String'));% Calculate data[Py,fy]=pburg(select_signal,10,length(t),sa);% 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.psd_axes)plot(fy,Py)ylabel('Frequency-domain')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;ord=str2double(get(handles.order_input,'String'));wl=str2double(get(handles.w1_input,'String'));wh=str2double(get(handles.w2_input,'String'));sa=str2double(get(handles.sample_input,'String'));val = get(handles.win_pop,'Value');switch val    case 1        windo=rectwin(ord+1);    case 2        windo=triang(ord+1);    case 3        windo=hann(ord+1);    case 4        windo=chebwin(ord+1,3);endval = get(handles.pop_menu,'Value');switch val;    case 1         b=fir1(ord,wh/(sa/2),'high',windo);        figure(1)        freqz(b,1)        yfilt=filter(b,1,select_signal);        [Py,fy]=pburg(select_signal,10,length(t),sa);        [Pyfilt,fyfilt]=pburg(yfilt,10,length(t),sa);                 axes(handles.filter_axes1)        plot(t,yfilt)        grid on                axes(handles.filter_axes2)        plot(fyfilt,Pyfilt)        grid on    case 2        b=fir1(ord,[wl/(sa/2),wh/(sa/2)],'bandpass',windo);        figure(1)        freqz(b,1)        yfilt=filter(b,1,select_signal);        [Py,fy]=pburg(select_signal,10,length(t),sa);        [Pyfilt,fyfilt]=pburg(yfilt,10,length(t),sa);                 axes(handles.filter_axes1)        plot(t,yfilt)        grid on                axes(handles.filter_axes2)        plot(fyfilt,Pyfilt)        grid on                            case 3        b=fir1(ord,[wl/(sa/2),wh/(sa/2)],'stop',windo);        figure(1)        freqz(b,1)        yfilt=filter(b,1,select_signal);        [Py,fy]=pburg(select_signal,10,length(t),sa);        [Pyfilt,fyfilt]=pburg(yfilt,10,length(t),sa);                 axes(handles.filter_axes1)        plot(t,yfilt)        grid on                axes(handles.filter_axes2)        plot(fyfilt,Pyfilt)        grid on           case 4        b=fir1(ord,wl/(sa/2),'low',windo);        figure(1)        freqz(b,1)        yfilt=filter(b,1,select_signal);        [Py,fy]=pburg(select_signal,10,length(t),sa);        [Pyfilt,fyfilt]=pburg(yfilt,10,length(t),sa);                 axes(handles.filter_axes1)        plot(t,yfilt)        grid on                axes(handles.filter_axes2)        plot(fyfilt,Pyfilt)        grid onend% --------------------------------------------------------------------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 = pushbutton7_Callback(h, eventdata, handles, varargin)close all;

⌨️ 快捷键说明

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