Programmable attenuator with/without passthru

Programmable attenuator
with/without passthru


Measuring Sun Noise Precisely —
Why I Built a Programmable Attenuator


To measure sun noise accurately from my 4.8 m dish on 23 cm, I needed a precise step attenuator.


Here's why.

Using my SimpleCalc application, I can already measure sun noise and related figures quite precisely. But the large gain of my 4.8 m dish — and the correspondingly large sun noise it delivers — pushed my receive chain (an IC-9700) into overload and non-linearity at the top of the signal range.


On smaller antennas this is a non-issue: SimpleCalc's built-in sun-noise measurement works perfectly, because the signal never gets large enough to stress the receiver. Larger systems are fine too — provided the receive chain stays linear across the full span between cold sky and the sun.The catch is that many receivers, the IC-9700 included, compress slightly near the top of that span.


In my system the effect was clear. The dish-mounted LNA (0.15 dB NF, 33 dB gain) delivers so much signal that I had to add roughly 7 dB of attenuation ahead of the radio before the cold-sky-to-sun Y-factor read correctly. Even then, comparing against a calibrated step attenuator on the LNA-to-radio line revealed inconsistencies of a few tenths of a dB — small, but too much for the precision I was after.


Something had to be done.

The answer comes from professional radio astronomy, where the substitution method is regarded as one of the most precise ways to measure the Y-factor between a "cold" and a "hot" source. Rather than asking the receiver to measure the large difference between the two — the very thing that provokes its non-linearity — the substitution method sidesteps it: you insert calibrated attenuation until the hot source reads the same level as the cold reference, and the attenuation you dialled in is the Y-factor. The receiver only ever has to judge "are these two equal?" at one operating point — its easiest, most accurate task — and the measurement's accuracy rests on the attenuator (which is easily calibrated with high precission), not on the radio's linearity.


That is what this programmable attenuator provides: a precisely characterized, USB-controlled step attenuator that makes the substitution method practical for everyday EME sun- and moon-noise measurements.


Passthru/active state

As I planned from the beginning that the attenuator should be able to stay connected to the radio/antenna. To do this, I made a two versions of the attenuator. One with a pass thru circuit in it, and one without. The one with pass through,  will only be active when the system is in receive mode. This version of the attenuator has "DC sense" on one port, if the radio can output +12VDC when in RX mode, the attenuator can react to this and activate passthru when not in RX mode. If your radio don't have this possibility, you can add a simple "Bias-T" to the coax which will then control the attenuator. The simple version of the attenuator does not have the two pass through relays. Because of that, it is only useable on systems where you have separate TX and RX cables (f.ex the signal from LNA to the input of a transverter. The simple version without pass through is quite a bit cheaper and a lot smaller that the one with pass through.


Both designs will be made available.

The design is published on this page (Gerber files, STEP files for mechanics). You can use that to build your own copy of the attenuators if you like. I will also make a small batch of both devices for anyone that desires one but are not able/don't have time to make one yourself. 



I am able to deliver finished programmed and tested Programmable Attenuators (in limited numbers).


For the pass through device, the price is Euro 225,- plus shipping.

For the NON pass through device, the price is Euro 175,- plus shipping.

Send me an email if interested, contact info on the CV/Contact page.

See the Terms of Purchase for warranty and cancellation details before you order.


Devices delivered will be calibrated at up to 10 different bands defined by you, I can calibrate up to 3 GHz.

How the Substitution Method Works in Practice


The principle is simple, and its power comes from what it avoids asking the receiver to do.


The setup.The attenuator sits in the line between the dish-mounted LNA and the radio. In normal use it adds a fixed, known attenuation; for a measurement, you vary it under control of the software.


The measurement, step by step:

  1. Point at cold sky and note the receiver's reading (SimpleCalc reads the audio/IF level, averaged). This is your reference.
  2. Point at the sun.The reading jumps up — but this is exactly where the receiver starts to compress, so the raw jump can't be trusted.
  3. Instead of reading the difference, cancel it. Step the attenuator up until the sun reading falls back to exactly the cold-sky reference level.
  4. The attenuation you added is the Y-factor. If it took, say, 17.2 dB to bring the sun back down to the cold-sky level, then the sun is 17.2 dB hotter than cold sky — full stop.


Why this is so much more accurate. Notice what the receiver actually has to do in step 3: nothing more than judge whether two readings are the same. Both the cold-sky reference and the attenuated-sun measurement land at the identical, low operating point — well below where the IC-9700 compresses. The receiver never has to accurately measure a large 17 dB excursion, so its non-linearity simply drops out of the result. All the precision moves to the attenuator, and a properly characterized step attenuator is far more accurate and linear than any receiver's log/level response will ever be.


There's a second, subtler benefit: any fixed error in the path cancels too. The LNA gain, cable losses, the attenuator's own insertion loss (the loss thru the attenuator in "RX" mode, at attenuation code = 0) — all of these are present for both the cold-sky and the sun measurement, so they subtract out. You're measuring a pure ratio, and ratios are forgiving.


Why the attenuator has to be precise. Since the whole measurement now rests on the attenuator, its accuracy is the measurement's accuracy. A cheap attenuator whose "10 dB" step is really 10.4 dB would put a 0.4 dB error straight into your Y-factor. That's why every one of this attenuator's 128 steps is individually measured against a calibrated power sensor and stored in the device, on a per-band basis — so when the software asks for a given attenuation, what comes out is exactly that, to a few hundredths of a dB. (More on the calibration below.).


Please notice that for the accuracy to be true, the receiver has to present a load as close to 50 ohm as possible to the attenuator!


Automation. Because the attenuator is USB-controlled, SimpleCalc can drive the whole sequence: read cold sky, point at the sun, step the attenuator until the levels match, and report the Y-factor — with the true, calibrated attenuation read straight from the device. What used to be a fiddly manual routine with an external bench attenuator becomes a one-button measurement.



Below is a simplified schematic of how the attenuator with built in pass through can be connected in a system. This is from my own 4.8m dish for 23cm EME. The PA system are mounted at the dish (to keep feedlines short), the single coax from the radio (RX/TX) are split inside the PA box between RX and TX. The RX line goes directly to the output of the LNA at the feedhorn, the TX (high power) goes directly to the TX port of the feedhorn. The attenuator are connected at the radio, directly at the antenna connector. The "Ext Preamp" setting in the IC-9700 are enabled. Because of this, the antenna connector on the IC-9700 will have +12VDC whenever the radio is in RX mode. This is being sensed by the programmable attenuator, which will change between RX and TX (passthru) mode.


On this system, I could also have mounted the version without pass through in the "RX" path, between the output of the LNA and the relay in the "PA box".


Calibration — Why You Can Trust the Numbers


The substitution method is only as good as the attenuator, so the whole design centres on making — and proving — that the attenuator delivers exactly the attenuation you ask for.


The attenuator core. At the heart of the device is a 7-bit digital step attenuator (a pSemi PE43712/PE43713), giving 0 to 31.75 dB in 0.25 dB steps — 128 individual states. It's broadband (usable from HF to well above 23 cm), fast, and switches cleanly. But like any real component, its nominal 0.25 dB step isn't perfectly 0.25 dB, and the exact attenuation varies with frequency. So rather than trust the nominal values, every state is measured.


Individual characterization. Each of the 128 states is measured against a calibrated Rohde & Schwarz NRP-Z11 power sensor, with the carrier supplied by an R&S SMU200A signal generator. The routine is fully automated: the software steps the attenuator through all 128 codes, records the actual attenuation of each, and stores the results as a calibration table inside the device. From then on, when the software asks for a given attenuation, the firmware looks up the code whose measured value is closest (and reports this number) — so what comes out of the box is the real thing, not the datasheet approximation.


One table per band. Because the attenuation is frequency dependent (the full-scale value shifts by roughly half a dB between 144 MHz and 2.3 GHz), a single table would be wrong at the band edges. The device therefore holds up to ten frequency-indexed calibration tables — currently characterized on 144, 432, 1296 and 2320 MHz — and selects the right one for the band in use. Each table also stores that band's passthru and insertion-loss figures.


Note:

  • "passthru loss" is the loss from input to output when relays are in bypass mode ("TX"), or device is powered off.
  • "insertion loss" is the loss from input to output when relays are in "active" / "RX" mode (the attenuator is active) at "code = 0" on the attenuator (lowest possible attenuation is selected on attenuator)



How good is it? The results speak for the method:

  • Monotonic and linear across all 128 steps, on every band.
  • Repeatable to a few milli-dB — repeat characterization runs agree to about ±3 mdB, essentially the noise floor of the power sensor itself.
  • Stable over time — a run taken hours later matched the original to ~2 mdB RMS, with no drift.
  • Cross-checked two independent ways (power-sensor characterization vs. VNA measurement), which agree.


In practical terms, the attenuation you dial in is trustworthy to hundreths of a dB — far finer than the tenths-of-a-dB inconsistencies that started this whole project. When the substitution method rests on numbers this solid, the Y-factor you measure is limited by your patience and the sun's own day-to-day variation, not by the instrument.


A note on the mechanics .All of this only holds because the attenuator lives in a properly engineered RF environment: a machined aluminium enclosure with good SMA connectors and a controlled-impedance PCB. In precision RF work, the mechanics are part of the calibration.


Calibration report.

When calibrating the attenuator, an automatic setup is used. A SMU200A signal generator and a NPR-Z11 power sensor are connected to the attenuator. A number of bands are then swept thru all 128 different attenuation settings, the tables from this are stored in each device. After the calibration, a PDF file with the results are then created. For an example of that, download the PDF file here.

The data are also written to a Excel XLS file.


Depending on if the device is one with pass through or not, the reports/calibration will differ a bit, the non pass through version has no "pass through" attenuation as it is always in "active" mode.


Calibration report below for a "Pass through version":

Calibration report below for a "NON Pass through version":

Comparison between three individual pass through units, any differences between devices does not matter as all are calibrated on all combinations of attenuation (128 different settings on each band).

PDF file of the three units.


Specifications & Features


A precision, USB-controlled step attenuator built for accurate EME sun- and moon-noise measurement by the substitution method — but equally useful as a general-purpose calibrated attenuator on the bench.


Key features for pass through version:

  • 0 – 31.75 dB in 0.25 dB steps (7-bit, 128 states), monotonic on every band
  • Individually characterized — every one of the 128 states measured against a calibrated power sensor and stored in the device; accurate to a few milli-dB, not the datasheet approximation
  • Multi-band — up to 10 frequency-indexed calibration tables; characterized on 144, 432, 1296 and 2320 MHz
  • Low-loss passthru — relay bypass path for when the attenuator isn't needed
  • USB / serial control — simple ASCII commands; integrates directly with SimpleCalc for one-button substitution measurements
  • DC-bias pass-through sensing — detects 12 V bias on the RF input (e.g. for bypassing when transmitting)
  • Machined aluminium enclosure with SMA connectors for a stable, repeatable 50 Ω environment


If using the pass-through mode for transmitting, MAKE ABSOLYUTELY sure that you use proper sequencing, otherwise you will destroy the attenuator!!




Key features for NON pass through version:

  • 0 – 31.75 dB in 0.25 dB steps (7-bit, 128 states), monotonic on every band
  • Individually characterized — every one of the 128 states measured against a calibrated power sensor and stored in the device; accurate to a few milli-dB, not the datasheet approximation
  • Multi-band — up to 10 frequency-indexed calibration tables; characterized on 144, 432, 1296 and 2320 MHz
  • USB / serial control — simple ASCII commands; integrates directly with SimpleCalc for one-button substitution measurements
  • Machined aluminium enclosure with SMA connectors for a stable, repeatable 50 Ω environment


Using It with SimpleCalc


The attenuators are designed to work hand-in-hand with SimpleCalc, my EME measurement application, to automate the substitution method.


Because the attenuator is USB-controlled and every step is calibrated, SimpleCalc can drive the measurement directly: read the cold-sky reference, prompt for the sun (or moon), then step the attenuator until the levels match — and report the Y-factor straight from the device's calibrated attenuation. No manual bench attenuator, no reading large excursions off a compressing receiver.


The exact workflow and user interface are still being developed, but the goal is simple: turn what is normally a fiddly manual procedure into a repeatable, near one-button measurement, with the precision coming from the calibrated attenuator rather than the radio.


The attenuator is a standalone instrument, though — its calibrated steps are equally useful for any bench measurement, with or without SimpleCalc.


Below are a couple of tests using SimpleCalc and a SDR-RTL receiver (on 1296 MHz). 


Going from 0 to 9 dB attenuation:

Going from 0 to 1 dB attenuation:

Going from 0 to 32 dB attenuation:

The designs

A few pictures of both the devices are shown below.


Native simple command interface using serial port terminal program, will also be controlled from within SimpleCalc.

Design files

Below you will find the Gerber files for the PCB, Gerber for the frontplate and the STEP file for the mechanics for both versions (with and without relays for pass through).


Pass through version (with relays):

  • Gerber file for the PCB, specify stackup JLC04081H-7628, 0.8mm thick, ENIG surface. ZIP file.
  • Gerber file for the front cover/plate, stackup is 0.8mm thick, black soldermask, ENIG surface. ZIP file.
  • STEP file for alu box. Material is aluminium, surface is conductive anodizing. Remember to include "Threads=yes" and specify the PNG file below. STEP file.
  • PNG file with thread details, use that when uploading the STEP file above. PNG file.
  • You will need 2 x SMA connectors, link to RF Microwave.
  • 18 pcs M2.5 x 5mm buttonhead screws.
  • BOM file, PDF file



NON pass thru version (the "simple" version):

  • Gerber file for the PCB, specify stackup JLC04081H-7628, 0.8mm thick, ENIG surface. ZIP file.
  • Gerber file for the front cover/plate, stackup is 0.8mm thick, black soldermask, ENIG surface. ZIP file.
  • STEP file for alu box. Material is aluminium, surface is conductive anodizing. Remember to include "Threads=yes" and specify the PNG file below. STEP file.
  • PNG file with thread details, use that when uploading the STEP file above. PNG file.
  • You will need 2 x SMA connectors, link to RF Microwave.
  • 15 pcs M2.5 x 5mm buttonhead screws.
  • BOM file, PDF file

Download firmware

Once the firmware for the programmable attenuator is finished, you will be able to download a HEX file here to program you own CPU.