Passive reflectionless filters

Jan 14, 2021 18 Replies

I came across the book "Reflectionless filters" by Matthew Morgan recently. He describes a number of passive LCR reflectionless filter topologies that may be of use to many of us.



Below the LTspice file of an O(5) Chebyshev low-pass with 0.5dB ripple. Note that neither terminal of Rout can be grounded. A transformer is needed to couple out the signal.



Jeroen Belleman



=============================== Version 4 SHEET 1 1232 680 WIRE -464 32 -512 32 WIRE -336 32 -384 32 WIRE -240 32 -256 32 WIRE -192 32 -240 32 WIRE -80 32 -112 32 WIRE -16 32 -80 32 WIRE 32 32 -16 32 WIRE 144 32 112 32 WIRE 208 32 144 32 WIRE 368 32 208 32 WIRE 368 48 368 32 WIRE -240 64 -240 32 WIRE -80 64 -80 32 WIRE -16 64 -16 32 WIRE 144 64 144 32 WIRE 208 64 208 32 WIRE -192 192 -384 192 WIRE -80 192 -80 128 WIRE -80 192 -112 192 WIRE 32 192 -80 192 WIRE 144 192 144 128 WIRE 144 192 112 192 WIRE 256 192 144 192 WIRE 368 192 368 128 WIRE 368 192 336 192 WIRE -80 256 -80 192 WIRE 144 256 144 192 WIRE 368 256 368 192 WIRE -336 352 -384 352 WIRE -240 352 -240 128 WIRE -240 352 -256 352 WIRE -192 352 -240 352 WIRE -80 352 -80 320 WIRE -80 352 -112 352 WIRE -16 352 -16 128 WIRE -16 352 -80 352 WIRE 32 352 -16 352 WIRE 144 352 144 320 WIRE 144 352 112 352 WIRE 208 352 208 128 WIRE 208 352 144 352 WIRE 368 352 368 336 WIRE 368 352 208 352 FLAG -384 192 0 FLAG -384 352 0 FLAG -512 32 0 SYMBOL res 352 32 R0 SYMATTR InstName Rout SYMATTR Value 1 SYMBOL res 352 240 R0 SYMATTR InstName R1 SYMATTR Value 1 SYMBOL ind 240 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L1 SYMATTR Value {g5/2} SYMATTR SpiceLine Rser=0 SYMBOL cap 192 64 R0 SYMATTR InstName C1 SYMATTR Value {(g5-g4)/2} SYMATTR SpiceLine Rser=0 SYMBOL cap 128 64 R0 SYMATTR InstName C2 SYMATTR Value {g4} SYMATTR SpiceLine Rser=0 SYMBOL cap 128 256 R0 SYMATTR InstName C3 SYMATTR Value {g4} SYMATTR SpiceLine Rser=0 SYMBOL ind 16 48 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L2 SYMATTR Value {g4} SYMATTR SpiceLine Rser=0 SYMBOL ind 16 368 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L3 SYMATTR Value {g4} SYMATTR SpiceLine Rser=0 SYMBOL ind 16 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L4 SYMATTR Value {(g3-g4)/2} SYMATTR SpiceLine Rser=0 SYMBOL res -240 336 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R2 SYMATTR Value 1 SYMBOL voltage -368 32 R90 WINDOW 0 -32 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName V1 SYMATTR Value ac 2 SYMBOL res -240 16 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 1 SYMBOL cap -256 64 R0 SYMATTR InstName C4 SYMATTR Value {g1/2} SYMATTR SpiceLine Rser=0 SYMBOL cap -32 64 R0 SYMATTR InstName C5 SYMATTR Value {(g3-g2)/2} SYMATTR SpiceLine Rser=0 SYMBOL cap -96 64 R0 SYMATTR InstName C6 SYMATTR Value {g2} SYMATTR SpiceLine Rser=0 SYMBOL cap -96 256 R0 SYMATTR InstName C7 SYMATTR Value {g2} SYMATTR SpiceLine Rser=0 SYMBOL ind -208 48 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L5 SYMATTR Value {g2} SYMATTR SpiceLine Rser=0 SYMBOL ind -208 368 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L6 SYMATTR Value {g2} SYMATTR SpiceLine Rser=0 SYMBOL ind -208 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L7 SYMATTR Value {(g1-g2)/2} SYMATTR SpiceLine Rser=0 TEXT -520 -80 Left 2 !.ac dec 100 0.01 0.2 TEXT -536 432 Left 2 !.param g1=1.7058 g2=1.2296 g3=2.5409 g4=1.2296 g5=1.7058 TEXT -536 472 Left 2 ;These are just the traditional Chebyshev element values for O(5) with 0.5dB ripple. TEXT 432 296 Left 2 ;Not needed!


Yikes. As a math exercise it's very pretty and all, but I can't imagine how you'd go about tuning that monster if you really made it out of Ls and Cs.

If I really needed reflections that low, I'd certainly use an isolation amp. For preventing mixers from producing extra spurs, the Belleman Bandaid approach is the bee's knees. (I give it a plug in my new edition btw.)

Cheers

Phil Hobbs

Looks like, as frequency increases, the incoming energy is diverted from Rout into R1 and R2. With some difficulty.

I use passive one-side-mostly-reflectionless filters to prettify some of my pulse generator outputs. The raw GaN pulses can be a little ragged and ringy, and I want to make a beautiful pulse at our BNC output, and I want that to look pretty ohmic for both outputs and reflections. We may drive a weird load, including an open coax or a laser diode, and I don't want things to slosh around forever.

I sometimes use a version of a simpler filter that Jeroen posted some time ago. I fiddle the values by instinct, which can be done with a total of 4 or 5 parts.

MiniCircuits has some new patented reflectionless filters, as ceramic block things. But only for very high frequencies.

John Larkin Highland Technology, Inc The best designs are necessarily accidental.

On 2021-01-14 18:41, snipped-for-privacy@highlandsniptechnology.com wrote:

There may a bit of misdirection in MiniCircuits' docs, I don't know. The similar circuit below is truly reflectionless, also from Morgan. The stopband attenuation isn't great and you don't get to choose the filter function, but hey, you can cascade several sections without interaction.

Jeroen Belleman

======================= Version 4 SHEET 1 880 680 WIRE -112 80 -128 80 WIRE 0 80 -32 80 WIRE 96 80 0 80 WIRE 128 80 96 80 WIRE 240 80 208 80 WIRE 512 80 240 80 WIRE 96 112 96 80 WIRE 240 112 240 80 WIRE 512 128 512 80 WIRE -128 144 -128 80 WIRE -16 192 -48 192 WIRE 96 192 96 176 WIRE 96 192 64 192 WIRE 240 192 240 176 WIRE 272 192 240 192 WIRE 384 192 352 192 WIRE 96 208 96 192 WIRE 240 208 240 192 WIRE -128 224 -128 208 WIRE -128 240 -128 224 WIRE 512 256 512 208 WIRE 96 304 96 288 WIRE 176 304 96 304 WIRE 240 304 240 288 WIRE 240 304 176 304 WIRE 176 336 176 304 WIRE 176 416 176 400 FLAG 176 416 0 FLAG -128 240 0 FLAG 512 256 0 FLAG 512 80 out FLAG 0 80 in FLAG -48 192 0 FLAG 384 192 0 SYMBOL res 80 192 R0 SYMATTR InstName R1 SYMATTR Value 1 SYMBOL res 224 192 R0 SYMATTR InstName R2 SYMATTR Value 1 SYMBOL ind 112 96 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L1 SYMATTR Value 2 SYMBOL cap 160 336 R0 SYMATTR InstName C1 SYMATTR Value 2 SYMBOL voltage -128 128 R0 SYMATTR InstName V1 SYMATTR Value ac 2 SYMBOL res -16 64 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 1 SYMBOL res 528 224 R180 WINDOW 0 36 76 Left 2 WINDOW 3 36 40 Left 2 SYMATTR InstName R4 SYMATTR Value 1 SYMBOL cap 80 112 R0 SYMATTR InstName C2 SYMATTR Value 1 SYMBOL cap 224 112 R0 SYMATTR InstName C3 SYMATTR Value 1 SYMBOL ind -32 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L2 SYMATTR Value 1 SYMBOL ind 256 208 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 5 56 VBottom 2 SYMATTR InstName L3 SYMATTR Value 1 TEXT 16 -16 Left 2 !.ac dec 100 0.01 10

It's a bit of a beast, is true, though not really much worse than an O(5) diplexer would be. The lower the Q, the easier the tuning. This topology works for any of the traditional filter functions, which is a big plus.

:-)

Jeroen Belleman

The ideal reflectionless filter would have a third connector where the stopband energy gets dumped into an outboard 50 ohm resistor. I suppose that's just a diplexer, a highpass and a lowpass in parallel.

Those tiny Mini-Circuit things will fry at a few watts dissipated.

One thing occurred to me, after years of profound thought, is that I only have to absorb reflections from whatever pulses I sent out.

In yer dreams, mate. ;)

(Of course you try not to sell to students.)

Cheers

Phil Hobbs

In my first LTspice example, the complicated one, all stopband energy ends up in the extra resistor at the source end, so this filter fulfills your wish. Reflections from the load have (nearly) no stopband energy, so those go straight back to the source. The source would need to be matched to absorb them. It's a bit of a shame that it won't work all the way down to DC, because of the need for an output transformer. Maybe a balun can save the day, depending.

You work mostly in the time domain. I suppose you want minimum ringing. You need Bessel, Gaussian or equi-ripple delay filter functions.

Jeroen Belleman

I'd rather not. They want unlimited consulting *and* educational discounts.

Yes. I want pretty, crisp pulses with almost no overshoot, and good

10/90 rise time numbers. I don't care if the filter response is any of the mathematical classics. And I prefer to make it from parts in stock, or easily bought, hence design by fiddling.

I will usually start with a GaN totem pole, essentially zero source impedance and very fast but ugly. So then, a 50 ohm power resistor and the absorptive lowpass filter for as much beauty as is consistant with a fast rise time. The filter doesn't want to be absorptive on the input end; that just wastes power. It needs to be absorptive on the output end, to eat up reflections of its own step response.

This one ain't bad.

formatting link

The way to further improve the rise and fall times is to specify

20/80.

As long as you're aware that sends the stop-band energy into the iso-amp's power supply, it's all good.

CH

Depends what you're doing. Normally I mostly care about reflections internal to the instrument, e.g. to avoid making a forest of spurs by reflecting stopband energy back into a mixer. In that case, both the passband and stopband input energy get dissipated in the 50-ohm input resistor of the iso amp.

Pushing stuff back into the amp's output is to be avoided, for sure.

Cheers

Phil Hobbs

Fine, if the amp output is purely ohmic. And the amp adds no distortion.

In yer dreams, guy!

John Larkin Highland Technology, Inc The best designs are necessarily accidental.

Hmm, cool. I thought tighter (Cheb, etc.) types couldn't be resistive-ified, at least by tacking on two-ports to the standard ladder topology.

It seems that may still be correct, as this is a pretty significant topology change.

Still very simple, semantically: the bridging elements have values of the uh, average difference so to speak?, of the pairwise adjacent elements, cool.

I suppose R1 is needed if the filter is symmetrical? And, yes, I see it is.

So a better description is, it's a four-port directional diplexer, with a pretty passband straight-through, and a s***ty stopband cross-wise. Cool!

And with grounds as shown, it's obvious how to get the right-hand ports to ground: couple L7-L4-L1 to other inductors with k --> 1, and wire them to the far ports. In other words, just plain old common-mode chokes. A little transmission line length added, and that's it. Which because each port is resistive, as long as Zo = R, you're set. (YMMV for impedance-matching or one-side-open/short types.)

Practically speaking, you'd probably just use a data line choke. And since you can't really get those in multi-winding models, you'd just use two in parallel to couple both ports back to ground, if desired.

Not sure what effect loading impedance has at the far not-ground node; at worst, one CMC per inductor can be used, so that the CMC impedances act in parallel with each in turn, rather than to the full stack. (The effect I think would be similar to having coupling between inductors: it would probably introduce zeroes in the response.) Mind that CMCs are usually lossy, so include the R and Cp as well as L in the model, and trim values accordingly.

Finally, the big downside would seem to be, due to the somewhat higher complexity, and the physical realities of CMCs, it probably won't work well into the GHz. At least not without a lot of custom made components; or, doing it all on a hybrid, or a multilayer ceramic module or something like that. But also, all the way up there, you can likely transform it to a planar transmission line implementation, and get the CMC action for free with multilayer RF laminate.

Tim

-- Seven Transistor Labs, LLC Electrical Engineering Consultation and Design Website:

formatting link

I've been searching for filters like this for many years, but wasn't smart enough to work it out for myself. I'm pretty happy with this. I have plenty of applications for reflectionless filters. Seeing how other people often use passive filters, they don't even realize they need them too.

[...]
[...]

Yes, adding baluns works nicely *at* DC and at sufficiently high frequency. At merely low frequencies, there may be some issues that may or may not be important. Much depends on the details of the application, as always.

Jeroen Belleman

My gizmos are almost all signal-level, not manly hairy-chested stuff like some of yours. I use iso amps pretty routinely--an improved follower with no significant D-G swing works great, and it's pretty simple. I used to really like the MRF966 dual-gate MESFET for that--70 dB isolation at 100 MHz, good linearity, total BOM: 1 transistor and 1 resistor.

Well, at least I don't dream in code. ;)

Cheers

Phil Hobbs

Morgan (who wrote the book) works for Mini Circuits, according to his acknowledgements. So the two facts are not necessarily unrelated.

Cheers

Phil Hobbs

I don't have the book, but peeked at the Amazon 'look inside' preview. The intro says that the last couple of chapters cover microwave implementations.

I might have to buy the book--Morgan seems like a down-to-earth guy, and his account of how he developed the technique is quite intuitive. I like how he starts by really taking duals seriously and working from there.

Seems like a pretty different sort of read from Matthei et al. or Collin, for instance.

Cheers

Phil Hobbs

[...]

Indeed so! I hadn't noticed.

Jeroen Belleman

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required