mhuser / scikit-rf

RF and Microwave Engineering Scikit
http://scikit-rf.org
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

What difference between NZC and ZC IEEEP370? #1

Closed mhuser closed 2 years ago

mhuser commented 2 years ago

Hi @denzchoe thank you a lot for your feedback ! I had to manually activate the issues in the repo settings. From your comment here:

Just wondering what is the scenario when we should use ZC and nonZC?

In this example here: https://github.com/scikit-rf/scikit-rf/issues/521#issuecomment-1094118017, your fdf line is as such? <50 Ohm Thru> <1 x Width, 45 Ohm> <3 x Width> <1 x Width, 45 Ohm> <50 Ohm Thru> and the dut line is as such? <1 x Width, 45 Ohm> <3 x Width> <1 x Width, 45 Ohm>

In the IEEE paper, ZC is cited (p. 32) as the most sophisticated de-embedding tool available impedance-corrected 2X-Thru method to be used with C Class (RL < -6dB and IL > -15dB) fixtures that deviate from a perfect lossless transmission line. It is also cited at pp. 128-129 (but I did not found a real explanation, maybe am I blind). When the 2X-Thru is directly used for de-embedding, the difference between the 2X-Thru and actual fixture attached to the DUT, which appear before and after the DUT (i.e., causality error), is propagated to the extracted DUT results. On the other hand, such a causality error may be avoided when the impedance-corrected 2X-Thru de-embedding method is used. Based on https://github.com/scikit-rf/scikit-rf/issues/521#issuecomment-1094118017, here I my observation : 2xthru is <45 ohm><45 ohm> dut is <45 ohm><approx 20ohm (3xWidth)><45 ohm> fix-dut-fix is <45 ohm><45 ohm><approx 20ohm (3xWidth)><45 ohm><45 ohm>

Maybe we should try another scenario to get a better understanding ? I have seen in the paper they use also the free Qucs simulator to build test s-parameters test cases.

denzchoe commented 2 years ago

Thanks for your comment. Hmm.. so here is my question. From NISTMultilineTRL perspective (if sys Z = 50 Ohms), which one does the aftercal sees? NZC or ZC?

If I have the time, I will give it a try to check this scenario.

I always think that as per the example

2xthru is <45 ohm><45 ohm> dut is <45 ohm><approx 20ohm (3xWidth)><45 ohm> fix-dut-fix is <45 ohm><45 ohm><approx 20ohm (3xWidth)><45 ohm><45 ohm>

My understanding could be flawed. Need to experiment it or whenever you can point me to the right direction, I am in deep gratitude. :)

mhuser commented 2 years ago

I am ofteen myself confused about these questions. Usually, I assume following setup : A 50-ohm VNA that is connected with 50-ohm coaxial cables in my case to some printed circuit board artifact with coaxial connectors that end with copper track launches. Once the system is calibrated e.g. at the end of coaxial cable, the reference plane is moved there. In my understanding, this make a computation to ensure that t=0ns and 50ohm is believed to be at that place. The portion of time domaine before t=0ns could be tough as the coaxial cable before the reference plane. In the s-parameters, we basically have reflexion or transmission complex coefficients between 0 and 1 and we can say whatever impedance we want, and it will use it as base impedance for TDR computation. The measured artifact itself has not to be 50 ohm, tough it will be more easy to interpret if it is an uniform impedance transmission line. The impedance we will see at one end is the impedance terminating the other end transformed by the artifact (of course the more unmatched it is, the higher return and insertion loss). Knowing the impedance at both end, it is possible to compute the impedance of the artifact at a given frequency, what IFFT can help to turn into time domain impedance data, however we always miss the DC point that has to be extrapoled. Using renormalization, we can mathematically tweaks the results pretending our cables and system were another impedance, like 75 ohm, while the real hardware is still the same. However, I am still stuck not properly understanding the difference between NZC and ZC. ZC seems compute an impedance from S21 IFFT and renormalize everithing with that (line 1124). While NZC remove chunks of transmission lines with a certain Z. Once I stumble on that article, it doesn't really help but is some fun: s-parameter-renormalization-the-art-of-cheating

mhuser commented 2 years ago

Hi @denzchoe thank you a lot ! After sitting quietly and thinking more about your comment, I discovered an error in my NZC implementation ! From that point, things : escalated quickly, I downloaded the new version of the AICC tool your pointed out and NZC behaviour was different on it (but consistent with IEEE repo). I think I can explain now the difference between NZC and ZC: Let's suppose there is some manufacturing variations and the 2xthru has not the very same impedance as the fixture of the fixture-dut-fixture.

This is the reason ZC need the 2xthru and the fixture-dut-fixture data while NZC need only 2xthru. In former implementation, I was looking the impedance at the wront time, which gave me always results close to 50 ohm, later I was... renormalizing 50 ohm with 50 ohm. While comparing with the old AICC tools (that seems to have another behaviour), I comforted myself in my error. I am now working on an example with 2xthru impedance different of fixture-dut-fixture to demonstrate the difference between both methods. image

denzchoe commented 2 years ago

*side track. Hi mhuser, can you activate sponsoring? I would like to fulfil my appreciation here 😊 https://github.com/scikit-rf/scikit-rf/issues/521#issuecomment-1102722316

mhuser commented 2 years ago

Hi @denzchoe this has been done, but only for one beer then!🍻 😉

mhuser commented 2 years ago

Thank you so much @denzchoe ! Cheers 🍻