Most DDS chips have complementary DAC current outputs and the appnotes usually waste one and go to some effort to bias up a single-ended comparator. It's not any harder to go full diff on the filter, get twice the swing, and use the zero cross.
To make a clock, the filter can have a ghastly Bode plot. It doesn't have to resemble any of the classic mathematical forms. So it can be designed by Spice fiddling with parts in stock.
The sketched filter is 5th order, but I might play with 3rd order, maybe with an elliptic notch, and save a couple of inductors. Probably not a good idea, actually.
I think we can park the DDS at cos(0) when it's not in use, to bias the comparator way off zero. Some hysteresis would be prudent too. ADCMP562 has that.
It's generally a good idea, and I've done it myself, because it ensures that the rejected frequency components cancel out, instead of them appearing at the DDS's DAC power supply pins, where they need to be decoupled into the ground rail. On multi-DDS chips (e.g. AD9959) these signals can cross-talk between the different DDSs before they reach the power pins for decoupling.
The better appnotes specify a balun to drive a single-ended filter. Some actual schematics use a fast differential op-amp to subtract the two outputs, but if you do that before the filter the op-amp has to be fast enough to track any harmonics (that the filter will reject) or they can cause pain.
People usually throw away the complementary current output, with maybe a resistor to ground, so the supply currents should cancel. Seems like a waste of signal.
I can see how a balun is useful to output a good sine wave against ground without an amp at the end, but I'll be driving a diff input comparator so the balanced filter looks good.
One of my guys ran the NuHertz software and it designed a great balanced filter that uses standard values. Amazing software, crabby guy, ugly screens.
formatting link
It did an elliptic version too, but we'll be tight on board area and the four extra caps aren't worth the space.
I'm inclined to split the right end and center-tap to ground, to reduce common-mode junk that might feed from the DDS chip. Gotta keep the unipolar current sources happy too. Worth Spicing.
One of the things I've learned fairly recently is that discrete LC filters are a bag of hurt when it comes to production. I used to use a lot of packaged Mini-Circuits elliptic filters until the last project, when I got tired of paying for them. I can run a filter design program just as well as they can, right?
Well, no. Turns out that a lot of parts get swapped around at random, probably during reel changes or 2nd-op hand placement when the PnP machine doesn't quite hold enough reels. Yelling at the factory people doesn't help as much as I thought/hoped it would.
This probably happens with ordinary RC components too, but one 0402 bypass or coupling cap is pretty much as good as another, and the same is true for many if not most discrete resistors with values under 10K or so. I'm not going to notice if an I2C pullup is 4.7K instead of 2.2K or whatever. I will if a 22 nH inductor is placed in a spot for an 82 nH inductor, though....
... or at least, I will notice it if I have the foresight to design a test jig to sweep the filter response and compare it with a limit line, rather than just checking for the expected level at one or two points within the passband. Oops. Where'd *that* spur come from?
Anyway, yeah, baluns followed by single-ended filters are a good way to go. For some reason, I get a bit more signal out of certain chips with an SBTCJ--1WX+
180-degree splitter than I do with a straight transformer or balun.
The mini-ckts mlcc flters are great, but start around 1 GHz or so. I want a 15 MHz filter so I'll have to make it.
It's strange that nobody makes a series of lp filters aimed at the DDS market.
Yikes, fire your assemblers. Nothing will work if they mix up parts.
What about voltage dividers, gain set resistors, voltage reg programming, all that? Values matter.
We work in time domain, so some of our testing is oscilloscope mask limits on pulses and such. Our intent is to production test for any possible value or assembly/soldering error.
But no passive balun will work from 15 MHz to 1 mHz. You narrowband RF types have it easy.
My DDS chip has differential current outputs, and my comparator is differential, so a balanced filter makes sense.
MCL makes tons of HF/VHF filters, although they're all single-ended AFAIK. I used a batch file to scrape all the .S2P files for them a few years back, and wrote a tool to cascade them interactively
formatting link
dangerous, because if they were to ban my IP for abusing their server I'd be hating life.
I don't think they do it all that often with resistors and caps, or we would indeed have had trouble along those lines. My guess is they load those first, then run out of slots somewhere in the middle of the 0603 inductors. They get handed off to a different person who isn't always as careful as they should be.
One of those unfortunate cases where we have no choice but to "inspect in quality." I should hang out a shingle building production test jigs, I've done enough of that lately...
Good gravy, where are you having them assembled? In antarctica by penguins? Seriously? Arbitrarily changing resistor values by more than a factor of 2? I'd fire mine if they used thick film rather than the specified thin film.
That sort of nonsense wouldn't fly with me or my consulting/licensing customers.
We usually buy small Ls that have a color dot or something. The Coilcrafts do. Our automated VOA machine can check them. Every board gets inspected with that.
Inspection has a powerful process feedback element. We flog as required.
It's difficult to build good LC filters in SMD for HF. The multi-layer inductors that work fine at UHF just don't have the required Q at lower frequencies.
I designed a nice-looking 7th order bandpass filter for 50MHz, then started looking for SMD parts to realise it. Stick the actual Q values into LTSpice and weep. 1dB pass-band loss turns into 60dB loss really quickly.
Coilcraft make suitable small inductors that are wound, not multi-layer, but you pay a lot more for that.
Errors in those areas are rare, and will usually (but obviously not always) get flagged in test.
Of course there's a test/burn-in cycle, and it's *very* thorough. Everything in the front end is actively tested via a custom ATE harness. However, there are four switched LP/BP filters to check, and we were originally testing those by simply feeding in a signal near the center frequency and verifying that the UUT reported the expected power level +/- the expected tolerance. That wasn't sufficient to catch one of the cases where they swapped some 0603 inductors around.
Fortunately I caught it myself when diagnosing another problem. The swapped inductors were not a major issue in this case -- they wouldn't have caused a spec violation, and almost certainly would never have been noticed in the field -- but that whole episode scared me straight. We now test at several more points, and next time around I'll use a full mask test.
I've found enough forehead-slapping production faults in HP and Tek gear over the years that I don't harbor any illusions about perfection at the assembly or QA stages. It's an axiom that you're not supposed to rely on testing for quality -- I think that goes back to Deming? -- but that's an exercise in wishful thinking IMHO. As long as people are involved, you've gotta test thoroughly or quality will suffer.
On Sunday, September 4, 2022 at 5:00:24 PM UTC-7, Clifford Heath wrote:
By "7th order bandpass" I'll guess you mean 7 resonators. BPF are usually even order. Anyway, you're right that wirewound CCI will be more expensive than multilayer. Multilyers are rarely good enough for bandpass filters.
Just to experiment, I hacked out a 5-coil 10% 50 MHz BPF using 82 nH MIDI (1812SMS-82NGL_) coils, just to experiment.
features
50 MHz center freq
10% nominal BW (b4 non-idealities)
20 dB nominal return loss
all 5 coils coerced to 82 nH (coercion "paid for" with additional caps)
5 finite transmission zeros
Coil Q: guess 80 (midi spring)
Cap Q: guess 250
All internal nodes have design capacitance to ground (enable absorbtion of parasitic capacitance; costs caps)
I didn't respond previously because that LTSpice doesn't work for me. It displays and appears to run the sim, but then I can't probe anywhere to view a trace.
Has anyone else seen this behaviour or knows how to fix it?
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.