先上视频,花了我一个多小时写的算法,主要是好久没碰这个程序了要重新熟悉,代码其实只增加了一二十行。使用的MCU是STM32F407。

数字存储示波器数字荧光算法演示

​​​​​​​https://v.youku.com/v_show/id_XNTgxNTcxNzYyMA==.html?spm=a1z3jc.11711052.0.0&isextonly=1

大概13年的时候开始利用业余时间来DIY虚拟示波器,采用STM32+FPGA+蓝牙/WFI+安卓(这是个玩具架构,非常不适合做示波器),当时安卓和STM32驱动WIFI方面的资料还比较少加上是用业余时间所以搞了一年多才算搞完。第一版噪声很大,小信号根本就被噪声淹没了。后面修修补补三个版本后就没搞了,因为对这东西没多大兴趣了,更没多大商业价值。近两三年只对高精度采样感兴趣,就像之前改模拟电源为数控电源主要也是为验证STM32F4的内置AD能达到个什么程度。
突然心血来潮验证这个数字荧光算法主要是因为最近逛安富莱论坛时发现站长在搞这个三代示波器沟起了我沉睡已久的兴趣,想验证一下这个算法到底是怎么样个效果,也想抛砖引玉引出更适合这个算法的平台来验证优化下。首先我是在安卓端实现数字荧光,并不能增加捕获率,代码也非常简单就一二十行的代码。主要是运算量和内存占用大。加上我是用的12位的ADC且是用的12位的数字荧光算法所以内存和运算量更大,每帧数据最大有8K,不同时基不同存储量。下面上算法源码,因为是从中间截取代码很乱,其实算法非常非常简单,但效果着实不错。
//tmp2每帧或每屏数据长度
//tmp3是波形数据12位需2字节合并
//DSOYingguangBuf[][]2维数组存储数字荧光波形数据,根据波形数据打点,视频中效果是纯打点不带插补的效果。至于颜色深浅采用透明度来控制这部分没参考价值就没传上来了。

for(inti =0,j=0; i < (tmp2); i++) {
tmp3=((rUdpBuffer1[6+(i<<1)]&0xff)|((rUdpBuffer1[7+(i<<1)]&0xff)<<8));
for(j=0;j<4096;j++)//ADC12
{if(tmp3==j)
         {
if((DSOYingguangBuf[(tmp1)+40+i][j]+DSOYingguangAdd)<=(short)255)
            {
DSOYingguangBuf[(tmp1)+40+i][j]+=DSOYingguangAdd;
            }
else{DSOYingguangBuf[(tmp1)+40+i][j]=255;
            }
         }
else{if(DSOYingguangBuf[(tmp1)+40+i][j]>=DSOYingguangSub)
            {
DSOYingguangBuf[(tmp1)+40+i][j]-=DSOYingguangSub;
            }
else{DSOYingguangBuf[(tmp1)+40+i][j]=0;
            }
         }
      }

}

数字存储示波器数字荧光算法相关推荐

  1. 数字荧光算法色温显示频次信息

    先上视频: 数字荧光示波器现阶段终版 当数字存储示波器超过10帧/S时我每就很难观察到每个波形的细节,当更高时LCD显示刷新频率都刷不过来一般仪表用LCD刷新频率不会超过60HZ,即使能达几百HZ,相 ...

  2. 简述ospf的工作原理_现代数字存储示波器的工作原理简述

    示波器是一种用途十分广泛的电子测量仪器.俗话说,电是看不见摸不着的.但是示波器可以帮我们"看见"电信号,便于人们研究各种电现象的变化过程.所以示波器的核心功能,就和他的名字一样,是 ...

  3. 基于单片机的数字存储示波器设计

    文末下载完整资料 1.1.1课题研究的目的.意义: (1)课题研究的目的:   ① 通过课题的研究进一步巩固所学的知识,同时学习课程以外的知识,培养综合应用知识的能力.   ② 锻炼动手能力与实际工作 ...

  4. JavaScript实现切换数字的符号switchSign算法(附完整源码)

    JavaScript实现切换数字的符号switchSign算法(附完整源码) switchSign.js完整源代码 switchSign.js完整源代码 /*** Switch the sign of ...

  5. C++使用位操作将数字乘以7的算法实现(附完整源码)

    C++使用位操作将数字乘以7的算法实现 C++使用位操作将数字乘以7的算法实现完整源码(定义,实现,main函数测试) C++使用位操作将数字乘以7的算法实现完整源码(定义,实现,main函数测试) ...

  6. C++确定数字的奇偶校验的算法实现(附完整源码)

    C++确定数字的奇偶校验的算法实现 C++确定数字的奇偶校验的算法实现完整源码(定义,实现,main函数测试) C++确定数字的奇偶校验的算法实现完整源码(定义,实现,main函数测试) #inclu ...

  7. crt中 新建的连接存储在哪_数字存储示波器的VPO技术

    当使用数字存储示波器测量串行传输信号.数字电路上的地址/数据/控制总线.信号元器件上的噪声.复合视频信号或调制信号时,面临的最大困难在于这些信号随机.变化迅速.杂乱或不具备周期性.因此,为了提高捕获这 ...

  8. 数字存储示波器基本工作原理与使用方法

    参考文献 [1] 秦艳芬. 大学物理实验[M]. 第一版. 北京:清华大学出版社, 2012. [2] Tektronix. MSO2000B和DPO2000B系列示波器用户手册[M]. 参考机型 T ...

  9. 基于STM32C8T6语音数字的播报小算法

    文章目录 前言: 一.pandas是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 因为我的毕设时超市收银系统,自己12月份课设学习了一款与语音播报模块,基于毕设需要,就顺手写个数字语音播 ...

最新文章

  1. 031_spark架构原理
  2. 携程在线风控系统架构
  3. android记录登录状态
  4. 需要我们了解的SQL Server阻塞原因与解决方法 - sym_cn
  5. buck电路matlab,buck变换器介绍_buck变换器matlab仿真
  6. nios ii小实验——第一个demo指导书
  7. DataOutputStream 类 和DatainputStream类 的主要方法简单介绍,及代码演示。
  8. MATLAB常用的函数命令
  9. 计算机用户可用内存容量,基于 Windows 7 的计算机的可用内存可能低于安装内存...
  10. Pandas 读取 csv 得 DataFrame 转换成 List
  11. 酒店预订管理系统可行性分析
  12. 鸿蒙大陆v2.8正式版,鸿蒙大陆正式版地图下载-鸿蒙大陆下载 V2.22--pc6下载站
  13. 科斯定理(交易费用足够低,谁用的好就归谁)
  14. Verilog HDL语言中always敏感信号对比分析
  15. [SSL_CHX][2021-8-19]空瓶换饮料
  16. 企业应用SaaS行业的B端产品经理,如果提升自己的产品设计能力?
  17. 蓝牙认证测试调试记录
  18. 微软杀毒软件Microsoft Security Essentials 今起可下载
  19. 怎么用ai做出适量插画_AI怎么画矢量插画? ai手绘插画的教程
  20. 「网络流 24 题」孤岛营救问题

热门文章

  1. linux下ipvsadm命令,命令手册:Linux中的ipvsadm命令
  2. 英语口语训练APP开发核心功能
  3. 数据库的唯一标示符(ID)的选择
  4. 固态硬盘是什么接口_固态硬盘的3种接口,一个堪称上古神兽,一个像是金箍棒...
  5. java倒计时_Java倒计时三种实现方式代码实例
  6. GPT-3训练出「杀人狂」AI,你还敢用吗?
  7. [转]Flash技巧allowScriptAccess
  8. 【题外话】如何拯救WiFi模块损坏的小米11Pro这款工业垃圾
  9. require 方法详解
  10. 使用 k-means 聚类生成 SSD 锚框纵横比