振南技术干货集:FFT 你知道?那数字相敏检波 DPSD 呢?(2)

注解目录

1 、DPSD 的基础知识

1.1 应用模型

1.2 原理推导

1.3 硬件 PSD

(相敏检波,就是从繁乱复杂的信号中将我们关心的信号检出来,同时对相位敏感。

数学原理,逃不掉的,硬着头皮看吧。)

2 、DPSD 的典型应用

2.1 石油测井仪器

(《科拉深孔》和《地心末日》这两部电影看一下。上天难还是入地难?来看看振南参

与研发的地下探测仪器,高温高压高噪声,如何将数据采准?)

2.2 功率检测

(来看看振南如何检测 220V 交流电压、电流、功率和功率因子。)

2.3 电池内阻测量

1 、直流检测

2 、交流方法

(电池内阻反映了电池的放电能力和剩余电量,内阻如何测?来看一下。)

2.4 风速风向检测

1 、风杯式(旋转式)

2 、超声波风速风向

3 、声共振风速风向(很牛的技术)

(如何测风速风向?用超声 TOF 法。那你 out 了,来看看来自英国山伯利团队的声共振技术,这是一项伟大的发明。振南也作出了原型机。)

DPSD 的典型应用

现在我们知道了 DPSD 可以实现精确的选频,以及两个同频信号之相位差的计算,这使得它有着非常广泛的应用。我们不说那些高大上的应用,只就几个实用而又不失趣味性的应用来进行介绍。

2.1 石油测井仪器


2011~2017 年我在中国石油任职,主要负责测井仪器中的嵌入式软件开发。

说些题外话,测井仪器可能是一个不被大家所熟知的行业。有人曾经问过我一个问题“上天难还是入地难?”应该说都很难,但如果非要比较一下,那我说是人地难。

人类的太空探索已经超出太阳系,但是到目前为止钻到的最大深度也只有 12263 m,而且花了 30 年的时间(大家可以去了解一下苏联的“科拉深孔”,还有同名的电影)。如前面所说地下每深 30 m,温度上升1C(这只是估算,实际情况可能更甚),可想而知下面几千米的深度,钻头就已经变成面条了。这对于电子元件和仪器材料都提出了非常高的要求,甚至是十分苛刻的。我们知道一般的电子元件的标准工业温度范围是-20~十85C,军品是一40~+125C,哪怕是航天级也只不过是-55~+150C。大家可以想象一下研发测井仪器到底有多难。有一部电影叫《地心末日》,其想象力比太空题材要丰富得多,大家可以看一下。

回到正题。测井仪器中大量使用了 DPSD,可以说这是一种基础性的方法,大家请看图 17.3。


图 17.3 侧向测井仪器基本工作原理

图 17.3 描述了侧向测井仪器的基本工作原理。此类仪器主要的功能是用于地层电阻率的测量。它通过发射极板向地层中注入大功率的特定频率的电流,电流流经地层,产生相移与衰减,最终进入接收极板。很显然接收极板上接收到的信号是混合频率的,我们需要将各个频率提取出来,计算其幅值与相位变化。发射通道可能会有很多,即接收信号会有很多种频率成分。通常这些通道的处理是同时的(各通道的检波结果会被代入电阻率计算公式),因此我们需要完成多路信号的同步采样以及计算,这需要高性能的 ADC 和 DSP。当时我主要负责的就是这部分,数据采集中大量使用了 DMA,数据处理则不断精简优化算法,最终榨 DSP 的所有性能。

说到这,可能会有人问:“石油深深地埋在地下,到底是怎样找到的?”没从事过石油行业的人可能对石油勘探不甚了解。石油人首先会去确定油气藏的大致区域,主要靠地表地形来进行初步的判断。一般呈凹陷形态的区域储油的可能性比较大,比如盆地。然后是验证,通常采用地震法,就是在确定的区域人为制造一场小地震,通过分析地震波来进一步定位油气藏的具体位置。接下来会在确定区域,钻很多的深井,将测井仪器放下去,从而探明实际油气藏所在的深度和范围,并评估储量。所以,测井这个环节是非常重要的。有很多作测井仪器的公司,它们研发仪器并对外提供测井技术服务。就像计算机行业有巨头 Intel、AMD、ARM 一样,测井行业也有几大巨头,比如斯伦贝谢、哈里伯顿、贝克休斯等等。(中东这些国家石油储量非常大,占全球储量的 60%以上,但是他们本身技术水平并不发达,所以要依靠相关的石油技术服务公司来进行勘探、测井、培训和采油作业,所以石油技术服务这方面也是市场巨大的,而且是暴利。)

什么?有人调皮地问:“南哥,那你当时在哪个公司?”你猜!

再多说一些。测井仪器相关产品也是类型繁多。单从测井方法上说就有侧向、中子密度自然电位、超声成像,还有近些年比较流行的核测井。对这个行业感兴趣的同学,可以找相关资料看一下,还是很有前瞻性的。

2.2 功率检测


2016~2017 年,我一直处于创业的状态。经朋友介绍,我认识了一个善于市场运作的哥们,他很有创业的热情。我以前也一直有创业的想法,自己在搞产品,甚至在作一些风口上的东西,比如共享充电宝等。但是并没有什么大的起色和成果,究其原因还是我把技术看得太重,或者说我更擅长技术研发,而并不擅长市场推广和销售,把技术转为价值。

认识了这哥们之后,我觉得我俩能整出点动静来。而且,他的想法当时来看确实很有前瞻性和市场潜力,电动车共享充电柜。关于这一项目详细内容我们还是放到专门的章节去,不在这里赘述,我只介绍一下 DPSD 在其中的应用。

共享充电柜是按充电电量来收费的,它提供了一个可远程控制的 220 V 插座,我通过采集等效电压与电流来计算电量,请看图 17.4。


图 17.4 DPSD 在交流电量统计中的应用

我们使用单片机或 DSP,对互感器产生的 50Hz 交流电压和电流进行相敏检波,从而得到

其等效值以及相位差,进而可以计算视在有功和无功功率。可能你会问;“有专门的电力计量芯片,何必自已搞?”主要还是成本考虑。现成的芯片,比如 ATT7022,价格基本在 10 元左右,而且互感器这些周边器件也不能少。其实我们对电量计算的精度要求并不高,因此使用软件算法来实现,可以使产品成本大幅下降。而且还可以简化电路,提高产品稳定性。

我想,现在很多工业和消费电子产品的功能越来越多,电路规模越来越大。这也许是各大芯片厂商不断提高采集器件和处理器性能的一个原因。把更多的功能交由处理器以数字方式来实现,比如滤波、信号提取等等。另一方面芯片的集成度越来越高,一颗芯片集成了 ADC、通信接口等,还有多核,甚至是异构多核(芯片中集成几种不同类型的处理器内核,如常见的ARM+DSP、DSP+FPGA 等)。可以设想,以后电子产品基本上都会使用单芯片方案。实际上,现在很多产品已经向这个方向发展了,比如电视、机顶盒。

整体方案数字化是以后的大趋势,所以建议广大电子行业从业者学习一些编译、算法、数字信号处理方面的知识,这样才会更有发展。

2.3 电池内阻测量


2019~2022 年,我供职于清华的一家创业公司,主要做低功耗智能传感器。很多产品都是电池供电的,很长一段时间都在研究如何评估电池剩余电量。“什么电池?如果是鲤电池那很好办,测量电池电压就行了。”确实,如果是鲤离子电池的话,是这样的,网上有一张电池电压与剩余电量的对照表,如表 17.1 所列。


但是很多一次性电池,比如磷酸铁鲤电池,它们的电压与电量之间并没有明显的对应关系。剩余电量在 20%以上时,电池电压几乎没有什么变化。拿两串的电池来说,电压基本都在 7.0~7.2 V。当电量到达一定水平时,电压会发生骤降。那到底如何评估电量呢?电池内阻。

严格意义上来说,电池内阻与电量并没有直接关系。电池内阻是由其材料特性决定的但是电池电阻可以反映电池放电的能力,由此我们可以大体估计其电量水平。

1直流检测

基本原理如图 17.5 所示。


图 17.5 直流检测电池内阻的基本原理

我们在电池两端接入放电负载,在不同电流下,U 会有不同的电压值,由以下公式可以计算内阻:


但实际上电池的内阻都很小,在一定电流下的电压变化并不大,要准确测量并不容易。而且测量是在电池放电过程中进行的,这就使得测量更加不准。所以,实际上这种方法测内阻的重复性很差,结果可信度较低

2.交流方法

基本原理如图 17.6 所示


图 17.6 直流检测电池内阻的基本原理

向电池馈入一个交流电流信号,测量由此信号产生的电压变化即可测得电池的内阻。在实际使用中,由于馈入信号的幅值有限,而电池的内阻在微欧或毫欧级,所以产生的电压变化也在微伏级,信号很容易受到干扰,直接去采集如此小的交流信号(比如使用传统的过零或峰值检测方法)比较困难。此时,我们使用DPSD 就可以很好地解决这个问题。因为 DPSD 有很强的选频特性,可以将干扰过滤掉。如果在信号前端再加上滤波器(可以是硬件或数字的),那效果就会更好。

2.4 风速风向检测


如果说前面的这几个应用,都算是比较传统的话,那这里要介绍的风速风向检测就是DPSD 比较妖魔化的应用了,其背后是一种被称为声共振的技术,应该很多人都不了解,振南着重说一下,来满足一下大家的好奇心。

先说说传统的风速风向检测技术,这样在比较之下,大家才能认识到声共振技术的先进之处

1.风杯式(旋转式)

这种风速风向仪应该是大家最常见的了,如图 17.7 所示。这种就不用多说了,原理一看就明白。什么?没见过?抬头看一下电线杆子上那个旋转的半球。有人说那是赶鸟用的,那个半球是小镜子,想象力也是挺丰富的。(以上文字仅代表振南本人观点,不一定对,网上有关于这方面的讨论,大家可以搜索看一下。很明显这种风速风向仪是靠机械转动来实现测量的,其缺点就显而易见了:故障率高、易老化,受天气影响较大等。尤其在结冰条件下,它基本形同虚设

2.超声波风速风向

这种的原理也很简单,如图 17.8 所示。


图 17.7 旋转风杯式风速风向仪


图 17.8 超声波测风速风向的原理示意

我们知道声波在静止空气中的传播速率是 340m/s(15C)。所以,如果两点之间距离固定,那声波传播所需要的时间就是一定的。风的本质是空气的流动,顺风助力声波传播,逆风则阻碍传播。基于这样的特性,我们可以通过精确测量超声发射头与接收头之间的时间来评估风速(这种用到达时间来测速或测距的方法被称为 TOF,即飞行时间,又称时差法,这种方法应用甚广.比如现在很流行的 UWB、激光测距等,大家感兴趣可以深人了解一下)。两个正交方向上的风速作矢量和即可得到风向。这类风速风向仪看似高端,但实际上有一个很大的弊端,别忘了声速与海拔是有很大关系的。

说了这么多风速风向的测量方法,DPSD 的应用在哪里? 振南老师你是不是写书写嗨了.

跑题了!

别着急,马上就到 DPSD 了。

3.声共振风速风向

声共振技术,英文是 Acu-Res,是由英国 FT Technologies 发明的,依靠这一技术 FT(国内称风拓)已经成为全球最大的中高端风速风向仪研发和制造商,真可谓是一招鲜吃遍天。

引用 FT 官网的一些内容,如图 17.9 所示。


图 17.9 FT 官方对 Acu Res 的介绍

大意是声共振技术是一项独立而又不同于其他传统超声波风速风向的技术。它源自于英国山伯利团队的一项发明。它基本的原理是测量超声波在一个狭小腔体中的相位变化,从而计算风速风向和温度。

图 17.10 为 FT 风速风向仪产品效果图

官方不会深入去介绍,毕竟这是它的核心技术。振南的团队为了验证这一技术,做了一些原型,如图 17.11 和 8.12 所示。


图 17.10 FT 风速风向仪产品效果图 


图 17.11 振南团队对于声共振技术的验证原型(俯视)

我们使用两片平行的铝板形成腔体(声波会在两种密度相差较大的材料界面上发生反射)。在上面的铝板上安装有 3 个星等边放置的超声收发一体化探头(是从汽车倒车雷达上拆的)。我们拿出其中的两个,一发一收,如果把发射信号和接收信号放到一起来观察,会发现它们是几乎没有相位差的,也就是两个信号重合。

但是当我用风扇对着它们吹,就可以很明显地看到,两个信号产生相位变化,如图 17.13所示。

宏观上,我们可以理解为风把声波吹偏了。这个相位的变化可以使用 DPSD 来检测。那为什么要放 3 个探头?还要等边放置?请看图17.14。

振南不再过多介绍,因为我也只不过是一些猜想。大家如果感兴趣,尤其是善于模型和算法仿真的同学,可以对声共振测风速风向深入研究一下。


图 17.12 振南团队对于声共振技术的验证原型(俯视)


图 17.13 声波在风吹作用下产生相位偏移


图 17.14 三探头方式具有更好的风速风向测量准确度

“我基本理解了用声波相位测量风速风向的原理,但是这与声波共振又有什么关系呢?哪里共振了?”图 17.13 所示的波形其实就是共振后的效果。声波发射出来之后,会在腔体中经历几百次反射(也就是上下两片铝板之间)。这些波频率一致,最终会共振,振幅相互叠加,形成驻波。这使得声波信号被放大,从而更容易被采集。可以说,声共振测风速风向确实是一项了不起的发明,其根本上是物理基础研究成果和数学方法的应用。

其实本文一开始的公式还可以进一步推导下去,最终我们会发现根本不需要积分,从而可以降低计算量。经过再三考虑,这进一步的推导振南就不在这里展开了,因为这会影响本书的可读性和接受度,劝退很多读者。这也与我把知识通过通俗易懂的方式传播出去的原则相悖。

我曾经在国内核心期刊上发表过一篇名为《基于低通滤波的相敏检波算法改进与实现》的论文,感兴趣的读者可以百度一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/193431.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构(超详细讲解!!)第二十五节 线索二叉树

1.线索二叉树的定义和结构 问题的提出: 通过遍历二叉树可得到结点的一个线性序列,在线性序列中,很容易求得某个结点的直接前驱和后继。但是在二叉树上只能找到结点的左孩子、右孩子,结点的前驱和后继只有在遍历过程中才能得到…

python中的简单线性拟合

简单线性回归可以拟合线性关系的数据,一般使用一次函数或二次函数即可。 import numpy as np import matplotlib.pyplot as pltxnp.array([1,2,3,4,5,6,7,8,9,10]) ynp.array([2.5,4.5,4.8,5.5,6.0,7.0,7.8,8.0,9.0,10.0])#一次拟合函数 slope,interceptnp.polyfit…

TUP通信——与多个客户端同时通信

一,概括:可以通过多线程思想每加一个客户端由线程池中的主线程交给一个子线程管理 二,案例 (1),线程池 (2),服务端 (3),客户端

从零开始学优惠券样式代码编写,让你的网站焕然一新!

样式1&#xff1a; 代码实例&#xff1a; <div class"box"><div class"itemBox"><div class"leftBox">全额抵扣</div><div class"rightBotton"><button>立即使用</button></div><…

FLV 文件格式分析

前言 flv 是 flash video 的缩写&#xff0c;是 Adobe Flash payler 支持的一种流媒体播放格式。flv 是一种层级格式&#xff0c;除了一个 flv header 外&#xff0c;剩下全是由 一个个 tag 组成。tag 是由 tag 头和 tag 数据组成。tag 类型分为音频、视频、脚本&#xff0c;一…

Kafka 如何保证消息消费的全局顺序性

哈喽大家好&#xff0c;我是咸鱼 今天我们继续来讲一讲 Kafka 当有消息被生产出来的时候&#xff0c;如果没有指定分区或者指定 key &#xff0c;那么消费会按照【轮询】的方式均匀地分配到所有可用分区中&#xff0c;但不一定按照分区顺序来分配 我们知道&#xff0c;在 Kaf…

redis笔记 -- 基础数据结构

redis笔记 基础的数据结构&#xff1a;string、list、hash、set、zset 容器型数据结构&#xff08;list、hash、set、zset&#xff09;通用规则 如果容器不存在&#xff0c;就创建一个&#xff0c;再进行操作如果容器里没有数据了&#xff0c;就立即删除&#xff0c;回收内存…

数字IC芯片验证流程及验证工具推荐?收藏专用

验证其实是一个“证伪”的过程&#xff0c;从流程到工具&#xff0c;验证工程师的终极目的都只有一个&#xff1a; 发现所有BUG&#xff0c;或者证明没有BUG&#xff0c;以保证芯片功能性能的正确性和可靠性。 验证环节对于一颗芯片的重要性也是不言而喻的&#xff1a; 从项…

python爬虫指南之请求模块urllib的详细教程

文章目录 前言一、urllib的子模块二、HttpResponse常用方法与属性获取信息urlli.parse的使用(一般用于处理带中文的url) 三、爬取baidu官网HTML源代码添加请求头信息&#xff08;重构user\_agent&#xff09; 四、扩展知识with open和open两者的区别关于Python技术储备一、Pyth…

python+gurobi求解线性规划、整数规划、0-1规划

文章目录 简单回顾线性规划LP整数规划IP0-1规划 简单回顾 线性规划是数学规划中的一类最简单规划问题&#xff0c;常见的线性规划是一个有约束的&#xff0c;变量范围为有理数的线性规划。如&#xff1a; 使用matlab的linprog函数即可求解简单的线性规划问题&#xff0c;可以参…

人力资源管理后台 === 角色管理

目录 1.组织架构-编辑部门-弹出层获取数据 2.组织架构-编辑部门-编辑表单校验 3.组织架构-编辑部门-确认取消 4.组织架构-删除部门 5.角色管理-搭建页面结构 6.角色管理-获取数据 7.角色管理-表格自定义结构 8.角色管理-分页功能 9.角色管理-新增功能弹层 10.角色管理…

springboot实现验证码功能

转载自 : www.javaman.cn 1、编写工具类生成4位随机数 该工具类主要生成从0-9&#xff0c;a-z&#xff0c;A-Z范围内产生的4位随机数 /*** 产生4位随机字符串*/public static String getCheckCode() {String base "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn…

【TinyALSA全解析(三)】tinyplay、tincap、pcm_open源码解析

tinyplay、tincap、pcm_open源码解析 一、本文的目的二、tinyplay.c源码分析三、tinycap.c源码分析四、pcm.c如何调度到Linux Kernel4.1 pcm_open解析4.1.1 pcm_open的主要流程4.1.2 流程说明4.1.3 调用方法 4.2 pcm_write解析 /*********************************************…

文章改写工具-改写神器

当代社会&#xff0c;信息爆炸&#xff0c;写作已成为人们生活与工作中不可或缺的一环。无论是学术论文、商业报告还是日常沟通&#xff0c;文字的准确表达和精彩呈现是至关重要的。然而&#xff0c;许多人在面对写作时&#xff0c;常常为语言表达、词汇选择而苦恼。为了解决这…

基于OpenCV+YOLOv5实现车辆跟踪与计数(附源码)

导 读 本文主要介绍基于OpenCVYOLOv5实现车辆跟踪与计数的应用&#xff0c;并给出源码。 资源下载 基础代码和视频下载地址&#xff1a; https://github.com/freedomwebtech/win11vehiclecount main.py代码:​​​​​​​ import cv2import torchimport numpy as npfrom tr…

Dockerfile讲解

Dockerfile 1. 构建过程解析2. Dockerfile常用保留字指令3. 案例3.1. 自定义镜像mycentosjava83.2. 虚悬镜像 4. Docker微服务实战 dockerfile是用来构建docker镜像的文本文件&#xff0c;是由一条条构建镜像所需的指令和参数构成的脚本。 dockerfile定义了进程需要的一切东西&…

hdlbits系列verilog解答(Exams/m2014 q4e)-46

文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 实现以下电路&#xff1a; 二、verilog源码 module top_module (input in1,input in2,output out);assign out ~(in1 | in2);endmodule三、仿真结果 转载请注明出处&#xff01;

JOSEF 综合继电器 HJZZ-32/2 AC220V 合闸延时整定0.02-9.99S

系列型号&#xff1a; HJZZ-91分闸、合闸、电源监视综合装置&#xff1b; HJZZ-92/1分闸、合闸、电源监视综合装置&#xff1b; HJZZ-92/2分闸、合闸、电源监视综合装置&#xff1b; HJZZ-92/2A分闸、合闸、电源监视综合装置&#xff1b; HJZZ-92/3分闸、合闸、电源监视综…

Gitee上传代码教程

1. 本地安装git 官网下载太慢&#xff0c;我们也可以使用淘宝镜像下载&#xff1a;CNPM Binaries Mirror 安装成功以后电脑会有Git Bush标识&#xff0c;空白处右键也可查看。 2. 注册gitee账号&#xff08;略&#xff09; 3. 创建远程仓库 4. 上传代码 4.1 在项目文件目录…

【教学类-06-10】20231126 X-Y数字分合-分-下空左

结果展示&#xff1a; 背景需求&#xff1a; 数字分合&#xff0c;这一次空在左侧 代码展示&#xff1a; X-Y 之间的分合题-分-空在右侧 时间&#xff1a;2023年11月26日 21:46 作者&#xff1a;阿夏 import random from win32com.client import constants,gencache from win3…