filter函数 与filtfilt函数的效果区别
filter函数 与filtfilt函数的效果区别
filter滤波器称为一维数字滤波器。filtfilt滤波器称为零相位数字滤波。其滤波算法是基于filter而来的。只是filtfilt实现了零相位。其基本实现过程为先让信号用filter滤波,再将信号时域反转再次通过filter滤波,这样两次滤波后相位实现了零相位。filter滤波有明显的延迟,filtfilt滤波延时比filter小很多。分析如下(程序参见matlab脚本,完整程序下载链接):
(1)设置三种频率(10Hz,20Hz,30Hz)构成的信号y1
f1=10;
f2=20;
f3=30;
Fs=150;
t=0:1/Fs:1;
y1=5*sin(2*pi*f1*t)+10*sin(2*pi*f2*t)+8*sin(2*pi*f3*t);
(2)设计滤波参数,分别用filter滤波器和filtfilt滤波器把30Hz的信号滤掉。
%滤波
fp=25;%滤掉频率超过25Hz的信号
fs=40;
wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)
[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp
[B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和A
y2=filter(B,A,y1); %滤波
y3=filtfilt(B,A,y1);
(3)绘制滤波效果图和FFT频谱分析图,对比滤波效果。
如图所示,第1个时域图可以发现经过filter滤波的信号比原始信号明显有延迟,而经过filtfilt滤波后的信号几乎没有延迟。第2频谱图可以发现,按照设计的参数,两个滤波器都能把频率为30Hz的信号滤除了。
filter函数 与filtfilt函数的效果区别相关推荐
- Matlab的filtfilt函数解析与C++实现
Matlab的filtfilt函数解析与C++实现 0.前言 1.filtfilt函数的解析 1.1 主要流程 1.2 边界的延拓 1.3 边界效应的优化 1.4 滤波器系数获取 2.C++实现及对比 ...
- Matlab中filter.m和filtfilt.m函数C语言实现
一.一些基础知识 filter.m函数是依据z变换的一些知识进行的滤波方法. filtfilt.m则还有另一个名字是零相位滤波,顾名思义,通过filtfilt函数滤波后的信号,幅值会发生变化,但相位不 ...
- matlab 函数调试实验,C语言实验matlab中filter和filtfilt函数
本学期的创造工房,课题为使用睡眠观测仪器所采集的混合了心拍数.呼吸数以及体动等杂音的原始数据,利用滤波器将心拍和呼吸数据抽出.本次工房我的分工为设计算法,由于时间仓促此次工房仅使用高低通滤波器进行简单 ...
- 函数参数三种传递方式的区别
函数参数三种传递方式的区别 问题提出: 1.当一个类的对象作为实参数传递时,使用值传递和引用传递有什么区别? 比如: DateType ExampleFun(CString &strFileN ...
- matlab中filtfilt函数解析
紧接上一篇,简单分析matlab中的非常好用的 filtfilt 函数,一款零相移滤波函数. 其matlab中的语法如下: y = filtfilt(data,x); 非常简单,不是一般的简单!然而, ...
- C语言strlen函数与sizeof函数的区别
strlen函数与sizeof函数的区别 strlen函数和sizeof函数都可以用于获取字符串的长度,但是它们有几个重要的区别. strlen函数返回字符串的长度,而sizeof函数返回的是整个数组 ...
- SQL中CharIndex函数、InStr 函数、PatIndex函数、Stuff函数区别与作用
在c#中可以用字符串的IndexOf方法来判断一个字符串中是否含有指定的字符.而在SQL SERVER中也就相关的函数来实现IndexOf的功能.CharIndex,InStr,PatIndex三个函 ...
- 17.JavaScript函数的不同形态,函数是个表达式、函数是一个值,函数声明和函数表达式的区别
函数的不同形态 文章目录 函数的不同形态 函数可以是个表达式 函数的本质是一个值 回调函数 函数表达式和函数声明的差别 课后作业 函数可以是个表达式 在上文<JavaScript函数>我们 ...
- render函数和redirect函数的区别+反向解析
render函数和redirect函数的区别+反向解析 1.视图函数:一定是要包含两个对象的(render源码里面有HttpResponse对象) request对象:----->所有的请求 ...
- 友元函数、类的非静态成员函数、静态成员函数的区别
类中申明的函数相对于类来说有三层意思: 1.有this指针 2.函数在类的作用区域中 3.可以访问类中私有部分 4.可以被继承 非静态成员函数具有1234 静态成员函数具有234 友元函数具有3 静态 ...
最新文章
- PS切图篇(一)---界面设置
- 关于Silverlight_Tools.exe安装不上的问题
- 强化学习笔记:Sarsa算法
- 【Socket网络编程】6.两个既能收也能发的udp客户端进行通信的原理
- office文件已损坏 该服务器,Office文件可能已损坏处理方法
- 使用SAP Analytics Cloud显示新冠肺炎病毒感染人数的实时信息
- java 怎么页面授权访问_Java调用Linkedin接口API之:获取授权
- jumpserver 使用教程_Jumpserver之快速入门
- C# 设置Word文档背景(纯色/渐变/图片背景)
- apache kafka源代码工程环境搭建(IDEA)
- 处理异常:org.springframework.beans.factory.BeanNotOfRequiredTypeException
- arm平台linux移植ethtool工具
- Java 输入输出流 解决中文乱码问题【不一定详细但一定实用篇】【全文4800字】
- VBlog项目代码理解之前端
- 博世中国的战略与战术,如何应对复杂多变的中国市场需求
- 科技圈以 A 取名的时尚潮流
- 用 Python 给程序加个进度条,让你的程序看起来更炫酷
- Leetcode刷题:贪心算法
- Visual Studio 2008 官方破解版
- VBUS引脚外围电路设计
热门文章
- navicat的使用技巧
- 5线上模式刷2亿bug_GTA5还想冲销量?玩家利用BUG刷钱,遭受比封号更严厉惩罚
- 什么是 Uptime TIER 数据中心等级认证体系?-孙长青
- u盘安全删除 linux,如何安全删除U盘技巧
- 2020秋招提前批--大疆--机器学习算法工程师--线上笔试题
- LaTeX常用的希腊字符、数学符号、矩阵、公式、排版、中括号、大括号以及插入图片等操作手册
- 团队管理之—— 大项目:把握关键点,谋定而后动
- python + selenium + chrome 如何清理浏览器缓存
- electron 剪贴板 截图_利用 Electron 开发快速截图工具(二)
- 微信公众号申请人身核验-流程