信号系统之滤波器比较

比较 1:模拟与数字滤波器

大多数数字信号源自模拟电子设备。**如果需要对信号进行滤波,是在数字化之前使用模拟滤波器,还是在数字化后使用数字滤波器更好?**将通过两个对比来回答问题。

目标是提供 1 kHz的低通滤波器。模拟端是一个六极切比雪夫滤波器,纹波为 0.5 dB (6%),其可以由 3 个运算放大器、12 个电阻器和 6 个电容器构成。在数字端,选用windowed-sinc

模拟信号以 10 kHz 的采样率进行数字化处理,使数字频率的截止频率为 0.1。windowed-sinc 将选择为 129 点的长度,提供与模拟滤波器相同的 90% 至 10% 滚降。图 21-1 显示了这两个滤波器的频率和阶跃响应。

在这里插入图片描述

逐一比较这两个过滤器。

如(a)和(b)所示,模拟滤波器在通带内有6%的纹波,而数字滤波器则完全平坦(在0.02%以内)。模拟滤波器可实现的平坦度受其电阻器和电容器精度的限制。即使设计了巴特沃斯响应(即 0% 纹波),这种复杂性的滤波器也可能具有 1% 的残余纹波。另一方面,数字滤波器的平坦度主要受到舍入误差的限制,使其比模拟滤波器平坦数百倍。数字滤波器得一分。

接下来,查看对数刻度上的频率响应,如(c)和(d)所示。同样,数字滤波器显然是滚降和阻带衰减的胜者。即使通过增加额外的阶段来提高模拟性能,它仍然无法与数字滤波器相提并论。例如,假设需要将这两个参数提高 100 倍。这可以通过对窗口化sinc的简单修改来完成,但对于模拟电路来说几乎是不可能的。数字滤波器再打两分。

两个滤波器的阶跃响应如(e)和(f)所示。数字滤波器的阶跃响应在阶跃的下部和上部之间是对称的,即它具有线性相位。模拟滤波器的阶跃响应不对称,即它具有非线性相位。数字滤波器再加一分。最后,模拟滤波器在阶跃的一侧过冲约20%。数字滤波器过冲约10%,但在阶跃的两边。由于两者都不好,因此不授予分。

尽管有这种跳动,但仍有许多应用应该或必须使用模拟滤波器。这与滤波器的实际性能无关(即输入和输出的内容),而是与模拟电路相对于数字技术的一般优势有关:

  • 第一个优点是速度:数字速度慢;模拟速度很快。例如,个人计算机只能使用 FFT 卷积以每秒约 10,000 个样本的速度过滤数据。即使是简单的运算放大器也可以在100 kHz至1 MHz的频率下工作,速度是数字系统的10到100倍!
  • 与数字相比,模拟的第二个固有优势是动态范围。这有两种风格。幅度动态范围是可以通过系统的最大信号与系统固有噪声之间的比率。例如,对于约14000的动态范围,12位ADC的饱和度为4095,均方根量化噪声为0.29个数字。相比之下,标准运算放大器的饱和电压约为20伏,内部噪声约为2微伏,动态范围约为1000万。和以前一样,一个简单的运算放大器会破坏数字系统。
  • 第三个是频率动态范围。例如,很容易设计一个运算放大器电路,以同时处理0.01 Hz和100 kHz(七十年)之间的频率。当使用数字系统进行尝试时,计算机会被数据淹没。例如,在 200 kHz 下采样,需要 2000 万个点才能在 0.01 Hz 下捕获一个完整的周期。数字滤波器的频率响应几乎总是绘制在线性频率标度上,而模拟滤波器通常以对数频率显示。这是因为数字滤波器需要线性刻度以显示其出色的滤波器性能,而模拟滤波器需要对数刻度来显示其巨大的动态范围

比较 2:Windowed-Sinc vs. Chebyshev

窗口正弦滤波器和切比雪夫滤波器都设计用于将一个频段与另一个频段分开。windowed-sinc 是通过卷积实现的 FIR 滤波器,而 Chebyshev 是通过递归实现的 IIR 滤波器。哪个是频域中最好的数字滤波器?

递归滤波器的竞争者将是 0.5% 纹波、6 极切比雪夫低通滤波器。由于切比雪夫的频率响应随截止频率而变化,因此公平的比较变得复杂。将使用 0.2 的截止频率,并选择 windowed-sinc 的滤波器内核为 51 点。这使得两个滤波器具有相同的90%至10%滚降,如图21-2(a)所示。

在这里插入图片描述

比较开始。递归滤波器在通带内有 0.5% 的纹波,而窗口正弦波是平坦的。但如果需要,可以轻松地将递归滤波器纹波设置为 0%。没有分。图 21-2b 显示,窗口 sinc 的阻带衰减比切比雪夫好得多。windowed-sinc 得 1 分。

图21-3显示了两个滤波器的阶跃响应。两者都很糟糕。递归滤波器具有非线性相位,但这可以通过双向滤波进行校正。由于这两个过滤器在这个参数中都非常丑陋,因此平局。

在这里插入图片描述

到目前为止,这两个过滤器之间没有太大区别;当需要适度的性能时,两者都可以工作。打击来自两个关键问题:最大性能和速度。windowed-sinc 是一个强大的动力源,而 Chebyshev 则快速而敏捷。假设有一个非常棘手的频率分离问题,比如说,需要隔离一个61赫兹的100毫伏信号,这个信号经过一条60赫兹的120伏电力线。

图 21-4 显示了当需要最高性能时这两个筛选器的比较情况。递归滤波器是具有 0.5% 纹波的 6 极切比雪夫。这是在 0.05 截止频率下可以以单精度使用的最大极数。windowed-sinc 使用一个 1001 点滤波器内核,该内核是通过将 501 点窗口 sinc 滤波器内核与自身卷积而形成的,提供了更大的阻带衰减。

在这里插入图片描述

当需要最高性能时,这两个过滤器如何比较? windowed-sinc 粉碎了切比雪夫!即使递归滤波器得到了改进(更多极点、多级实现、双精度等),它仍然无法与 FIR 性能相提并论。这就引出了第二个关键问题:速度。

比较这些过滤器的速度就像法拉利与卡丁车比赛一样。图 21-5 显示了与六极递归滤波器相比,windowed-sinc 的执行时间。由于递归滤波器在低频和高频下具有更快的滚降速度,因此必须使windowed-sinc 内核的长度更长以匹配性能(即保持比较公平)。这解释了在频率 0 和 0.5 附近windowed-sinc 的执行时间增加的原因。重要的一点是,FIR滤波器可以预期比同类IIR滤波器慢一个数量级(卡丁车:15英里/小时,法拉利:150英里/小时)。

在这里插入图片描述

比较 3:移动平均线与单极线

第三场是时域滤波器之战。一个九点移动平均过滤器和使用双向技术的单极递归滤波器。为了实现相当的频率响应,单极点滤波器将使用x=0.70的样本间衰减。从图21-6开始,其中显示了每个滤波器的频率响应。两者都不是很令人印象深刻,但频率分离不是这些滤波器的用途。双方都没有分。

在这里插入图片描述

图 21-7 显示了滤波器的阶跃响应。在(a)中,移动平均阶跃响应是一条直线,这是从一个水平移动到另一个水平的最快速方式。在(b)中,递归滤波器的阶跃响应更平滑,这对于某些应用来说可能更好。每边一分。

在这里插入图片描述

这些过滤器在性能方面相当匹配,并且通常根据个人喜好在两者之间进行选择。在两种情况下,一个过滤器比另一个过滤器略有优势。这些基于开发时间和执行时间之间的权衡:

  • 首先,希望缩短开发时间,并愿意接受较慢的筛选器。例如,可能有一次需要过滤几千个点。由于整个程序只需几秒钟即可运行,因此花时间优化算法是没有意义的。几乎肯定会使用浮点数。选择使用卷积执行的移动平均滤波器,或单极递归滤波器。这里的赢家是递归过滤器。编程和修改会稍微容易一些,并且执行速度会快得多。
  • 第二种情况恰恰相反;过滤器必须尽可能快地运行,并且愿意花费额外的开发时间来获得它。例如,此过滤器可能是商业产品的一部分,有可能运行数百万次。可能会使用整数以获得尽可能高的速度。选择的过滤器将是通过递归执行的移动平均线,或使用查找表或整数数学实现的单极递归滤波器。赢家是移动平均线过滤器。它将执行得更快,并且不容易受到整数算术的发展和执行问题的影响。

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

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

相关文章

八股文打卡day24——数据库(1)

面试题:左连接和右连接的区别? 我的回答: 左连接的SQL语句是:左表 left join 右表 on 连接条件,表示以左表为基础,将左表的的所有记录与右表进行连接。即使右表中没有与左表匹配的记录,左连接…

ROS 2基础概念#2:节点(Node)| ROS 2学习笔记

ROS 2节点简介 节点是执行计算的进程。节点组合在一起形成一个图(graph),并使用主题(topic)、服务(service)和参数服务器(paramter server)相互通信。这些节点旨在以细粒…

力扣-H指数

问题 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她&#xff09…

Tomcat服务部署

1、安装jdk、设置环境变量并测试 第一步:安装jdk 在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。 1. #关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 02. #将安装 Tomcat 所需软件包传到/opt…

数据结构与算法 - 数组与二分查找 + Leetcode典型题

1. 什么是数组 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索引的方式获取到下标下对应的数据。 C中二维数组在地址空间上也是连续的。 需注意: 数组的下标从0开始。数组内存空间的地址是连续的。数组的元素是不能删的&#xff0c…

c#打印BarTend标签提示:具名数据源没有cuckoo*具名数据(解决)

c#打印BarTend标签提示:具名数据源没有cuckoo*具名数据(解决) 今天咕咕更新打印模板的时候遇到的问题,就是在模版中配置了字段名,但是启动c#应用,后端发送json数据打印的时候c#报错提示,没有在…

ywtool ssh命令

一.SSH免密登陆介绍 这个功能就是通过脚本对本机器和其他机器配置SSH密钥,并将自己的密钥放到其他机器上(确保运维的机器要安全),这样可以不用输入密码就能登陆;通过scp拷贝文件也不需要输入密码。此功能也可以设置机器root用户只用密钥登陆…

【办公类-22-07】周计划系列(3-2)“信息窗+主题知识(优化)” (2024年调整版本)

作品展示: 背景需求 前文对“2023年2月”的一套信息窗主题知识的文件系列,进行第一次的提取。获得基础模板。 【办公类-22-07】周计划系列(3-1)“信息窗主题知识(提取)” (2024年调整版本&…

前端-BOM和DOM的区别和用法

首先上图,这是整个JAVASCRIPTD 结构,因此我们可以得出一个关系等式 JavaScript ECMAscript BOM DOMECMAscript: 是一种由 ECMA国际(前身为欧洲计算机制造商协会)通过 ECMA-262 标准化的脚本程序设计语言&#xff0…

【笔记】深度学习入门:基于Python的理论与实现(五)

卷积神经网络 卷积神经网络(Convolutional Neural Network,CNN) 整体结构 CNN 中新出现了卷积层(Convolution 层)和池化层(Pooling 层),之前介绍的神经网络中,相邻层的所有神经元之间都有连接,这称为全 连接(fully-connected) …

GPT-SoVITS音色克隆-模型训练步骤

GPT-SoVITS音色克隆-模型训练步骤 GPT-SoVITS模型源码一个简单的TTS后端项目 基于模型部署和训练教程,语雀 模型部署和训练教程 启动模型训练的主页面 1. 切到模型路径 /psycheEpic/GPT-SoVITS进入Python虚拟环境,并挂起执行python脚本 conda activ…

fastAdmin表格列表的功能

更多文章,请关注:fastAdmin后台功能详解 | 夜空中最亮的星 FastAdmin是一款基于ThinkPHP5Bootstrap的极速后台开发框架。优点见开发文档 介绍 - FastAdmin框架文档 - FastAdmin开发文档 在这里上传几张优秀的快速入门图: 一张图解析FastAdmin中的表格列…

【python】Python Turtle绘制流星雨动画效果【附源码】

在这篇技术博客中,我们将学习如何使用 Python 的 Turtle 模块绘制一个流星雨的动画效果。通过简单的代码实现,我们可以在画布上展现出流星闪耀的场景,为视觉带来一丝神秘与美感。 一、效果图: 二、准备工作 (1)、导入…

IntelliJ IDEA上svn分支管理和使用

IntelliJ IDEA上svn分支管理和使用 从Subversion下载trunk下的代码 选择项目创建分支 右键 Subversion --> branch or Tag … 选择Repository Location:需要创建的项目 选择Any Location 分支的位置和名字 详细查看截图 切换到分支 选择项目右键Subversion --> Update …

Dockerfile(1) - FROM 指令详解

FROM 指明当前的镜像基于哪个镜像构建dockerfile 必须以 FROM 开头&#xff0c;除了 ARG 命令可以在 FROM 前面 FROM [--platform<platform>] <image> [AS <name>]FROM [--platform<platform>] <image>[:<tag>] [AS <name>]FROM […

全网最新的软件测试面试八股文

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 测试技术面试题 1、什么是兼容性测试&#xff1f;兼容性测试侧…

如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员&#xff0c;自己搭建网站制作网页是绕…

sql注入less46作业三

采用报错注入 updatexml(XML_document,XPath_string,new_value) 一共可以接收三个参数&#xff0c;报错位置在第二个参数。 ?sort1 and updatexml(1,concat(0x7e,database(),0x7e),1)-- #查询库名 ?sort1 and updatexml(1,concat(0x7e,(select group_concat(table_name) fr…

java 企业培训管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 企业培训管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…

初阶数据结构:链表相关题目练习(补充)

目录 1. 单链表相关练习题1.1 移除链表元素1.2 反转链表1.3 链表的中间结点1.4 链表的倒数第k个结点1.5 合并两个有序链表1.6 链表分割1.7 链表的回文结构1.8 相交链表1.9 判断一个链表中是否有环1.10 寻找环状链表相遇点1.11 链表的深度拷贝 1. 单链表相关练习题 注&#xff1…