数字一阶低通滤波器立体解析

2023-10-29

  1. 一阶惯性环节

一个独立储能元件和一个耗能元件的组合,就可以构成一个惯性环节。

下图就是一个常见的电路,一阶滤波电路,也可以叫一阶惯性环节,为什么叫一阶惯性环节呢? 是因为当输入信号发生突变的时候,输出信号不能突变,只能按照指数规律逐渐变化,是不是像物理学中的惯性,所以称为惯性环节。

图1: RC滤波电路

一阶惯性环节微分方程

图2

2. 一阶滤波器带宽

一阶低通滤波器带宽

matlab 仿真

令1/2PIRC = 100, 即设计一阶低通滤波器的带宽为100,即RC = 1/(200*pi)

(1)输入幅度为1,频率为10Hz的正弦波,输入输出波形如下图

黄色波形为输出波形。可以看出来输出波形稍微有点滞后于输入波形。

(2) 输入幅度为1,频率为50Hz的,正弦波。 输出波形 如下图。

(3) 输入幅度为1,频率为100Hz的,正弦波。 输出波形 如下图

输入一个阶跃信号

上升时间大约为9.922ms

把一阶低通滤波器的带宽改为200,再次输入阶跃信号。输出如下图

上升时间为5ms。从上述的实验可以得一个结论,一阶惯性环节阶跃信号输出响应,对应的信号上升时间可以用来反向计算一阶滤波器的带宽。

3. 数字一阶低通滤波器

这里采用后向差分的方法对模拟一阶滤波器进行离散化

把5.4代入上述的传递函数,可以得到

两边同时除以RC+T

令a = T/(RC+T)得到

令k = k+1得到

也可以写成这种形式

我想大部分初学者会想,这个a和一阶低通滤波器的带宽有什么关系,由前面的计算中可以知道

a = T/(RC+T), 模拟一阶滤波器中 带宽为

我猜想模拟一阶滤波器和数字一阶滤波器 带宽公式应该是一样的。稍后我会通过matlab仿真来验证

设计数字一阶低通滤波器的带宽为200Hz,计算频率为10Khz,也就是T = 0.0001s。通过下图的公式

代入参数可以计算得到a = 0.1116

通过matlab仿真反向验证实际带宽是否和设计带宽一致。

数字一阶低通滤波器matlab仿真

输入一个幅值为1,频率为100Hz的正弦波。输入输出波形如下图所示

输入一个幅值为1,频率为200Hz的正弦波。输入输出波形如下图所示

通过以上的实验可以基本判断数字一阶低通滤波器带宽设置没问题。

总结:

  1. 模拟一阶低通滤波器的带宽设置方法和数字一阶滤波器是一样的
  2. 有些场合需要注意一阶低通滤波器初始值

思考:

1.计算周期T大小会对数字滤波器产生什么样的影响?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字一阶低通滤波器立体解析 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • python爬虫股票数据分析判断股票好坏_学 Python 爬虫:爬取股票信息

    分析 打开 Chrome 的开发者模式 将股票代码一个一个选出来吧 我们可以将所有的股票代码存放在一个列表中 剩下的就是找一个网站 循环的去将每一只股票的数据取出来咯 同花顺 想必各位聪明的同学已经发现了 000001 就是股票代码 我们接
  • Git中的Sign Off功能是什么?

    Git中的Sign Off功能有什么意义 git commit signoff 我什么时候应该使用它 如果有的话 1楼 签名是提交消息末尾的一行 用于证明谁是提交的作者 其主要目的是改善对谁做了什么的追踪 尤其是补丁 提交示例 Add te
  • Ubuntu 15 安装Zsh与oh-my-zsh

    一 前言 Zsh和bash一样 是一种Unix shell 但大多数Linux发行版本都默认使用bash shell 但Zsh有强大的自动补全参数 文件名 等功能和强大的自定义配置功能 oh my zsh是基于zsh的功能做了一个扩展 方便
  • 数据结构--顺序表,栈的实现

    顺序表 顺序表是在计算机内存中以数组的形式保存的线性表 线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素 使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中 即通过数据元素物理存储的相邻关系来反映数据元素
  • vmware创建的虚拟机无法连接外网

    在我本机中使用vmware创建虚拟机后 安装 docker 时使用wget 命令下载docker的安装文件 报错找不到资源 然后通过ping www baidu com 发现也ping不通 经过一番折腾可以访问外网了 将步骤记录下来 1 设
  • vue-cli2 ,区分开发环境,测试环境,生成环境的方法

    项目背景 为了适应vue cli2环境搭建需求 需要动态配置开发 测试 生产三种对应域名及其及打包命令 使用cross env可以让配置环境更加清晰明了还好管理 1 安装 cross env npm install save dev cro
  • arccotx图像在matlab,反三角函数图像与性质是什么?

    01 反三角函数是反正弦arcsinx 反余弦arccosx 反正切arctanx 反余切arccotx 反正割arcsecx 反余割arccscx这些函数的统称 各自表示其反正弦 反余弦 反正切 反余切 反正割 反余割为x的角 三角函数的
  • 2021第十四届全国大学生信息安全竞赛WP(CISCN)-- pwn部分

    CISCN 2021 WP 概述 ciscn 2021 lonelywolf ciscn 2021 pwny 第一种利用方式 第二种利用方式 ciscn 2021 silverwolf ciscn 2021 game 总结 概述 作为学习不
  • PeopleSoft PeopleTools Meta-Tables

    This is an attempt to list PeopleSoft meta tables along with some kind of description for every table The list will be b
  • 手把手教你使用vue2搭建微前端micro-app

    简述 本文主要讲述新手小白怎么搭建micro app 几乎是每一步都有截图说明 上手应该很简单 研究背景 这段时间在网上找了很多有关微前端相关的知识 起初本来是想着先搭建一个single spa 但是奈何网上能找到的内容都是千篇一律 我也是
  • 时钟芯片DS1302的原理及使用

    一 描述 DS1302时钟芯片是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片 它可以对年 月 日 周 时 分 秒进行计时 且具有闰年补偿等多种功能 DS1302芯片包含一个用于存储实时时钟 日历的 31 字节的静态
  • Installing with get-pip.py

    本文转载至 https pip readthedocs io en stable installing 由于 Mac OS X 下默认没有安装 pip 可以使用如上的脚本来安装 pip 安装方法很简单 1 下载 get pip py htt
  • libtorch编译C++版本

    libtorch编译C 版本 一 下载pytorch源码 git clone https github com pytorch pytorch git cd pytorch git submodule sync git submodule
  • 如何配置Kubernetes仪表板dashboard支持http方式并使用ingress-nginx代理访问实践

    公众号关注 WeiyiGeek 设为 特别关注 每天带你玩转网络安全运维 应用开发 物联网IOT学习 本章目录 配置 Kubernetes dashboard 以支持 http 方式访问 原文地址 https blog weiyigeek
  • centos6、centos7 脚本管理rsync服务状态

    1 环境准备 centos6 虚拟机 centos7 虚拟机 2 centos6 编写脚本 分析脚本管理的逻辑 centos6中管理 服务的脚本都是在 etc init d 目录下的 我们要在此目录下创建一个管理的脚本 centos系统是通
  • kafka配置之service.properties文件

    Server Basics 唯一标识一个broker broker id 1 Socket Server Settings 绑定服务监听的地址和端口 要填写hostname i 出来的地址 否则可能会绑定到127 0 0 1 produce
  • SQL-labs的第32关——union联合查询攻击 宽字节注入(Get)

    绕过向危险字符添加斜杠的自定义筛选器 注意只要出现危险字符就会自动添加斜杆 这里的危险字符只有单引号 所以只要写了单引号 就要干扰斜杠 1 判断闭合方式 输入语句 id 1 返回页面如下 按理来说 它这次是无法正常返回内容的 但是它正常返回
  • 全面解析Web3社交:深层次的链上社交将成为可能

    Web3是什么 Web3是一个没有既定定义的总括性术语 这个词包含了由社区和用户所有权驱动的去中心化的想法和愿景 Him Gajria写的一篇关于Web3 0的文章说得很好 Web1是只读的 网络托管内容 人们可以消费内容 但不能分享 We
  • matlab高代求商与余式,matlab求商取余remmod区别

    当除数和被除数同为正时 gt gt rem 10 91 ans 10 gt gt mod 10 91 ans 10 当除数和被除数同为负时 gt gt rem 10 91 ans 10 gt gt mod 10 91 ans 10 当除数和
  • 数字一阶低通滤波器立体解析

    一阶惯性环节 一个独立储能元件和一个耗能元件的组合 就可以构成一个惯性环节 下图就是一个常见的电路 一阶滤波电路 也可以叫一阶惯性环节 为什么叫一阶惯性环节呢 是因为当输入信号发生突变的时候 输出信号不能突变 只能按照指数规律逐渐变化 是不