python库函数之scipy.signal——滤波器设计

2023-05-16

文章目录

  • python库函数之scipy.signal.butter()
    • 函数参数
    • 设计模拟滤波器
    • 设计数字滤波器
  • 2021.06.03 有位博主评论了这篇博客(评论已被删除),特此说明。

python库函数之scipy.signal.butter()

参考官方的API文档(https://docs.scipy.org/doc/scipy/reference/signal.html#module-scipy.signal)
注意最好将scipy升级至最新版本。笔者之前使用v1.1.1,其函数的部分参数与新版本的不一样。

scipy.signal.butter(N, Wn, btype=‘low’, analog=False, output=‘ba’, fs=None)

函数参数

  • N:滤波器阶数
  • Wn:3dB带宽点。
  • btype:滤波器类型,可选{‘lowpass’, ‘highpass’, ‘bandpass’, ‘bandstop’},默认是低通滤波器。
  • analog : 布尔值。True表示模拟滤波器。False表示数字滤波器。默认是数字滤波器。
  • output:'ba’表示’输出分子和分母的系数;‘zpk’表示输出零极点;‘sos’表示输出second-order sections. 默认是‘ba’
  • fs:数字滤波器采样率

设计模拟滤波器

>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>>
>>> b, a = signal.butter(4, 100, 'low', analog=True)
>>> w, h = signal.freqs(b, a)                        # 由分子分母的系数求解频率响应,w为频率,h为对应的响应。
>>> plt.semilogx(w, 20 * np.log10(abs(h))) 	#绘制幅频响应,频率轴取对数,幅度轴转换成dB。
>>> plt.title('Butterworth filter frequency response')
>>> plt.xlabel('Frequency [radians / second]')
>>> plt.ylabel('Amplitude [dB]')
>>> plt.margins(0, 0.1)
>>> plt.grid(which='both', axis='both')
>>> plt.axvline(100, color='green') # cutoff frequency
>>> plt.show()

在这里插入图片描述

设计数字滤波器

>>> t = np.linspace(0, 1, 1000, False)  # 1 second
>>> sig = np.sin(2*np.pi*10*t) + np.sin(2*np.pi*20*t)    # 构造10hz和20hz的两个信号
>>> fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
>>> ax1.plot(t, sig)
>>> ax1.set_title('10 Hz and 20 Hz sinusoids')
>>> ax1.axis([0, 1, -2, 2])

>>>
>>> sos = signal.butter(10, 15, 'hp', fs=1000, output='sos')     #采样率为1000hz,带宽为15hz,输出sos
>>> filtered = signal.sosfilt(sos, sig)             #将信号和通过滤波器作用,得到滤波以后的结果。在这里sos有点像冲击响应,这个函数有点像卷积的作用。
>>> ax2.plot(t, filtered)
>>> ax2.set_title('After 15 Hz high-pass filter')
>>> ax2.axis([0, 1, -2, 2])
>>> ax2.set_xlabel('Time [seconds]')
>>> plt.tight_layout()
>>> plt.show()

在这里插入图片描述

2021.06.03 有位博主评论了这篇博客(评论已被删除),特此说明。

  • 在设计数字滤波器的时候,如果没有指定参数fs,则wn要使用归一化频率。比如本示例中,可以将代码改为
sos = signal.butter(10, 15/500, 'hp', output='sos')     #采
  • 但是如果指定了fs参数,则wn使用真实频率就可以。
  • 当年写这篇博客的时候也是从官网搬过来的,写得并不详细,见谅。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python库函数之scipy.signal——滤波器设计 的相关文章

  • 为什么官网上下载的JDK15为什么找不到sun.misc.Launcher类?

    正常jdk8以后官网上下载到的JDK包里面是没有开放sun misc Launcher等类的 xff0c 可能是因为官方不希望用户使用这些内部的类 xff0c 因此在后面的版本里就不再开放了 xff0c 但不代表不存在 xff0c 而是以系
  • Linux自学之旅-基础命令(shutdown关机重启命令)

    Linux自学之旅 基础命令 xff08 shutdown xff09 文章目录 前言一 shutdown能做什么 xff1f 二 shutdown使用1 关机2 重启 总结 前言 1 上一节我们讲述了tar命令用来打包并压缩的用法 xff
  • Vue结合后台详解导入导出Excel问题

    Vue完整前后台项目介绍 最近Vue项目中用到了导入导出功能 xff0c 在网上搜索了一番之后 xff0c 决定采用Blob方式 xff0c 这也是大家推荐的一种的方式 xff0c 特此做下记录 导出Excel功能 这里不谈别人怎么实现的
  • Windows10 和 archlinux双系统安装及配置

    原文地址 https www viseator com 2017 05 17 arch install 第一次装archLinux时 xff0c 感觉不是很明白各个命令的大致意思 xff0c 不久前Windows的系统出问题了 xff0c
  • 银河麒麟 Qt打包

    环境 xff1a 银河麒麟4 0 2 Qt 5 12 10 将编译好的Qt程序test打包 xff0c 并部署到另一台没有开发环境的Linux下 xff0c 将过程记录如下 xff1a 将编译好的可执行程序test放到一个新建文件夹内 例如
  • SmartSoftHelp 自定义开源C#代码生成器

    蓦然回首终结者SmartSoftHelp开发辅助工具MiniLite2 0迷你版 V3 5 自定义生成 dbhelper Model BLL DAL sqltxt UI 方便快捷 xff0c 支持自编码 xff0c 自编译 xff0c 自己
  • 游戏开发人员需要看的书籍

    编码习惯及设计基础 程序员修炼之道 http product dangdang com 9053091 html 这本书讲解的一些设计原理很实用 对设计感兴趣的同学可以一看 推荐指数 5星 图形渲染 客户端 3D绘图程序设计 http pr
  • 【c++】生产者与消费者问题

    单个生产者和单个消费者 include lt iostream gt include lt mutex gt include lt condition variable gt include lt Windows h gt using na
  • 基于springboot人事管理系统java项目介绍

    人事管理系统是基于java编程语言 xff0c springboot框架 xff0c mysql数据库开发 xff0c 本系统分为员工和管理员两个角色 xff0c 员工的主要功能有登陆系统 xff0c 个人信息更新 xff0c 查看工资 x
  • C#,生信软件实践(02)——DNA数据库EMBL格式详解及转为FASTA格式文件的源代码

    gt 生信老白写的基础代码 fasta MAYBENOANYUSAGE EMBL 与 GenBank 文件一脉相承 xff0c 建议先阅读 GenBank 文件详解 C xff0c 生信软件实践 xff08 03 xff09 DNA数据库G
  • Activity onNewIntent详解

    onNewIntent 的触发时间 xff1a onNewIntent png 如图所示 xff0c onCreate 和 onNewIntent 不会被同时调用 官方文档 xff1a onNewIntent added in API le
  • 安装pyinstaller报错:AttributeError: type object Callable has no attribute _abc_registry

    安装pyinstaller xff1a pip install pyinstaller 提示 xff1a AttributeError type object 39 Callable 39 has no attribute 39 abc r
  • sql server 数据库开发 知识点

    sql server 数据库开发 1 含义 xff1a 数据库设计实际上就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程 E R图组成包括 xff1a 矩形表示实体集 椭圆表示属性 菱形表示关系 直线用来连接实体集与属性 x
  • Activiti学习笔记一 工作流基本概念

    最近刚接触流程引擎这一概念 xff0c 对Activiti进行学习 xff0c 感觉正在入门中 xff0c 整理下自己的学习笔记把 xff01 1 xff1a 工作流的概念 工作流 Workflow xff0c 就是 业务过程的部分或整体在
  • Activiti学习笔记六 流程实例 任务 执行对象控制流程执行

    上一篇我们看了流程定义 xff0c 我们接下来看一下流程实例 xff0c 任务 xff0c 和执行对象 流程实例 任务的执行 1 流程图 2 部署流程定义 private final ProcessEngine processEngine
  • datetimepicker 控件验证问题

    34 baseStudents activistTime 34 trigger 39 blur 39 validators notEmpty message 39 确定积极分子时间不能为空 39 span class hljs tag lt
  • eclipse中SVN分支合并到主干

    在项目开发中 xff0c 需要添加一些新的功能 xff0c 但是又不想影响到其他开发人员的项目进度 xff0c 所以决定使用SVN分支进行开发 xff0c 分支开发完毕后再合并到主干 本文介绍如何在eclipse中合并分支到主干 要想将分支
  • 阿里云服务器

    一年多之前 xff0c 也就11年5月份的样子 xff0c 阿里云云服务器产品线终于上线了 但那时候 xff0c 国内完全没有能称得上云服务器的 xff0c 很多小公司就是搞个VPS就叫云服务器了 以至于阿里云云服务器刚出来的时候 xff0
  • mac 下 使用 iterm2 配置及快键键使用

    mac 下 使用 iterm2 配置及快键键使用 标签 xff08 空格分隔 xff09 xff1a mac 之前介绍过一篇关于mac 下使用和配置 iterm2的blog 今天这篇稍微详细一点介绍 并且搭配 zsh zsh 会单独开一篇博
  • Java实现快速排序

    一 原理 快速排序算法通过多次比较和交换来实现排序 xff0c 其排序流程如下 xff1a 1 首先设定一个分界值 xff0c 通过该分界值将数组分成左右两部分 2 将大于或等于分界值的数据集中到数组右边 xff0c 小于分界值的数据集中到

随机推荐

  • C#,生信软件实践(03)——DNA数据库GenBank格式详解及转为FASTA序列格式的源代码

    1 GenBank 1 1 NCBI 美国国家生物技术信息中心 xff08 美国国立生物技术信息中心 xff09 NCBI xff08 美国国立生物技术信息中心 xff09 是在NIH的国立医学图书馆 xff08 NLM xff09 的一个
  • 【坑】zsh和oh-my-zsh卸载后导致无法登陆

    apt get remove zsh 然后断开终端 xff0c 就再也连不上了 xff0c 崩溃啊 xff01 以下登陆为www用户登陆 各种找 xff0c 到这里 https www cnblogs com EasonJim p 7863
  • 获取最近使用应用列表

    获取最近使用的应用列表需要使用到UsageStatsManager类 xff0c 还需要申请允许防御应用使用情况的权限 private void getPackagesInfo UsageStatsManager manager 61 Us
  • 使用MediaProjectionManager进行截屏

    最近项目中有用到远程截屏并上传截屏文件的需求 一开始使用的是以下方法进行截屏 xff1a private void screenshot 获取屏幕 View dView 61 getWindow getDecorView dView set
  • 安卓TV开发遇到的那些坑

    最近公司需要开发一个TV的luancher xff0c 就是那种纯物理按键的遥控 xff0c 没有触摸屏 xff0c 现在说说我踩得那些坑 xff08 其实布局和代码逻辑和正常的安卓应用差不多 xff09 1 焦点 焦点 焦点 xff0c
  • 安卓TV列表刷新时焦点自动变成第一个

    最近在开发安卓TV项目 xff0c 列表调用notifyDataSetChanged xff08 xff09 方法刷新数据时 xff0c 焦点自动就变成第一个子item去了 xff0c 查了半天发现用notifyItemRangeChang
  • 安卓蓝牙BLE设备通讯发送和接受超过20个字节的问题

    最近做的项目是手机端和BLE设备通讯 xff0c 而BLE设备又做了限制一次包只能传递20个字节的数据 xff0c 多了就得分包发送 xff0c 在这里记录一下如何解决这个问题 xff08 PS xff1a 之前链接什么的回调什么的 就不过
  • 获取最近运行应用方法和杀进程的方法

    最近公司的项目有个需求就是获取最近手机正在运行的进程 xff0c 以及杀掉进程 就是类似于安卓手机中的长按home键的效果 先说说获取最近手机正在运行的进程方法 xff1a 直接上代码 xff0c 代码中有注释 xff1a appbeans
  • 把自己的应用程序push至system/app下,把自己的app改成系统级别的app

    想把一个应用程序放入到系统文件夹下的话 xff0c 手机必须的root的情况下才能push进去 下面我就说说步骤吧 xff1a 1 先把手机用USB和电脑连接 2 如果电脑配置了adb的环境的话直接cmd xff0c 未配置环境的话找到sd
  • ConcurrentModificationException异常出现原因以及解决方法

    今天在开发过程中遇到一个异常叫ConcurrentModificationException xff0c 这个异常用我的白话翻译是叫同时修改异常 这个异常是怎么出现的呢 xff0c 先看看已下的代码 xff1a span class hlj
  • retrofit中使用body标签传RequestBody

    现在的Android开发者基本上都用过retrofit这个第三方网络请求库吧 xff01 xff01 xff01 网络请求中有get post delete和put等等请求方式 现在我们需要用到post请求 xff1a span class
  • SpringBoot配置拦截器拦截器使用

    拦截器介绍 Java中的拦截器是动态拦截 action 调用的对象 xff0c 然后提供了可以在 action 执行前后增加一些操作 xff0c 也可以在 action执行前停止操作 xff0c 功能与过滤器类似 xff0c 但是标准和实现
  • 百度地图上根据经纬度集合绘制行车轨迹

    以下是素材 最近项目中用到了根据一段线路的经纬度集合来在地图上播放该车辆的行驶轨迹的需求 下面我就讲一下我实现步骤 效果图如下 因为制作gif图为了控制大小去掉了很多帧 不必在意这些细节 嘿嘿 1 首先在界面上展示百度地图 这不是废话么 如
  • skip-GANomaly复现总结

    文章目录 skip GANomaly复现总结附MvTec数据集介绍实验结果总结谈谈我对于skip GANomaly的看法最后的感想 代码 skip GANomaly复现总结 附MvTec数据集 链接 xff1a https pan baid
  • YOLOv3 从入门到部署:(五)YOLOv3模型的部署(基于C++ opencv)

    文章目录 YOLOv3 从入门到部署 xff1a xff08 五 xff09 YOLOv3模型的部署 xff08 基于C 43 43 opencv xff09 目录关于opencv的DNN介绍代码讲解效果展示 YOLOv3 从入门到部署 x
  • 基于YOLO-fastest-xl的OCR

    文章目录 基于YOLO fastest xl的OCR项目介绍对于yolo fastest xl的结构的更改运行方法效果总结 基于YOLO fastest xl的OCR github链接https github com qqsuhao yol
  • Pytorch多GPU训练时使用hook提取模型中间层输出时与模型输入张量不在同一个GPU上的解决办法

    Pytorch多GPU训练时使用hook提取模型中间层输出时与模型输入张量不在同一个GPU上的解决办法 通常对于单卡训练的模型 xff0c 使用hook可以较为方便地提取出模型中间层输出 例如我们想要获取自定义模型DBL中的conv2d的输
  • 发布自己的Python包

    文章目录 发布自己的Python包第一步 xff1a 注册Pypi账号第二步 xff1a 准备本地文件第三部 xff1a 构建包并上传 发布自己的Python包 参考https packaging python org en latest
  • Python音频信号处理库函数librosa介绍

    文章目录 Python音频信号处理库函数librosa介绍 部分内容将陆续添加 介绍安装综述 xff08 库函数结构 xff09 Core IO and DSP xff08 核心输入输出功能和数字信号处理 xff09 Audio proce
  • python库函数之scipy.signal——滤波器设计

    文章目录 python库函数之scipy signal butter 函数参数设计模拟滤波器设计数字滤波器 2021 06 03 有位博主评论了这篇博客 xff08 评论已被删除 xff09 xff0c 特此说明 python库函数之sci