Digital Scope Triggering Circuit

J

Jay Davis

Guest
Hi All,
I'm building a circuit that displays an audio waveform on a monitor. I
have all of it working at the moment, but I haven't implemented any sort
of triggering circuit, so the display rolls back and forth quite a bit -
it gets to be pretty annoying. I've been told that I need to build some
sort of triggering circuit to fix this. Here's what I tried:

When the ADC reads a value that is say 10% higher than the value it
read last time and the scope is not currently sweeping, it triggers a
sweep. I think this is generally the method you're supposed to use.
However, audio signals are so "unperiodic" that it's not really helping
matters too much, and, additionally, sometimes the display gets "jerky"
waiting to perform a sweep until the trigger conditions have been met.

Can anyone tell me how I might do this better?

Thanks,
Jay
 
In article <bLwAb.184884$bV5.1299054@news.easynews.com>, Jay Davis
<no@spam.com> wrote:

Hi All,
I'm building a circuit that displays an audio waveform on a monitor. I
have all of it working at the moment, but I haven't implemented any sort
of triggering circuit, so the display rolls back and forth quite a bit -
it gets to be pretty annoying. I've been told that I need to build some
sort of triggering circuit to fix this. Here's what I tried:

When the ADC reads a value that is say 10% higher than the value it
read last time and the scope is not currently sweeping, it triggers a
sweep. I think this is generally the method you're supposed to use.
However, audio signals are so "unperiodic" that it's not really helping
matters too much, and, additionally, sometimes the display gets "jerky"
waiting to perform a sweep until the trigger conditions have been met.

Can anyone tell me how I might do this better?

Thanks,
Jay
Read 2 consecutive values from analog comparators where

value 1 is + 100 mv

value 2 is + 120 mv

that and to valid trigger.

This will give your trigger "slope" and a certain amount of noise
immunity.

Best regards,

John
Scope FAQ http://www.qsl.net/wd1v
 
On Sun, 07 Dec 2003 03:02:31 GMT, Jay Davis <no@spam.com> wrote:

Hi All,
I'm building a circuit that displays an audio waveform on a monitor. I
have all of it working at the moment, but I haven't implemented any sort
of triggering circuit, so the display rolls back and forth quite a bit -
it gets to be pretty annoying. I've been told that I need to build some
sort of triggering circuit to fix this. Here's what I tried:

When the ADC reads a value that is say 10% higher than the value it
read last time and the scope is not currently sweeping, it triggers a
sweep. I think this is generally the method you're supposed to use.
However, audio signals are so "unperiodic" that it's not really helping
matters too much, and, additionally, sometimes the display gets "jerky"
waiting to perform a sweep until the trigger conditions have been met.

Can anyone tell me how I might do this better?

Thanks,
Jay
First of all, recognize that no scope, analog or digital,
will trigger very well on many audio waveforms such as
speech or music that are not repetitive enough. However,
you should be able to do with the digitized signal almost
anything you could do with the raw analog. The most
useful thing here is probably to simply trigger at some
adjustable level above zero. This is pretty easy to do,
and I don't know of anything that works any better on
poorly defined inputs.

However, if the signal you are monitoring is derived
from some source, then triggering on the source is
the way to go. Examples would be when you are
trying to extract low-level responses to some
stimulus such as evoked brainwave potentials
from auditory stimulus, or microphone response
through some test medium (like acoustic signature
for materials testing). Use a second channel of
a stereo pair for the stimulus signal, and trigger
on that.


Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
 
Jay Davis wrote:
Hi All,
I'm building a circuit that displays an audio waveform on a
monitor. I have all of it working at the moment, but I haven't
implemented any sort of triggering circuit, so the display rolls back
and forth quite a bit - it gets to be pretty annoying. I've been told
that I need to build some sort of triggering circuit to fix this.
Here's what I tried:

When the ADC reads a value that is say 10% higher than the value it
read last time and the scope is not currently sweeping, it triggers a
sweep. I think this is generally the method you're supposed to use.
However, audio signals are so "unperiodic" that it's not really helping
matters too much, and, additionally, sometimes the display gets "jerky"
waiting to perform a sweep until the trigger conditions have been met.

Can anyone tell me how I might do this better?

Thanks,
Jay
Scope triggering is one of the most difficult functions to accomplish.
A more precise description of EXACTLY what you're trying to do would be
helpful.

By definition, an aperodic signal can't be triggered twice in the same
relative position. A digital scope that takes a snapshot of an event
is about the best you can do. Accurate triggering may not be an issue
there.

Digital scope triggering is fraught with issues.
With a digitizer that has way more time resolution than the features of
interest, you can get most of the way there with digital triggering.
For more demanding applications where you're interested in features near
the Nyquist frequency, you'll want an analog trigger input with a
comparator and some hysteresis.

You can get partly there with a hardware magnitude comparator on the
output of the A/D. Two is better so you can sense that a level goes
below the threshold then catch on the way back up with the other one
set slightly higher. Your trace will bounce around with the resolution
of the sample interval.

You can do the above in software, but you have to deal with the
additional issues with processor latency.

The normal way to suppress jerkiness is to double-buffer the display.
Leve up the old display until the new one is complete and ready to display.

In general, there's little to be gained by eyeballing a wiggly line
of music.
If you're trying to get some basic data from the signal, there's another
trick you can pull.
You can randomly sample the input. The amplitude statistics of the
sampled data
will be the same as the statistics of the original signal. Parameters
like peak and average values can be computed quite accurately as long
as you're sampling often enough. You don't need a trigger at all...or
a display. As long as your A/D aperture time is short enough, you can
get data from very fast signals sampled randomly at relatively low rates.

mike

--
Bunch of stuff For Sale and Wanted at the link below.
Toshiba & Compaq LiIon Batteries, Test Equipment
Honda CB-125S
TEK Sampling Sweep Plugin and RM564
Tek 2465 $800, ham radio, 30pS pulser
Tektronix Concept Books, spot welding head...
http://www.geocities.com/SiliconValley/Monitor/4710/
 
On Sun, 07 Dec 2003 03:02:31 GMT, Jay Davis <no@spam.com> wrote:

Hi All,
I'm building a circuit that displays an audio waveform on a monitor. I
have all of it working at the moment, but I haven't implemented any sort
of triggering circuit, so the display rolls back and forth quite a bit -
it gets to be pretty annoying. I've been told that I need to build some
sort of triggering circuit to fix this. Here's what I tried:

When the ADC reads a value that is say 10% higher than the value it
read last time and the scope is not currently sweeping, it triggers a
sweep. I think this is generally the method you're supposed to use.
However, audio signals are so "unperiodic" that it's not really helping
matters too much, and, additionally, sometimes the display gets "jerky"
waiting to perform a sweep until the trigger conditions have been met.

Can anyone tell me how I might do this better?

Thanks,
Jay
You might want to consider displaying the FFT spectrum of the
input instead of the waveform. This will of course take a
little more programming effort on your part, but it will probably
give you more useful information than the waveform. And
you don't need triggering at all. (You will probably want to
apply a window function to the incoming data.)

Once you get that working, consider a color spectrogram
mode whereby you show frequency as the vertical axis
and time as the horizontal, with intensity shown as a
color scale. With proper windowing and good throughput
speed, this shows an incredible amount of information
about music and speech, and the format is very intuitive.
It is essentially like looking at sheet music, without all the funny
notations.

If you want to see what this looks like, and you have a
system that runs real-mode DOS (Win9x or earlier),
check out my Daqarta package. Unfortunately, it
only supports a limited set of sound cards (ISA-bus
only) and several lab-type acquisition boards including
a super-simple homebrew LPTX printer port "card".
(I'm working on a full Win32 version with generic Windows
sound card support.) There are screen shots on the site
showing the various display modes including the color
spectrogram.






Bob Masta
dqatechATdaqartaDOTcom

D A Q A R T A
Data AcQuisition And Real-Time Analysis
www.daqarta.com
 

Welcome to EDABoard.com

Sponsor

Back
Top