Tuesday, November 20, 2018

Scalar Network Analyzer

I've been working on and off for quite a while now on a network analyzer using a DDS9850 frequency synthesizer controlled by an Arduino Uno.  The details for this project can be found at this website (https://groups.io/g/PHSNA) but very briefly, a sign wave is generated by the analyzer (frequency selected by the operator) which is then sent to a device under test (DUT).  This could be a filter, antenna, crystal, etc.  The output from the DUT is then hooked to a power meter which develops a voltage proportional to its input.  This voltage in turn, is fed back to the analyzer where it is converted to digital counts.  A transfer function representative of the DUT can then be created from the collected data points covering several frequencies.  I had previously built a power meter a couple of years earlier (RF Power Meter) so I was all set.

I purchased a blank analyzer PC board, ordered the parts from various vendors and then assembled it.  Interfacing software had already been developed to run on a Windows platform so using this I fired up the hardware for initial testing.  Almost immediately it was apparent that operation was erratic from one test run to the next so something was up.  I quickly tracked this down to an intermittent solder joint on one of the toroids in the output filter stage.  Once this was corrected, everything appeared to work fine.  I was able to select a specific frequency, transmit that info to the Arduino over a USB serial interface (which subsequently communicated with the DDS module to generate a sine wave) and observe the output signal on my scope.

As a final test, I hooked up my power meter directly to the analyzer and ran a sweep function covering 1-30MHz in increments of 50kHz.  At each frequency, the power meter converted the incoming signal into a precise voltage proportional to its amplitude.  This voltage was then fed back into the analyzer for processing.  A graph was then created representing the voltage level (ie. power level) at each frequency point:


The actual "raw" output of the network analyzer is in blue and varies from a peak of ~4.0dBm down to ~3.1dBm across a 30MHz span.  This drop off in signal level is just the inherent output response of the analyzer.  To correct this, a mathematical "fudge factor" is added using a 5th order polynomial curve fitting algorithm to provide for frequency compensation and to normalize the curve to 0dBm. This eliminates the drop off and flattens out the response.  The red line represents this adjusted or compensated output.  Now, whenever a DUT is being tested a more accurate assessment of its frequency response can be made.

Update (July 2023)
I recently began making some low pass filters for a QRP transmitter I was building.  A total of three were needed (one per amateur band): 20m, 40m, and 80m. These are 7 element filters and were purchased as kits from QRP-Labs (www.qrp-labs.com) for about $5.00 each. 

20m, 40m and 80m LP Filters


After they were finished, I wanted to test each one on my SNA jig for its frequency response.  A sweep test was run for each, data was collected in a CSV file and then a graph showing attenuation as a function of frequency was created in Excel.  

Below are the results of my testing. Very nice responses overall. 



No comments:

Post a Comment