脉冲信号参数测量仪

2023-11-18

脉冲信号参数测量仪
1.任务
设计并制作一个数字显示的周期性矩形脉冲信号参数测量仪,其输入阻抗为50Ω。同时设计并制作一个标准矩形脉冲信号发生器,作为测试仪的附加功能。
2.要求
(1)测量脉冲信号频率,频率范围为10Hz~2MHz,测量误差的绝对值不大于0.1%。 (15分)
(2)测量脉冲信号占空比D,测量范围为10%~90%,测量误差的绝对值不大于2%。 (15分)
(3)测量脉冲信号幅度,幅度范围为0.1~10V,测量误差的绝对值不大于2%。
(15分)
(4)测量脉冲信号上升时间,测量范围为50.0~999ns,测量误差的绝对值不大于5%。 (15分)
(5)提供一个标准矩形脉冲信号发生器,要求: (30分)
a)频率为1MHz,误差的绝对值不大于0.1%;
b)脉宽为100ns,误差的绝对值不大于1%;
c)幅度为5±0.1V(负载电阻为50);
d)上升时间不大于30ns,过冲不大于5%。
(6)其他。 (10分)
在这里插入图片描述
3.说明
(1)脉冲信号参数的定义如图1所示。其中,上升时间是指输出电压从上升到所需要的时间;过冲是指脉冲峰值电压超过脉冲电压幅度 的程度,其定义为在这里插入图片描述
在这里插入图片描述
图1 脉冲信号参数的定义
(2) 被测脉冲信号可采用基于DDS的任意波形信号发生器产生的信号。

2019年/2/17

方案构思:
一共要测量4个量并制作一个脉冲波信号发生器
其中脉冲信号频率和脉冲信号占空比可以使用FPGA测量得到
电路设计最主要是
1.幅值测量
2.上升时间的测量
3.制作一个脉冲信号发生器
我们分模块进行解决问题首先解决幅值测量问题
要求是从0.1v到10v误差不大于2%

脉冲信号宽度=周期*占空比
当频率为20M时,占空比为10%时脉冲宽度为50ns
幅值测量
幅值测量一:
采用峰值验波器
但是过冲一般在0——5%到之间不满足要求

幅值测量二:
采用高速数据采样的方法
A/D采样速率=1/(信号脉宽/采样个数)
脉宽为50ns,采样个数位25
计算的采样速率为500MHz频率过高,适度降低采样速率在多个周期内取数据进行处理。
在这里插入图片描述
同时为了达到测量精度A/D的分辨率必须足够高
A/D分辨率到底是个啥?在这里插入图片描述
为了达到测量精度其分辨率应该为测量精度3倍以上,这里选的是4倍即0.5%
在这里插入图片描述
2.5v对应code为1024,每个code误差为0.1%其余同理。

2019年/2/18

上升时间测量
上升时间测量一:
使用高速数据采样的方法,但是需要很高的采样速率,很难区分上升和下降时间,起点和终点容易混淆
在这里插入图片描述
上升时间测量法二:
使用窗口比较器,把上升时间转换为时间间隔T,然后用标准时钟填充这段时间间隔,在这里插入图片描述
但是上升时间和下降时间没有区分开,所以用FPGA的D触发器来分离出上升时间
在这里插入图片描述
用标准时钟填充这段间隔,采用多周期平均测量,理论证明取N个测量周期,其误差减少根号N倍。当脉冲宽度为50ns时时钟为50M(20ns)时正负1误差为40%所以取100个周期将误差减少到4%
我选用的ADC是ADC10065
输入电压范围过大所以采用分档的方法,目前分为两档,一档是0.1v到1v另一档是1v到10v因为是高频,采用PI型电阻网络分压的方法,可以减少容抗和感抗。换挡采用继电器。

调试的问题:级联之后发现噪声干扰很大,一定不能忘记加电压跟随器,避免后级影响前级网络。最后还是解决了这个问题,幅度测量、频率测量和占空比测量在误差范围之内,是通过软件中值滤波实现,幅值调整时分段“修指甲”的方式。
我们时通过比较器将输出幅值调整到FPGA可以测量的幅值,但是由于前级方波的低电平部分加上噪声的干扰并不是完全等于0所以我们将比较阈值抬搞,通过软件调整为0.
在这里插入图片描述
需要注意的点:
1.ADC之前可以滤波处理
2.级与级之间的阻抗匹配
3.软件的滤波和数值调整处理
4.信号传输线
5.人性化界面

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

脉冲信号参数测量仪 的相关文章

随机推荐

  • ajax将响应结果显示到iframe,JavaScript:iframe / Ajax / JSON

    iframe 在Ajax流行之前大量使用 iframe中的src属性指定的就是一个独立的页面url地址 iframe中呈现的就是这个页面的内容 通过改变src的值 我们就可以轻松的改变iframe中的内容 类似的 刷新验证码也是同样的手段
  • 嵌入式Linux移植5. LED驱动移植 添加LED驱动到内核,测试程序成功运行

    第一次尝试开发移植Linux上的驱动 还是和当年单片机一样 从最简单的LED小灯开始 走走流程 试验结果 LED驱动已经编译进系统 产生 o文件 LED测试程序已经编译成功 产生可执行文件 但是由于疫情手头没板子 没法上板测试 开学之后测试
  • 电脑安装 MIUI+

    windows电脑 打开命令框 输入下面命令 winget install Xiaomi MIUI 如果是小米笔记本 还可以通过 小米帮助中心 小米商城 mi com 进行下载安装
  • hive与hbase之间数据的同步

    一 前言 数据同步是很多公司在做数据迁移时的一个痛点 当然互联网公司有自己的同步机制或者工具 但是困惑了我这几天的需求 还是没有得到解决 事已至此 来写这篇博客记录一下自己最近的研究成果 二 如何同步 hive如何与Hbase直接实现数据同
  • ABAP & DOI NACE OUTPUT

    ABAP上传文件的TCODE SMW0 OAOR 现在遇到的业务需求是在VA03的订单通过SAP标准的OUTPUT配置打印出order confirmation以后 再打印公司的文字条款内容 WORD格式的两页纸 最开始想到的实现方式是在N
  • feign和ribbon有什么区别

    ribbon和feign都是用于调用其他服务的 不过方式不同 1 启动类使用的注解不同 ribbon用的是 RibbonClient feign用的是 EnableFeignClients 2 服务的指定位置不同 ribbon是在 Ribb
  • 【ssh】xshell的替代--WindTerm

    目录 WindTerm WindTerm 简介 如何关闭锁屏密码 3 功能 3 1 选中自动复制 右键粘贴复制的内容 3 2 打开软件自动连接 3 4 设置文件下载初始目录 4 可直接编辑bash命令行 5 界面管理 资源管理器 文件管理器
  • C++中struct的用法

    废话 struct是个很有用的东西呢 进入正题 struct的用处是定义一个新的类型 而这个类型里面可以是各种各样的东西 比如 struct node 定义一个新的类型叫node int a int b 110 char c double
  • ARM - UART4/串口软件实现字符串/字符的收发

    实验任务 1 在键盘输入一个字符 字符 1 并且打印在串口工具上 键盘输入 a gt 串口工具打印 b 2 串口工具输入一个字符串 按下回车键 会显示输入的字符串 头文件 ifndef UART4 H define UART4 H incl
  • 《MySQL是怎样运行的》——读书笔记

    MySQL是怎样运行的 小孩子4919 MySQL B 树 1 数据页 数据页之间双向链接 数据页内record单向链表 数据页内record分为多个组 每个组的最大记录组成数据槽 数据槽采用数组方式在页内存储 2 索引 索引记录为页的最小
  • nacos 安装并配置外部数据库

    参考链接 nacos 安装并配置外部数据库 亲测2 0 1 2 0 3 有效 zwb 121 博客园 Nacos 快速开始 下载链接 https github com alibaba nacos releases 启动服务器 Linux U
  • RocketMQ 消息过滤

    1 简介 RocketMQ分布式消息队列的消息过滤方式有别于其它MQ中间件 是在Consumer端订阅消息时 再做消息过滤的 RocketMQ这么做是在于其Producer端写入消息和Consumer端订阅消息采用分离存储的机制来实 现的
  • 拉格朗日函数(多个约束条件的极值问题)

  • Jetpack DataBinding(数据绑定库)笔记

    官方文档地址 https developer android google cn topic libraries data binding 作用或目的 将数据直接绑定到布局里面 减少了Activity Fragment的绑定控件操作 听说有
  • Nodejs net 接受包 并解码,第一次使用了 protobuf

    第一次使用 net 模块的 buffer 类型 对 buffer copy 开始不了解 走了弯路 调用的对象是 sourece 一直以为是 dest 对包进行分割 包的结构为 包内容长度 byte0 byte1 包内容 protobuf a
  • MacBook Pro 外接显示器设置竖屏

    调整步骤 系统设置偏好 gt 显示器 gt 点击排列 gt 镜像显示器 的 打上 然后切换回 显示器 此分类 gt 看到下面 的旋转了么 调整旋转90度 转自 http uiq me article 380
  • 用lingo解决易拉罐下料问题

    易拉罐下料问题 如下 程序如下 这里的xi 以万次为单位 yi 以万件为单位 model 易拉罐下料问题 max 0 100 y1 0 2226 x1 0 1833 x2 0 2618 x3 0 1695 x4 0 1571 y2 0 01
  • k8s集群搭建【1个master_1个node】 亲测成功!

    k8s集群搭建 k8s 1个master 1个node 集群搭建 步骤小结 1 安装docker 2 安装kubeadm kubectl kubelet 3 创建master节点的集群 并安装网络插件calico 4 添加node节点到集群
  • 在group by中用count(*)获取的是各个分组的条数

    第一种 在group by 中用count 获取条数 你会很神奇的发现你获取的 不是总条数 而是每个组的条数 这很有作用 但是如果你要获取总条数的话就会很麻烦 我在网上搜了说用子查询 select count 1 from select f
  • 脉冲信号参数测量仪

    脉冲信号参数测量仪 1 任务 设计并制作一个数字显示的周期性矩形脉冲信号参数测量仪 其输入阻抗为50 同时设计并制作一个标准矩形脉冲信号发生器 作为测试仪的附加功能 2 要求 1 测量脉冲信号频率 频率范围为10Hz 2MHz 测量误差的绝