本文章介绍一下LOTO示波器新出的功能——FIR数字滤波的功能。

在此之前我们先来了解一下带通滤波和带阻滤波。我们都知道每个信号是不同频率不同幅值正弦波的线性叠加,为了方便直接得观察到这种现象,就有了频谱分析(FFT),频谱分析就是将信号中不同频率不同幅值的正弦波表示出来。频谱分析的横坐标是频率,纵坐标是幅值,这样就可以在频谱分析中看出组成一个信号的多个正弦波的性质(频率和幅值)。如图1,上部分是时域的波形,下部分是频域中的波形。带阻滤波和带通滤波针对的是频域下的频率,如果要将某个频率范围内的信号去除掉,我们就要用到带阻滤波,只需在FIR数字滤波界面输入要去除的频率范围,点击SET,便会将这一频率范围内的波形去除掉。带通滤波则相反,它会留住在所选频率范围内的信号。即让频率范围内的信号通过不被滤除,所以称它为带通滤波。

图1.信号的时域波形和频域波形

现在我们来看在LOTO示波器OSCA02上位机上如何使用FIR数字滤波功能。在上位机右边会有一个绿色的FIR按键,如图2。右击之后会弹出一个调试窗口,窗口右侧第一行数据是当前采样率,下一行是FFT采样点数,然后是频率的分辨率,如图3。Band-Pass是带通滤波设置框,Fl是允许通过信号的最低频率,FU是允许通过信号的最高频率。Band-Stop是带阻滤波设置框,F1是要滤除信号的最低频率,F2是滤除信号的最高频率,在F1-F2频率范围内的信号都会被滤除掉。

图2.FIR按键位置

图3.数字滤波调试窗口

FIR数字滤波功能默认是不开启的。现在我们举个简单的例子,在通道A上输入一个1KHZ的标准方波,启用滤波功能。

带通滤波可以将Fl默认选成零,其实就是一个低通滤波,它只限制上限频率。然后如果反过来,Fu选择很大,比带宽还高 ,那它就是一个高通滤波。两个频率都选,它就是带通滤波,这可以涵盖三种情况。

现在这是1KHZ的方波,默认用带通滤波,上限频率设成1兆,然后把A、B通道都选上,点击set,就开始滤波了,但是这是一个低通滤过,从直流一直到一兆(1000k)的频率范围内的信号都保留,比一兆高的频率信号,就被滤除掉了。现在波形没什么变化,其实是因为原来的信号本身只有1k,而滤波保留了0-1兆范围内的信号,所以看不出来太多效果。那我们将上限频率选为10k,滤波后的波形如图4所示,上限频率选为2K,滤波后的波形如图5所示,完全变成正弦波了,一个方波,当我们把它的低通设到只有2k以内的频率可以通过的话,它就是一个正弦波。

图4.低通上限频率为10K的滤波波形

图5.低通上限频率为2K的滤波波形

现在我们将上限频率设的高一些,设到40k、400k分比对应下图

图6.上限频率是40K的滤波波形

图7.上限频率是400K的滤波波形

那针对上面测的这个现象,我们可以用一个教学视频演示视频演示一下(https://www.bilibili.com/video/BV1He411x7XT?from=search&seid=14215701365664195673)我们现在来看这个视频

刚开始是一个正弦波,这算是一个基波,和上面滤波的顺序是反过来的, 可以看到,它叠加了另一个正弦波的时候、叠加了三次谐波的时候、叠加了五次谐波、

9次、11次,它的谐波多了以后,会越来越逼近方波

数字滤波有一个作用是滤波,去掉噪声, 另一个是去掉一个信号里面特定的频率成分,还有一种是带宽限制,就是示波器上用的带宽限制。

关于去除噪声,我们现在举个例子,我们故意输入一个有噪声的波形,它本来是一个纯净的正弦波,可能在环境中受影响或者是它的接地受到干扰也有可能是电磁辐射,总之它会有一个很高的噪声 。我们以前处理这种噪声,我们用高分辨率模式就好,选高分辨率模式可以起到滤波的作用。现在是峰峰值模式,该模式下的波形是最真实的样子,我们现在利用FIR数字滤波功能,滤掉信号中的杂波。

打开FIR按键,我们看数字滤波,首先要选一些参数, 但是我们并不知道选什么参数,我们只知道原始信号的频率是1KHZ,上面叠加了一些别的频率的噪声。此时我们可以借助FFT功能 ,打开频谱分析,你可以看到B通道黄色这边会有一个1k的基波,它为什么会有噪声呢?我们看到在后面在不同的频率点上会有一些干扰,为了方便观察,我们用对数轴,如图8.

图8. 频谱分析的对数显示

可以看到,大概从56k开始,到327k ,这些就是叠加在原始信号上面的高频噪声,那我们要去滤波的话,我们可以选择在20k的位置,20k以后的所有的频谱分量我们全部不要,因为这些我们认为是噪声。那我们做一个20k的低通滤波就好了,带通滤波从0-20K,点击设置,我们会发现噪声都被滤掉了,如图9.

图9. 低通滤波示意图

这就是能测到的杂波分量的滤波,但是对于示波器测不到的杂波信号怎样处理呢?下面我们来讨论带宽限制,我们选一个时间档位,这时候,采率是12.5兆,根据香农采样定理,6兆以上的信号我们是测不到的,但是6兆以上的噪声有可能会对原始信号有影响,那我其实就把带宽限制到6兆,就会有一个0-6兆的低通滤波,保证在能测到的信号范围内进行分析。这样就可以做到带宽限制。台式的示波器,它的带宽限制可能只有几个选项,二十兆的带宽限制或一百兆的带宽限制。我们LOTO示波器可以用FIR数字滤波的功能选不同的带宽系数。

现在我们来看带阻滤波的功能,打开FFT频谱分析,我们明确地知道噪声的范围,大概是600K到5000K之间,如图10所示,那我们就用带阻滤波把600k到5000K之间的信号滤掉。

图10. 带阻滤波操作示意图

这就是带阻滤波,把想要去除的频率范围内的信号滤掉。滤波后的波形如图11

图11. 带阻滤波效果图

再来看最后一个例子,如图12,像这个波形,峰峰值模式和高分辨率模式都会显示所有的噪声和尖刺。

图12 . 多种频率混合的信号

先看一下这个信号的频谱分析,有个300k的正弦波,上面又叠加了一个600k左右的正弦波,一个1.2兆的正弦波, 然后又有一个2.5兆的正弦波,低频还有一个5k的正弦波, 通过频谱分析,我们知道这个信号是由这么多不同频率,不同幅值的正弦波叠加而来的。如果我们说,本来发出的是一个300k的正弦波,但是其他的这些干扰噪声并不是我们想要的,那这样我们就设置一个带通滤波,只保留300k附近的,比如我们设置带通滤波从100k到500k之间,你就会发现这就是一个300k的正弦波,其他的都是干扰,如图13.

图13. 带通滤波示意图

带通滤波和带阻滤波可以组合着启用,带通里面可以有一段是带阻的。可以根据波形的频谱的特性,来选择搭配进行数字滤波。

还有一个新功能是总谐波失真度,假如说A通道加了一个2k的正弦波,打开频谱分析,它会在这儿自动的算它的各个频率分量。然后把这个点开,如图14.它就会算总谐波失真度。总谐波失真度,是来描述正弦波标不标准,失真的程度有多少,一般1%以下的基本上是ok的。

图14.总谐波失真度演示

这个波形的总谐波失真度是在1%以下,表示失真在可以接收的范围内。

本视频讲解连接:

https://www.bilibili.com/video/BV1Nv41117Fb

LOTO虚拟示波器软件功能演示之——FIR数字滤波的更多相关文章

  1. 加速度传感器(MPA1064A)实测---LOTO虚拟示波器

    加速度传感器(MPA1064A)实测---LOTO虚拟示波器 客户提供了一个加速度传感器,型号是MPA1064A,我们帮助客户测试下是否能测到传感器的输出,验证下测试方案.传感器很小巧,带了一根很长的 ...

  2. Jlink使用技巧之J-Scope虚拟示波器功能

    J-Link简介 J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器.简单地说,是给一个JTAG协议转换盒.其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议. ...

  3. labview入门到出家11(补充)——基于单片机和labview开发的虚拟示波器

    ​ 之前有小伙伴提到需要虚拟示波器的资料,有些库还有文件丢失了,直接给的工程跑不起来,这里我把关键的地方讲解一下,大家可以自行开发.其实开发不难,只是有些点会耗点时间.虚拟示波器,顾名思义就是非实物的 ...

  4. Android智能手机屏蔽电话与屏蔽安装软件功能

    近期做一些项目.须要对手机进行屏蔽自己的固有的功能.在此记录. Android屏蔽电话功能主要是卸载掉Phone.apk. 屏蔽安装软件功能主要是卸载掉PackageInstall.apk 以下以三星 ...

  5. whistle学习(一)之安装、使用、软件功能了解

    前言 whistle是基于Node实现的跨平台抓包调试代理工具,有以下基本功能: 查看HTTP.HTTPS请求响应内容 查看WebSocket.Socket收发的帧数据 设置请求hosts.上游htt ...

  6. 安卓虚拟定位软件Fake Location重大更新

    前段时间网上找安卓虚拟定位的软件,找了很久,大部分都是多开修改APP,或者是不可用的,最后在KUAN找到一个作者Lerist做的虚拟定位软件 Fake Location ,配合作者本人的一键解锁sys ...

  7. Nginx实战部署常用功能演示(超详细版),绝对给力~~~

    前言 上次分享了一些开发过程中常用的功能,但如果到真实环境中,其实还需要一些额外的配置,比如说跨域.缓存.配置SSL证书.高可用等,老规矩,还是挑几个平时比较常用的进行演示分享.上篇详见Nginx超详 ...

  8. 【九】Kubernetes 之 Service 概念图文讲解及功能演示

    Service 概念 Kubernetes Service 定义了这样一种抽象:逻辑上的一组 Pod,一种可以访问它们的策略 -- 通常称为微服务. Service 通常是通过 Label Selec ...

  9. Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?

    Joomla 软件功能介绍:    Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...

随机推荐

  1. nuxt打包等注意事项

    打包步骤: 1.首先执行 npm run build 2.将打包好的 .nuxt static nuxt.config.js package.json 这四个文件丢到服务器的某个文件夹中,在服务器上安 ...

  2. Sentry 监控 - Search 搜索查询实战

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  3. Shell系列(1)- Shell概述

    Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至时编写一些程序 Shell还是一个功能 ...

  4. mysql允许别人通过ip访问本机mysql数据

    要想允许别人通过ip访问本机mysql数据库,首先要是本机的mysql允许别的ip访问,也就是授权:其次别人的代码里,要写对本机的ip. 一.本机mysql的授权操作 1.cmd 进入控制台 2.输入 ...

  5. three.js 在模型上移动相机

    需求: 根据鼠标点击位置相机进行相应的移动, 方案: 1.实际要解决的问题就是 相机以及相机朝向位置 的坐标更新 2.使用 TWEEN 组件 优化两个点切换的补间动画 3.获取鼠标点击的位置 获取鼠标 ...

  6. 记一次 .NET 某纺织工厂 MES系统 API 挂死分析

    一:背景 1. 讲故事 这个月中旬,有位朋友加我wx求助他的程序线程占有率很高,寻求如何解决,截图如下: 说实话,和不同行业的程序员聊天还是蛮有意思的,广交朋友,也能扩大自己的圈子,朋友说他因为这个b ...

  7. Java(一)——基础知识

    引言 之前一直对 Java 怀有固执的偏见,以为 Java 是编写前端的语言,作为一个机械生,非常抗拒去学它. 但是最近接触一点以后,完全改观了先前的看法,于是开启了对 Java 的大学习. 一.数据 ...

  8. 13万字详细分析JDK中Stream的实现原理

    前提 Stream是JDK1.8中首次引入的,距今已经过去了接近8年时间(JDK1.8正式版是2013年底发布的).Stream的引入一方面极大地简化了某些开发场景,另一方面也可能降低了编码的可读性( ...

  9. 阿里云 Serverless 再升级,从体验上拉开差距

    差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...

  10. 题解「雅礼集训 2017 Day7」事情的相似度

    题目传送门 Description 给出一个长度为 \(n\) 的 \(01\) 串为 \(s\),设 \(t_i\) 为 \(s_{1,2,..,i}\),有 \(m\) 次查询,每次查询给出 \( ...