Beispiel #1
0
    for freq in range(RF_Freq_Start / RF_Freq_Interval,
                      RF_Freq_End / RF_Freq_Interval + 1):
        ### read this file
        name_of_file = RF_Power + '_' + str(freq * 10) + 'MHz.csv'
        result = []
        with open(folder + name_of_file, 'r') as f:
            for line in f:
                result.append(map(str, line.split(',')))

        I = [float(result[i][1]) for i in range(0, len(result))]
        Q = [
            float(result[i][2].replace("\n", ""))
            for i in range(0, len(result))
        ]
        ### fit I, Q with lmfit and get five values and their 1-sigma standard error
        x_c, x_c_err, y_c, y_c_err, x_dim, x_dim_err, y_dim, y_dim_err, angle, angle_err = Fitter.Fit_Ellipse(
            I, Q)
        ellipse_array.append([
            x_c, x_c_err, y_c, y_c_err, x_dim, x_dim_err, y_dim, y_dim_err,
            angle, angle_err
        ])

        ###
        A_I = np.sqrt(x_dim**2 * np.cos(angle)**2 +
                      y_dim**2 * np.sin(angle)**2)
        A_Q = np.sqrt(x_dim**2 * np.sin(angle)**2 +
                      y_dim**2 * np.cos(angle)**2)
        alpha_1 = np.arctan2(y_dim * np.sin(angle), x_dim * np.cos(angle))
        alpha_2 = np.pi - np.arctan2(y_dim * np.cos(angle),
                                     x_dim * np.sin(angle))
        gamma = alpha_1 - alpha_2
        mixer_para_array.append([A_I, A_Q, alpha_1, alpha_2, gamma])