Boulder-Cryogenic-Quantum-Testbed / scresonators

Data analysis code for cryogenic resonator measurement
MIT License
30 stars 25 forks source link

Standard resonator data format #19

Closed crmcrae closed 1 year ago

crmcrae commented 5 years ago

Hi all,

Due to community feedback about issues with fitting a variety of data formats, I went through the datasets we have so far and compiled guidelines for a standard data format. Going forward, we hope that everyone can share their data in the following format:

Three column .csv file starting in row 1, with no empty rows between data. Data should be the raw data with no normalization or frequency shift.

Column 1: Monotonically increasing frequency in GHz

Column 2: Magnitude of S21 in dB (log mag)

Column 3: Phase of S21 in radians

Other info to be included in a .txt accompanying the data (encouraged but not required): Input power (dBm) Number of averages IFBW Fridge temperature (mK) Type of device (materials, design geometry, etc.)

Please let me know if you have any questions or feedback about the guidelines. We're still in the early stages of this effort so any comments would be very helpful.

The NIST and Google data should be in the correct format already, and the GitHub will be updated when other datasets are reformatted.

Thanks!

joshmutus commented 5 years ago

This is a great start to regularizing things. The only suggestion I'd make is the accompanying text file use something like JSON or XML to make it easy to import from the code side of things.

joshmutus commented 4 years ago

So there's a standard adopted by Keysight that exists. Perhaps we should look at using that

FaustinCarter commented 4 years ago

All the spice simulators will import touchstone as does scikit-rf. So this is a good idea.

On Fri, Feb 7, 2020, 16:25 Josh Mutus notifications@github.com wrote:

So there's a standard adopted by Keysight that exists https://ibis.org/connector/touchstone_spec11.pdf. Perhaps we should look at using that

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Boulder-Cryogenic-Quantum-Testbed/measurement/issues/19?email_source=notifications&email_token=ACTQRRFNV6KHDIIHV2BODSLRBX3WTA5CNFSM4HJUOEBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELFCIVQ#issuecomment-583672918, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTQRRGFIDZ7CUXAV6OSO6DRBX3WTANCNFSM4HJUOEBA .

crmcrae commented 4 years ago

I agree, this looks great! @mullinska let's implement the Keysight Touchstone format as the standard input for our code.

mullinska commented 4 years ago

Great. I'm glad we could get that figured out. I'll get to work on updating this as soon as possible.

mullinska commented 4 years ago

Hi guys, I just wanted to let you all know that I've encountered a bit of an issue with the Keysight format that we've discussed using. If you look at page 7 example 4 in the link that Josh posted above, you'll notice that the format includes data for S11, S21, S12 and S22 for a 2 port measurement instead of just the S21 that we care about. If we follow the format we would need to figure out some value to put in the columns for the other port combinations, or we could go against the format and only include the columns for S21 data. Of course there may be some other option I haven't listed as well. In any case it would be nice to discuss what to do about this so I can fully integrate it into the code. I've already finished the header reading section so data reading is all I really have left. Please let me know what you all think, thanks.

joshmutus commented 4 years ago

Can we fill the other columns with NaN? Does it have anything in the spec for missing data?

mullinska commented 4 years ago

Hi @joshmutus , sorry for the late reply. I've looked through the touchstone file syntax and rules in detail. I can't find anything in the document about missing data, but it would appear that as long as we use ASCII characters in the standard range it should be fine. So just typing the letters "NaN" would work, however something like ASCII control character 0 (NULL) would not. There doesn't really appear to be a standard for missing data as far as I can see though. However, my question was more specific to file sizes. I wasn't sure if we needed to specify that every other column besides S21 is blank by putting something like NaN in, or whether we could just only include the column data for S21. After all, including column data for things we don't care about seems like a waste of file space to me, but I wanted to check to make sure.

scottito commented 1 year ago

Closing this issue because we are using the Keysight Touchstone format as standard.