滤波器基于matlab GUI高通+低通+带通+带阻FIR滤波器设计含Matlab源码 1345期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了滤波器基于matlab GUI高通+低通+带通+带阻FIR滤波器设计含Matlab源码 1345期相关的知识,希望对你有一定的参考价值。
一、数字滤波器设计简介(附课题作业报告)
1 设计原理
1.1 滤波器概念
1.2 数字滤波器的系统函数和差分方程
1.3 数字滤波器结构的表示
1.4 数字滤波器的分类
2.1 IIR滤波器与FIR滤波器的分析比较
2.2 FIR滤波器的原理
3 FIR滤波器的仿真步骤
二、部分源代码
function varargout = yemian(varargin)
% yemian M-file for yemian.fig
% yemian, by itself, creates a new yemian or raises the existing
% singleton*.
%
% H = yemian returns the handle to a new yemian or the handle to
% the existing singleton*.
%
% yemian('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in yemian.M with the given input arguments.
%
% yemian('Property','Value',...) creates a new yemian or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before yemian_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to yemian_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
%
% Edit the above text to modify the response to help yemian
% Last Modified by GUIDE v2.5 17-Jun-2021 23:53:25
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @yemian_OpeningFcn, ...
'gui_OutputFcn', @yemian_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 yemian is made visible.
function yemian_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 yemian (see VARARGIN)
% Choose default command line output for yemian
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes yemian wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = yemian_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 GUIRUN.
function GUIRUN_Callback(hObject, eventdata, handles)
luogwei(handles)
% hObject handle to GUIRUN (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes during object creation, after setting all properties.
function axes1_CreateFcn(hObject, eventdata, handles)
axes(hObject);
RGB=imread('33.jpg');
image(RGB);
set(hObject,'xTick',[]);%x§
set(hObject,'ytick',[]);%
set(hObject,'box','off');%
text(600,700,'welcom','fontsize',8,'color','b');%
text(600,900,'0801130534','fontsize',8,'color','r');
% hObject handle to axes1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: place code in OpeningFcn to populate axes1
% --- Executes during object creation, after setting all properties.
% hObject handle to axes2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: place code in OpeningFcn to populate axes2
% --- Executes during object creation, after setting all properties.
function axes3_CreateFcn(hObject, eventdata, handles)
axes(hObject);
RGB=imread('2.jpg');
image(RGB);
set(hObject,'xTick',[]);
set(hObject,'ytick',[]);
%set(hObject,'box','off');
% hObject handle to axes3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: place code in OpeningFcn to populate axes3
% --- Executes just before nizhiqing is made visible.
function nizhiqing_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 unrecognized PropertyName/PropertyValue pairs from the
% command line (see VARARGIN)
% Choose default command line output for nizhiqing
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
function AutoChoose(handles)
Nn=128;
DigitalFilter_value=get(handles.DigitalFilter,'Value');
FilterDesign_value=get(handles.FilterDesign,'Value');
Windows_value=get(handles.Windows,'Value');
FilterType_value=get(handles.FilterType,'Value');
DisplayType_value=get(handles.DisplayType,'Value');
Order_value=get(handles.Order,'Value');
Rp_value=str2double(get(handles.Rp,'String'));
Rs_value=str2double(get(handles.Rs,'String'));
Fs_value=str2double(get(handles.Fs,'String'));
Fp1_value=str2double(get(handles.Fp1,'String'));
Fp2_value=str2double(get(handles.Fp2,'String'));
Fst1_value=str2double(get(handles.Fst1,'String'));
Fst2_value=str2double(get(handles.Fst2,'String'));
wp1=2*Fp1_value/Fs_value;
wp2=2*Fp2_value/Fs_value;
ws1=2*Fst1_value/Fs_value;
ws2=2*Fst2_value/Fs_value;
wp=[wp1,wp2];
ws=[ws1,ws2];
%IIR
if(DigitalFilter_value==1)
%IIR lowpass or highpassor bandpass or stoppass
%butter word
if(FilterDesign_value==1)
%lowpass or highpass
if((FilterType_value==1)||(FilterType_value==2))
[n,Wn]=buttord(wp1,ws1,Rp_value,Rs_value)
%set(handles.MinOrderDisplay,'string',num2str(n))
else
%bandpass or stoppass
if((FilterType_value==3)||(FilterType_value==4))
[n,Wn]=buttord(wp,ws,Rp_value,Rs_value)
set(handles.MinOrderDisplay,'string',num2str(n))
end
end
else
%cheby1
if(FilterDesign_value==2)
%lowpass or highpass
if((FilterType_value==1)||(FilterType_value==2))
[n,Wn]=cheb1ord(wp1,ws1,Rp_value,Rs_value);
set(handles.MinOrderDisplay,'string',num2str(n));
else
%bandpass or stoppass
if((FilterType_value==3)||(FilterType_value==4))
[n,Wn]=cheb1ord(wp,ws,Rp_value,Rs_value)
set(handles.MinOrderDisplay,'string',num2str(n))
end
end
else
%cheby2
if(FilterDesign_value==3)
%lowpass or highpass
if((FilterType_value==1)||(FilterType_value==2))
[n,Wn]=cheb2ord(wp1,ws1,Rp_value,Rs_value);
set(handles.MinOrderDisplay,'string',num2str(n));
else
%bandpass or stoppass
if((FilterType_value==3)||(FilterType_value==4))
[n,Wn]=cheb2ord(wp,ws,Rp_value,Rs_value);
set(handles.MinOrderDisplay,'string',num2str(n));
end
end
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
以上是关于滤波器基于matlab GUI高通+低通+带通+带阻FIR滤波器设计含Matlab源码 1345期的主要内容,如果未能解决你的问题,请参考以下文章
滤波器基于matlab GUI高通+低通+带通+带阻FIR滤波器设计含Matlab源码 1345期
图像去噪基于matlab高通+低通+带通+方向滤波器图像滤波含Matlab源码 1209期