二阶巴特沃兹滤波器的数字推导

二阶巴特沃兹滤波器的数字推导

  • 原型
    • 双线性变换+no warpper
    • 双线性变换+warpper
    • 或者
  • 参考

原型

H ( s ) = Ω c 2 s 2 + 2 ∗ Ω ∗ s + Ω c 2 H(s)=\frac{\Omega_c^2}{s^2+\sqrt{2}*\Omega * s+\Omega_c^2} H(s)=s2+2 Ωs+Ωc2Ωc2

双线性变换+no warpper

Ω c = ω c T \Omega_c = \frac{\omega_c}{T} Ωc=Tωc
带入传递函数得到:
H ( s ) = ( ω c T ) 2 s 2 + 2 ∗ ω c T ∗ s + ( ω c T ) 2 H(s)=\frac{(\frac{\omega_c}{T})^2}{s^2+\sqrt{2}*\frac{\omega_c}{T} * s+(\frac{\omega_c}{T})^2} H(s)=s2+2 Tωcs+(Tωc)2(Tωc)2
带入双线性变换公式: s = 2 T 1 − z − 1 1 + z − 1 和 ω c = 2 π f c f s s =\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}} 和 \omega_c =\frac{2\pi f_c}{f_s} s=T21+z11z1ωc=fs2πfc
得到
H ( s ) = ( 2 π f c f s T ) 2 ( 2 T 1 − z − 1 1 + z − 1 ) 2 + 2 ∗ ( 2 π f c f s ) T ∗ 2 T 1 − z − 1 1 + z − 1 + ( 2 π f c f s T ) 2 H(s)=\frac{(\frac{\frac{2\pi f_c}{f_s}}{T})^2}{(\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}})^2+\sqrt{2}*\frac{(\frac{2\pi f_c}{f_s})}{T} * \frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}}+(\frac{\frac{2\pi f_c}{f_s}}{T})^2} H(s)=(T21+z11z1)2+2 T(fs2πfc)T21+z11z1+(Tfs2πfc)2(Tfs2πfc)2
化简后得到
H ( s ) = ( ( π f c f s ) 2 1 + 2 ∗ π ∗ f c f s + ( π ∗ f c f s ) 2 ) ( 1 + 2 ∗ z − 1 + z − 2 ) 1 + ( π f c f s ) 2 − 2 1 + 2 ∗ π ∗ f c f s + ( π ∗ f c f s ) 2 ∗ z − 1 + 1 − 2 ∗ π ∗ f c f s + ( π ∗ f c f s ) 2 1 + 2 ∗ π ∗ f c f s + ( π ∗ f c f s ) 2 ∗ z − 2 H(s)=\frac{(\frac{(\frac{\pi f_c}{f_s})^2}{1+\frac{\sqrt{2}* \pi *f_c}{f_s}+(\frac{\pi*f_c}{f_s})^2})(1+2*z^{-1}+z^{-2})}{1+\frac{(\frac{\pi f_c}{f_s})^2-2}{1+\frac{\sqrt{2}* \pi *f_c}{f_s}+(\frac{\pi*f_c}{f_s})^2} * z^{-1}+\frac{1-\frac{\sqrt{2}* \pi *f_c}{f_s}+(\frac{\pi*f_c}{f_s})^2}{1+\frac{\sqrt{2}* \pi *f_c}{f_s}+(\frac{\pi*f_c}{f_s})^2}*z^{-2}} H(s)=1+1+fs2 πfc+(fsπfc)2(fsπfc)22z1+1+fs2 πfc+(fsπfc)21fs2 πfc+(fsπfc)2z2(1+fs2 πfc+(fsπfc)2(fsπfc)2)(1+2z1+z2)

双线性变换+warpper

Ω c = 2 T tan ⁡ ω c 2 \Omega_c = \frac{2}{T}\tan{\frac{\omega_c}{2}} Ωc=T2tan2ωc
带入传递函数得到:
H ( s ) = ( 2 T tan ⁡ ω c 2 ) 2 s 2 + 2 ∗ ( 2 T tan ⁡ ω c 2 ) ∗ s + ( 2 T tan ⁡ ω c 2 ) 2 H(s)=\frac{( \frac{2}{T}\tan{\frac{\omega_c}{2}})^2}{s^2+\sqrt{2}*( \frac{2}{T}\tan{\frac{\omega_c}{2}})* s+( \frac{2}{T}\tan{\frac{\omega_c}{2}})^2} H(s)=s2+2 (T2tan2ωc)s+(T2tan2ωc)2(T2tan2ωc)2
带入双线性变换公式: s = 2 T 1 − z − 1 1 + z − 1 和 ω c = 2 π f c f s s =\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}} 和 \omega_c =\frac{2\pi f_c}{f_s} s=T21+z11z1ωc=fs2πfc
得到
H ( s ) = ( 2 T tan ⁡ π f c f s ) 2 ( 2 T 1 − z − 1 1 + z − 1 ) 2 + 2 ∗ ( 2 T tan ⁡ π f c f s ) ∗ 2 T 1 − z − 1 1 + z − 1 + ( 2 T tan ⁡ π f c f s ) 2 H(s)=\frac{(\frac{2}{T}\tan{\frac{\pi f_c}{f_s}} )^2}{(\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}})^2+\sqrt{2}*(\frac{2}{T}\tan{\frac{\pi f_c}{f_s}} )* \frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}}+(\frac{2}{T}\tan{\frac{\pi f_c}{f_s}} )^2} H(s)=(T21+z11z1)2+2 (T2tanfsπfc)T21+z11z1+(T2tanfsπfc)2(T2tanfsπfc)2
化简后得到
H ( s ) = ( ( tan ⁡ π f c f s ) 2 1 + 2 tan ⁡ π ∗ f c f s + ( tan ⁡ π ∗ f c f s ) 2 ) ( 1 + 2 ∗ z − 1 + z − 2 ) 1 + 2 ( tan ⁡ π f c f s ) 2 − 2 1 + 2 tan ⁡ π ∗ f c f s + ( tan ⁡ π ∗ f c f s ) 2 ∗ z − 1 + 1 − 2 tan ⁡ π ∗ f c f s + ( tan ⁡ π ∗ f c f s ) 2 1 + 2 tan ⁡ π ∗ f c f s + ( tan ⁡ π ∗ f c f s ) 2 ∗ z − 2 H(s)=\frac{(\frac{(\tan{\frac{\pi f_c}{f_s}})^2}{1+\sqrt{2}\tan{\frac{ \pi *f_c}{f_s}}+(\tan{\frac{\pi*f_c}{f_s}})^2})(1+2*z^{-1}+z^{-2})}{1+\frac{2(\tan{\frac{\pi f_c}{f_s}})^2-2}{1+\sqrt{2}\tan{\frac{ \pi *f_c}{f_s}}+(\tan{\frac{\pi*f_c}{f_s}})^2} * z^{-1}+\frac{1-\sqrt{2}\tan{\frac{ \pi *f_c}{f_s}}+(\tan{\frac{\pi*f_c}{f_s}})^2}{1+\sqrt{2}\tan{\frac{ \pi *f_c}{f_s}}+(\tan{\frac{\pi*f_c}{f_s}})^2}*z^{-2}} H(s)=1+1+2 tanfsπfc+(tanfsπfc)22(tanfsπfc)22z1+1+2 tanfsπfc+(tanfsπfc)212 tanfsπfc+(tanfsπfc)2z2(1+2 tanfsπfc+(tanfsπfc)2(tanfsπfc)2)(1+2z1+z2)

或者

H ( s ) = 1 s 2 + 1.414 ∗ s + 1 H(s)=\frac{1}{s^2+1.414* s+1} H(s)=s2+1.414s+11
这个连接\二阶巴特沃斯双极点低通滤波器设计详细总结有个推导,结果应该是一样的,那就这样吧。为了验证这个算法的准确性,从scipy中生成同样采样率、截止频率的参数,发现除了a1都一样(a/b本文推导,aa/bb是二阶巴特沃斯双极点低通滤波器设计详细总结结果,aaa/bbb是scipy的结果),不知道scipy是怎么算的a1。
在这里插入图片描述

参考

二阶巴特沃斯双极点低通滤波器设计详细总结
巴特沃斯滤波器详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531178.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elastic:加速生成式人工智能体验

作者:Matt Riley 搜索驱动的人工智能和开发人员工具专为速度和规模而打造。 在大型语言模型(LLM)和生成式 AI 的每日突破中,开发者站在了这场运动的最前沿,影响着它的方向和可能性。在这篇博客中,我将分享…

STL容器之unordered_map类

文章目录 STL容器之unordered_map类1、unordered_map1.1、unordered_map介绍1.2、unordered_map的使用1.2.1、unordered_map的常见构造1.2.2、unordered_map的迭代器1.2.3、unordered_map的容量1.2.4、unordered_map的增删查1.2.5、unordered_map的桶操作 2、unordered_multima…

白盒测试-条件覆盖

​ 条件覆盖是指运行代码进行测试时,程序中所有判断语句中的条件取值为真值为假的情况都被覆盖到,即每个判断语句的所有条件取真值和假值的情况都至少被经历过一次。 ​ 条件覆盖率的计算方法为:测试时覆盖到的条件语句真、假情况的总数 / 程…

redis开源协议变更了?我们还能用吗?

Redis是一款广泛使用的开源键值存储数据库,其开源协议的变更引起了社区和行业的广泛关注。根据搜索结果,Redis Labs宣布Redis将采用双重源代码可用许可证(RSALv2)和服务器端公共许可证(SSPLv1),…

AI自我推理和规划,OpenAI和Meta今年要打开“潘多拉盒子”了 油价100美元几乎已经成了华尔街的共识

OpenAI和Meta今年要打开“潘多拉盒子”了 OpenAI首席运营官Brad Lightcap表示,“我们将开始看到AI能够以更复杂的方式执行更复杂的任务。” OpenAI和Meta正准备发布新的AI模型,他们称这些模型将能够进行自我推理和规划,而这是实现机器“超…

Jmeter —— 自动录制脚本

1、Jmeter配置 1.1新增一个线程组 1.2Jmeter中添加HTTP代理 1.3配置HTTP代理服务器 修改端口 修改Target Cintroller(目标控制器) 修改Grouping(分组) 编辑录制中的包含和排除 在“URL Patterns to include包含模式”中填入.*(123456).*用以过滤请求地址中不包含123456的请求…

设计模式-接口隔离原则

基本介绍 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上先看一张图: 类A通过接口Interface1 依赖类B,类C通过接口Interface1 依赖类D,如果接口Interface1对于类A和类C来说不是最小接口,那么类…

LangChain入门:17.使用 ConversationChain实现对话记忆功能

在默认情况下,无论是 LLM 还是代理都是无状态的,每次模型的调用都是独立于其他交互的。也就是说,我们每次通过 API 开始和大语言模型展开一次新的对话,它都不知道你其实昨天或者前天曾经和它聊过天了。 你肯定会说,不可…

3.2.k8s搭建-kubeadm

目录 一、虚拟机准备 二、所有节点环境准备 1.所有节点做hosts解析 2.所有节点重新命名 3.所有节点安装docker 4.所有节点为docker做linux内核转发 5.所有节点配置docker 6.所有节点关闭swap分区 7.所有节点验证网卡硬件编号是否冲突 8.所有节点配置允许iptables桥接…

【HTML】简单制作一个分形动画

目录 前言 开始 HTML部分 效果图 ​编辑​编辑​编辑​编辑总结 前言 无需多言,本文将详细介绍一段代码,具体内容如下: 开始 首先新建文件夹,创建一个文本文档,其中HTML的文件名改为[index.html]&a…

【原创教程】Smart200通过Modbus RTU实现V90位置控制的方法

1 绪论 1.1 本文的目的 S7-200Smart 可通过标准的 Modbus 功能块发送伺服驱动器的控制指令及读写驱动器的参数。本文详细叙述了 S7-200 SMART PLC 通过 Modbus RTU 通信连接 SINAMICS V90 实现内部位置的 MDI 功能。(MDI(Manual Data Input)称为设定值直接给定运行方式。…

岛屿个数c++

参考文章 岛屿个数1岛屿个数2 题目 输入样例: 2 5 5 01111 11001 10101 10001 11111 5 6 111111 100001 010101 100001 111111输出样例: 1 3样例解释 对于第一组数据,包含两个岛屿,下面用不同的数字进行了区分: 0…

计算机网络-TCP基础、三次挥手、四次握手过程

TCP基础 定义:TCP是面向连接的、可靠的、基于字节流的传输层通信协议。这意味着在发送数据之前,TCP需要建立连接,并且它能确保数据的可靠传输。此外,TCP将数据视为无结构的连续字节流。面向连接:TCP只能一对一进行连接…

Harmony与Android项目结构对比

主要文件对应 Android文件HarmonyOS文件清单文件AndroidManifest.xmlmodule.json5Activity/Fragmententryability下的ts文件XML布局pages下的ets文件resresourcesModule下的build.gradleModule下的build-profile.json5gradlehvigor根目录下的build.gradle根目录下的build-profi…

动态内存管理详解

一.为什么要存在动态内存分配: 下图是不同类型数据在内存中的分配: 上述的开辟空间的⽅式有两个特点: • 空间开辟⼤⼩是固定的。 • 数组在申明的时候,必须指定数组的⻓度,数组空间⼀旦确定了⼤⼩不能调整 但是对…

DeepStream做对象模糊的几种方法

有时候,我们需要对视频的敏感信息做模糊处理,比如模糊人脸,车牌。 有时候,也需要对整帧做模糊,或者遮挡。比如这个例子。 下面介绍几种模糊的办法。 1. 通过nvosd deepstream-test1是DeepStream最简单的一个例子&…

基于SpringBoot的“垃圾分类网站”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“垃圾分类网站”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统功能界面图 用户登录、用户注…

基于java+springboot+vue实现的人事管理系统(文末源码+Lw)23-242

摘 要 使用旧方法对人事管理系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在人事管理系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的人事管理…

时序预测 | Matlab实现SSA-ESN基于麻雀搜索算法(SSA)优化回声状态网络(ESN)的时间序列预测

时序预测 | Matlab实现SSA-ESN基于麻雀搜索算法(SSA)优化回声状态网络(ESN)的时间序列预测 目录 时序预测 | Matlab实现SSA-ESN基于麻雀搜索算法(SSA)优化回声状态网络(ESN)的时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-ESN基于麻雀搜索…

SQL 注入之 Windows/Docker 环境 SQLi-labs 靶场搭建!

在安全测试领域,SQL注入是一种常见的攻击方式,通过应用程序的输入执行恶意SQL查询,从而绕过认证和授权,可以窃取、篡改或破坏数据库中的数据。作为安全测试学习者,如果你要练习SQL注入,在未授权情况下直接去…