Skip to main content

What If's: An Oscilloscope Trigger System in the Frequency Domain?

If you’ve tuned in on Electronic Design’s articles lately, you’ll know about a series by Mr. Colin Mattson on advanced oscilloscope triggering techniques. In the 1st article, he elucidates on pulse and pattern modes, where the characteristics of a pulse and the uniqueness of a pattern are utilized as the impetus of signal acquisition. In part 2, he delves into edge mode triggering, where the edge characteristics of a signal are used to mark the trigger for waveform capture. In part 3, he covers protocol triggering, where the patterns adhered to by a protocol (such as I2C and SPI) are detected. As of the time of writing, his readers still await his next article on sequence and software search triggering techniques.

A comment on one of his articles reads:

Email on trigger! I thought you were joking, but that’s an incredibly weird and fun capability. As someone who has spent a lot of time waiting for powerline transients to happen (or not), that’s a really nice idea.” – Ed Price

I, too, have not come across (directly) with an oscilloscope that is capable of sending an email wirelessly (IoT-mania?) after a trigger event. In my opinion, such a system would come at a hefty cost. At least, consider the operating expense, the wear-and-tear that’ll decrease oscilloscope lifespan, and the risk of false alarm. 

But a feasible solution to this problem is fun to think about. Perhaps a high-voltage detector would do nicely, its output interfaced to an LVS, then an Arduino hooked to a cheap GSM module (for text messaging) or an ESP8266 (for email). It would be more economical in terms of both money and space. Does anyone have any good ideas on this?

I’ve seen scopes that run on a Windows operating system, so it should be possible for a 3rd party to program the scope to send an email given a trigger event, out an Ethernet cable or Wi-Fi transceiver, if it can be ported to one. Speaking of all this trigger mechanisms, I’ve been pondering on the need for an oscilloscope trigger system that operates in the frequency domain. What if we wanted to monitor a signal that oscillates at a specific frequency, or is characterized by a particular set of frequencies, for a limited amount of time, in the time domain?

You may now be scratching your head thinking - wait, isn’t that the job of a spectrum analyzer? 

Well, not exactly. Even though the trigger is in the frequency domain, the waveform, will still be in the time domain. 

But how can an oscilloscope do that? There is a generic math function that displays the FFT of a signal, but it is implemented in software and thus, becomes impractical for real-time signals. A possible implementation is given below.

Figure 1 Simple flow of algorithm to be used in frequency domain triggering.

A real-time signal will be fed to a DSP implementing the STFT. The window’s length will be defined by the user and must not be shorter than twice the desired wavelength of the highest frequency [remember aliasing and the Nyquist criterion]. As the signal is fed to the DSP, the waveform is simultaneously sampled and stored in a variable-sized buffer depending on window length. At the output of the DSP, the frequency pattern is compared with a reference, also defined by the user. If the comparison is a match, then the scope will display the contents of the buffer. Otherwise, nothing is displayed on the graticule and the buffer is emptied and re-loaded. The sets of data that go into and out of the buffer must not be contiguous, but overlapping.

It sounds simple, but the real challenge lies in the entire system’s speed. Achieving minimal latency requires simplification, pipelining, and optimization at all levels of the design. Can I implement this portion of the system in hardware? Can I remove this portion of code that will go to the DSP without sacrificing accuracy? Can I pipeline this batch of data to this part of the STFT algorithm while the decision-making for frequency of the previous batch is on-going? In addition to these considerations, the answers are further limited by the famous trade-off with cost.

So, what is the trigger system described above good for? A possible application is in the analysis of sporadic interference and noise. Say, a portion of the board where a 200kHz data signal is supposed to be travelling, always ends up with a portion of its packet interpreted as garbage. Of course, given modern error detection and correction techniques, the chances that such a phenomenon will occur is slim. But if it is known that a source nearby, emits a signal with harmonics of 190kHz, 200kHz, etc., then we can program the scope to monitor for such signals and determine whether the sources are indeed the cause of trouble. The common method for this is the use of a spectrum analyzer, then determination of the location of noise source by triangulation.

In the end, all of the above may be a pile of wish wash thinking. But who knows, they may perchance serve as a cornerstone for another solution to another problem. 


Popular posts from this blog

Calculator Techniques for the Casio FX-991ES and FX-991EX Unraveled

In solving engineering problems, one may not have the luxury of time. Most situations demand immediate results. The price of falling behind schedule is costly and demeaning to one's reputation. Therefore, every bit of precaution must be taken to expedite calculations. The following introduces methods to tackle these problems speedily using a Casio calculator FX-991ES and FX-991EX.

►For algebraic problems where you need to find the exact value of a dependent or independent variable, just use the CALC or [ES] Mode 5 functions or [EX] MENU A functions.

►For definite differentiation and integration problems, simply use the d/dx and integral operators in the COMP mode.

►For models that follow the differential equation: dP/dx=kt and models that follow a geometric function(i.e. A*B^x).

-Simply go to Mode 3 (STAT) (5)      e^x
-For geometric functions Mode 3 (STAT) 6 A*B^x
-(Why? Because the solution to the D.E. dP/dx=kt is an exponential function e^x.
When we know the boundary con…

Yay or Nay? A Closer Look at AnDapt’s PMIC On-Demand Technology

Innovations on making product features customizable are recently gaining popularity. Take Andapt for example, a fabless start-up that unveiled its Multi-Rail Power Platform technology for On-Demand PMIC applications a few months back. (read all about it here: Will PMIC On-Demand Replace Catalog Power Devices?) Their online platform, WebAmp, enables the consumer to configure the PMIC based on desired specifications. Fortunately, I got a hands-on experience during the trial period (without the physical board (AmP8DB1) or adaptor (AmpLink)). In my opinion, their GUI is friendly but it lacks a verification method for tuning (i.e. the entered combination of specs). How would we know if it will perform as expected or if there are contradicting indications that yield queer behavior? Also, there is not just one IP available, but many that cater to a differing number of channels and voltage requirements (each with their own price tag).
Every new emerging technology has the potential to oversh…

Common Difficulties and Mishaps in 6.004 Computation Structures (by MITx)

May 6, 2018
VLSI Project: The Beta Layout [help needed]Current Tasks: ►Complete 32-bit ALU layout [unpipelined] in a 3-metal-layer C5 process. ►Extend Excel VBA macro to generate code for sequential instructions (machine language to actual electrical signals).
Current Obstacles/Unresolved Decisions:
►Use of complementary CMOS or pass transistor logic (do both? time expensive, will depend on sched.
►Adder selection: Brent-Kung; Kogge Stone; Ladner Fischer (brent takes up most space but seems to be fastest, consider fan-out) [do all? time expensive, will depend on sched.)
►layout requirements and DRC errors

Please leave a comment on the post below for advise. Any help is highly appreciated.