0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式开发中的滤波器设计

单片机与嵌入式 来源:单片机与嵌入式 2023-03-27 10:27 次阅读

各种传感器信号多多少少会携带一些噪声信号,那么通过滤波器就能够更好的降低和去除噪声,还原真实有用信号。

滤波器是一个电路,其去除或“过滤掉”频率分量的特定范围。换句话说,它将信号的频谱分离为将要通过的频率分量和将被阻隔的频率分量。

如果您对频域分析没有太多经验,您可能仍然不确定这些频率成分是什么,以及它们如何在不能同时具有多个电压值的信号中共存。让我们看一个有助于澄清这个概念的简短例子。

假设我们有一个由完美的5kHz正弦波组成的音频信号。我们知道时域中的正弦波是什么样的,在频域中我们只能看到5kHz的频率“尖峰”。现在让我们假设我们激活一个500kHz振荡器,将高频噪声引入音频信号。

示波器上看到的信号仍然只是一个电压序列,每个时刻有一个值,但信号看起来会有所不同,因为它的时域变化现在必须反映5kHz正弦波和高频噪音波动。

什么是滤波器?

然而,在频域中,正弦波和噪声是在一个信号中同时存在的单独的频率分量。正弦波和噪声占据了信号频域表示的不同部分,这意味着我们可以通过将信号引导通过低频并阻挡高频的电路来滤除噪声。正弦波和噪声信号频域的不同部分分布示意图,如下。

各种传感器信号多多少少会携带一些噪声信号,那么通过滤波器就能够更好的降低和去除噪声,还原真实有用信号。

滤波器是一个电路,其去除或“过滤掉”频率分量的特定范围。换句话说,它将信号的频谱分离为将要通过的频率分量和将被阻隔的频率分量。

如果您对频域分析没有太多经验,您可能仍然不确定这些频率成分是什么,以及它们如何在不能同时具有多个电压值的信号中共存。让我们看一个有助于澄清这个概念的简短例子。

假设我们有一个由完美的5kHz正弦波组成的音频信号。我们知道时域中的正弦波是什么样的,在频域中我们只能看到5kHz的频率“尖峰”。现在让我们假设我们激活一个500kHz振荡器,将高频噪声引入音频信号。

在示波器上看到的信号仍然只是一个电压序列,每个时刻有一个值,但信号看起来会有所不同,因为它的时域变化现在必须反映5kHz正弦波和高频噪音波动。

然而,在频域中,正弦波和噪声是在一个信号中同时存在的单独的频率分量。正弦波和噪声占据了信号频域表示的不同部分,这意味着我们可以通过将信号引导通过低频并阻挡高频的电路来滤除噪声。正弦波和噪声信号频域的不同部分分布示意图,如下。

wKgZomQg_z6AJWo6AACzD-T7PjI840.png

滤波器的类型

滤波器可以放在与滤波器频率响应的一般特征相对应的广泛类别中。如果滤波器通过低频并阻止高频,则称为低通滤波器;如果它阻挡低频并通过高频,它就是一个高通滤波器。还有带通滤波器,其仅通过相对窄的频率范围,以及带阻滤波器,其仅阻挡相对窄的频率范围。各滤波器频域表示,如下图所示。

wKgZomQg_z6Af2xBAABoYJ1odh0025.jpg

还可以根据用于实现电路的组件类型对滤波器进行分类。无源滤波器使用电阻器电容器电感器,这些组件不具备提供放大的能力,因此无源滤波器只能维持或减小输入信号的幅度。另一方面,有源滤波器既可以滤波信号又可以应用增益,因为它包括有源元件,如晶体管运算放大器,如下图。

wKgaomQg_z6AQ2AsAAAwlQrVbrM042.jpg

这种有源低通滤波器基于流行的Sallen-Key拓扑结构。

RC低通滤波器

为了创建无源低通滤波器,我们需要将电阻元件与电抗元件组合在一起。换句话说,我们需要一个由电阻器和电容器或电感器组成的电路。从理论上讲,电阻—电感(RL)低通拓扑在滤波能力方面与电阻—电容(RC)低通拓扑相当。但实际上,电阻—电容方案更为常见,因此本文的其余部分将重点介绍RC低通滤波器。RC低通滤波器示意图如下。

wKgaomQg_z6AdDltAAAZGVqL1-w112.png

如图所示,通过将一个电阻与信号路径串联,并将一个电容与负载并联,可以产生RC低通响应。在图中,负载是单个组件,但在实际电路中,它可能更复杂,例如模数转换器放大器或示波器的输入级,用于测量滤波器的响应。

如果我们认识到电阻器和电容器形成与频率相关的分压器,就可以直观地分析RC低通拓扑的滤波动作。重新绘制RC低通滤波器,使其看起来像分压器,如下图。

wKgaomQg_z6AdgPYAAAnqRFUS4U790.png

当输入信号的频率低时,电容器的阻抗相对于电阻器的阻抗高;因此,大部分输入电压在电容器上(和负载两端,与电容器并联)下降。当输入频率较高时,电容器的阻抗相对于电阻器的阻抗较低,这意味着电阻器上的电压降低,并且较少的电压传输到负载。因此,低频通过并且高频被阻挡。

RC低通功能的这种定性解释是重要的第一步,但是当我们需要实际设计电路时它并不是很有用,因为术语“高频”和“低频”非常模糊。工程师需要创建通过并阻止特定频率的电路。例如,在上述音频系统中,我们希望保留5kHz信号并抑制500kHz信号。这意味着我们需要一个滤波器,从5kHz到500kHz之间的传递过渡到阻塞。

RC滤波器截止频率

滤波器不会引起显著衰减的频率范围称为通带,滤波器确实导致显着衰减的频率范围称为阻带。模拟滤波器,例如RC低通滤波器,总是从通带逐渐过渡到阻带。这意味着无法识别滤波器停止传递信号并开始阻塞信号的一个频率。然而,工程师需要一种方便,简洁地总结滤波器频率响应的方法,这就是截止频率概念发挥作用的地方。

当您查看RC滤波器的频率响应图时,您会注意到术语“截止频率”不是很准确。 信号光谱被“切割”成两半的图像,其中一个被保留而其中一个被丢弃,不适用,因为随着频率从截止点下方移动到截止值以上,衰减逐渐增加。

RC低通滤波器的截止频率实际上是输入信号幅度降低3dB的频率(选择该值是因为幅度降低3dB对应于功率降低50%)。因此,截止频率也称为-3dB频率,实际上该名称更准确且信息量更大。术语带宽是指滤波器通带的宽度,在低通滤波器的情况下,带宽等于-3dB频率,如下图所示。

wKgaomQg_z6AWgssAACSbHR37fQ569.png

上图表示RC低通滤波器的频率响应的一般特性,带宽等于-3dB频率。

如上所述,RC滤波器的低通行为是由电阻器的频率无关阻抗与电容器的频率相关阻抗之间的相互作用引起的。为了确定滤波器频率响应的细节,我们需要在数学上分析电阻(R)和电容(C)之间的关系,我们还可以操纵这些值,以设计满足精确规格的滤波器。RC低通滤波器的截止频率(fC)计算如下:

wKgaomQg_z6AfuIsAAAcETfuPjg678.png

来看一个简单的设计实例。电容值比电阻值更具限制性,因此我们将从常见的电容值(例如10nF)开始,然后我们将使用该公式来确定所需的电阻值。目标是设计一个滤波器,它将保留5kHz音频波形并抑制500kHz噪声波形。我们将尝试100kHz的截止频率,稍后在文章中我们将更仔细地分析此滤波器对两个频率分量的影响,公式如下。

wKgZomQg_z6AIPUhAACwr9tD5ns538.png

因此,160Ω电阻与10nF电容相结合,将为我们提供一个非常接近所需频率响应的滤波器。

滤波器响应可视化

评估滤波器对信号影响的最方便方法是检查滤波器频率响应的图。这些图形通常称为波德图,在垂直轴上具有幅度(以分贝为单位),在水平轴上具有频率;水平轴通常具有对数标度,使得1Hz和10Hz之间的物理距离与10Hz和100Hz之间,100Hz和1kHz之间的物理距离相同等等。这种配置使我们能够快速准确地评估滤波器在很大频率范围内的行为。如下图,是频率响应图的一个例子。

wKgZomQg_z6ALDGZAAIhFdltPQI553.png

曲线上的每个点表示如果输入信号的幅度为1V且频率等于水平轴上的相应值,则输出信号将具有的幅度。 例如,当输入频率为1MHz时,输出幅度(假设输入幅度为1V)将为0.1V(因为-20dB对应于十倍减少因子)。

当您花费更多时间使用滤波器电路时,此频率响应曲线的一般形状将变得非常熟悉。 通带中的曲线几乎完全平坦,然后随着输入频率接近截止频率,它开始下降得更快。 最终,衰减的变化率(称为滚降)稳定在20dB/decade-即,输入频率每增加十倍,输出信号的幅度降低20dB。

评估低通滤波器性能

如果我们仔细绘制我们在本文前面设计的滤波器的频率响应,我们将看到5kHz时的幅度响应基本上是0dB(即几乎为零衰减),500kHz时的幅度响应约为-14dB(对应于0.2的增益)。 这些值与我们在上一节中执行的计算结果一致。

由于RC滤波器总是从通带到阻带逐渐过渡,并且因为衰减永远不会达到无穷大,我们无法设计出“完美”的滤波器—即对正弦波没有影响并完全消除噪声的滤波器。 相反,我们总是需要权衡。 如果我们将截止频率移近5kHz,我们将有更多的噪声衰减,但我们想要发送到扬声器的正弦波也会衰减更多。 如果我们将截止频率移近500kHz,我们在正弦波频率下的衰减会减少,但噪声频率下的衰减也会减少。

前面我们已经讨论了滤波器修改信号中各种频率分量振幅的方式。 然而,除了振幅效应之外,电抗性电路元件总是引入相移。

低通滤波器相移

相位的概念是指周期内特定时刻的周期信号的值。 因此,当我们说电路引起相移时,我们的意思是它会在输入信号和输出信号之间产生偏差:输入和输出信号不再在同一时刻开始和结束它们的周期。 相移值(例如45°或90°)表示产生的偏差量。

电路中的每个电抗元件都会引入90°的相移,但这种相移不会同时发生。 输出信号的相位与输出信号的振幅一样,随着输入频率的增加而逐渐变化。 RC低通滤波器中有一个电抗元件(电容器),因而电路最终也会引入90°的相移。

与振幅响应一样,通过检查水平轴表示对数频率的曲线图,可以最容易地评估相位响应。 以下描述表示了一般模式,查看下图可以进一步了解详细信息。

相移最初为0°

相移逐渐增加,直到在截止频率处达到45°,在这部分响应期间,变化率逐渐增加

在截止频率之后,相移继续增加,但变化率逐渐降低

随着相移逐渐接近90°,变化率变得非常小

wKgZomQg_z6AW4G3AAHEy_wEceM839.png

实线是振幅响应,虚线是相位响应。 截止频率为100kHz。 注意,截止频率下的相移为45°。

二阶低通滤波器

到目前为止,我们假设RC低通滤波器由一个电阻器和一个电容器组成。 这种配置是一阶滤波器。

无源滤波器的“阶数”由电路中电抗元件(即电容器或电感器)的数量决定。 高阶滤波器具有更多的无功元件,会产生更多的相移和更陡的滚降,而后者是增加滤波器阶数的主要动机。

向滤波器添加一个电抗元件,例如,从一阶到二阶或二阶到三阶,便可将最大滚降增加20dB/十倍。

二阶滤波器通常围绕由电感器和电容器组成的谐振电路构建,这种拓扑结构称为RLC(Resistor-Inductor-Capacitor)。 但是,也可以创建二阶RC滤波器。 如下图所示,我们需要做的就是将两个一阶RC滤波器级联起来。

wKgZomQg_z6AYqxpAAAU5ocoyuU124.png

虽然这种拓扑肯定会产生二阶响应,但它没有被广泛使用,其频率响应通常不如二阶有源滤波器或二阶RLC滤波器。

二阶RC滤波器的频率响应

我们可以尝试根据所需的截止频率设计一阶滤波器,然后从中选择两个串联连接来,从而构成二阶RC低通滤波器。 此举确实可以使滤波器表示出类似的总频率响应,最大滚降为40dB/decade而不是20dB/decade。

但是,如果我们更仔细地观察响应,我们会发现-3dB频率出现降低。 二阶RC滤波器的行为不符合预期,因为两个滤波阶段不是独立的,因此不能简单地将这两个滤波器连接在一起,并将电路分析为一阶低通滤波器叠加一个相同的一阶低通过滤。

此外,即使我们在两级之间插入缓冲器,使得第一阶RC和第二阶RC可以用作独立滤波器,此时原始截止频率处的衰减将是6dB而不是3dB。 这恰恰是因为两阶独立工作而导致的。 第一个滤波器在截止频率处具有3dB的衰减,而第二个滤波器加上了另外3dB的衰减,如下图。

wKgaomQg_z6AScxWAACxlD8BpaI608.png

二阶RC低通滤波器的基本限制是设计人员无法通过调整滤波器的Q因子来微调从通带到阻带的转换; 此参数表示频率响应的阻尼程度。 如果将两个相同的RC低通滤波器级联,则整体传递函数对应于二阶响应,但Q因子始终为0.5。 当Q=0.5时,滤波器处于过阻尼的边界,这会导致频率响应在过渡区域中“下垂”。 二阶有源滤波器和二阶谐振滤波器没有这一限制; 设计人员可以控制Q因子,从而微调过渡区域的频率响应。

总结

所有电信号都混合了所需频率分量和不需要的频率分量。 不需要的频率分量通常由噪声和干扰引起,并且在某些情况下会对系统的性能产生负面影响。

滤波器是以不同方式对信号频谱的不同部分作出反应的电路。 低通滤波器旨在让低频分量通过,同时阻止高频分量。

低通滤波器的截止频率表示滤波器从低衰减变为显著衰减的频率区域。

RC低通滤波器的输出电压可以通过将电路视为由(频率无关)电阻和(频率相关)电抗组成的分压器来计算。

振幅(以dB为单位,在垂直轴上)与对数频率(以赫兹为单位,在水平轴上)的曲线图是检查滤波器理论行为的方便有效的方法,还可以使用相位与对数频率的关系图来确定将要应用于输入信号的相移量。

二阶滤波器的滚降更陡峭; 当信号不能在所需频率分量和不需要的频率分量之间提供宽带分离时,这种二阶响应比较有用。

可以通过构建两个相同的一阶RC低通滤波器,然后将一个的输出连接到另一个的输入来创建二阶RC低通滤波器,但最终整体的-3dB频率将低于预期。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2545

    文章

    50439

    浏览量

    750966
  • 嵌入式
    +关注

    关注

    5059

    文章

    18972

    浏览量

    301920
  • RC
    RC
    +关注

    关注

    0

    文章

    224

    浏览量

    48724
  • 噪声信号
    +关注

    关注

    0

    文章

    5

    浏览量

    6341

原文标题:嵌入式开发中的滤波器设计

文章出处:【微信号:单片机与嵌入式,微信公众号:单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式开发圣经

    嵌入式系统开发圣经:嵌入式开发圣经
    发表于 03-25 13:08 88次下载

    基于ARM的嵌入式开发

    基于ARM的嵌入式开发:华清远见/孙天泽基于ARM的嵌入式开发内容有:ARM简介,基于ARM的嵌入式产品,ARM架构,基于ARM的嵌入式开发
    发表于 10-04 08:49 83次下载

    嵌入式开发

    嵌入式开发就是指在嵌入式操作系统下进行开发嵌入式Linux是以Linux为基础的嵌入式作业系统。这里提供了
    发表于 12-20 13:21
    <b class='flag-5'>嵌入式开发</b>

    嵌入式开发入门_学嵌入式开发需要看哪些书籍

    现在嵌入式开发越来越吃香,很多人都想要学习却不知道要从何下手。本文分析了学习嵌入式软件开发需要具备哪些基本知识和技能,开发学习的基本步骤,并给出了各种参考资料及网站,同时小编还推荐了学
    的头像 发表于 04-04 10:25 2.4w次阅读

    嵌入式开发好学吗_嵌入式开发职业发展方向是什么

    本文首先来了解一下嵌入式前景及薪资待遇,其次解答了嵌入式开发好学不好学的问题,最后阐述了嵌入式开发必会知识以及嵌入式开发职业的四大发展方向,具体的跟随小编一起来了解一下。
    的头像 发表于 05-18 16:41 9094次阅读

    嵌入式开发的产品有哪些_嵌入式开发的流程

    本文主要阐述了嵌入式开发的产品,其次介绍了嵌入式开发的流程。
    发表于 08-31 15:38 1.1w次阅读

    嵌入式开发(一):嵌入式开发新手入门

    本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建
    发表于 10-14 10:58 79次下载
    <b class='flag-5'>嵌入式开发</b>(一):<b class='flag-5'>嵌入式开发</b>新手入门

    嵌入式开发资料免费分享

    嵌入式开发资料免费分享嵌入式工程师经验分享:如何学习嵌入式开发截取文档部分学习嵌入式工程师经验分享的资料分享给大家,文档上从、嵌入式系统的概
    发表于 10-21 11:07 46次下载
    <b class='flag-5'>嵌入式开发</b>资料免费分享

    嵌入式开发Linux入门

    嵌入式开发导语嵌入式基础概念交叉开发和自助开发嵌入式开发相关术语1.开发计算机(又名:主计算机)
    发表于 11-02 14:36 31次下载
    <b class='flag-5'>嵌入式开发</b>Linux入门

    python做嵌入式开发_Python和嵌入式的区别是什么?可以做嵌入式开发吗?

    从概念上来说,嵌入式和Python的区别还是比较明显的,嵌入式是一个开发领域,而Python则是一门编程语言。下面就来和大家说一说嵌入式和Python这两个之间的区别。
    发表于 11-02 20:21 14次下载
    python做<b class='flag-5'>嵌入式开发</b>_Python和<b class='flag-5'>嵌入式</b>的区别是什么?可以做<b class='flag-5'>嵌入式开发</b>吗?

    嵌入式开发培训学什么?嵌入式开发板知识讲解

    嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理
    发表于 11-02 20:21 16次下载
    <b class='flag-5'>嵌入式开发</b>培训学什么?<b class='flag-5'>嵌入式开发</b>板知识讲解

    嵌入式开发滤波器设计

    如果您对频域分析没有太多经验,您可能仍然不确定这些频率成分是什么,以及它们如何在不能同时具有多个电压值的信号中共存。让我们看一个有助于澄清这个概念的简短例子。
    的头像 发表于 03-28 10:33 848次阅读

    MicroPython 在嵌入式开发的兴起

    MicroPython 在嵌入式开发的兴起
    的头像 发表于 01-04 11:17 1808次阅读

    STM32嵌入式开发的RTOS,你用过哪些?

    STM32嵌入式开发的RTOS,你用过哪些?
    的头像 发表于 09-18 16:21 1993次阅读
    STM32<b class='flag-5'>嵌入式开发</b><b class='flag-5'>中</b>的RTOS,你用过哪些?

    Linux系统的嵌入式开发是什么

    嵌入式开发听起来很高大上,但其实它就在我们身边。   嵌入式开发是指将操作系统、应用程序或数据存储在嵌入式设备,如手机、平板电脑、智能家居等。   随着物联网时代的到来,
    的头像 发表于 10-12 15:40 1667次阅读