After watching Dave's videos on using a spectrum analyzer with tracking generator and then "poor man's spectrum analyzer using a scope and signal generator", it got me wondering. I don't really need high frequency nor real-time. I want to characterize op-amp circuits generally below 100 MHz and definitely want closer to DC than the typical 9 kHz lower limit of most spectrum analyzers.
Can I simply control both a Rigol DG4162 (160 MHz sig gen) and a Rigol DS4024 (200 MHz o-scope) with a computer and simply feed pure sine waves into my circuit under test and query the scope (again via the computer) for RMS amplitude and phase? Run this all in a loop and then generate a mag/phase bode plot.
"Characterize" is a very broad term. Exactly what will you be trying to observe about your circuits? From what you describe, it appears that a spectrum analyzer is NOT what you want anyway, given that it's a scalar device. It sounds like you want to use a scope to do scope stuff, but would be interested in automating it. You can use a scope to generate a bode plot. However, if you automate this, you can count on very slow scans, because you will have code that adjusts the attenuation on the scope to keep the signal in range, use the setting to plot the point. Your software will also have to extract the phase. If you do this by hand, you will probably be much faster, since the AI between your ears will be able to sweep the frequency and adjust the scope settings until you see you need to measure another point.
Audio analyzers (as far as I know--I don't have one) can be useful if you are interested in scalar freq response, distortion, noise, etc.; but that's hardly general purpose, and not what you seem to indicate.
Dynamic signal analyzers (ignoring the point made about repairability of older units) can make bode plots, and are most often used for control system design, such as characterizing and stabilizing rotating or vibrating mechanical systems; but can be used in general electrical control/feedback design. These are expensive and most likely overkill for, say, filter characterization. You won't ever have to wonder if you need one. If you know enough to need one, you will know enough to know that you do.