A project log for Arduino Network Analyzer

Network Analyzer on an Arduino Shield which covers from 0-72MHz.

Brett KillionBrett Killion 08/17/2016 at 14:502 Comments

After using this a bit, it works decently well but there are some areas that could use improvement:

- The software can use some general polishing, most likely adding a state machine to avoid the error where decreasing the sweep size basically causes a seg fault.

- The two transistor amp could probably use some rework. A high speed op-amp may be more suitable. Just be wary of the DC biasing...

- I don't remember which specific inductors and capacitors I selected for the filter, but 72 MHz might be beyond their self resonant frequency. That's something I should have checked before ordering/soldering them.

All in all, I am quite pleased with how this works. It's a phenomenal tool for measuring crystals for selection/characterization for use in crystal ladder filters. I haven't tested it with amplifier circuits or other frequency selective things but I suspect that below 30 MHz it's great and over any 1-2 MHz bandwidth it is quite flat. It's only when the response is taken from 1-72 MHz that you see the lack of flatness, but it's still quite usable (especially since I added the calibration feature)!


Ted Yapo wrote 08/17/2016 at 15:33 point

Great project!  I was wondering how much leakage you get from the TX to RX ports (for example, with both ports terminated in 50 ohms)?  I have a Rigol DSA815-TG, and internal leakage limits the usable dynamic range with the tracking generator.  I came up with a simple external hardware/software fix (I know people have torn them apart to add extra shielding), and I wonder if it would be applicable to your analyzer.

  Are you sure? yes | no

Brett Killion wrote 08/17/2016 at 15:55 point

Hmm, I can't recall actually testing leakage with 50 Ohm terminations, however, with both output and input unterminated, I see roughly -65ish dBm, which of course, is uncalibrated but probably within 5dB of truth. When the output is connected straight through to input, I get around 0dBm.

I can't actually measure leakage right now as the project is not currently functional (tried to make it better, ended up breaking it. First software, then hardware lol) I'd give a wag and say it's got 50-60dB of dynamic range. Not fantastic, but as it's not a highly precise and accurate piece of kit, not bad either. I'm sure there are gains to be had also, with shielding and possibly better layout/routing.

  Are you sure? yes | no