-
High frequency (>40MHz) adjustable gain/offset circuit on op-amp input
Posted by
microbug
on 22 Jul, 2014 21:10
-
I am designing a DDS (max 42.5MHz – thanks DJT) based on an AD9850 module. This module outputs a 0.5V pk-pk sine wave, which I wish to amplify, ideally to a level selectable by the user. I have a very high speed precision op-amp which is running on +-13V.
Originally I was thinking of using two pots (one for offset and one for amplitude). IDK if this would work at all, but if I could I would prefer multi-turn wirewound pots for fine control. This would be ideal if it works, however I am conscious that a 5 or 10 turn pot at 42.5MHz is probably a very high impedance (please correct me if I'm wrong) inductor.
My questions: will it work with a 5 turn wirewound pot (or a crusty one turn pot)?
If not, I suppose I will have to use ganged switches or something to choose between 1.8V/3.3V/5V/10V and AC/DC.
EDIT: Actually, this whole thing is controlled by a micro so I could put in several relays and switch in the gain resistors / DC blocking cap.
EDIT 2: If one can buy a high bandwidth digipot, maybe that could be a solution.
EDIT 3: What about a 74HC4051? Only just found it when googling...
-
#1 Reply
Posted by
retrolefty
on 22 Jul, 2014 21:32
-
Well in professional RF equipment this often running the output amp at full fixed gain and using a programmable 50 ohm attenuator module to adjust the user output in fixed dbm steps at the operating range and resolution desired Mini-Circuits is one firm that makes such modules.
That is probably a too expensive a solution for your project? Keep in mind that in RF one deals is output power, rather then voltage gain, assuming the signal is wired/connected to a 'matched' 50 ohm load.
-
#2 Reply
Posted by
fcb
on 22 Jul, 2014 22:15
-
I would probably build an attenuator with reed relays, the leakage through a 4051 would be significant at those frequencies (although it might not matter in your design).
Hittite Semi make some very nice digital attenuators (e.g. HMC472), although they maybe overkill (the 472 goes from DC to 3.8GHz), Digikey also stock them.
I'd tackle the DC offset with a 12 bit DAC.
-
#3 Reply
Posted by
microbug
on 23 Jul, 2014 06:09
-
That sounds good. The HMC472 looks nice, although VQFN will be a pain! I'll use a stencil w. solder paste and hot air.
If I need more than 64 steps (I'm thinking about this) I could make an 8-bit attenuator with reed relays as fcb suggested.
Also, I found
this which suggests a multiplying DAC. If there is a multiplying DAC with a high enough bandwidth, maybe that could be a solution?
A DAC is a good idea for the offset.
-
#4 Reply
Posted by
David Hess
on 23 Jul, 2014 10:47
-
From the data sheet it looks like fine output level control over more than a 6 dB range can be achieved with the AD9850 by driving Rset (pin 12) with a current instead of using a resistor to ground.
Since the AD9850 output is already a current, I would use diode or transistor current switching to multiplex the output for different output levels. How much output range do you need?
-
#5 Reply
Posted by
microbug
on 23 Jul, 2014 12:55
-
My voltage rails are designed for +-10V max (max +-10V offset and max +-10V amplitude, though not both at once). I'm not exactly sure what you mean though...
EDIT: Actually, I'll probably only have a positive offset...
-
#6 Reply
Posted by
David Hess
on 23 Jul, 2014 13:36
-
My voltage rails are designed for +-10V max (max +-10V offset and max +-10V amplitude, though not both at once). I'm not exactly sure what you mean though...
EDIT: Actually, I'll probably only have a positive offset...
I mean over how much range do you want to adjust the output level?
Typical analog function generators can adjust their output from zero to full scale but the better ones also include one or more 10 dB and/or 20 dB attenuation steps for finer control at low output levels.
Also keep in mind that in a simple (*) design, the maximum levels of the output amplifier includes the offset so a +/- 10 volt output would only allow a +/- 5 volt AC signal with up to +/- 5 volts of offset. Combining a +/- 10 volt AC signal with +/- 10 volts of offset would require an output stage capable of +/- 20 volts. That is not trivial to do at high frequencies which explains why high frequency function generators support lower maximum output levels.
Do not forget the output termination. With a 50 ohm source termination, the output voltage will be cut in half when operating in a 50 ohm environment so a simple +/- 10 volt output stage actually becomes +/- 5 volts maximum combined signal and offset.
(*) Check out the design of the Tektronix FG504 for an example of adding the offset after the output amplifier and attenuation. It is actually pretty easy to do if the DC offset is added in the form of a current directly into the output after the source termination.
-
#7 Reply
Posted by
microbug
on 23 Jul, 2014 20:10
-
I don't have easy access to the AD9850's Rset pin as the chip is in a module. For this reason, I will use a fixed gain op-amp. I will have the output of the AD9850 going [strike]to a r2r (relay controlled) 8-bit attenuator,[/strike] through a series DC-blocking cap and then, joining the output of a DAC, going into the op-amp.
Will this cause any problems? Schematic en-route...
EDIT: it would be easier to vary the op-amp gain than to create an attenuator network; I'll do that (again with relays).
-
#8 Reply
Posted by
retrolefty
on 23 Jul, 2014 20:20
-
I don't have easy access to the AD9850's Rset pin as the chip is in a module. For this reason, I will use a fixed gain op-amp. I will have the output of the AD9850 going [strike]to a r2r (relay controlled) 8-bit attenuator,[/strike] through a series DC-blocking cap and then, joining the output of a DAC, going into the op-amp.
Will this cause any problems? Schematic en-route...
EDIT: it would be easier to vary the op-amp gain than to create an attenuator network; I'll do that (again with relays).
The main problem I see remaining is that the AD9850 does not output a constant voltage/power but rather decreases with increasing frequency. Without some form of AGC feedback in your output circuitry you will never have a 'calibrated' output value.
-
#9 Reply
Posted by
microbug
on 23 Jul, 2014 20:21
-
Ah, yes... I had conveniently forgotten about that...
EDIT: suggestions for AGC? I didn't even know it was possible until googling. Perhaps a better solution is just to have fixed (trimpot calibrated) 1.8V, 3.3V, 5V, 10V and 20V pk-pk amplitude options.
-
#10 Reply
Posted by
CarlG
on 23 Jul, 2014 20:30
-
Maybe the
AD835 could be useful?
-
#11 Reply
Posted by
microbug
on 23 Jul, 2014 20:35
-
I have no experience at all with AGC- could you explain further?
-
#12 Reply
Posted by
fcb
on 23 Jul, 2014 21:37
-
An AGC of some description would be useful, although you could just have an output level meter on the unit. If you did need an AGC then I would do it in software and have an AGC on/off switch on the unit.
Careful though you don't get caught up in "function creep".
Why the AD9850 and not the AD9851?
-
#13 Reply
Posted by
rob77
on 23 Jul, 2014 21:44
-
ate you using the cheap ad9850 modules from China ? if yes then anything above 10-20Mhz is hopeless...
i built myself a dual channel signal generator with those - atmega + 1602 LCD + 4x4 keypad + 2x ad950 board from China, but haven't build any output stage for sine output yet.... (i've put the project aside for now
)
-
#14 Reply
Posted by
microbug
on 23 Jul, 2014 22:15
-
Yes I am using a cheap AD9850 module (@fcb- availability; these modules are dirt cheap). However, a friend let me use their fancy scope and I have found it's good enough up to 42.5MHz (the -3db filter cutoff). I will probably use a separate comparator because the built in one is useless above 1MHz.
The project will eventually be on hackaday projects (I'm going to enter it for the prize) and will be completely open (i.e., public domain), so you can take a look at the finished project when it's done.
-
#15 Reply
Posted by
David Hess
on 23 Jul, 2014 22:37
-
I don't have easy access to the AD9850's Rset pin as the chip is in a module. For this reason, I will use a fixed gain op-amp. I will have the output of the AD9850 going [strike]to a r2r (relay controlled) 8-bit attenuator,[/strike] through a series DC-blocking cap and then, joining the output of a DAC, going into the op-amp.
Will this cause any problems? Schematic en-route...
EDIT: it would be easier to vary the op-amp gain than to create an attenuator network; I'll do that (again with relays).
The main problem I see remaining is that the AD9850 does not output a constant voltage/power but rather decreases with increasing frequency. Without some form of AGC feedback in your output circuitry you will never have a 'calibrated' output value.
Because its output follows a sinc response?
Not counting the antialiasing filter, it looks like it will be down to 84% (about -1.5 dB) of the low frequency output at 40 MHz with a 125 MHz clock.
-
#16 Reply
Posted by
rob77
on 23 Jul, 2014 22:44
-
Yes I am using a cheap AD9850 module (@fcb- availability; these modules are dirt cheap). However, a friend let me use their fancy scope and I have found it's good enough up to 42.5MHz (the -3db filter cutoff). I will probably use a separate comparator because the built in one is useless above 1MHz.
The project will eventually be on hackaday projects (I'm going to enter it for the prize) and will be completely open (i.e., public domain), so you can take a look at the finished project when it's done.
actually the comparator is good enough - i'm getting a good square up to 25MHz from those using a 74AC14 as output stage for square, but the sine hopeless above 20Mhz - distortion is way too high, and the signal is getting atenuated with increasing frequency 1MHz - 1Vpp , 10MHz - 820mVpp , 20MHz - 640mVpp, 30MHz - 360 to 500 mVpp - the sine is really ugly at 30MHz , 40MHz...well it resembles a sinewave somehow (if you have a really good imagination
) the output of that something at 40MHz is 240-300mVpp
so don't put too much hope to those modules - but upto let's say 20MHz with some output stage with AGC it might be good enough
-
-
because the built in one is useless above 1MHz
my built in one is useless below 1MHz (spikes on rising and falling edges) and of couse useless above 30MHz, that range if you set the built in adjustable trimpot to the correct level.
but the sine hopeless above 20Mhz - distortion is way too high
what dso and sample rate you are looking the signal at? using averaging in DS1052E 100MHz BW i get "acceptable" sine up to the limit 40MHz @ 1GSps sampling rate.
-
#18 Reply
Posted by
microbug
on 24 Jul, 2014 06:49
-
The guy's scope which I used was an Agilent DSO-3000 series, so it's probably safe to say that it trumps the DS1052E. Likewise, I found that the output was 'acceptable' up to that 42.5MHz mark on the sine output. The guy explained that since DDSs have to sample the clock every time the output changes, higher frequencies will often show heavy modulation unless they are a factor of the clock frequency, even after passing through the antialiasing filter.
Maybe my module is a different version to yours or something, @rob77. The sine wave at 40MHz is just very modulated, i.e., every other wave has a higher amplitude.
In the finished thing I will use an external high speed comparator to generate a square wave.
-
#19 Reply
Posted by
DRT
on 24 Jul, 2014 08:41
-
Being 'the guy' Microbug mentioned
(I let him use my electronics lab), I can offer the following - The module he has exhibits fairly classical behaviour for a DDS clocked at 125MHz. The filter is not great, but below ~40 MHz the output is reasonable. The comparator does not seem capable of much more than a few MHz.
-
#20 Reply
Posted by
rob77
on 24 Jul, 2014 09:47
-
the trimpot on my boards is adjusting the duty cycle of the square wave - and as i mentioned - the comparator must be good enough if i'm able to "recover" a usable square by the 74ac14 output stage.
the sinewave at 30Mhz is deformed (but still resembles a sine), but at 40MHz it's just rubbish.
my scope is a hantek DSO1102B (100MHz , 1GSa/s)
i'll post some pictures showing the modules, the device i built and the output waveforms - need to take the pictures, scale them and upload (in 1-2 hrs.max).
-
#21 Reply
Posted by
David Hess
on 24 Jul, 2014 12:24
-
I don't have easy access to the AD9850's Rset pin as the chip is in a module. For this reason, I will use a fixed gain op-amp. I will have the output of the AD9850 going to a r2r (relay controlled) 8-bit attenuator, through a series DC-blocking cap and then, joining the output of a DAC, going into the op-amp.
Will this cause any problems? Schematic en-route...
No, it should work fine.
EDIT: it would be easier to vary the op-amp gain than to create an attenuator network; I'll do that (again with relays).
Usually an attenuator is used with a fixed gain stage because changing the amplifier gain alters its frequency response.
-
-
this is (attached) the latest (few days ago) output from my ad9850 DIY FG while doing something. beefed with 20X gained THS3091 or THS4631 (cant remember which one precisely its been too long, i believe its THS3091 its a good opamp for this type) ignore blue channel 2 its the dut output. look at the yellow output... 1st picture averaged, 2nd picture peak detect both at 40MHz...
circuit picture still available here...
but i dont recommend this method of direct trimpots to ad9850 output, there are better (need more component) method but i dont have time for that.
-
#23 Reply
Posted by
David Hess
on 24 Jul, 2014 13:01
-
Offhand I do not see any major problems.
The output level will be halved when driving a 50 ohm load. The operational amplifier is not going to produce +/- 10 volts when driving a 100 ohm load with +/- 12 volt supplies. Also, its rated output current would be marginal if it could produce +/- 10 volts into 100 ohms.
-
#24 Reply
Posted by
rob77
on 24 Jul, 2014 13:15
-
the trimpot on my boards is adjusting the duty cycle of the square wave - and as i mentioned - the comparator must be good enough if i'm able to "recover" a usable square by the 74ac14 output stage.
the sinewave at 30Mhz is deformed (but still resembles a sine), but at 40MHz it's just rubbish.
my scope is a hantek DSO1102B (100MHz , 1GSa/s)
i'll post some pictures showing the modules, the device i built and the output waveforms - need to take the pictures, scale them and upload (in 1-2 hrs.max).
sorry guys, apprently i was wrong... i was playing with my unfinished signal generator today (i put it aside some time ago as mentioned earlier) and actually it wasn't the AD9850 module... it was the square wave output stage affecting the ad9850 modules through the supply rail (i realized this when i killed the square output by accident
) pictures attached as promised - the recorded waveform is not that bad at 40MHz
it's still very low Vpp and it has a DC offset bigger than the actual signal itself, but it can be used
unfortunately i can't post the distorted waveform right now, but i'll capture it once i replace the killed 74AC14 (and before i'll make any modifications to the device
).
i will definitely make dedicated linear regulators for the AD9850 boards and a dedicated supply rail with few chokes for the 74AC14 (and perhaps place the 74ac14 to a can underside of the board)