Prev: Flow Sensors revistied
Next: Just plain fucked...
From: John Larkin on 9 May 2010 22:54 On Sun, 09 May 2010 16:34:00 -0700, Winston <Winston(a)bigbrother.net> wrote: >On 5/9/2010 4:16 PM, John Larkin wrote: >> On Sun, 09 May 2010 16:04:45 -0700, Winston<Winston(a)bigbrother.net> >> wrote: >> >>> On 5/9/2010 2:33 PM, Bill Murphy wrote: >>>> I am using a commercial stereo amp to output continuous wave test >>>> signals in the low audio range, up to about 2KHz. However, I need a >>>> third channel with a 120 degree phase shift. Is there a circuit that >>>> will do this evenly across this entire frequency range? >>>> >>>> Is it possible to do same using an off-the-shelf transformer and >>>> current subtraction? >>>> >>>> Any advice would be appreciated. >>>> >>>> Bill Murphy >>> >>> >>> I would approach this using DDS (Direct Digital Synthesis). >>> >>> http://www.fpga4fun.com/DDS2.html >>> >>> A binary counter generates an address for two different memory >>> devices. The devices are programmed with a binary sine wave. >>> The second device is exactly like the first except the data are >>> displaced an equivalent of 120 degrees in the address space. >>> Each data stream drives a separate DAC. The output of the second >>> DAC is filtered and amplified to drive your 3rd amplifier which >>> has exactly the same phase characteristics as your first two >>> amplifiers. >>> >>> Vary the clock speed into the binary counter to vary >>> the output frequency. >>> >>> --Winston >> >> The usual DDS technique is to use an accumulator that's clocked at a >> constant rate, and at every clock add a fractional value to it that >> determines frequency. The MSBs of the accumulator drive the sine >> lookup table. So everything happens in one stage. >> >> If you wanted a 12-bit binary counter to make a sine wave at 1 MHz, >> you'd have to clock it at 4 GHz. But a DDS accumulator clocked at 4 >> MHz can easily make a 1 MHz sine wave. >> >> John > >That'll be what I learned today. > >Sounds like this approach could be coded into a $2.00 PIC >using PWM outputs fairly painlessly. > >Thanks, John! > >--Winston Yeah, the MSBs of the phase accumulator can be run through a sine table that makes PWM codes. The other cute thing to do would be to map the sines into delta-sigma codes and output that to a port pin. It sounds like there must be some slick algorithms lurking there somewhere. NXP makes an ARM that costs under $1. It does screaming-fast 32-bit math and I think it may have a DAC on-chip. That would make a nice audio generator. Single-cycle multiply does amplitude scaling, within limits of dac or pwm resolution. John
From: miso on 9 May 2010 22:57 On May 9, 2:33 pm, billmur...(a)protech.com (Bill Murphy) wrote: > I am using a commercial stereo amp to output continuous wave test > signals in the low audio range, up to about 2KHz. However, I need a > third channel with a 120 degree phase shift. Is there a circuit that > will do this evenly across this entire frequency range? > > Is it possible to do same using an off-the-shelf transformer and > current subtraction? > > Any advice would be appreciated. > > Bill Murphy I'd suggest reading up on Hilbert transformers. Once you have an 90 degree phase shift, you have a sine and cosine, hence an orthogonal pair. Then you can make any phase you need from those signals. In many cases you just need the two signals to be orthogonal, but of no particular phase to the reference sine wave. You can get two filters that will be 90 degrees out of phase from old single sideband radio designs.
From: Phil Allison on 9 May 2010 23:03 <miso(a)sushi.com> In many cases you just need the two signals to be orthogonal, but of no particular phase to the reference sine wave. You can get two filters that will be 90 degrees out of phase from old single sideband radio designs. ** Long as you only need the telephone speech band ( 300 to 3,000 Hz at -6dB points ) and don't mind large amplitude errors. ..... Phil
From: Sjouke Burry on 9 May 2010 23:42 Bill Murphy wrote: > I am using a commercial stereo amp to output continuous wave test > signals in the low audio range, up to about 2KHz. However, I need a > third channel with a 120 degree phase shift. Is there a circuit that > will do this evenly across this entire frequency range? > > Is it possible to do same using an off-the-shelf transformer and > current subtraction? > > Any advice would be appreciated. > > Bill Murphy Use a microprocessor with 3X DAO
From: Paul Keinanen on 9 May 2010 23:59
On Sun, 9 May 2010 16:22:00 -0700, "Joel Koltner" <zapwireDASHgroups(a)yahoo.com> wrote: >"John Larkin" <jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote in message >news:03geu592n811uiilhhh4teqone5bf6k2l1(a)4ax.com... >> If you wanted a 12-bit binary counter to make a sine wave at 1 MHz, >> you'd have to clock it at 4 GHz. But a DDS accumulator clocked at 4 >> MHz can easily make a 1 MHz sine wave. > >...although you'll need rather more filtering on the output in the later case! Since the OP only needed frequencies up to 2 kHz and was using COTS amplifiers, a cheap dedicated computer running a multiple (4-6) channel sound card running at 8-48 kHz sampling frequency would do the trick. Two separate stereo sound cards can not be used, since the cards generate their own sampling frequency from their own crystal, which are not synchronized. |