Sound card scope SW with smooth roll mode?

J

Joerg

Jan 1, 1970
0
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.
 
J

Jasen Betts

Jan 1, 1970
0
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.

your soundcard will need modification to work down to DC
from your description it sounds like you want a
"chart recorder"

http://www.google.com/search?q=soundcard+chart+recorder+dc
 
M

miso

Jan 1, 1970
0
You can easily analyze soundcard output with sox, i.e. convert to an
ascii file of numbers. I've done this for SIGINT circuitry analysis,
i.e. put the waveform into spice. [Sox is on windows and linux. It is
amazingly powerful if you can handle CLI.]

DC will be a problem.
 
J

Jamie

Jan 1, 1970
0
Joerg said:
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.

Not sure if sound cards today permit DC input.. years ago they
didn't.

Things may have changed since then.

You could experiment with your machine with a variable 1 volt on the
input and watch your level meter in the mixer panel, if you have one.

Because of that problem, I made an oscillator with a AM circuit
and the reference I was measuring would simply vary the amplitude.

Sound card just did a simple zero crossing decode and the use of some
trig like the sine cardinal function get an average peak for a close
approximation of the amplitude. Actually, I found that a basic integral
function of 3 order samples with a multiplier gave me some good results.

This was a charting app I wrote to record some events over a long
period on the PC. I would offer you the software but you need the
hardware to go with it.. It does show a scope graph as it is recording.

Jamie
 
Joerg said:
a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

I know Audacity can do a, c, and d, but I'm not sure about b. There is
a suggestion that some version of this is possible at this link
http://forum.audacityteam.org/viewtopic.php?f=15&t=51789
, but the wishlist at
http://wiki.audacityteam.org/index...._behaviours_and_other_interface_modifications
still has an entry of

"Smoother Track scrolling on Playback: (22 votes) Keep the cursor in one
place but move the track - gives smooth visual playback without
continual cursor back and forth"

which would seem to be what you would want for "oscilloscope" mode.

Installer available at http://audacity.sourceforge.net/download/windows
if you want to try it, but I suspect it may not do what you want.

My next idea would be something like sox converting the audio input into
some kind of headerless binary or ASCII format, and then feeding that
into gnuplot. I know you could call gnuplot repeatedly and generate a
series of static plots; I don't know if gnuplot has an "update plot on
new data" mode or not. You would probably want a batch file to set
things up and shepherd the data along. (This batch file can probably
also take care of your logging IWBNI*, by writing to file in between sox
and gnuplot.)

If I were doing it, I'd make it run on Linux first, and then figure out
how to move it to Windows; I'm more familiar with Linux and both sox and
gnuplot were born on Unix so they work better there. Windows builds of
both programs are available, so you don't have to compile them yourself
for that platform.

To get Sox and gnuplot, you can visit http://sox.sourceforge.net/ and
http://www.gnuplot.info/ .
I actually don't need a real oscilloscope function but just something
configurable that can display a slow signal from DC to 50Hz or so.

The sound card will have DC blocking capacitors in the input that will
prevent you from getting all the way to DC. On most of the sound cards
I've seen, you can identify them in series with the input jack and
jumper around them if you want. I don't know if there is additional
highpass filtering in front of the A/D converter.

Is this for your 4-20 mA logging thingy?

Matt Roberds

*It Would Be Nice If. Something that comes in a notch below a
requirement, but that sometimes gets randomly promoted to a requirement
when you're not looking.
 
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.

You'll will have to do a bit coding,

http://www.codeproject.com/Articles/241/Oscilloscope-StripChart-Control


-Lasse
 
G

George Herold

Jan 1, 1970
0
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.

Sounds like a job for your labjack?
https://labjack.com/

George H.
 
J

Joerg

Jan 1, 1970
0
Jamie said:
Not sure if sound cards today permit DC input.. years ago they
didn't.

They usually don't, at least not without a hack. I would already have
the DC to 50Hz signal in the PC. In there DC is ok, as Audicity for
example has a DC removal routine for this.

Things may have changed since then.

You could experiment with your machine with a variable 1 volt on the
input and watch your level meter in the mixer panel, if you have one.

Because of that problem, I made an oscillator with a AM circuit
and the reference I was measuring would simply vary the amplitude.

Sound card just did a simple zero crossing decode and the use of some
trig like the sine cardinal function get an average peak for a close
approximation of the amplitude. Actually, I found that a basic integral
function of 3 order samples with a multiplier gave me some good results.

This was a charting app I wrote to record some events over a long
period on the PC. I would offer you the software but you need the
hardware to go with it.. It does show a scope graph as it is recording.

That's similar to what I want to do but I need quite some signal
processing before the phase detector. Stuff that I was planning to do in
the PC.
 
J

Joerg

Jan 1, 1970
0
I know Audacity can do a, c, and d, but I'm not sure about b. There is
a suggestion that some version of this is possible at this link
http://forum.audacityteam.org/viewtopic.php?f=15&t=51789
, but the wishlist at
http://wiki.audacityteam.org/index...._behaviours_and_other_interface_modifications
still has an entry of

"Smoother Track scrolling on Playback: (22 votes) Keep the cursor in one
place but move the track - gives smooth visual playback without
continual cursor back and forth"

which would seem to be what you would want for "oscilloscope" mode.

Installer available at http://audacity.sourceforge.net/download/windows
if you want to try it, but I suspect it may not do what you want.

Thanks, Matt, I'll check this out. Audacity itself does not work, I used
it a couple days ago. But to record a memorial service onto CD for folks
who couldn't attend :-(

My next idea would be something like sox converting the audio input into
some kind of headerless binary or ASCII format, and then feeding that
into gnuplot. I know you could call gnuplot repeatedly and generate a
series of static plots; I don't know if gnuplot has an "update plot on
new data" mode or not. You would probably want a batch file to set
things up and shepherd the data along. (This batch file can probably
also take care of your logging IWBNI*, by writing to file in between sox
and gnuplot.)

Yeah, but I am definitely not a software guru. Else I'd probably program
it all in C.

If I were doing it, I'd make it run on Linux first, and then figure out
how to move it to Windows; I'm more familiar with Linux and both sox and
gnuplot were born on Unix so they work better there. Windows builds of
both programs are available, so you don't have to compile them yourself
for that platform.

To get Sox and gnuplot, you can visit http://sox.sourceforge.net/ and
http://www.gnuplot.info/ .

This is only one of many facets of the project, so I am looking for
something that won't turn into its own science project :)

The sound card will have DC blocking capacitors in the input that will
prevent you from getting all the way to DC. On most of the sound cards
I've seen, you can identify them in series with the input jack and
jumper around them if you want. I don't know if there is additional
highpass filtering in front of the A/D converter.

Is this for your 4-20 mA logging thingy?

That was someone else. No, this is to record miniscule phase changes in
a resonant circuit below 10kHz.

Matt Roberds

*It Would Be Nice If. Something that comes in a notch below a
requirement, but that sometimes gets randomly promoted to a requirement
when you're not looking.

I'll rather look for something that's already there. One method might be
to stream it into Excel via VBA.
 
J

Joerg

Jan 1, 1970
0
George said:
Sounds like a job for your labjack?
https://labjack.com/

Tried it, no good so far. The SCADA software that comes with it has very
paltry graphics output. It does have roll mode but not really, the
refresh rate is so sluggish that the graph moves in chunks.
 
Thanks, but that's probably a bit over the head of a hardcore analog or
mixed-signal guy like me. However, if nothing else can be found I could
contract a local SW guy to "solder it in" for me.

what does it need to do? just take data form a soundcard and/or a
file?


-Lasse
 
G

George Herold

Jan 1, 1970
0
Tried it, no good so far. The SCADA software that comes with it has very
paltry graphics output. It does have roll mode but not really, the
refresh rate is so sluggish that the graph moves in chunks.

--
Regards, Joerg

http://www.analogconsultants.com/- Hide quoted text -

- Show quoted text -

Do you need to watch it in real time.. or could you dump it all to a
data file and 'sort it out in software'. I think I could even write
a program to scroll data across the screen.
George H.
 
J

Joerg

Jan 1, 1970
0
what does it need to do? just take data form a soundcard and/or a
file?

A sine in the sub-10kHz range is placed on a sound card output. This
feeds a concoction of caps, inductors and whatnot. Back comes a
phase-shifted sine of same frequency. The relative phase shifts are
miniscule, sometimes below 1 degree. This is fed back into the PC sound
input. In the PC it is digitally band-pass filtered to get noise and
other crud out and then phase-detected. And that's where it ends, there
are not decent "oscillosscope mode" output functions in most software,
regardless whether SCADA or for other markets. I (hopefully ...) can
feed this into some other display spftware via the WAVE function in
MS-Windows, the one where a device can read audio from some other source
instead of the physical sound card jack. Because the sound card data
processing is already done at that point.

Well, maybe LabView would do it but they want well over $1k, and a ton
more if you want to do some math which I have to. It doesn't have to be
free but should be more reasonably priced.

I'd also be willing to buy some reasonably priced (as in a few hundred
bucks) DSP demo board and software. But only if the building of signal
processing and (good) display blocks into a working system is truly
click-drag-and-drop, no code writing. Because I am not a SW guru. SCADA
software generally fulfills that requirement but is sorely lacking in
proper display modalities.
 
J

Joerg

Jan 1, 1970
0
George said:
Do you need to watch it in real time.. or could you dump it all to a
data file and 'sort it out in software'. I think I could even write
a program to scroll data across the screen.


It has to be realtime. I probaly could write it as well, just don't have
the time to re-learn. It was one of my first projects after I had
shelled out north of $300 for the Microsoft C compiler package in 1990
or so. Like today, back then there were no decent roll mode display
routines available anywhere. Automation companies said "It can't be done
under DOS". So I wrote my own and, of course, it did work nicely under
DOS. Had to learn the innards of the Tseng Labs chip (ET4000 or
something like that) and then more or less address it directly. But I
don't want to do this again.
 
T

Tim Williams

Jan 1, 1970
0
Joerg said:
Automation companies said "It can't be done
under DOS". So I wrote my own and, of course, it did work nicely under
DOS. Had to learn the innards of the Tseng Labs chip (ET4000 or
something like that) and then more or less address it directly. But I
don't want to do this again.

John Carmack did the same thing, back in the day. People thought side
scroller games were the domain of consoles only (namely, the
Nintendo/Famicom at the time). Which did it by hardware sprite
generators, which relative to the hardware on an XT, was cheating.
Fortunately, standard EGA hardware gives you a
shift-the-address-the-screen-reads-from control, making scrolling graphics
a cinch. Only have to redraw the edge that scrolled. There was even
enough fill rate left over (on the 8086, that is) to, you know, draw
blinking lights and monsters and stuff.

I don't know what the intricacies of the Tseng Labs chip were, but I bet
it (or a suitable variation) also worked on standard hardware as well.
Notwithstanding a suitable definition of "standard".

Not going to argue about not needing to do it again though... after all,
that's what DOSBox is for! ;-)

Tim
 
J

Joerg

Jan 1, 1970
0
Joerg said:
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.

Almost had it but ... One of the SCADA programs (DAQFactory) can set the
refresh to around 10Hz via a systime trick (setting a dummy trace with
systime as the x parameter) that was explained to me by their support
engineer. Not ideal but smooth enough for most sutuations where nobody
has to look at the graph for more than a few minutes. However, there is
no default mechanism for grabbing WAVE data from the Windwows
environment. Dang!

Somehow hardware is easier. One goes to the wires drawer, gets a wire,
strips both ends, solders it in, done. No drivers to write, no DLLs,
just a spool of Kester 8806.
 
J

Jamie

Jan 1, 1970
0
Joerg said:
Tried it, no good so far. The SCADA software that comes with it has very
paltry graphics output. It does have roll mode but not really, the
refresh rate is so sluggish that the graph moves in chunks.
That's because it was improperly implemented for a O-scope operating.

what you're seeing is the complete dump of the buffer at once.. What
you should be seeing is a local timer reading from that buffer one pixel
line at a time and scrolling the screen to keep it operating smoothly.

Jamie
 
J

Joerg

Jan 1, 1970
0
Jamie said:
That's because it was improperly implemented for a O-scope operating.

what you're seeing is the complete dump of the buffer at once.. What
you should be seeing is a local timer reading from that buffer one pixel
line at a time and scrolling the screen to keep it operating smoothly.

With one software (Azeotech DAQFactory) I was able to get that part
going. One of their support engineers explained the trick. You have to
set up a dummy trace and set the X-axis for that to systime(). That
somehow cajoles it into a 10Hz update mode which is better than 2Hz. Not
as good as most of my other stuff but at least you can look at the plot
for many minutes without getting a headache.

However ... no link to the soundcard or even the winamp (WAVE)
whatsoever. That jinxes it for this case.

I am pretty close to doing the whole chebang in hardware.
 
Top