当前位置: 首页 > news >正文

信号采集之传感器信号学习笔记

CSDN话题挑战赛第2期
参赛话题:学习笔记

不同的数据采集对象所传递的信号类型也不尽相同,因此有必要对各种信号的基本特点有所了解,才能在对信号进行后续的调理和分析过程时采取最合适的方法。
在一般的数据采集应用中,常见的信号可分为模拟信号和数字信号两大类,模拟信号是指幅值可取连续值的信号,而数字信号的幅值只能取离散值,即规定的某些值,一般仅为高电平或低电平。
继续按照信号所能传递的信息种类进行细分,可将数字信号和模拟信号继续划分为:
● 数字信号
◆ 开关信号(On-off);
◆ 连续脉冲信号(Pulse Train)。
● 模拟信号
◆ 直流信号(DC);
◆ 时域信号(Time Domain);
◆ 频域信号(Frequency Domain)。
各类信号的典型波形及其传递信息的种类如表所示。在这里插入图片描述
常见的采集对象一般都可用上述五种信号中的一种或多种进行表示,在使用时应根据具体需要选择最适于表达的种类。

(1)开关信号
开关信号是较简单的一种数字信号,仅包含了状态信息,其幅值只能取高电平或低电平中的一个,常应用于对继电器、阀门等开关量信号的采集和控制。
TTL信号就是一个开关信号,一个TTL信号如果在2.0~5.0V,就定义它为逻辑高电平,如果在0~0.8V,就定义为逻辑低电平。

(2)连续脉冲信号
连续脉冲信号的幅值也只能取高电平或低电平,但它可由一连串脉冲信号组成,而高低电平状态变化的数目、速度及占空比等,都可用来传递信息,如用于测发动机转速的光学编码器就可以产生连续脉冲信号。
能够采集连续脉冲信号的设备必须能够检测到信号的状态变化,并具有计时或计数功能。连续脉冲信号还经常用于步进电机的控制。

(3)直流信号
直流信号是一种静态或变化较缓慢的模拟信号,它主要通过电压的具体数值传递幅值信息,生活中随处可见这样的对象,如温度、电池电压、压力、流速等。
由于它的变化相对于数据采集速度非常缓慢,所以一般情况下最关心的并不是采样率有多高,而是采样精度有多准确,这一般由ADC的转换精度和采样位数决定。

(4)时域信号
时域信号与其他信号不同在于,它在运载信息时不仅有信号的电平,还有电平随时间的变化。时域信号是一种以时间为横轴,幅值为纵轴形成的连续信号,所传递的主要是信号的形状信息,也称时域信息。
在采集一个时域信号时,也可以说是一个波形,需要关注一些有关波形形状的特性,如波形的变化率、峰谷值、峰谷时刻、峰谷形状等。为了测量一个时域信号,必须有一个精确的时间序列,序列的时间间隔也应该合适,以保证信号的有用部分被采集到。要以一定的速率进行测量,这个测量速率要能跟上波形的变化。

用于测量时域信号的采集系统包括一个A/D、一个采样时钟和一个触发器。A/D的分辨率要足够高,保证采集数据的精度,带宽要足够高,用于高速率采样;精确的采样时钟,用于以精确的时间间隔采样;触发器使测量在恰当的时间开始。存在许多不同的时域信号,如心脏跳动信号、视频信号等,测量它们通常是因为对波形某些方面的特性感兴趣。

(5)频域信号
模拟频域信号与时域信号类似,然而,从频域信号中提取的信息是基于信号的频域内容,而不是波形的形状,也不是随时间变化的特性。频域信号是一种以频率为横轴,频率分量幅值为纵轴形成的连续信号,传递的主要是信号的频率信息。

在无法直接从时域信号中提取有效信息时,往往需要转换到频域进行研究。例如,对音频信号、机械振动信号、地震波信号等的研究和分析中常用到频域信号。与时域信号的采集要求类似,用于测量一个频域信号的系统必须有一个A/D、一个简单时钟和一个用于精确捕捉波形的触发器。系统必须有必要的分析功能,用于从信号中提取频域信息。为了实现这样的数字信号处理,可以使用应用软件或特殊的DSP硬件来迅速而有效地分析信号。

从时域转换到频域的过程常由数据采集系统中的软件部分实现,例如,LabVIEW中提供了许多傅里叶分析相关的VI可以利用,当然用户也可自行编写子程序实现,在对转换速度要求较高时,也可利用专门的DSP处理器通过硬件实现。

上述信号分类不是互相排斥的。一个特定的信号可能传载有不止一种信息,可以用几种方式来定义信号并测量它,用不同类型的系统来测量同一个信号,从信号中获取用户需要的各种信息。

相关文章:

  • CS:APP第九章 虚拟内存
  • Android Tile快捷设置
  • JVM监控和诊断的工具(JProfiler)
  • 批判性思维读书笔记
  • 42-瑞吉外卖(SpingBoot+MyBatisPlus)
  • Docker(4)Docker镜像
  • 同义词/近义词查询易语言代码
  • Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)
  • C++画图 => 蓝桥杯青少组C++ => 信奥 学习路线图
  • 微信公众号的附件链接怎么弄
  • 概率论与梳理统计学习:随机变量(二)——知识总结与C语言案例实现
  • python学习—第一步—Python小白逆袭大神(第二天)
  • SAP ABAP ALV 的一些总结:Custom container 和 Splitter container
  • 由从零开始的神经网络理解torch的几个模块
  • R语言进行数据分组聚合统计变换(Aggregating transforms)、计算dataframe数据的分组独特值的个数(distinct)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Babel配置的不完全指南
  • CSS 提示工具(Tooltip)
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • gulp 教程
  • HashMap剖析之内部结构
  • JavaScript异步流程控制的前世今生
  • Java深入 - 深入理解Java集合
  • laravel 用artisan创建自己的模板
  • Linux下的乱码问题
  • Phpstorm怎样批量删除空行?
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 事件委托的小应用
  • 小而合理的前端理论:rscss和rsjs
  • 学习笔记:对象,原型和继承(1)
  • 一个完整Java Web项目背后的密码
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​iOS安全加固方法及实现
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • (poj1.2.1)1970(筛选法模拟)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)计算机毕业设计大学生兼职系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (六)vue-router+UI组件库
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (七)c52学习之旅-中断
  • (一)基于IDEA的JAVA基础10
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net FrameWork简介,数组,枚举
  • .Net 路由处理厉害了
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件