一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【滤波器】基于matlab GUI FIR+IIR数字滤波器设计【含Matlab源码 324期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、数字滤波器设计简介

1 设计原理

1.1 滤波器概念

1.2 数字滤波器的系统函数和差分方程

1.3 数字滤波器结构的表示


1.4 数字滤波器的分类


2.1 IIR滤波器与FIR滤波器的分析比较

2.2 FIR滤波器的原理








3 FIR滤波器的仿真步骤

三、部分源代码

function varargout = lbq(varargin)
% LBQ MATLAB code for lbq.fig
%      LBQ, by itself, creates a new LBQ or raises the existing
%      singleton*.
%
%      H = LBQ returns the handle to a new LBQ or the handle to
%      the existing singleton*.
%
%      LBQ('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in LBQ.M with the given input arguments.
%
%      LBQ('Property','Value',...) creates a new LBQ or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before lbq_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to lbq_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 lbq% Last Modified by GUIDE v2.5 11-Jun-2017 11:17:17% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...'gui_Singleton',  gui_Singleton, ...'gui_OpeningFcn', @lbq_OpeningFcn, ...'gui_OutputFcn',  @lbq_OutputFcn, ...'gui_LayoutFcn',  [] , ...'gui_Callback',   []);
if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});
endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
elsegui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT% --- Executes just before lbq is made visible.
function lbq_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 lbq (see VARARGIN)% Choose default command line output for lbq
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes lbq wait for user response (see UIRESUME)
% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.
function varargout = lbq_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 pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
clear all;
fp=[300 400];fs=[200 500];
rp=3;rs=18;
Fs=2000;
wp=fp*2*pi/Fs;
ws=fs*2*pi/Fs;
%Firstly to finish frequency prewarping;
wap=2*Fs*tan(wp./2)
was=2*Fs*tan(ws./2);
[n,wn]=buttord(wap,was,rp,rs,'s');
%Note:'s'!
[z,p,k]=buttap(n);
[bp,ap]=zp2tf(z,p,k)
%
bw=wap(2)-wap(1)
w0=sqrt(wap(1)*wap(2))
[bs,as]=lp2bp(bp,ap,w0,bw)
%
[h1,w1]=freqs(bp,ap);
figure(1)
plot(w1,abs(h1));grid;
ylabel('lowpass G(p)')
%
w2=[0:Fs/2-1]*2*pi;
h2=freqs(bs,as,w2);
%Note:z=(2/Ts)(z-1)/(z+1);
[bz1,az1]=bilinear(bs,as,Fs)
[h3,w3]=freqz(bz1,az1,1000,Fs);
figure(2)
plot(w2/2/pi,20*log10(abs(h2)),w3,20*log10(abs(h3)));grid;
ylabel('Bandpass AF and DF')
xlabel('Hz')
% hObject    handle to pushbutton1 (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 pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
%基于窗函数设计FIR滤波器
wp=0.5*pi;ws=0.66*pi;%性能指标
wdelta=ws-wp;%通带宽度
N=ceil(8*pi/wdelta)    %滤波器长度
if rem(N,2)==0N=N+1;
end

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

【滤波器】基于matlab GUI FIR+IIR数字滤波器设计【含Matlab源码 324期】相关推荐

  1. iir数字滤波器设计及matlab实现,iir数字滤波器设计及其matlab实现

    iir数字滤波器设计及其matlab实现 1IIR 数字滤波器设计及其 MATLAB 实现自动化学院 杨梅 201422070125摘 要IIR 数 字 滤 波 器 在 设 计 上 可 以 借 助 成 ...

  2. 【运动学】基于matlab GUI三体运动模拟【含Matlab源码 871期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[运动学]基于matlab GUI三体运动模拟[含Matlab源码 871期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  3. 【音乐播放】基于matlab GUI动感音乐播放【含Matlab源码 778期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[音乐播放]基于matlab GUI动感音乐播放[含Matlab源码 778期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  4. 【雷达通信】基于matlab GUI相控阵雷达方向图【含Matlab源码 1048期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab GUI相控阵雷达方向图[含Matlab源码 1048期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  5. 【数据分析】基于matlab GUI齿轮箱振动数据分析【含Matlab源码 2122期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数据分析]基于matlab GUI齿轮箱振动数据分析[含Matlab源码 2122期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  6. 【光学】基于matlab GUI维达尔之眼计算【含Matlab源码 2545期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI维达尔之眼计算[含Matlab源码 2545期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  7. 【光学】基于matlab GUI双孔干涉【含Matlab源码 2119期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI双孔干涉[含Matlab源码 2119期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  8. 【光学】基于matlab GUI双缝干涉和牛顿环【含Matlab源码 2165期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI双缝干涉和牛顿环[含Matlab源码 2165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  9. 【数字信号】基于matlab GUI电话按键识别【含Matlab源码 2382期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号]基于matlab GUI电话按键识别[含Matlab源码 2382期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  10. Matlab GUI/APP 浅谈(附计算器源码)

    Matlab GUI/APP 浅谈(附计算器源码) 今天没有什么段子,也没有心灵鸡汤.毒鸡汤啥的,纯粹聊一聊这些年从有关MATLAB GUI/APP开发中悟出的一点道理,顺便把计算器的源代码给大家. ...

最新文章

  1. python使用sklearn中的make_classification函数生成分类模型(classification)需要的仿真数据、使用pandas查看生成数据的特征数据、目标数据
  2. 泰尔指数r语言_还在用Excel算区位基尼系数?用geo.gini吧!
  3. 二进制包 mysql_二进制包;mysql
  4. 6、Dcoker 容器数据卷用DockerFile添加
  5. mastercam2017安装教程
  6. 图形工作站计算机大全,图形工作站价格怎么样 图形工作站报价大集锦【图文】...
  7. PHP操作FTP类 (上传下载移动创建等)
  8. DataV:可视化大屏展示神器实战分享
  9. 【ArcGIS遇上Python】Python实现点转栅格(PointToRaster)
  10. 开发者最容易犯的13个JavaScript错误
  11. 【OpenCV 例程200篇】85. 频率域高通滤波器的应用
  12. ListT转换为DataTable
  13. ES7 设置磁盘使用率水位线 allocation.disk.watermark
  14. 搭建Dubbo开发学习环境——补充新版本的Dubbo-Admin的编译和执行过程
  15. 夏普 Sharp MX-M260 32位系统安装驱动后乱码
  16. 小学生C++趣味编程 视频集
  17. Linux磁盘空间管理利器--ncdu(为你的 系统瘦身)
  18. 也来说是 AngularJS、 Angular 2、Angular 4 的区别
  19. 为什么要升级PLM系统
  20. dismiss和remove_关于dismiss的用法,dismiss和fire的区别?

热门文章

  1. 配置Tomcat 域名解析 tomcat/conf server.xml
  2. SQLSERVER Tempdb的作用及优化
  3. imooc数据结构探险-栈篇 栈应用括号匹配二 由群友启发改良james_yuan老师算法
  4. 【工具】获取窗口与控件信息
  5. java.lang.NoClassDefFoundError: com.mobclick.android.MobclickAgent
  6. 20200517每日一句
  7. 190216每日一句
  8. opencv 光流法
  9. Atitit sql注入的防范 目录 1.1. 检查数据类型 1 2. 有限操作DML 1 2.1. 限制执行函数黑名单机制 2 2.2. 限制执行系统sp 2 2.3. 限制数据查询语句类型,只能
  10. Atitit 2016 技术趋势与没落技术 目录 1.1. 离线优先Web应用程序(Offline first web applications) 1 1.2. 依照产品而不是项目(product