电路笔记(信号):Python 滤波器设计分析工具pyfda

news2025/1/18 8:17:26

目录

  • 滤波器设置(3步实现滤波器设计)
  • 数据分析与使用
    • pyfda功能界面
    • 数字滤波器数学表示
    • 线性相位
      • 线性相位的定义
      • 线性相位的特性
    • 冲击响应
    • quartus数据加载
  • CG

滤波器设置(3步实现滤波器设计)

    1. pip install pyfda #安装python依赖,详见https://pyfda.readthedocs.io/en/latest/manual/index.html
    1. pyfdax #运行pyfdax桌面程序
    1. 设置参数,点击“DESIGN FILTER”:
    • N (滤波器阶数):滤波器最终点的个数
    • F P B F_{PB} FPB(拐角频率、截止频率): 显著衰减频率点,一般对应极点,信号的功率衰减到其最大值的一半,幅度-3dB、每十倍频程(如从1 kHz 到 10 kHz)-20dB幅度变化和-0到-90°相位变化。
    • F S B F_{SB} FSB(阻带区间频率)
    • F P B F_{PB} FPB& F S B F_{SB} FSB(波动权重) : ripple weights(通带和阻带的波动权重)是指用于控制滤波器在通带(Passband)和阻带(Stopband)内允许的最大波动量或误差的标准。这些权重通常出现在优化问题中,用来平衡通带和阻带之间的性能要求,确保滤波器满足特定的应用需求。
      在这里插入图片描述

数据分析与使用

pyfda功能界面

在这里插入图片描述

数字滤波器数学表示

数字滤波器通常用差分方程来表示,而这个差分方程可以通过Z变换转换成更易于分析的形式。一个常见的线性时不变(LTI)数字滤波器可以用下面的差分方程来描述:

y [ n ] = ∑ k = 0 M b k x [ n − k ] − ∑ k = 1 N a k y [ n − k ] y[n] = \sum_{k=0}^{M} b_k x[n-k] - \sum_{k=1}^{N} a_k y[n-k] y[n]=k=0Mbkx[nk]k=1Naky[nk]

其中:

  • y [ n ] y[n] y[n] 是输出信号在时间点 n n n的值。
  • x [ n ] x[n] x[n] 是输入信号在时间点 n n n的值。
  • b k b_k bk a k a_k ak 分别是滤波器的前向路径系数和反馈路径系数。
  • M M M N N N 分别是前向路径和反馈路径的最大延迟(阶数)。

该差分方程也可以通过Z变换表示为传递函数的形式:

H ( z ) = ∑ k = 0 M b k z − k 1 + ∑ k = 1 N a k z − k H(z) = \frac{\sum_{k=0}^{M} b_k z^{-k}}{1 + \sum_{k=1}^{N} a_k z^{-k}} H(z)=1+k=1Nakzkk=0Mbkzk

线性相位

在这里插入图片描述

线性相位的定义

一个系统或滤波器如果具有线性相位特性,则其相频响应 ϕ ( ω ) \phi(\omega) ϕ(ω)可以表示为:

ϕ ( ω ) = − τ ω + constant \phi(\omega) = -\tau \omega + \text{constant} ϕ(ω)=τω+constant

其中:

  • ω \omega ω是角频率。

  • τ \tau τ是常数,代表群延迟(Group Delay),即所有频率成分经历的相同时间延迟。

  • “constant” 是一个与频率无关的相移量,通常可以忽略不计,因为它不会影响群延迟。

线性相位的特性

  • 保持波形形状:线性相位确保不同频率成分以相同的速度传播,从而避免了相位失真。这对于脉冲信号、调制信号和语音信号尤为重要,因为这些信号的波形形状携带了重要信息。

  • 最小化相位失真:非线性相位会导致不同频率成分之间的相对时间延迟发生变化,进而引起相位失真。线性相位滤波器可以有效避免这种情况。

冲击响应

在这里插入图片描述

quartus数据加载

  • FIR(有限脉冲响应)滤波器:只包含前向路径,没有反馈路径,因此它的差分方程只包含输入项,即 y [ n ] = ∑ k = 0 M b k x [ n − k ] y[n] = \sum_{k=0}^{M} b_k x[n-k] y[n]=k=0Mbkx[nk],滤波器系数只有 b k b_k bk
  • 保存的csv文件是竖向排列的,为方便quartus加载转为一行:-0.008714744830464442,-0.054112502607988215,-0.03324360937210303,0.02861503411936945,0.14232499893478073,0.2530416744141692,0.29926671053557363,0.2530416744141692,0.14232499893478073,0.02861503411936945,-0.03324360937210303,-0.054112502607988215,-0.00871474483
  • 加载之后quartus会自动量化转换
    在这里插入图片描述

CG

  • 相关工具:MATLAB的滤波器设计工具箱filterDesigner(fdatool),支持导出C头文件、XILINX参数文件(COE)等功能

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【15】Word:互联网发展状况❗

目录 题目​ NO2 NO3 NO4 NO5 NO6 NO7.8.9 NO7 NO8 NO9 NO10 题目 NO2 布局→页面设置→纸张:A4→页边距:上下左右→版式:页眉/页脚页码范围:多页:对称页边距→内侧/外侧→装订线 NO3 首先为文档应用内置…

Web前端开发技术之HTMLCSS知识点总结

学习路线 一、新闻网界面1. 代码示例2. 效果展示3. 知识点总结3.1 HTML标签和字符实体3.2 超链接、颜色描述与标题元素3.3 关于图片和视频标签:3.4 CSS引入方式3.5 CSS选择器优先级 二、flex布局1. 代码示例2. 效果展示3. 知识点总结3.1 span标签和flex容器的区别3.…

BUUCTF Web

[极客大挑战 2019]LoveSQL union注入 是sql注入类型 输入1 发现不是数字型注入,那就是字符型注入。判断字段数,输入order by 4 #发现错误,就存在三个字段数 判断回显点:1 union select 1,2,3 # 判断回显点为2,3 判断数据库名 …

Kinova仿生机械臂Gen3搭载BOTA 力矩传感器SeneOne:彰显机器人触觉 AI 与六维力传感的融合力量

随着工业4.0时代的到来,自动化和智能化成为制造业的趋势。机器人作为实现这一趋势的重要工具,其性能和智能水平直接影响到生产效率和产品质量。然而,传统的机器人系统在应对复杂任务时往往缺乏足够的灵活性和适应性。为了解决这一问题&#x…

【数据库】MySQL数据库SQL语句汇总

目录 1.SQL 通用语法 2.SQL 分类 2.1.DDL 2.2.DML 2.3.DQL 2.4.DCL 3.DDL 3.1.数据库操作 3.1.1.查询 3.1.2.创建 3.1.3.删除 3.1.4.使用 3.2.表操作 3.2.1.查询 3.2.2.创建 3.2.3.数据类型 3.2.3.1.数值类型 3.2.3.2.字符串类型 3.2.3.3.日期时间类型 3.2…

《汽车与驾驶维修》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答: 问:《汽车与驾驶维修》是不是核心期刊? 答:不是,是知网收录的第二批认定学术期刊。 问:《汽车与驾驶维修》级别? 答:省级。主管单位:中国机械工业联合会…

鸿蒙UI(ArkUI-方舟UI框架)-开发布局

文章目录 开发布局1、布局概述1)布局结构2)布局元素组成3)如何选择布局4)布局位置5)对子元素的约束 2、构建布局1)线性布局 (Row/Column)概述布局子元素在排列方向上的间距布局子元素在交叉轴上的对齐方式(…

数据结构——概述

1、什么是数据结构? 数据结构是计算机存储和管理数据的方式。数据必须依据某种逻辑联系组织在一起存储在计算机内,数据结构研究的就是这种数据的逻辑结构和数据的存储结构 2、逻辑结构——数据本身之间的关系 逻辑结构在计算机中的实现 (1…

业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架,旨在帮助组织高效地进行架构设计和管理。 TOGAF 的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 企业数字化架构设计中的最常见要素是4A 架构。 4…

python爬虫入门(实践)

python爬虫入门(实践) 一、对目标网站进行分析 二、博客爬取 获取博客所有h2标题的路由 确定目标,查看源码 代码实现 """ 获取博客所有h2标题的路由 """url "http://www.crazyant.net"import re…

简历_使用优化的Redis自增ID策略生成分布式环境下全局唯一ID,用于用户上传数据的命名以及多种ID的生成

系列博客目录 文章目录 系列博客目录WhyRedis自增ID策略 Why 我们需要设置全局唯一ID。原因:当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题。 问题:id的规律性太明显、…

win32汇编环境,窗口程序中对多行编辑框的操作

;运行效果 ;win32汇编环境,窗口程序中对多行编辑框的操作 ;比如生成多行编辑框,显示文本、获取文本、设置滚动条、捕获超出文本长度消息等。 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>&g…

【Flink系列】5. DataStream API

5. DataStream API DataStream API是Flink的核心层API。一个Flink程序,其实就是对DataStream的各种转换。具体来说,代码基本上都由以下几部分构成: 5.1 执行环境(Execution Environment) Flink程序可以在各种上下文…

探索未来:Leap Motion JavaScript框架——开启VR与手势控制的无限可能

探索未来:Leap Motion JavaScript框架——开启VR与手势控制的无限可能 leapjs JavaScript client for the Leap Motion Controller 项目地址: https://gitcode.com/gh_mirrors/le/leapjs 项目介绍 欢迎来到Leap Motion JavaScript框架的世界!Lea…

PCM5142集成32位384kHz PCM音频立体声114dB差分输出DAC编解码芯片

目录 PCM5142 简介PCM5142功能框图PCM5142特性 参考原理图 PCM5142 简介 PCM514x 属于单片 CMOS 集成电路系列,由立体声数模转换器 (DAC) 和采用薄型小外形尺寸 (TSSOP) 封装的附加支持电路组成。PCM514x 使用 TI 最新一代高级分段 DAC 架构产品,可实现…

技术领衔 互学互鉴|ZASM召开2024年度技术交流会

1月16日,ZASM组织召开了“2024年度企业员工技术交流活动”。公司总经理,技术部门负责人及项目经理参加本次会议。 会上,公司所属各项目技术负责人围绕“三维模型切割模块的基础操作与模型发布缓存的技术演示”、“J18微型智能空中作业平台的…

UI自动化测试:异常截图和page_source

自动化测试过程中,是否遇到过脚本执行中途出错却不知道原因的情况?测试人员面临的不仅是问题的复现,还有对错误的快速定位和分析。而异常截图与页面源码(Page Source)的结合,正是解决这一难题的利器。 在实…

OSI七层协议——分层网络协议

OSI七层协议,顾名思义,分为七层,实际上七层是不存在的,是人为的进行划分,让人更好的理解 七层协议包括,物理层(我),数据链路层(据),网络层(网),传输层(传输),会话层(会),表示层(表),应用层(用)(记忆口诀->我会用表…

浅谈计算机网络04 | 现代网络需求与技术支撑

现代网络需求与技术支撑 一、网络和因特网流量的类型剖析1.1 弹性流量的自适应特征1.2 非弹性流量的刚性特征1.3 实时流量特性 二、特定领域的网络需求解析2.1 大数据环境下的网络需求分析2.2 云计算环境下的网络需求分析2.3 移动数据环境下的网络需求分析 三、QoS和QoE&#x…

微服务架构下的负载均衡:Spring Cloud如何实现高效流量分配

在Spring Cloud中,实现服务的负载均衡,主要是为了让多个服务实例能够均匀分担请求压力,就像把一堆东西分给几个人拿,确保大家都不太累。 假设你开了一个网店,有很多顾客会同时来买东西(这就是并发请求&…