简 介: 利用TPF111视频的自动低电平保持的功能来对于输入的交流信号进行幅值检测。的确是一个非常聪明的想法,那么效果怎么样呢?看看文中的实验结果吧。

关键词TPF111幅值检测智能车竞赛电磁导引电磁组

01为什么测量交流信号的幅值


  在全国大学生智能车竞赛中,有组别是通过电磁导航完成赛道循迹。今年(第十五届)有增加了通过 人工智能完成电磁 导航的组别。这些组别的基础都需要能够对由工字型电感所检测到赛道交变磁场信号进行精确测量。虽然磁场有可能会受到各种环境 磁场屏蔽 的影响,发生变化,或者由 信号发生器的原因引起磁场变化 ,但对检测到的交流磁场信号进行精密幅度测量是为后面应用打下基础。

  在之前,通过博文讨论了一些检测20kHz交流磁场信号幅值的方法,包括:

  • 高频检波
      对比通过二级管、单电源运放进行信号检波的方法。
  • 精密软件检波
      通过对交流信号进行采样,然后计算信号的幅度;
  • 使用AD8302检波
      这是利用ADI公司的RF/IF幅度和相位检测IC来测量交流信号的幅值;
  • 使用数字示波器测量交流信号的的幅值和相位
      利用可以联网的数字示波器完成高频信号的采集,进而通过软件的方法来测量交流信号的幅值和相位。

  灵活高效的电磁信号的检测方法,可以提高实际工程应用中的 电磁定位 的精度。

02基于TPF111测量幅值的原理


  本文提到的 TPF111 芯片原本是是一款专门针对消费类应用而设计的低成本视频重构滤波器。它本身是对输入信号进行2倍(6dB)的视频放大的功能。如果通过电容耦合,可以实现对信号钳位的功能,也就是能够将信号的最低值进行钳位到200mV左右。利用这个特点,可以实现对于输入交流信号的幅值的测量。

  下图是TPF111内部对输入信号中视频同步(行同步、场同步)电平(信号的最低电平)进行钳位的结构示意。如果输出信号通过电容耦合到输入端,那么有内部的电平比较和MOS管放电回路的作用,会使得信号的最低电平维持在一个固定的电位上。

▲ TPF111同步头钳位电路

  如果输入是一个正弦信号。它的最低电平被维持在Vclamp上,那么输出电压的平均值就等于E+Vclamp。因此由输出信号的直流分量,减去固定的Vclamp,就可以得到对应信号的幅度E的大小。这就是TPF111完成正弦信号检波的基本原理。

▲ 信号底部钳位之后对应的直流分量

  关于TPF111的基本功能实验可以参考博文: TPF111视频信号放大器研究 中的结果。

03幅度可调的20kHz交流信号源


  为了验证TPF111的上述对正弦信号幅度检波的效果,需要建立一个幅值可以通过程序控制的20kHz交流信号源。这样可以测量TPF111检波的输入输出之间的关系。

1.基本方法

  在之前的博文中,给出了一些基本的交流信号源的实现方法,主要包括:

  (1)使用交流信号源。在一般的交流信号源设备中,都具有对输出信号幅度控制的功能。比如在 如何使用万用表测量随机噪声 介绍的 DS345信号源。但是这类信号源改变输出幅值缺少外部编程接口。
  (2)使用机械变阻器。当然,普通的电位器可以改变信号的幅值,但同样缺少可编程接口。在博文 机械变阻器 中介绍了使用步进电机控制电位器的方式。但这种方法只能是大体给出信号变化的方向,缺少精确设定的方法。
  (3)使用数字电位器。在之前的博文 X9C102,X9C103, X9C104 以及 AD5272数字变阻器 中介绍了两类数字电位器、变阻器。但由于寄生电容的影响,使得这类器件对于信号的频率有限制。

  (4)使用DAC来改变交流信号的幅值。本实验中的20kHz交流信号源借用了在博文 DAC8830可以当做电位器来使用吗? 所给出的方法。

▲ 多种电解电容的极性标示

2.DAC8830可变幅值交流信号源

  直接使用DAC8830改变交流信号的幅值,由于DAC8830输出阻抗的影响,还需要外部增加运放来提高DAC8830输出带负载的能力。下面使用 OPA4377 作为DAC8830 输出缓冲,便可以带动后面的各种对交流输出信号的检波负载。

▲ 基于DAC8830的可变幅值信号源实验电路板

stm32cmd(‘set 7fff’)

  下面是使用DAC8830所获得的输出幅值可调的20kHz的信号源。它的输出有OPA4377进行缓冲,提高了带负载的能力。

▲ 利用DAC8830输出不同幅度的交流信号

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2020-06-20
#
# Note:
#============================================================
from headm import *
from tsmodule.tsvisa        import *
from tsmodule.tsstm32       import *
#------------------------------------------------------------
gifid = 5
#------------------------------------------------------------
printf(meterval())
tspgiffirst(gifid)
step = 100
for i in range(step):setnum = int(0xffff * i / step)stm32cmd('set %x'%setnum)time.sleep(.2)tspgifappend(gifid)
printf('\a')
#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

  下面三张图分别显示了DAC8830设定数值与输出交流信号实测幅值之间的关系。可以看到在大范围、小范围,设定数值与输出电压幅值之间具有线性关系。只是在数值比较小的时候,输出交流信号幅值会有一定的波动和非线性。

▲ 设置数值与输出交流信号电压

▲ 设置数值与输出交流信号电压

▲ 设置数值与输出交流信号电压

04实验方案


  利用TPF111U设计带有电容耦合的放大电路,如下图所示。可以看到TPF111封装很小,这就减少了检波方案所占用的电路板的尺寸。

▲ 实验TPF111U原理图和实验电路板

  注意: TPF111U的封装是SC70

  下图显示了输入信号与TPF111输出信号之间的关系。可以看到输出信号是对输入信号进行了两倍(6dB)的放大。而且输出信号的最低值在这个过程中都基本上维持不变,表明了TPF111对于最低点为的钳位功能。

  当输入信号的幅度超过的TPF111工作电压的一半的时候,输出信号就会出现饱和失真。

▲ TPF111U输出与输入信号之间的关系

05实验结果


  当输入交流信号为0:V时,TPF111输出的偏置电压为:0.437V。这就是Vclamp。

  下面通过DAC8830加入信号幅度可变的20kHz交变信号。通过万用电压的直流档测量TPF111的输出直流分量。下图显示了输入交流信号的有效值与输出信号直流分量之间的关系。

  输入信号有效值小杨说0.85V时,输出与输入之间基本上呈现线性关系。当输入信号超过0.85V,输出电压变缓,这是由于输入信号峰值过大,使得TPF111出现饱和造成的。

▲ 输入交流信号与TPF111U输出直流信号之间的关系

  下面将输入信号小于0.5V时,输入输出之间的关系绘制出来,可以看到输出的电压基本上与输入之间呈现增量线性的关系。消除了使用二极管进行检波时的死区的影响。

▲ 输入交流信号与TPF111U输出直流信号之间的关系

  对于信号小于0.05V的时候,信号输出呈现比较缓慢的趋势。下面对于信号小杨说0.01V时的曲线进行放大。可以看到,虽然这部分的信号呈现更多的非线性,但仍然没有明显的死区。这就表明使用TPF111检波有更强的灵敏性。

▲ 输入交流信号与TPF111U输出直流信号之间的关系

■ 结论


  TPF111原本是用于视频放大的电路,本文探讨了利用它的低电平钳位功能来对输入正弦交流信号进行检波。通过实际信号的测量,表明使用TPF111输出的直流分量来检测输入正弦波的幅值,基本上没有死区的影响,检波灵敏度很高。在高频检波 博文中介绍使用单电源运放LMV321进行半波放大来进行检波,相比之下使用TPF111检波有着更大的线性范围。

  由于TPF111的输出有一个固定的直流分量,所以需要预先采集保存这个直流电压数值。在最终的测量结果中将该分量减除,才能够获得与输入交流信号幅值成正比的幅值信息。

基于TPF111芯片的交流信号幅值检测相关推荐

  1. 同步压缩变换 matlab,一种基于同步压缩变换重构的幅值校正方法

    一种基于同步压缩变换重构的幅值校正方法 [技术领域] [0001] 本发明属于信号处理技术领域,具体设及一种基于同步压缩变换重构的幅值校正 方法. [背景技术] [0002] 时频分析方法是处理非平稳 ...

  2. python实现信号幅值归一化

    python实现信号幅值归一化 功能:实现信号幅值归一化 输入x为原信号,是一个numpy的1D张量 输出y为幅值归一化信号,是一个numpy的1D张量 调用格式{y = normalized(x)} ...

  3. ad采样的符号位_AD位数是如何影响信号幅值的?

    数据采集设备一个重要的指标就是AD位数,我们都知道AD位数越高越好.但这个"好"到底体现在哪些方面呢?AD位数到底对数据采集有哪些影响呢? AD位数的实质是指模数转换数据时使用多少 ...

  4. 使用CAN总线数据与波形记录分析仪查找和解决波形台阶和信号幅值低的问题

    文章目录 一.打开工程 二. 质量度分析 三. 问题分析 1.眼图分析:幅值低.边沿台阶 2.波形分析:幅值低.边沿台阶 四.解决"台阶"解决 1.边沿台阶的源头 2.消除边沿台阶 ...

  5. 基于AD9954实现正弦交流信号输出——附原理图、代码

    最近本人在做基于Cortex-M4的电阻抗采集系统,正弦信号是由AD9954这一款芯片产生的,由于网上对于该芯片的介绍比较少,这里分享一下自己的使用调试心得,以便大家参考.本人才疏学浅,如果有错误,还 ...

  6. 信号幅值归一化(Python)

    本文主要实现将一维时序数据进行幅值归一化 1. 导包 import numpy as np import mathimport matplotlib.pyplot as plt plt.rcParam ...

  7. 基于matlab的归一化阵列响应幅值极坐标图仿真,对比四阵元,八阵元以及十六阵元

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  8. matlab工具箱使用50hz低通滤波器设计 和FFT 变化截取50hz工频信号幅值

    项目场景: 这两天提取一组变压器数据,发现谐波比较严重,我在处理前想只拿到工频信号进行处理.原始数据就这样 问题描述: 杂波比较多.尤其是通道3因为是三相变压器的关系,受到另外两项的干扰更严重. 原因 ...

  9. (三)基于cadence 617 的交流仿真、瞬态仿真 以电阻做负载共源级为例

    文章目录 前言 一.电路图 二.直流仿真 查看直流工作点 获得vgs= 1.25v直流参数 三.交流仿真 1.修改电路图 添加交流小信号 2.设置仿真参数 3.开始仿真(点击run) 4.查看曲线 四 ...

最新文章

  1. 基于SpringBoot+Vue前后端分离管理系统
  2. 使用jconsole监控JVM内存
  3. python 线性回归_Python中的简化线性回归
  4. Unity SRP自定义渲染管线 -- 3.Lights
  5. 从这十大算法开始学习机器学习与建模
  6. c json保存整型数组,您如何存储“ int”? NSMutableArray *或NSMutableDictionary *中的值?整数形式的JSON数据的长期问题。...
  7. IOS经常使用的性能优化策略
  8. AD19无法生成PCB_对PCB印制线的传输线效应以及封装、连接器和电缆的频率响应进行全面分析...
  9. w7设置双显示器_学习工作效率不高?处理事情慢半拍?教你使用双显示器来改善...
  10. log.py——打印出独立IP,并统计独立IP数
  11. php mysql 模型_ThinkPHP数据库与模型
  12. 自由落体运动c语言编程_欧姆龙NX PLC 轴运动功能块,ST和梯形图双语言
  13. 渗透之——网站入侵思路
  14. C# 上位机界面添加扫码枪输入
  15. android内存脚本教程,安卓内存
  16. Android 集成谷歌地图
  17. wifi共享代码实践java_笔记本实现共享wifi上网
  18. 关于TXT转CHM的完整解决方案
  19. 注册Balsamiq Mockups
  20. 互联网时代个人信息安全的重要性

热门文章

  1. java如何访问局域网共享文件
  2. 统计每天某一时间段的SQL语句
  3. tar xvf实现的是什么功能呢?
  4. python b64 图片处理
  5. C语言 文件操作10--配置文件读写
  6. 用c实现跨平台异常捕获机制
  7. 64位大内存虚拟机Page File的存放位置
  8. 批量导入LYNC 2010用户的联系人
  9. MySQL 关于毫秒的处理
  10. 读取并修改App.config文件(转载)