Subaudio Multiplier for Soundcard Input

Here is a circuit that I designed to transpose the subaudio output from an instrumentation amp to a hgher frequency so it can be fed into a standard PC soundcard and displayed using audio spectrograph software.

formatting link

The inputs of the AMP01 are connected across a high turns number coil intended to acquire geomagnetic pulsations.

What I hope to see on the spectrogaph is the same signal, but starting at 1KHz instead of 0Hz. For example, 10Hz would be 10KHz, 20Hz would be 20KHz, etc. I would then window this bandwidth in the software.

I would appreciate any comments or suggestions for improving the above circuit.

How closely could I expect the multiplied signal to match the orignal one in terms of fidelity?

I am concerned there is no signal ground reference on the AD633. Is this a problem?

Is there any way to shift the signal in such a way that it starts at

1K but then proceeds at the _same scale_ as the original? For example, 10Hz would be 1010Hz instead of 10KHz.

Many thanks,

Mark Harris

Reply to
mharris
Loading thread data ...

Have you at least looked at those usb soundcards on ebay that are in the metal case? You can pull the PCB from the case with no hassle. I would try to hack one of those cards before going though all this nonsense.

Check out item 310715738929 on ebay.

My guess is you would have to put a DC offset in the signal path for the ADC to work.

These cards work well on linux.

Reply to
miso

With todays cards, you can use an AM method..

Set for Maximum sample rate for best resolution and record in at least 16 bit mode.

So basically the ULF receive needs to AM modulate a fixed carrier being pumped into the sound card, most likely easier than what hes trying to do now. for his application, this will resolve 100Hz..

I know how to write the software for that because I've done it :)

Jamie

Reply to
Maynard A. Philbrook Jr.

But why the hell wouldn't you simply digitize the signal directly? All you need is a level shift.

It would be possible to take the engine in my car and hook it up to a big fan blade, then drive it. But a direct feed to the tires works far better.

Reply to
miso

I don't think you will see that expected frequency multiplication at all. W hat you will see for 10Hz input is an output of 990 and 1010hz and for 20Hz input get output of 980 and 1020Hz. Getting rid of the unwanted sideband i s going to make the project more complicated.

Sorry, piglet

Reply to
piglet

Your point is well taken. But isn't the solution as simple as ignoring everything on the spectrograph beliow 1000Hz?

Mark harris

Reply to
mharris

I suspect these are multi-layer surface mount boards. I am not sure I could easily modify, let alone without a circuit diagram.

Still, for $12 it might be worth a try. The case is nice.

But then there is the problem of limited resolution in the (free) spectrograph software. The multiplication approach gives a better spread. For 0-10 bandwidth it expands the X scale by a factor of 100.

Mark Harris

Reply to
mharris

You would have silly resolution if you FFTd the data. Not to mention better frequency accuracy since there is no mixer involved.

Reply to
miso

Maybe I'm stoopit, but it seems like a VCO with the proper refinements (like accuracy) would work. Just how accurate do you want this ?

Reply to
jurb6006

If you do a FFT, the frequency resolution is the sampling frequency divide by the size of the FFT. You would probably want to decimate the

48KHz sampler to reduce the same rate.
Reply to
miso

all the components are on the surface,

A continuity tester correctly applied will quickly lead you to the input capacitors bypass them and you're done.

--
For a good time: install ntp 

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
Reply to
Jasen Betts

The AD633 is a voltage multiplier, not a frequency multiplier. one (or two) such chips can be used to move a frequency range verbatim from one place to an other in the spectrum. It does not modify the frequency difference of two original signals.

If you want larger frequency separation, you have to record it at a low rate and playback at a much higher (10x .. 100x) rate.

Frequency multipliers are usable for multiplying a _single_tone_, but not usable for process a band of frequencies, due to the huge number of intermodulation products.

The simplest multiplier is a frequency doubler, which could be implemented as a full wave rectifier. This will require some mild low pass filtering between stages, if multiple doublers are cascaded. This allows at least one octave (1:2) input frequency range.

A saturated amplifier makes square wave out of a sine wave. A square wave contains only odd harmonics, so narrow bandpass filters can be used to separate the 3rd or 5th harmonic. However, these BP filters must be quite steep, in order to eliminate the fundamental and unwanted odd harmonics. For this reason, extracting harmonics above the 5th is a no-no. Due to the BP filter bandwidth, the input frequency must remain within a few percent of the nominal frequency, thus completely useless for your application.

Reply to
upsidedown

This might even work, since it generates ordinary FM.

Looking at the Bessel functions, by keeping the FM modulation index very low (below 0.05) you only excite the J0 (carrier) and J1 (first side bands) but not high order sidebands (J2..Jn). Thus FM/PM at very low modulation index looks just like AM, so a spectrogram display could be used. There are some phase differences and hence it is possible to determine between AM and low index PM/FM.

Reply to
upsidedown

Yes, see my previous post.

However, since you intend to use FFT based spectrogram/waterfall displays, there is always the tradeoff between acquisition time and frequency resolution, regardless what method you use to bypass the sound card input capacitor.

My suggestion: Use some method to work around the DC bypass capacitor, AM/FM or video style synch clamping, sample the signal at 375 Hz and insert into a 128 sample ring buffer. Read the ring buffer at 48 kHz and feed it to any application expecting 48 kHz sampling rate. This causes 128x time compression. 0 .. 100 Hz is translated to 0 .. 12.8 kHz.

Reply to
upsidedown

Most sound cards have a cap on the input. not much below 20Hz gets through. on top of that, many have a small DC there to power microphones.

Jamie

Reply to
Maynard A. Philbrook Jr.

--- Sorry, but no.

The VCO will respond to the subaudio signals by outputting a frequency which is proportional to voltage, not period.

For instance, let's say we have, as an input, a 1Hz signal with an amplitude of +/- 1V connected to a VCO with a 1000Hz output at -1V and a 3000Hz output at +1V.

What you'll get will be an FM signal with a deviation of +/-1KHz about the 2KHz center frequency, not the AM frequency translation the OP is looking for.

Reply to
John Fields

It is not a realistic task to make frequency translation for sub-audio frequencies due to the difficulty to make a Hilbert transform (splitting to two components at 90 degrees phase difference). The filter delay will be prohibitive, you need at least a quarter cycle of the lowest frequency of interest.

Your circuit can be used to create an AM-modulated 1kHz carrier of the low-frequency data. You need to bias the multiplier so that the polarity of the output signal does not change. A DC bias at midway of the input signal will be needed.

The AM is easy to capture with the audio card, and at 1kHz it is pretty easy to detect. The brute-force method is the same as a crystal radio set: rectify and filter the signal. A more refined method splits the signal into two parts at 90 degree phase difference, squares both, sums together and takes square root of the result.

--

Tauno Voipio
Reply to
Tauno Voipio

Have not looked closely at the schematic. Aside from that, GE in Daytona, FL [circa 1966] used to do EXACTLY what you want, that is 'linearly' multiply a spectrum times 1000, in order to speed up the spectral analyses. The application was examining Sonar waveforms over the 1Hz to

1000Hz bandwidth with a resolution of 1Hz, which normally took 1 Sec. They multiplied the band up by 1000, to the 1000 to 1MHz bandwith requiring a resolution of 1000Hz, thus only 1mS !! They did that by using an analog of a tape loop sped up a bit. They launched the signal into a crystal where the acoustic energy would bounce around, appearing at the sensor some 1000 times as it flew around. as the signal went by, they would add only 1 analog sample of new information to the tail and so on.

What this translates to is that you could do the same thing by using an 'analog' long delay loop that continually flies by your output, and add only one bit of new information from your input once in awhile. Envision a cycling loop of 1000 buckets of analog samples [some company began with R used to make such a beast, mainly used for tapped filters] have it cycle

1000 times through your DAC, before adding a new sample to the tail end of the stream, and so on.

It's just that every technique I've seen to do this using multipliers causes incredible distortions due to the nonlinear processing. Mostly requires a 'singular' input tone, else it all blows up.

Again, I didn't look through the schematic, don't know if 'it' works or not. But what I'm suggeting is a basic look at what you're trying to do, and suggesting a digital straightforward approach.

Reply to
RobertMacy

You're purposing building PCM frames that can then be run through a FFT sweep?

That would be the same as sampling at 2 Khz/S since you want to resolve both the + and - side via zero crossing.

At 20Hz peak this gives us 50 samples to resolve that and more for the lower ones. Even if you wanted to spread to a full 100Hz, that still gives you

10, so that is more than enough.

One thing of note, some sound cards like to screw with the gain control so one needs to make sure the auto gain control isn't on or, insert an alternating peak tone to insure the one of interest is accurate.

Jamie

Reply to
Maynard A. Philbrook Jr.

On a sunny day (Sat, 07 Dec 2013 08:04:23 -0700) it happened RobertMacy wrote in :

Genius. yes, this can be very easily done in software, one thread plays back a circular buffer at high speed, an other (or even the same) takes samples of the input at low speed, and adds a byte to to ring buffer every now and then. BTW that soundcard stuff people talk about here seems silly. I have a box somewhere with a PCF8591 8 bit ADC connected via i2c to the par port. Only needs 1 diode to interface to a par port with i2c, and is DC coupled input if you want, That leaves your soundcard free for music. FFT display is easy too. And all that, can be done on a Raspberry Pi with GPIO and that chip, with HDMI HD output. Progress :-)

If 8 bits is not enough use a PIC 10 bit ADC with RS232 at that speed. :-)

2 $
Reply to
Jan Panteltje

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.