引入

在做数字信号处理时,有时采集到的信号有较大的噪声,比如下图。因此想要尽量将信号平滑化,而且信号的形状保持不变。

savgol_filter简介

什么是savgol_filter

  • Savitzky-Golay滤波器最初由Savitzky和Golay于1964年提出。广泛地运用于数据流平滑除噪,是一种在时域内基于局域多项式最小二乘法拟合的滤波方法。这种滤波器最大的特点在于在滤除噪声的同时可以确保信号的形状、宽度不变。
  • 它对信号的操作是在时域内对window_length内的数据进行多项式拟合。而从频域上看,这种拟合实际就是通过了低频数据,而滤掉了高频数据。
  • 这种滤波其实是一种移动窗口的加权平均算法,但是其加权系数不是简单的常数窗口,而是通过在滑动窗口内对给定高阶多项式的最小二乘拟合得出。

怎么使用

简单使用:
scipy.signal.savgol_filter(x, window_length, polyorder)

  • x为要滤波的信号
  • window_length即窗口长度
    取值为奇数且不能超过len(x)。它越大,则平滑效果越明显;越小,则更贴近原始曲线。
  • polyorder为多项式拟合的阶数。
    它越小,则平滑效果越明显;越大,则更贴近原始曲线。

完整接口:官方文档

实例

对上面的数据用savgol_filter进行滤波,从而平滑化。结果如下。其中w指window_length,k指polyorder

  • w=41,k=2的平滑效果最明显。即window_length越大,polyorder越小,则平滑效果越强
  • w=21,k=4最接近原曲线。即window_length越小,polyorder越大,则结果越接近原始曲线。

参考

链接1

python:savgol_filter的简单使用相关推荐

  1. python制作统计图_刻意练习11:Python描述统计、简单统计图形

    学习计划 MyPlan11 主题:Python描述统计.简单统计图形 时间:8.5-8.11周内完成 参考资料:新书<谁说菜鸟不会数据分析python篇> 各位星友们,在这个星球里每个人都 ...

  2. 用Python建立最简单的web服务器

    用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认 ...

  3. Python django实现简单的邮件系统发送邮件功能

    Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...

  4. python简单界面实现-python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...

  5. python之celery简单使用

    python之celery简单使用 参考:https://blog.csdn.net/zt3032/article/details/79251888 celery是一个简单.灵活和可靠的分布式任务处理 ...

  6. python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器

    simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 Python 对象层次结构: import simplejson as jsonprint json ...

  7. python写好的代码怎么给别人使用-10分钟学会用python写游戏!Python其实很简单!...

    原标题:10分钟学会用python写游戏!Python其实很简单! Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程 ...

  8. python界面设计-手把手教你用Python设计一个简单的命令行界面

    原标题:手把手教你用Python设计一个简单的命令行界面 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰.今天,我们就来教大家如何设计功能完整的 Pyth ...

  9. python爬虫图片-如何用Python来制作简单的爬虫,爬取到你想要的图片

    原标题:如何用Python来制作简单的爬虫,爬取到你想要的图片 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我 ...

  10. python画曲线-Python绘制各种简单优美曲线

    原标题:Python绘制各种简单优美曲线 matplotlib是著名的Python绘图库,它提供了一整套绘图API,十分适合交互式绘图.,解决数据分析和可视化问题,其实也是Python的拿手好戏.另外 ...

最新文章

  1. 【ubuntu工具】bless:二进制查看工具,类似win下的UltraEdit
  2. 小知识点——DataTable把满足条件的一行放在第一行
  3. 促使网站关键词排名稳定的技巧有哪些?
  4. reactjs中的事件处理
  5. redhat搭建php环境,rhel5搭建PHP5.2.6+apache2.2.9开发环境(模块全)
  6. python unitest框架_python单元测试框架Unitest
  7. Martin Fowler 微服务的原文翻译(转载)
  8. linq To Xml 用法简介
  9. 黑进mysql_连接到MySQL数据库
  10. 全国二级c语言公共基础知识,全国计算机二级C语言及公共基础知识复习资料
  11. U磁盘检测和大量收集量产工具
  12. CNC模具编程的工作流程
  13. jq 判断手机端还是PC端
  14. 科赫小雪花python实验报告_基于python绘制科赫雪花
  15. 《财富自由》平民出身的富豪积累财富的原则和方法
  16. 计算机网络自顶向下方法华为路由器IPV6到IPV4到IPV6的隧道及实现两端主机通信
  17. ❤️大学三年沉淀,把我的学习经验分享给你,爆肝万字带你走进编程世界!❤️
  18. 国内外电商平台反爬虫机制报告
  19. 自己为什么活着,活着的意义是什么?
  20. 离散数学计算机专业论文,计算机与离散数学论文.doc

热门文章

  1. 【学习方法】无论学什么东西,三个步骤:①大致粗通 ②重点精通 ③融会贯通...
  2. 6G八大关键技术(国泰君安团队)
  3. 倒在转“码”路上的文科生
  4. Grafana 汉化
  5. 如何写简单实用的产品需求文档PRD
  6. 去哪查阅ISO国际标准?
  7. JimuReport 1.4.0-beta 里程碑版本发布,免费的低代码报表
  8. 聚看点{青龙面板可跑项目之一}保姆教程
  9. BBED处理RMAN-03009,ORA-1956
  10. 计算机专业职业取向,我的职业兴趣-我似乎对任何领域都有兴趣,有时会很想知道计算机及其网络是怎么设计运作的,...