This project is a simple scalar network analyser using a DDS, log amplifiers, multi channel ADC and a generic I/O interface. The pinout matches a Raspberry Pi, but any micro-controller may be used to program the DDS and read the ADC. The analog bandwidth has been deliberately set at 30MHz. Note how the measured response matches the theoretical simulation very closely. There is approximately 0.02dB variance between 1kHz and 30MHz. The noise floor averages around -69dB throughout the passband, with shielding in place. This circuit is a little different from most in that the filtered DDS output is measured in addition to the input voltage from the EUT. This allows a more accurate measurement as it doesn't assume the output is constant, any variations due to loading effects are automatically compensated for. The PCB has been shared at OSH Park, download source code
|
Right click on the images to open larger versions.
Short circuit:![]() |
Open circuit:![]() |
Low Pass Filter (1/2PiRC = 31.8kHz):![]() | Crystal:![]() |
High Pass Filter (1/2PiSqrt(LC) = 1.18MHz):![]() | Resonator:![]() |
Schematic:![]() | Filter simulation:![]() |
Shielding:![]() | Shielding:![]() |
![]() |
Last update: 29 Mar 2019
© Steven J. Merrifield |