Home > On-Demand Archives > Workshops >
Expert Insights into Waveform Analysis Techniques
Dan Boschen - Watch Now - DSP Online Conference 2024 - Duration: 02:21:21
Update 10/28: Please find here the Installation Guide for the tools that you can optionally install if you want to be able to run the example files
Are you capturing real-world waveforms and striving for pinpoint accuracy in your measurements? Whether you're working with single tones, broadband noise, or arbitrary waveforms in the analog or digital domain, this workshop is designed for you!
Explore advanced but user-friendly frequency and time domain methods applicable to the assessment of signal to noise ratios and EVM (error vector magnitude) for communications waveforms, number of effective bits in A/D conversion, or any application where an accurate measurement of noise is critical.
Learn from a seasoned expert the industry-leading techniques that push the boundaries of traditional test set-ups. The workshop will feature practical “cookbook” techniques using Python (with similar methods in MATLAB and Octave) and provide in-depth insights into both the effective use and potential pitfalls of these methods.
In this engaging session, you will:
- Master FFT-based techniques for single tone measurements of any frequency without any concern for scalloping loss.
- Extend the accurate measurement of single tones to multi-tones and broadband arbitrary waveforms.
- Achieve sub-dB precision in broadband noise density measurements.
- Optimize signal capture duration using the Allan Deviation statistical tool.
Don't miss this opportunity to refine your measurement skills and overcome common limitations. Whether you're a seasoned professional or new to the field, you'll leave with actionable insights and hands-on techniques to elevate your waveform measurement capabilities.
Hi Dan, thanks for the awesome workshop! It's a great companion to your courses. I have one question about your ADC Example notebook. You scale the FFT by 1/full_scale_rms
and the Welch PSD by 1/full_scale_rms**2
where full_scale_rms = np.std(signal)
. Since that's composed of a (real) cosine at full scale, that is equivalent to np.sqrt(full_scale_count*full_scale_count/2)
. Is the takeaway to account for the full scale scaling only or is the mean of the signal important? In other words is using np.std
here a convenience that's assuming a zero mean signal to calculate the scaling since the mean drops out to leave an RMS calculation? Thanks!
Hi Sean- I am glad you liked the workshop and thank you for this question. In the ADC notebook, I normalized the vertical axis so that 0 dB on those charts refers to a the power level of a full-scale sine wave specifically. I did that because I am computing ENOB specifically (Effective Number of Bits for an ADC). The ENOB is determined experimentally by measuring the SNR ("SINAD" specifically if you refer to ADC datasheets), with a full scale sine wave applied to the input ("full scale" may be a dB or two below actual clipping but it would be where the SNR is maximized). With that SNR, the effective number of bits is determined by backing it out of the SNR = 6.02 dB/bit + 1.76 dB equation. By normalizing 0 dB to be the power of the sine wave, we can read the SNR directly off of Welch plot. This also explains why the FFT plot is -3.01 dB, since we are getting half the power of that sine wave in each of the two tones (positive and negative frequency). std(x) would be the right way to do this as that would ignore DC if there was any DC offset (since we just want the power of the sine wave specifically). I hope that clears it up.
Hi Dan. Wow! You packed a tremendous amount of signal processing "theory and practice" into one presentation. Great job.
Thank you Rick!
Dan, Thank you for the awesome workshop. It is amazing to see the complete architecture for signal processing for 4K QAM packet, very relevant for Wi-Fi7 systems.
Thank you and stills lots to learn from your python scripts.
Thanks for watching Mayur!
Hey Dan, I wasn't able to stay for the live workshop (due to my caretaker duties) but watched it today. I'm working my way through the installation process (in preparation for a second viewing). Your instruction skills as well as your materials are the jewel of the DSP world as well as the dsponlineconference.
I really appreciate the knowledge you share.
Dave
Thank You Dave! I hope you are doing well.
Hi Dan,
this was another great workshop from you. I still have to work through your Jupyter notebooks, since I did not get everything at first time. I'm really fascinated how you did the workshop and provided so much value and engagement supported also with the Python notebooks. Thanks a lot!
Thomas
Thanks for your kind words Thomas. It was a lot of fun to do and as you likely heard me say before "nobody else I know lets me talk about this stuff for two hours straight" so appreciate the interested audience in stuff I find so fascinating.
I had one person using a Linux platform write to me to let me know they had an issue loading the Python tools with the specific versions I provided, and were able to proceed by not including the versions. If anyone else has this issue, please comment here (or the contrary if you have a Linux system and the tools loaded properly as I specified.). Thanks.