基于电脑软件的任意波形发生器SIG852初识(类似虚拟示波器)

对于从事电路板开发的硬件工程师来说,信号源是经常使用也非常熟悉的。我们用它来作为电路板的输入,测试电路板是否能按预期正常处理这些信号。最简单的例子就是放大器电路,我们会给它输入一个正弦波,然后用示波器观察输入输出波形,正弦波是否被放大,是否有失真,等等,这样才能知道我们做的放大电路板是否成功。

使用最广泛的信号源是周期性的常规波形,比如正弦波,三角波,方波。我们相对容易得到这些信号,有很多产品和相关资料,我们这里就不赘述了。工程经验多的工程师一定会有感触,有时候项目中或者测试电路的时候,需要一些奇怪的信号波形,不是周期性,甚至是不规则的特殊波形,这时候一般的信号源就做不到了。这时候就需要用到任意波形发生器(AWG)了。

任意波形发生器(AWG)可以编辑产生任意的特殊波形信号,来实现各种场景下的信号输入使用。

比如,仿真各种汽车传感器信号,如压力、温度、速度、旋转和角度位置,对汽车应用中的发动机控制单 元(ECU)进行功能测试和优化。仿真曲柄轴、凸轮轴、车轮、碰撞和其它汽车发动机传感器信号。比如,使用脉冲信号仿真电源 MOSFET 电路,测试开机和关机延迟及上升时间和下降时间。分析 IGBT 电路的开关波形。比如,仿真正常的和不规则的生物医学信号(如心脏纤颤),对医疗器械进行功能测试。比如,比如仿真两个伺服阀,确定产品技术数据中的启动时间(阶跃响应)、频响(博德曲线)和其它 指标。

对于几K赫兹以下的,低频应用,LOTO虚拟示波器团队推出了一款基于PC上位机软件的AWG任意波形发生器产品,型号是SIG852,算是性价比非常高的任意波形发生器了。只要有一台电脑,用鼠标编辑绘制,任意波形都能快速生成。

我们从上面的图里可以看到LOTO的SIG852任意波形发生器可以生成一些常规波形,比如正弦波,三角波,方波,我们主要看看它内置的非常规特殊波形:

白噪声:

Sinx/x:

指数上升(充电):

高斯脉冲:

电脑软件操作的优势集中体现在,可以用鼠标直接画一个波形出来,如下图所示:

这就很方便了,有时候工程师知道波形大概的样子,可能语言很难描述出来,以前可能可以画在纸上讲解,但是要真的输出这样波形却很为难,现在有了这样的电脑上位机软件,直接鼠标画出来,所见即所得。

画出来的波形还可以进一步编辑,把局部设置成任意电压,也可以叠加噪声:

也可以对4个你选定的波形进数学运算,比如Y = A*X1+B*X2+C*X3+D*X4+E,

也可以分段进行编辑和对波形进行映射,如下图所示:

对于两三百元的价格,SIG852还是性价比很高的,由于成本的控制,硬件性能有限,有两个通道输出,总共有4000个点的数据可以编辑,可以循环输出或者单次输出,信号输出的采样率最高70K,所以建议波形的频率最高几K还是比较理想的。重要的是,软件上还有很多可以发挥的地方,还会持续免费添加。

基于电脑软件的任意波形发生器SIG852初识(类似虚拟示波器)的更多相关文章

  1. 基于FPGA的DDS任意波形发生器设计

    一.简介       DDS技术最初是作为频率合成技术提出的,由于其易于控制,相位连续,输出频率稳定度高,分辨率高, 频率转换速度快等优点,现在被广泛应用于任意波形发生器(AWG).基于DDS技术的任 ...

  2. 基于DDS的任意波形发生器

    实验原理 DDS的原理 DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器,也可叫DDFS. DDS是从相位的概念直接合成所需波形的一种频率合成技术. ...

  3. 《GK101任意波形发生器》任意波文件格式说明

    详见PDF 文档: http://files.cnblogs.com/xiaomagee/GK101%E4%BB%BB%E6%84%8F%E6%B3%A2%E6%95%B0%E6%8D%AE%E6%A ...

  4. 制作任意波形发生器MAX038

  5. 国产CPLD(AGM1280)试用记录——做个SPI接口的任意波形DDS [原创www.cnblogs.com/helesheng]

    我之前用过的CPLD有Altera公司的MAX和MAX-II系列,主要有两个优点:1.程序存储在片上Flash,上电即行,保密性高.2.CPLD器件规模小,成本和功耗低,时序不收敛情况也不容易出现.缺 ...

  6. loto仪器_如何模拟输出凸轮轴和曲轴波形_用任意波形信号源SIG852?

    loto仪器_如何模拟输出凸轮轴和曲轴波形_用任意波形信号源SIG852? 在汽车传感器的波形检测应用中,有时候需要模拟各种汽车传感器的输出信号,用来驱动和监测对应的执行机构或者电路是否正常,这其中, ...

  7. 程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

  8. STM32 基DMA的DAC波形发生器

    DAC是STM32系列的一个基本外设,可以将数字信号转化成模拟信号,这次我将使用DAC来输出一个特定波形. 首先确定工作方法,由于我目前在做的简易示波器在输出波形的同时还需要显示输入信号,所以不能占用 ...

  9. uTools电脑软件快速启动工具

                    uTools电脑软件快速启动工具   http://www.autoahk.com/archives/16112   https://gitee.com/weiyunw ...

  10. 基于开源软件在Azure平台建立大规模系统的最佳实践

    作者 王枫 发布于2014年5月28日 前言 Microsoft Azure 是微软公有云的唯一解决方案.借助这一平台,用户可以以多种方式部署和发布自己的应用. 这是一个开放的平台,除了对于Windo ...

随机推荐

  1. 解决邮件客户端QQ Mail及Thunderbird无法登入Outlook的问题

    最近无论是安卓手机的邮件客户端, 或者是 Ubuntu 下的 Thunderbird 都无法登入 Outlook 账号, 原因是需要开启双因素验证. 这个在 Outlook 界面上是不能直接设置的, ...

  2. 【framework】IMS启动流程

    1 前言 ​ IMS 是 InputManagerService 的简称,主要负责输入事件管理. 1.1 基本概念 输入设备:屏幕.电源/音量.键鼠.充电口.蓝牙.wifi 等 设备节点:当输入设备可 ...

  3. Vue中数组变动监听

    Vue中数组变动监听 Vue的通过数据劫持的方式实现数据的双向绑定,即使用Object.defineProperty()来实现对属性的劫持,但是Object.defineProperty()中的set ...

  4. python第一章pta习题总结

    chapter 1 一.选择判断部分 1.高级语言程序要被机器执行,只有用解释器来解释执行.(F) 计算机高级语言按程序的执行方式可以分为编译型和解释型两种. 执行方式 跨平台 特点 缺点 代表语言 ...

  5. Go微服务框架go-kratos实战学习08:负载均衡基本使用

    微服务框架 go-kratos 中负载均衡使用 一.介绍 在前面这篇文章 负载均衡和它的算法介绍,讲了什么是负载均衡以及作用.算法介绍. go-kratos 的负载均衡主要接口是 Selector,它 ...

  6. Error creating bean with name 'XXX': Bean with name 'senseOneToSomeFeignImpl' has been injected into other beans [XXXXXX] in its raw version as part of a circular reference

    关于Spring框架中的循环依赖问题,您可以尝试以下几种方法来解决: 重新定义Bean依赖:重构代码以消除循环依赖.这可能涉及重新设计类,使它们不相互依赖即可运行. 使用Setter注入:与构造函数注 ...

  7. [App Service for Windows]通过 KUDU 查看 Tomcat 配置信息

    问题描述 在App Service 中选择了Java Tomcat后,如何查看Azure App Service的Tomcat的配置信息呢? 问题解答 可以通过以下的 3个步骤查看: 第一步:登录 K ...

  8. 2024年,提升Windows开发和使用体验实践 - 小工具篇

    前言 本来是一篇文章的,不知不觉写成了系列. 其实开工那几天就已经写好了长文,这几天一忙就没连着发了. 本文介绍一些 Windows 上用的小工具. 美化/折腾/小工具 虽然这是在用 Windows ...

  9. STL-stack模拟实现

    #pragma once #include<assert.h> #include<list> #include<vector> #include<deque& ...

  10. C++ 多线程笔记1 线程的创建

    C++ 多线程笔记1 线程的创建 里面代码会用到的头文件 #include <iostream> #include <string> #include <memory&g ...