matlab IIR滤波
前言
这次用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滤波相关推荐
- 基于FPGA的数字滤波器设计(IIR滤波)
基本原理 1. IIR数字滤波器设计的基本原理 基本原理和结构.IIR滤波器,即无线脉冲响应滤波器,其答案为脉冲响应是无限长的,传递函数可以表示为式. IIR滤波器有直接I型,直接II型,级联型及并 ...
- IIR滤波器设计(调用MATLAB IIR函数来实现)
转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途 对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求甚解,也没用过. ...
- matlab soble滤波,MATLAB 图像滤波去噪分析及其应用
MATLAB 图像滤波去噪分析及其应用 第1章 图像颜色空间相互转换与MATLAB实现 1.1 图像颜色空间原理 1.1.1 RGB颜色空间 1.1.2 YCbCr颜色空间 1.1.3 YUV颜色空间 ...
- matlab调和均值滤波_matlab均值滤波(原创).doc
matlab均值滤波(原创) clear all;close all;P=input('input picture data:');d=size(P);if(d(3)>1) P=rgb2gray ...
- 2020电赛A题(心电波形,lcd显示,心率计算,iir滤波处理)
STM32心电波形显示 心率计算 1.硬件部分 心率信号收集的硬件部分采用了ADS1292模块(淘宝就有卖),这个芯片也是TI的要求使用芯片. 除了ADS1292的另外一块芯片的作用是电源隔离 购买模 ...
- matlab频域滤波处理,手动滤波,图像去网格背景:频域中手动选择目标区域进行滤波,滤掉噪声,灵活地达到理想的效果。
目录 一.原理简介 二.现有方法 三.代码实现 四.测试结果图 一.原理简介 主要思路为:通过傅里叶变换,将图像显示在频率域中,通过观察频谱图,如果了解频谱图与原图之间的关联,可以较为容易地发现噪声在 ...
- 【图像融合】基于matlab导向滤波图像融合【含Matlab源码 1959期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像融合]基于matlab导向滤波图像融合[含Matlab源码 1959期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- matlab实现中值滤波程序,中值滤波流程(matlab平滑滤波和中值滤波程序)
matlab平滑滤波和中值滤波程序 glRasterPos2i(100,100); //定位当前光标 glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'H'); //写 ...
- matlab做拉普拉斯曲线,Matlab 拉普拉斯滤波 以及 imfilter 详解(多图)
Matlab 拉普拉斯滤波 以及 imfilter 详解(多图) 08-08栏目:技术 TAG:imfilter imfilter 代码: jhua.orgclc clear all A=imread ...
- 常用模拟低通滤波器的设计~经典 IIR 滤波器之巴特沃斯滤波器
目录 常用模拟低通滤波器的设计--巴特沃斯(Butterworth)滤波器 1.确定系统函数的极点 2.巴特沃斯(Butterworth)滤波器 2.1.buttap 函数 2.2.buttord 函 ...
最新文章
- 杭电多校(六)2019.08.07--暑假集训
- 基于SCVMM对虚拟化服务器与虚拟机管理权限分配用户角色
- Win11正式发布新功能
- [转载] Python: ord()函数
- 居家隔离的第5天,我们整了个六边形战士
- 数值的八进制、十六进制表示,及以二进制进行显示
- 7.1-7.31推荐文章汇总
- OpenCV算法精解3--OpenCV中C++矩阵基本运算
- Unity Editor 编辑器扩展 九 Gizmos
- iOS 中input隐藏输入光标
- java登陆注册 mysql_Java+mysql用户注册登录功能
- 个人理财类书籍推荐 -- From一亩三分地 帖子
- 微信小程序(五)--- Vant组件库,API Promise化,MboX全局数据共享,分包相关
- 浅谈矩阵变换——Matrix
- 锁存器 D触发器 寄存器区别 详细区别解释 Latch D Flipflop register
- 无线局域网简介 小白级别
- Day【10】相交链表
- 让html成为电脑桌面背景
- PbootCms微信小程序官网模版
- Python对浏览器的自动化操作(商品监控下单)
热门文章
- sap 消耗策略999_SAP 计划策略测试一
- Host 'admin-PC' is not allowed to connect to this MySQL server
- 密码库LibTomCrypt学习记录——(2.2)分组密码算法的工作模式——ECB模式
- mac win7 计算机,详解mac如何安装win7
- python车牌识别系统开源代码_TensorFlow车牌识别完整版代码(含车牌数据集)
- vim安装airline
- Windows程序设计(5):移动窗口、调整窗口大小
- 大型网站应用之海量数据解决方案
- Winform 定时器
- 盘点VB编程重要知识点集合。