历史上的今天
返回首页

历史上的今天

今天是:2025年08月20日(星期三)

正在发生

2020年08月20日 | 使用示波器测量正弦信号幅值和相位误差仿真

2020-08-20 来源:eefocus

使用数字示波器 DS6104 测量交流信号的幅值和相位[1] 中对于使用示波器测量正弦交流信号的幅值和相位进行了分析和实验研究。但是对测量出的幅值和相位结果中的误差随着示波器的时基( time base )不同而改变的原因,究竟是在博文第二部分分析中理论上存在的误差引起的,还是由于示波器本身在同步、AD 位数精度、数据处理窗口方面引起的呢?

 

关于这个问题可以通过计算机仿真实验,对采集过程使用仿真来验证。

 

 

01 数据生成和计算方法

在实验中,根据 DS6104 示波器的参数,对于采集到的数据做一下假设:数据点个数,时基对应 100 个数据采样点。信号的频率,相位。数据的中心对应着时间 t=0 时刻,相当于信号触发同步的时间点位于示波器的中心。

 

下面给出生成数据的 Python 语句:下面给出当 ts=0.5ms 时对应的数据波形。

▲ 设置 ts=0.5ms 时对应的数据波形

 

利用在博文 使用数字示波器 DS6104 测量交流信号的幅值和相位[1] 中的计算方法求信号的有效值和相位。

 

测量得到的信号有效值和相位分别是:

E = 0.7071067811865476,  theta=-1.0150610510858574e-17

 

02 采集位数对计算精度的影响

在示波器中,数据采集的位数为 8 位。下面对采集数据的位数分别从 1~16 进行仿真实验,验证采集数据的位数对测量的影响。

 

位数有效值相位有效值误差
10.78210.00000.0750
20.73720.00000.0301
30.71890.00000.0118
40.70760.00000.0005
50.70750.00000.0004
60.70780.00000.0007
70.70720.00000.0001
80.70720.00000.0001
90.70690.0000-0.0002
100.70720.00000.0001
110.70700.0000-0.0001
120.70710.00000.0000
130.70710.0000-0.0000
140.70710.00000.0000
150.70710.0000-0.0000
160.70710.00000.0000

▲ 采集位数与幅度计算误差

▲ 不同采样位数下对应的采集波形

 

03 时基对误差的影响

在下面的仿真中,采集量化位数。时基从 30us 到 5000us,采集 200 个实验点。

 

1. 不加窗时对应的误差

▲ 不同时基采样对应的波形

▲ 不同的时基对应的计算误差,量化 bit=8

 

通过实验可以验证,如果取消量化过程,所得到的测量误差(幅值,相位)的情况与上面量化位数等于 8 时几乎一样。

 

对比在 使用数字示波器 DS6104 测量交流信号的幅值和相位[1] 中时基使用示波器测量的结果,可以看到,在 ts<0.002s 的时候,所得到的误差与仿真的结果仅此,但当 ts 大于 0.002 之后,所得到的误差就呈现了规律的锯齿波的形状。对于这个现象现在还无法解释。

 

2. 加窗口之后对应的误差

通过对数据增加三角窗和 Hanning 窗口[2] 加权处理,来评估时基对参数计算误差。

(1)增加参加窗口

▲ 增加三角窗口

▲ 使用三角窗对采集数据进行处理之后的幅值误差和相位

 

疑问:为何三角窗口对于相位影响这么大?

猜测: 可能这个问题来自于对信号的量化误差所带来的。

▲ 将量化 8bit 去掉之后,使用三角窗口加权数据所得到的复制误差和相位

 

(2)增加 Hanning 窗口

▲ 对数据施加 Hanning 窗口对应的信号波形

▲ 使用 Hanning 窗口对数据加权计算的信号幅值误差和相位

 

(3)增加 Hamming 窗口

▲ 增加 Hamming 窗口数据的波形

▲ 使用 Hamming 窗口对数据处理所得到的幅度误差和相位

 

(4)对比三角窗口,Hanning 窗口以及 Hamming 窗口对于幅度误差的影响

▲ 对比三种加窗方法测量幅值误差曲线

▲ 对比三种加窗方法测量幅值误差曲线(局部)

 

经过放大之后,我们看到上面的幅值误差曲线呈现了某种随机的情况。猜测这可能 与量化误差有关系,下面重新将上述加窗方法数据生成一边,只是将对信号的量化部分去除掉。绘制出三种加窗方法测量得到的误差曲线(局部)如下:

▲ 将量化误差去掉之后,三种加窗方法对应的幅值误差曲线

 

可以看到没有了量化误差,测量误差曲线与时基 ts 之间的关系变得有规律了,而不在呈现随机状态。

04 结论

通过实验,可以看到在博文 使用数字示波器 DS6104 测量交流信号的幅值和相位[1] 中测量信号幅值和相位的过程中,时基 ts 对于测量误差的影响所出现的现象并不能够完全有理论仿真来解释。特别是对于 ts 大于 0.002s 之后出现的情况,应该与示波器本身的采集原理有关系。

 

这个分析也证实了,在实际工程实践中,除了理论部分分析之外,还需要考虑到实际测量过程所出现的其它异样的情况。

 

参考资料

[1]使用数字示波器 DS6104 测量交流信号的幅值和相位: https://zhuoqing.blog.csdn.net/article/details/106439663

[2]Hanning 窗口: https://dsp.stackexchange.com/questions/56400/hanning-and-hamming-window


推荐阅读

史海拾趣

GE (General Electric)公司的发展小趣事
首先确认电源是否正常接入,电源电压是否符合要求。
Adafruit公司的发展小趣事
测试急停按钮等安全保护装置是否灵敏可靠。
Eris Technology Corp公司的发展小趣事

Eris Technology Corp公司自1995年成立以来,一直致力于半导体及相关技术的研发。在成立初期,公司面临激烈的市场竞争和技术挑战。然而,通过不断的研发投入和人才引进,Eris Tech成功开发出一款高性能的二极管产品,并凭借其优异的性能赢得了市场的认可。随着产品线的不断丰富和市场布局的逐渐完善,Eris Tech逐渐在电子行业中崭露头角。

AB Connectors Ltd公司的发展小趣事

进入新世纪,电子行业的技术更新换代速度加快。AB Connectors Ltd意识到,只有不断创新才能在激烈的市场竞争中立足。于是,公司加大了研发投入,组建了一支高素质的研发团队,专注于连接器技术的创新。经过多年的努力,AB Connectors Ltd成功开发出了一系列具有自主知识产权的新型连接器产品,不仅提高了产品的性能和质量,还降低了生产成本。这些创新产品为公司赢得了众多客户的青睐,进一步巩固了市场地位。

DB Unlimited公司的发展小趣事

在音频市场日益竞争激烈的环境下,DB Unlimited意识到定制化服务的重要性。因此,公司开始提供定制设计服务,以满足客户对特定音频需求的个性化要求。通过与客户的紧密合作和深入沟通,DB Unlimited成功为客户解决了许多复杂的声学设计问题,赢得了客户的信任和赞誉。

Amulet Technologies公司的发展小趣事

DB Unlimited始终将技术创新作为公司发展的核心驱动力。公司不断投入大量资源进行技术研发和创新,推出了多项具有行业领先水平的音频技术。这些技术的推出不仅提升了公司的竞争力,也推动了整个音频行业的发展。DB Unlimited的技术创新能力和成果得到了业界的广泛认可。

问答坊 | AI 解惑

降低FPGA功耗的设计技巧

使用这些设计技巧和ISE功能分析工具来控制功耗    新一代 FPGA的速度变得越来越快,密度变得越来越高,逻辑资源也越来越多。那么如何才能确保功耗不随这些一起增加呢?很多设计抉择可以影响系统的功耗,这些抉择包括从显见的器件选择到细小的基 ...…

查看全部问答>

IC测试原理解析

      芯片测试原理讨论在芯片开发和生产过程中芯片测试的基本原理,本文将讨论怎么把这些原理应用到存储器和逻辑芯片的测试上。       存储器芯片测试介绍          &n ...…

查看全部问答>

兼职pcb设计

本人在一家研发公司担任Pcb layout工程师。 具有多年的电路设计和PCB设计经验,能独立处理工作,有多层板和高密度板的设计经验,有着电子专业水平和硬件设计能力,设计过单面,双面,4层,6层.8层和多层板。 熟悉PCB生产加工工艺和PCB装配精度要求 ...…

查看全部问答>

单片机keil c语言入门

本帖最后由 paulhyde 于 2014-9-15 09:10 编辑 RT  …

查看全部问答>

用MOC3041后还需过零检测吗?

整个电路时单片机温控系统,想用MOC3041+BT136去控制加热棒的启停,不是说MOC3041就有过零检测的功能吗,那整个电路里是不是不需要再额外使用过零检测电路了?…

查看全部问答>

CSocket断言错误

我用CSocket传输文件,接收时会出现断言错误:socketcore.cpp,line: 1466,我看了一下这个文件,断言是OnSocketDead函数里的assert(hEvent!=Null)这句,请问各位大侠这是什么问题呢?…

查看全部问答>

电源设计技巧有没有比较实用的公式?

在书本上有许多电源设计公式,有点糊涂,请各位指教。…

查看全部问答>

请教各位一个signed int相加的问题

例如有8个signed int相加,因为结果不会大于0xfff但可能大于0xff所以用三个字节来存放计算结果, 现在就有一个麻烦了,三个字节的结果我怎么知道它是正的还是负的?…

查看全部问答>