nvywyerwer 发表于 2018-12-17 10:42
由于设计和成本原因,Infiniviision示波器(包括MSOX6000)不具备Infiniium示波器的所有处理能力。
通过将2个函数串联在一起,始终可以在Infiniium上创建包络函数。
“真实”包络检测器(也称为晶体检测器)是二极管和电容器。
嗨Al谢谢你的重播。
你建议的方法有一个重要的流程:包络的幅度减小(它看起来像原始峰值的75%)我在这个网络上找到了Matlab的包络函数示例。
http://www.mathworks.com/help/dsp/examples/envelope-detection-1.html#zmw57dd0e10317第一种方法使用Squaring和Low Pass-Filtering它在某种程度上类似于你的建议。
第二种方法使用希尔伯特变换查看两种方法,我不会惊讶你不喜欢使用它们。
他们正在处理资源匮乏。
它完全矫枉过正。
我会建议更简单的方法。
如果我是正确的,你已经有找到边缘的功能。
您甚至可以定义要使用的边缘。
如果您发现所有边缘(或峰值)都高于零并连接它们,那么您就会有信封。
如果不起作用,则需要构建专用搜索功能。
1.搜索将叹息从+更改为 - 的所有值以查找零交叉2.搜索负值(负包络)的每对正值(正包络)之间的最大值(或峰值)。
一旦你达到顶峰,连接它们,你就会有信封。
如果你只处理它在屏幕上显示的数据(1000点左右),即使非常慢的CPU也不应该有任何问题。
我甚至不会使用“Real”作为某些开关(特别是二极管基座),由于视频泄漏(脉冲DC偏移),您可能会出现明显的失真。如果使用“Real”,您将会遇到更大的混乱。
在测量切换时间之前,有一种方法可以消除视频泄漏。
1.你输入内存视频泄漏波形2.你从显示的脉冲波形中减去视频泄漏波形3.创建信封4.测量切换时间问候,Mirek
以上来自于谷歌翻译
以下为原文
Hi Al
Thank you for the replay.
The method that you suggest has one significant flow:
The amplitude of the envelop is reduce (it look like 75% of the original peak value)
I found on this web the envelop functions example for Matlab.
http://www.mathworks.com/help/dsp/examples/envelope-detection-1.html#zmw57dd0e10317
The first method use Squaring and Low Pass-Filtering
It is in some way similar what you suggest.
The second method use Hilbert Transform
Looking on both methods, I ma not surprise that you do not like to use them. They are processing resource hogs. It total overkill.
I will suggest much simpler approach.
If I am correct you already have function to find edges. You can even define which edge you like to used. If you find all edges (or peaks) above Zero and connect them you have envelop.
If that not work you will need to build dedicated search function.
1. Search for all values that change the sigh from + to - to find Zero crossing
2. Search maximum (or peaks) values between each pair of positive values (positive envelop) of negative values (negative envelop). Once you have the peak, connect them, and you have envelop.
If you will deal with data that it shows on the screen only (1000 point or so), even very slow CPU should not have any problem do the job.
I will not even use “Real" as some switches (especially diode base) you may have significant distortion due to video leakage (pulse DC offset). If you use "Real”, you will have even bigger mess.
There is a way to remove video leakage before measuring switching time.
1. You put in memory video leakage waveform
2. You subtract video leakage waveform form displayed pulse waveform
3. Create envelop
4. Measure Switching time
Regards,
Mirek