I need to sample a digital waveform and the shortest period I found was 6.9us. But at given point of communication there is a very short pulse of 2.116us and a long period of inactivity. So, I would like to know how to choose what is the shortest period to apply the nyquist theorem?
Asked
Active
Viewed 90 times
0
-
1It all depends what information you want to extract from the pulse. The shorter the better. The more samples along the pulse the better. – Andy aka Sep 02 '21 at 12:59
-
2Rather than look at the period of your communications, look at the Fourier transform of the signal. Usually you want to set the sampling rate high enough to include at least the first few harmonics of your signal, possibly more if you want to understand signal integrity, less if you just want to decode the waveform. – user1850479 Sep 02 '21 at 13:00
-
@user1850479, I need to use the samples to use a program to reconstruct the waveform and decode it – Daniel Sep 02 '21 at 13:09
-
@Andyaka I need the smaller possible sample rate to avoid a very big file to handle – Daniel Sep 02 '21 at 13:10
-
Is the short pulse square or does it have a shape that needs to be reproduced by the sampled signal? To avoid big file, post process (in real time if possible) the data to discard samples when the "activity" is low. Or use the "trigger" concept used in oscilloscopes. – AJN Sep 02 '21 at 13:25
-
Daniel , you must define the quality of your signal , risetime , max pulse duration and min/max data burst period with the model of your Capture device and link to programming manual in the ? – Tony Stewart EE75 Sep 03 '21 at 13:13
2 Answers
1
Sample as fast as possible and certainly more frequently than your edges can occur. For maximum "compression" only record a value when a change in signal level occurs. Record timestamp and value at such times.
vicatcu
- 22,695
- 14
- 81
- 156
-
I'm using a oscilloscope to do the sampling. So, I guess I don't have this feature of record only when a change in signal occurs – Daniel Sep 02 '21 at 13:39
-
Use a different tool... like a Saleae Logic analyzer might be able to solve this for you. – vicatcu Sep 02 '21 at 17:06
0
Nyquist theorem belongs to the analog domain.
Detecting a pulse needs at least one sample, Thus, 2.115999uS sampling interval can detect 2.116uS pulse.
Reconstruction from the detected signal will have the maximum resolution of sampling interval (of the detection).
jay
- 3,841
- 9
- 24
-
1This is false and can lead to jitter equal to 1 symbol period. This drops the SNR of the signal to towards 0 in terms of phase noise. and makes life very difficult for the SERDES decoder process. It's better to preprocess the signal and match the Nyquist Rate for an "Optimal Receiver" depending on the dynamic range you need for the BER and SNR in the RLL protocol . 1 symbol's worth of edge shift is almost equivalent to only a few dB SNR. – Tony Stewart EE75 Sep 02 '21 at 20:42
-
@TonyStewartEE75 , I absolutely agree with you, and one up for you, since my answer is an explanation of the idea, fundamentals. I am not suggesting to use any marginal method. Any reader with that much of technical background (sampling, re-sampling, or detecting and reproducing) need not more than the fundamentals, no need to patronize. Meantime, what is the frequency spectrum of a "pulse", yap just a pulse, to apply Nyquist Rate? – jay Sep 02 '21 at 20:59
-
1A pulse had BW far more than the null at the inverse frequency 1/PW50. Depending of the modulation protocol the excess BW is needed to preserve dynamic range and phase . Your example only shows that you can detect the frequency of the pulse but not the clock position and hence the value of the pulse. Now add ISI, Asymmetry and you need even greater sampling rate as this opens your window margin which determines BER directly with SNR. So unless you have a raised cosine BW limited pulse, the phase response of sampling is just as critical for decoding binary, duobinary RZ or RLL encoded data. – Tony Stewart EE75 Sep 02 '21 at 21:40
-
1Shannon proved this https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem and Whittaker proved how to interpolate in generalized terms https://en.wikipedia.org/wiki/Whittaker%E2%80%93Shannon_interpolation_formula – Tony Stewart EE75 Sep 02 '21 at 21:47
-
1And if you do not apply an anti-aliasing filter (e.g sinc or raised cosine) to achieve the SNR needed for desired BER , it fails. There are various methods https://en.wikipedia.org/wiki/Lanczos_resampling but sampling as you suggest may be good for a high speed sampling FIFO TRIGGER to start saving .! – Tony Stewart EE75 Sep 02 '21 at 21:49
-
@TonyStewartEE75 , that is exactly what I am telling us to consider. With that context, what answer can we offer to Daniel? Meantime, I believe vicatcu's answer covered practical aspects, not of how to sample infinite frequency or giving the question back to the questioner. – jay Sep 02 '21 at 22:19
-
Not infinite but matched to the optimal filtered signal BW x dynamic range required to achieve specified BER just like a scope. Some which have short and others long trace buffers for downloading – Tony Stewart EE75 Sep 02 '21 at 22:38
-
@TonyStewartEE75 I think I know what that is. Meantime, how do you suggest to perform "optimal filter" to a pulse? – jay Sep 03 '21 at 01:23
-
An optimal filter is what I described SINC or Raised Cosine such that it introduces no inter symbol interference aka, jitter and suppresses sample rate aliasing below the desired SNR threshold for desired BER with Gaussian noise. Those are the variables. – Tony Stewart EE75 Sep 03 '21 at 02:48
-
1@TonyStewartEE75 , Extraordinary! It definitely is a correct answer to the question we were asked. Would you like me to replace my answer with yours? – jay Sep 03 '21 at 02:58
-
-
@TonyStewartEE75 , I like that "smarter trigger" idea, too. Could you please explain what that is? Should I put it in the answer? – jay Sep 03 '21 at 13:05