I am using E8361A to measure S12 of a typical dual-polarized antenna (Isolation of ports). The frequency range is between 3-8 GHz. Let's consider that S12 is almost -30 dB (with a small amplitude deviation) within the frequency band. I use the "Trace Math", described here, to store the S12 to the memory (Data=>Memory). In the "Data Math" section, I choose (Data – Memory), as shown in the figure below.
So, the plotted result shows (S12 – S'12), which should be mathematically zero or -infinity in dB scale, because the setup, situation, etc. is the same as before, so S12 = S'12. It means that I have subtracted a typical data from itself.
However, the actual result is between -55dB and -75 dB, as shown in the figure below (the graph is plotted only for a limited bandwidth). Now, here is my question: Is this graph correct? Why the graph shows an average of -65 dB, while the dynamic range of the receiver is more than 100 dB?
First, I was expecting that the graph should be less than -100 (or close to the noise level of the device). Later, I thought the dynamic accuracy (or ADC resolution of the receiver) might not let the graph reduces further. For example, if S12 = -30 dB and S'12 = -29.85 dB, then S12 – S'12 would be -65 dB (Note that "Data – Memory" is performed on linear data). This example shows there is an error of 0.15 dB between S12 and S'12. How can I reduce this error? How can I estimate this error for other value S12 (like for S12 = -40 dB)?
Also, I have used an average factor at a very low IF bandwidth (e.g. 10 Hz), but the result did not change significantly (reduced by 2-5 dB).
Thanks in advance