目录

窄带陷波滤波器(Notch filter)原理

设计一个Notch filter

生成代码

离散传递函数生成代码配置

差分方程生成代码

方程推导

构建差分方程模型

总结


窄带陷波滤波器(Notch filter)原理

陷波滤波器指的是可以将某一频率迅速衰减的滤波器,直接上效果图,如下图所示在常数100的信号上叠加了一个幅值为10的100Hz的频率,通过Notch filter后就得到了稳定的信号100,相当于抑制了振荡。可以用来抑制系统的共振点或者消除周期性的振荡等。

蓝色滤波前的信号,黄色滤波后的信号

设计一个Notch filter

传递函数如下:

传递函数的伯德图:

从伯德图可以看出在某一个频率点会衰减,我们需要根据振荡的频率去调整w0=2*pi*f  (这里f是振荡频率),达到过滤掉振荡的效果。Q的值影响的是稳定的速度。

Q=1.9的伯德图和仿真效果

Q= 0.9的伯德图和仿真效果(衰减变小):

生成代码

前面是s域的仿真,要能生成代码在硬件里面运行,需要把s域转成z域。这里生成代码的方式有以下两种,一种直接用离散传递函数,一种把离散传递函数转成差分方程。经对比,离散域传递函数会涉及到除法计算,有些单片机执行效率可能不高,而差分方法只有乘加,不涉及除法,计算效率会更高

离散传递函数生成代码配置

通过.m脚本实现s的传递函数转z. 15e-006是采样频率。

G_z = c2d(G_s,15e-006,'tustin');

这里有个小坑,Matlab的命令窗口只显示小数点后4位,可能会因为数据的精度影响到滤波效果,还需要对Matlab进行数据小数位数的设置,设置如下:

设置好后一般的除法可以显示到小数位后15位,但是传递函数形式的数据还是只显示4位。因此用如下指令取到传递函数的分子和分母的系数。
G_z_Numerator= G_z.Numerator{1};
G_z_Denominator=G_z.Denominator{1};

display(G_z_Numerator);
display(G_z_Denominator);

这样就得到了离散传递函数的参数,我们把得到的分子和分母的系数放到模型中仿真

差分方程生成代码

方程推导

差分方程只需要把离散传递函数转一下就好了,转的步骤如下:

传递函数转差分方程步骤:

1. 改写成如下形式

2.分子分母同时除z^2

3.交叉相乘

4.把Y(z)移到等式左边

5.把上面等式写成差分方程的形式

构建差分方程模型

通过Simulink构建方程模型。

离散传递函数和差分方程仿真效果一样(这里Q值有些不同)

总结

总结下学习心得,通过对Notch filter的学习

1.了解Notch filter的工程意义应用场合和参数调试

2. 实际工程利用Matlab如何把s传递函数转为z传递函数再转成差分方程,方便生成代码

参考模型:

NotchFilter陷波滤波器仿真-快应用文档类资源-CSDN下载

Simulink 窄带陷波滤波器(Notch filter)仿真到代码生成相关推荐

  1. 伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab Simulink仿真

    伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab Simulink仿真 1.模型简介 模型为基于陷波滤波器的双惯量伺服系统机械谐振抑制仿真,采用Matlab R2018a Simulink ...

  2. 陷波滤波器(Notch Filter)的离散化设计

    陷波滤波器(Notch Filter)的离散化设计 符号说明 wbww_{bw}wbw​ - 陷波宽度,单位:rad/srad/srad/s wcw_cwc​ - 陷波中央频率,单位:rad/srad ...

  3. ArduCopter——ArduPilot——Harmonic Notch Filter(谐波陷波滤波器)

    版权声明:本文为博主原创博文,未经允许不得转载,若要转载,请说明出处并给出博文链接 之前,我们已经比较详细地学习和分析了Notch Filter陷波滤波器-->这里,点我. 那我们现在趁热打铁, ...

  4. 常见三种陷波滤波器(Notch Filter)的离散化设计

    为了学习陷波器,几乎把全网的陷波器有关文章都看了一遍,整理下,加深印象,也给后来的朋友作参考,文章内容大部分直接复制过来,但是所有内容代码我都测试了一遍,其中有些错误之处,也作了修改. 陷波滤波器形式 ...

  5. 基于gnuradio的自适应陷波滤波器OOT模块(notch filter)

    基于gnuradio的自适应陷波滤波器OOT模块 Introduction 模型工具gr_modtool 创建OOT Module 创建OOT block 修改impl.h 修改impl.cc 修改a ...

  6. 陷波滤波器(Notch filter)

    陷波滤波器: 指的是一种可以在某一个频率点迅速衰减输入信号,以达到阻碍此频率信号通过的滤波效果的滤波器.陷波滤波器属于带阻滤波器的一种,只是它的阻带非常狭窄,起阶数必须是二阶(含二阶)以上. 当带阻滤 ...

  7. 自适应陷波滤波器(Notch滤波器)

    自适应滤波器以其自身调节参数的能力以及对信号和噪声的先验知识要求少的优势得到了广泛的应用. 自适应陷波滤波器相比于普通的数字滤波器具有较窄的阻带和通带,带外衰减较快.具有滤波输出(Y输出)和陷波输出( ...

  8. 基于反馈结构的窄带宽陷波滤波器

    IEEE Signal Processing Magazine 是信号处理领域一本著名的杂志.它偶尔会出一个名叫 Tips & Tricks 的专栏.这个专栏的文章没有高深的理论知识,简洁实用 ...

  9. matlab提取电压基波分量,基于复系数陷波滤波器锁相环的电网正序分量检测

    摘  要: 为满足在电网电压不平衡情况下的系统控制需求,需要快速而准确地检测出基波正负序分量的幅值和相位.采用无限脉冲响应(IIR)复杂系数陷波滤波器结合锁相环来提取基波分量中的正序分量,利用MATL ...

最新文章

  1. flask第十篇——url_for【3】
  2. php测试网络通不通函数,PHP检查库或函数是否可用的方法
  3. jquery 常见选择器详解3
  4. 看完就懂系列—动态规划
  5. VTK:PolyData之RemoveVertices
  6. Java Servlet生成JSON格式数据并用jQuery显示
  7. 【渝粤题库】陕西师范大学200671 电子技术基础
  8. 广东农信迁移上阿里云:系统建设从按月缩短至按天
  9. Specification of Time Synchronization over CAN 研读笔记
  10. 亚利桑那州立大学计算机专业,亚利桑那州立大学计算机专业排名
  11. 程序员眼中的中国传统文化-王阳明《传习录》18
  12. 工厂软件支持及测试是什么,软件工厂
  13. OVM-V1.3正式发布,新增三大功能 ,采用全新UI界面
  14. 遥感在计算机领域的应用,浅谈遥感技术在测绘领域发展应用.doc
  15. 如何用python拷贝文件
  16. linux中文麻酱字_芝麻酱的瓶子上有这些文字,就直接扔吧,玉磨坊告诉你
  17. python-清华大学镜像源
  18. 操作系统之进程调度与内存管理
  19. Thinkpad X201拆机清灰
  20. 赵英俊的重唱计划,我看到了音乐人的倔强

热门文章

  1. 诺基亚升级Android10,诺基亚7.1即将升级安卓10,还有另外5款将在一月更新
  2. 《软件方法》第2章 愿景
  3. 第4章第9节:如何通过减少表格的线条来美化表格 [PowerPoint精美幻灯片实战教程]
  4. springsecurity03-springsecurity oauth2实现单点登录之-资源服务器(Resource Service)
  5. 自定义BTC找零地址
  6. 【C语言】关于我回头学的那些基础语法(一)
  7. 吉珠插本计算机专业课,吉珠专插本难考吗
  8. Allegro 中PCB Design L/XL/GXL 的区别
  9. 【JSTL】c:choose用法
  10. 解决mac版office的复制快捷键cmd+c按两遍才有效的问题?