This only works if the detector and the function generator are synchronous.
our dso got 2 channel right? ch1 = input (ie before the DUT, after the signal), ch2 = DUT output. to compensate for ch's phase discrepancy, replace DUT -> short. so, FFT1 = ch1, FFT2 = ch2... FFT1 - FFT2 = difference. sure my rigol cannot do FFT subtraction.
Otherwise the phase of the FFT is meaningless ... The FFT function on most oscilloscopes only shows the magnitude for this reason.
its up to you to put a meaning to it or not.
it actually has a worse SNR than a typical swept-receiver measurement
ignore the (other) harmonics. feed in sine as clean as you have. run FFT, get the freq with max magnitude only, thats our carrier! now look at the complex number's phases for that element (frequency) in FFT1 and FFT2, substract... we got phase difference.
In any case, using an FFT for network analysis is not usually a big advantage:
it has! you dont have to pay a fortune for it
This is exactly because of the huge advantage FFTs have in spectrum analysis: they are recording data at every frequency at all times.
so thats the advantage, but you dont have to have that huge. as i said, ignore the harmonics. only thing to concern with FFT is spectral leakage, worst if it reaches the carrier frequency. i see thats the major drawback that makes FFT not suitable for all application. and you have to put the algorithm in hardware as the second.
now i'm not familiar with VNA or SA hardware design, and i know its the way to go. and i dont say FFT is the best. just giving a quick reply on another cheaper method and more accurate than eye sight and using protactor on the LCD. my 2cents, more detailed info are welcomed.