butter滤波器是iir吗_学习随笔之IIR滤波器与FIR滤波器
学习随笔之IIR滤波器与FIR滤波器
IIR滤波器(Infinite Impulse Response Digital Filter无限冲击响应数字滤波器)与FIR滤波器(Finite Impulse Response Digital Filter有限冲击响应数字滤波器),是数字信号处理系统中最常用到的元件,二者z域表达式和差分方程可分别为:
对比FIR和IIR可以明显看出,FIR没有极点,因此FIR是无条件稳定的,而IIR则需要通过设计使极点位置必须在单位圆内,否则系统将不稳定。另外,IIR可用较低的阶数获得较好的滤波效果,但是以相位的非线性为代价的。相反,FIR滤波器却可以得到严格的线性相位,然而对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5~10倍。
FIR与IIR以及滑动平均的一种简单设计方法如下代码所示:(5阶butterworth型IIR滤波器,15阶hamming窗FIR滤波器,以及平滑常数为10的滑动平均滤波器)
%% 原始信号
fs = 1000; % 采样频率
t = 0:1/fs:2-1/fs; % 时间
singal0 = sin(2*pi*1*t); % 未加噪声的信号
SNR = 15; % 信号信噪比
singal = awgn(singal0,SNR); % 在加入高斯白噪声
%% IIR滤波 (butterworth滤波器)
fstop = 20; % 低通截止频率
wn = fstop/(fs/2); % 归一化截止频率
N_IIR = 5; % IIR阶数
[b_iir,a_iir] = butter(N_IIR,wn) % IIR滤波器参数
singal_iir = filter(b_iir,a_iir,singal); %IIR滤波
%% FIR滤波 (hamming窗)
N_FIR = 15; % FIR阶数
b_fir = fir1(N_IIR,wn) % FIR滤波器参数
singal_fir = filter(b_fir,1,singal); %FIR滤波
%% 滑动平均 (平滑常数M=10;)
wsize = 10; % 平滑常数
b_avg = ones(1,wsize)/wsize; % 权值
singal_avg = filter(b_avg,1,singal); %滑动平均滤波
%% 输出比较
figure
subplot(2,2,1)
plot(t,singal)
title('\fontname{宋体}\fontsize{12}原始信号');
xlabel('\fontname{Arial}\fontsize{12}t');
ylabel('\fontname{Arial}\fontsize{12}singal');
grid on;
subplot(2,2,2)
plot(t,singal_iir)
title('\fontname{宋体}\fontsize{12}5阶IIR滤波');
xlabel('\fontname{Arial}\fontsize{12}t');
ylabel('\fontname{Arial}\fontsize{12}singal(iir)');
grid on;
subplot(2,2,3)
plot(t,singal_fir)
title('\fontname{宋体}\fontsize{12}15阶FIR滤波');
xlabel('\fontname{Arial}\fontsize{12}t');
ylabel('\fontname{Arial}\fontsize{12}singal(fir)');
grid on;
subplot(2,2,4)
plot(t,singal_avg)
title('\fontname{宋体}\fontsize{12}滑动平均(常数10)');
xlabel('\fontname{Arial}\fontsize{12}t');
ylabel('\fontname{Arial}\fontsize{12}singal(avg)');
grid on;
滤波效果对比:
以上只是最简单的滤波器设计方法,对幅频特性相频特性有更严格的要求则还需通过matlab的fdatool工具进行设计,设计完后可通过edit->convert to single section转换为[b,a]形式滤波参数,并且可通过TRargets-> Generate C header直接生成C语言头文件供调用。
(早期随笔文件补档)
butter滤波器是iir吗_学习随笔之IIR滤波器与FIR滤波器相关推荐
- 【滤波器】基于高通+低通+带通+带阻FIR滤波器设计含Matlab源码
1 简介 本文利用kaiser窗实现了FIR带通数字滤波器的设计,设计结果符合FIR数字滤波器技术指标要求. 2 部分代码 %------------------------------------ ...
- FPGA学习记录(5)<低通带通FIR滤波器FPGA实现>
目录 Matlab仿真低通的FIR滤波器BLACKMAN窗并使用FPGA实现 (1)FIR&IIR介绍 (2)FIR的FPGA实现与matlab仿真(FIR&BLACKMAN窗& ...
- fir fpga 不同截止频率_一种新的FIR滤波器系数量化方法
相对于模拟滤波器,数字滤波器具有高精度.高可靠性.可编程改变滤波特性.便于集成等一系列优点,并且理论上可实现近似理想频率特性的滤波性能.经典的数字滤波器主要包括有限脉冲响应(Finite Impuls ...
- FIR滤波器与IIR滤波器
FIR和IIR滤波器的一个主要区别:FIR是线性相位,IIR为非线性相位(双线性变换法),对于非线性相位会造成的影响,可以这样考虑:对于输入的不同频率分量,造成的相位差与频率不成正比,则输出时不同频率 ...
- 详解FIR滤波器和IIR滤波器的区别
数字滤波器广泛应用于硬件电路设计,一般分为FIR滤波器和IIR滤波器.下面说一下它的具体区别 一.FIR滤波器 定义: FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统 ...
- FPGA数字信号处理(二)并行FIR滤波器Verilog设计
该篇是FPGA数字信号处理的第二篇,选题为DSP系统中极其常用的FIR滤波器.本文将简单介绍FIR滤波器的原理,详细介绍使用Verilog HDL设计并行FIR滤波器的流程和方法.接下来几篇会介绍串行 ...
- 【 FPGA 】FIR滤波器开篇之传统抽头延迟线FIR滤波器实现介绍
滤波器原理:滤波器就是对特定的频率或者特定频率以外的频率进行消除的电路,被广泛用于通信系统和信号处理系统中.从功能角度,数字滤波器对输入离散信号的数字代码进行运算处理,以达到滤除频带外信号的目的. 有 ...
- 数字信号处理(FIR滤波器的设计与原理及基础知识)
FIR滤波器的设计与原理及基础知识 有限长单位脉冲响应(FIR)滤波器的设计方法 线性相位FIR滤波器的特点: 幅度特性: 窗函数设计法 窗口函数对理想特性的影响: 梳状滤波器 有限长单位脉冲响应(F ...
- 基于xilinx-IP的FIR滤波器多通道实现
前言 作为一个有一定工作经验(划水好多年)的FPGA工程师,很多模块都已经学习过或者使用过,但是如果让我重新实现,感觉又是一脸懵.因此,这是我发文档的原因.对于自己来说,这是一个总结归纳的过程,对读者 ...
最新文章
- scrapy_redis使用
- java win8 mac地址_Win8怎么查看MAC地址_Win8查看电脑MAC地址方法-192路由网
- windows server backup
- 程序员的灯下黑:能认识自己吗?
- Silverlight中服务通信方式的选择(WCF、Data Service、Ria Service)
- django异常日志_5分钟教你学会Django系统错误监控
- 史上最快消息内核——ZeroMQ
- iOS开发 - App程序启动原理
- bootstrap带有下拉按钮的输入框_关于bootstrap--表单(下拉select、输入框input、文本域textare复选框checkbox和单选按钮radio)...
- 如果还不懂如何使用 Consumer 接口,就来看这篇!
- 阶段3 1.Mybatis_10.JNDI扩展知识_3 补充-测试JNDI数据源的使用以及使用细节
- 开源中国开源世界高峰论坛
- 计算机c盘丢失,电脑c盘数据丢失怎么恢复图文教程
- 关于Outline Effect 高亮插件不能生效-爻览SDK-MR混合现实开发日志
- C#工作总结(一):Fleck的WebSocket使用
- linux下文件的total是啥,linux中,ls -l命令显示的total的含义。
- 完整责任链模式——回旋链
- io包下 文件类 字节流 字符流 缓冲流 转换流 序列化流 打印流
- 1005--HBase操作实战(HBase Shell命令行模式)
- MATLAB中常用到的符号汇总(持续更新)
热门文章
- STC15 串口一 接收 发送 基本程序
- 解决Windows 10 家庭中文版没有组策略编辑器的问题
- 成语学习记录20180820-26
- 爬虫学习笔记 -- 实战某电影网(lxml库版)
- 【论文简述及翻译】MVSNet:Depth Inference for Unstructured Multi-view Stereo(ECCV 2018)
- Masm for MAC安装教程+实例分析
- 树莓派3 Android Pie 编译适配
- 华为认证--云计算HCIA
- IP地址规划设计实验
- php实现兼容Unicode文字的字符串大小写转换strtolower()和strtoupper()