前言

这次用matlab做IIR滤波,掉到了坑里,花了好久的功夫后,终于爬上来了,记录一下,免得下次再掉而不自知。。。

1. IIR滤波方法一

在给定IIR滤波器参数a、b的情况下,实现IIR滤波,代码如下:

iir_obj = dsp.IIRFilter('Numerator', b,'Denominator', a); % Create the dsp.IIRFilter object and set its properties.
dout    = iir_obj(din); % The System object filters each column of the input signal independently over time.

注意,这里的输入数据din需要以单列的方式提供,即size(din)需要是data_len x 1,因为根据matlab提供的官方说明(已摘抄在上述代码的注释中,或用help dsp.IIRFilter打开查看全部),这种方式的滤波是按照列独立滤波的。也就是说,如果输入数据的第一列为I相,第二列为Q相,可以支持一次调用IQ两路同时滤波,而互不干扰。

这种方式的IIR滤波,在多通道时是方便了,但是在单通道滤波时,很不方便,而且还有埋坑嫌疑。因为还需要特意关注输入数据格式,即是否需要转置后再输入数据,如果遗漏转置的话,或者说输入数据为单行时,虽然代码能正常跑起来,不报错,但是却没有真正实现滤波,这个就像给自己埋了个雷,不知道啥时候会炸,所以,不推荐这种IIR滤波方法。(因为已经被炸过一回,有了惨痛的教训!为了避免以后再掉坑里,必须这次记下来!)

由于matlab中可以用x(:)的方式将x变为列向量。尤其是当你不知道输入是列还是行向量时,总是用x(:)的方式是一个避坑的好方法。所以,在单行或者单列的时,直接统一先用x(:)的方式处理下,代码如下:

iir_obj = dsp.IIRFilter('Numerator', b,'Denominator', a); % Create the dsp.IIRFilter object and set its properties.
dout    = iir_obj(din(:)); % The System object filters each column of the input signal independently over time.

2. IIR滤波方法二

dout = filter(b, a, din);

第一种IIR滤波方法不行,那么怎么办呢?用这种!简单还好用。

经检验,输入数据单行、单列的方式,都可以有效滤波。(所以说代码写得炫,未必好用。。。)

matlab IIR滤波相关推荐

  1. 基于FPGA的数字滤波器设计(IIR滤波)

    基本原理 1. IIR数字滤波器设计的基本原理 基本原理和结构.IIR滤波器,即无线脉冲响应滤波器,其答案为脉冲响应是无限长的,传递函数可以表示为式. IIR滤波器有直接I型,直接II型,级联型及并 ...

  2. IIR滤波器设计(调用MATLAB IIR函数来实现)

    转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途 对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求甚解,也没用过. ...

  3. matlab soble滤波,MATLAB 图像滤波去噪分析及其应用

    MATLAB 图像滤波去噪分析及其应用 第1章 图像颜色空间相互转换与MATLAB实现 1.1 图像颜色空间原理 1.1.1 RGB颜色空间 1.1.2 YCbCr颜色空间 1.1.3 YUV颜色空间 ...

  4. matlab调和均值滤波_matlab均值滤波(原创).doc

    matlab均值滤波(原创) clear all;close all;P=input('input picture data:');d=size(P);if(d(3)>1) P=rgb2gray ...

  5. 2020电赛A题(心电波形,lcd显示,心率计算,iir滤波处理)

    STM32心电波形显示 心率计算 1.硬件部分 心率信号收集的硬件部分采用了ADS1292模块(淘宝就有卖),这个芯片也是TI的要求使用芯片. 除了ADS1292的另外一块芯片的作用是电源隔离 购买模 ...

  6. matlab频域滤波处理,手动滤波,图像去网格背景:频域中手动选择目标区域进行滤波,滤掉噪声,灵活地达到理想的效果。

    目录 一.原理简介 二.现有方法 三.代码实现 四.测试结果图 一.原理简介 主要思路为:通过傅里叶变换,将图像显示在频率域中,通过观察频谱图,如果了解频谱图与原图之间的关联,可以较为容易地发现噪声在 ...

  7. 【图像融合】基于matlab导向滤波图像融合【含Matlab源码 1959期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像融合]基于matlab导向滤波图像融合[含Matlab源码 1959期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  8. matlab实现中值滤波程序,中值滤波流程(matlab平滑滤波和中值滤波程序)

    matlab平滑滤波和中值滤波程序 glRasterPos2i(100,100); //定位当前光标 glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'H'); //写 ...

  9. matlab做拉普拉斯曲线,Matlab 拉普拉斯滤波 以及 imfilter 详解(多图)

    Matlab 拉普拉斯滤波 以及 imfilter 详解(多图) 08-08栏目:技术 TAG:imfilter imfilter 代码: jhua.orgclc clear all A=imread ...

  10. 常用模拟低通滤波器的设计~经典 IIR 滤波器之巴特沃斯滤波器

    目录 常用模拟低通滤波器的设计--巴特沃斯(Butterworth)滤波器 1.确定系统函数的极点 2.巴特沃斯(Butterworth)滤波器 2.1.buttap 函数 2.2.buttord 函 ...

最新文章

  1. 杭电多校(六)2019.08.07--暑假集训
  2. 基于SCVMM对虚拟化服务器与虚拟机管理权限分配用户角色
  3. Win11正式发布新功能
  4. [转载] Python: ord()函数
  5. 居家隔离的第5天,我们整了个六边形战士
  6. 数值的八进制、十六进制表示,及以二进制进行显示
  7. 7.1-7.31推荐文章汇总
  8. OpenCV算法精解3--OpenCV中C++矩阵基本运算
  9. Unity Editor 编辑器扩展 九 Gizmos
  10. iOS 中input隐藏输入光标
  11. java登陆注册 mysql_Java+mysql用户注册登录功能
  12. 个人理财类书籍推荐 -- From一亩三分地 帖子
  13. 微信小程序(五)--- Vant组件库,API Promise化,MboX全局数据共享,分包相关
  14. 浅谈矩阵变换——Matrix
  15. 锁存器 D触发器 寄存器区别 详细区别解释 Latch D Flipflop register
  16. 无线局域网简介 小白级别
  17. Day【10】相交链表
  18. 让html成为电脑桌面背景
  19. PbootCms微信小程序官网模版
  20. Python对浏览器的自动化操作(商品监控下单)

热门文章

  1. sap 消耗策略999_SAP 计划策略测试一
  2. Host 'admin-PC' is not allowed to connect to this MySQL server
  3. 密码库LibTomCrypt学习记录——(2.2)分组密码算法的工作模式——ECB模式
  4. mac win7 计算机,详解mac如何安装win7
  5. python车牌识别系统开源代码_TensorFlow车牌识别完整版代码(含车牌数据集)
  6. vim安装airline
  7. Windows程序设计(5):移动窗口、调整窗口大小
  8. 大型网站应用之海量数据解决方案
  9. Winform 定时器
  10. 盘点VB编程重要知识点集合。