import matplotlib.pyplot as plt import IQMixer.IQCalib as IQ import Analyse_Fit_SingleKID as FitSingle import Analyse_PSD as PSD import FileReader as reader IQCorrectionfile = 'IQMixer_Calib/20160803_1M_BOX/EllipseFit_0dBm_2000MHz_8000MHz.csv' sweepdata_folder = "../../../MeasurementResult/20160814_Al_Noguchi/" sweepdata_file = 'Sweep_4579MHz' freq, I, Q = reader.ReadSweep(sweepdata_folder, sweepdata_file) paras = IQ.IQ_GetPara(IQCorrectionfile, int(round(freq[len(freq) / 2] / 1e6))) I_mixercalibrated, Q_mixercalibrated = IQ.IQ_CorrtBarends(paras, I, Q) #### CUT #### bandwidth = 1e6 freq, real, imag = reader.CutSweep(bandwidth, freq, I_mixercalibrated, Q_mixercalibrated) comp = np.asarray([real[i] + imag[i] * 1j for i in range(0, len(real))]) ### Fit ### tau = 45e-9 a, a_err, alpha, alpha_err, tau, tau_err, phi0, phi0_err, fr, fr_err, Qr, Qr_err, Qc, Qc_err, Qi = FitSingle.Fit_7parameterIQ1( freq, comp, tau) fitIQ1 = a * np.exp(1j * alpha) * np.exp( -2 * np.pi * 1j * freq * tau) * (1 - (Qr / Qc * np.exp(1j * phi0)) / (1 + 2 * 1j * Qr * (freq - fr) / fr)) comptilt = comp * np.exp(2 * np.pi * 1j * freq * tau) plt.axis('equal') plt.plot(I_mixercalibrated, Q_mixercalibrated, 'b') plt.plot(fitIQ1.real, fitIQ1.imag, '.r') plt.show() print fr