Connect with us

Sound card scope SW with smooth roll mode?

Discussion in 'Electronic Design' started by Joerg, Apr 1, 2013.

Scroll to continue with content
  1. Joerg

    Joerg Guest

    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.
     
  2. Jasen Betts

    Jasen Betts Guest

    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
     
  3. miso

    miso Guest

    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.
     
  4. Jamie

    Jamie Guest

    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
     
  5. Guest

    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/ .
    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.
     
  6. Guest

    You'll will have to do a bit coding,

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


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

    George H.
     
  8. Joerg

    Joerg Guest

    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.

    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.
     
  9. Joerg

    Joerg Guest

    I'd not be looking directly at the soundcard input but at a WAVE input
    which comes from audio processing software.
     
  10. Joerg

    Joerg Guest

    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 :-(

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

    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 :)

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

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

    Joerg Guest

  12. Joerg

    Joerg Guest

    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.
     
  13. Guest

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


    -Lasse
     
  14. 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.
     
  15. Joerg

    Joerg Guest

    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.
     
  16. Joerg

    Joerg Guest


    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.
     
  17. Tim Williams

    Tim Williams Guest

    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
     
  18. Joerg

    Joerg Guest

    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.
     
  19. Jamie

    Jamie Guest

    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
     
  20. Joerg

    Joerg Guest

    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.
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-