(New, simplified edit of the original question)
This question regards erroneous SWR measurements of K6BEZ antenna analyzer design from 2013 using Arduino and AD9850 DDS modules. There have been many variations of it by other people over the years. Good details to make it work right seem hard to find. Here is my circuit for just the bridge section (the FWD and REV go out to the Arduino).
While testing it for SWR with resistors, it only reads correctly at 50 ohms. 100 ohms and 25 ohms both measure about 1.3 SWR and should be 2:1. I believe the problem is the way the bridge drives the op amps. The op amp circuit and onward work fine and calculate the SWR properly if I simulate the supposed bridge detector output using DC voltages. Although the 300mV DDS wave is rather low, the 1N5817 diodes have only 134mV forward voltage drop. Two helpful resources I used to check the bridge operation, were:
1) Wideband SWR meter, using an identical bridge and analog meters (which I built), and
Below are photos showing my wiring to mount the RF components as close together as possible.
Below is a graph of SWR on a 20-meter dipole using the Arduino analyzer. The analyzer does seem to show something meaningful but but the valleys are too wide. The red line at 14.250 MHz is where I measured the lowest SWR (resonance?) using the Wideband SWR meter (mentioned above) and it was a sharp dip, unlike the graph from the Arduino analyzer.
Any comments or suggestions would be much appreciated.