Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save sriharijayaram5/73c3c2ed4c51919b75c5fd67119c2894 to your computer and use it in GitHub Desktop.
Save sriharijayaram5/73c3c2ed4c51919b75c5fd67119c2894 to your computer and use it in GitHub Desktop.
Running pulsed measurements in Qudi with Prime95B
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"from tqdm import tqdm\n",
"import datetime\n",
"import glob\n",
"import logic.pulsed.pulse_objects as po\n",
"import scipy.signal"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Attempt at rabi analysis"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAFpCAYAAABd1mjSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4FOXaBvD7TSCQ0DuhJChFRRQU\n7AW7WI4gdmP9VPSI/dijx3LEctSjxy4oKiRWLGA/iqAigoBKlx4ghN5DSCDJ8/3x7JDNZsvs7Mzu\nhty/68q1yeyUd0tmnnnL8xoRAREREVGySkl0AYiIiIjCYbBCRERESY3BChERESU1BitERESU1Bis\nEBERUVJjsEJERERJjcEKERERJTUGK0RERJTUGKwQERFRUmOwQkREREmtXqILEI3WrVtLly5dEl0M\nIiIicsGMGTM2iEibSOvVqmClS5cumD59eqKLQURERC4wxiy3sx6bgYiIiCipMVghIiKipMZghYiI\niJIagxUiIiJKagxWiIiIKKkxWCEiIqKkxmCFiIiIkhqDFSIiIkpqDFaIiIgoqTFYcSI/H+jSBUhJ\n0cf8/ESXiIiIaK9Vq9LtJ4X8fGDIEKCkRP9evlz/BoCcnMSVi4iIaC/FmpVo5eZWBSqWkhJdTkRE\nRK5jsBKtFSuiW05EREQxYbASrays6JYTERFRTBisRGvYMCAjo/qyjAxdTkRERK5jsBKtnBxg+HAg\nOxswRh+HD2fnWiIiIo9wNJATOTkMToiIiOKENStERESU1BisEBERUVJjsEJERERJjcEKERERJTUG\nK0RERJTUGKwQERFRUmOwQkREREmNwQoRERElNQYrRERElNQYrBAREVFSY7BCRERESY3BChERESU1\nBitERESU1BisEBERUVJjsEJERERJjcEKERERJTUGK0RERJTUGKwQERFRUmOwQkREREmNwQoREREl\nNQYrRERElNQYrBAREVFSY7BCRERESY3BChERESU1BiuB8vOBLl2AlBR9zM9PdImIiIjqtHqJLkBS\nyc8HhgwBSkr07+XL9W8AyMlJXLmIiIjqMFs1K8aYAcaYBcaYxcaYe4M8n22MGW+MmWWMmWiM6eS3\nfIYx5k9jzFxjzA1+2/Q1xsz27fMFY4xx72U5lJtbFahYSkp0ORERESVExGDFGJMK4GUAZwDoCeAS\n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\n"
},
"metadata": {
"image/png": {
"height": 361,
"width": 555
}
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[Model]]\n",
" (((((Model(amplitude_function, prefix='e1_') * Model(bare_sine_function, prefix='e1_')) * Model(barestretchedexponentialdecay_function, prefix='e1_')) + ((Model(amplitude_function, prefix='e2_') * Model(bare_sine_function, prefix='e2_')) * Model(barestretchedexponentialdecay_function, prefix='e2_'))) + ((Model(amplitude_function, prefix='e3_') * Model(bare_sine_function, prefix='e3_')) * Model(barestretchedexponentialdecay_function, prefix='e3_'))) + Model(constant_function))\n",
"[[Fit Statistics]]\n",
" # fitting method = leastsq\n",
" # function evals = 492\n",
" # data points = 100\n",
" # variables = 13\n",
" chi-square = 4.5491e-04\n",
" reduced chi-square = 5.2289e-06\n",
" Akaike info crit = -1204.05773\n",
" Bayesian info crit = -1170.19052\n",
"[[Variables]]\n",
" e1_amplitude: 0.00459715 +/- 0.00135555 (29.49%) (init = 0.00702352)\n",
" e1_frequency: -5718091.50 +/- 62012.0968 (1.08%) (init = -5092287)\n",
" e1_phase: 4.90708578 +/- 0.27827975 (5.67%) (init = 3.136081)\n",
" e1_beta: 1 (fixed)\n",
" e1_lifetime: 1.0664e-06 +/- 4.5009e-07 (42.21%) (init = 2.852816e-07)\n",
" e2_amplitude: 0.00865146 +/- 0.00178359 (20.62%) (init = 0.01115594)\n",
" e2_frequency: -6910935.44 +/- 63713.4759 (0.92%) (init = -6245556)\n",
" e2_phase: 3.59455961 +/- 0.18358682 (5.11%) (init = 3.141575)\n",
" e2_beta: 1 (fixed)\n",
" e2_lifetime: 5.8557e-07 +/- 1.4485e-07 (24.74%) (init = 7.698763e-08)\n",
" e3_amplitude: 0.01114472 +/- 534.202526 (4793325.91%) (init = 0.01465964)\n",
" e3_frequency: -894.188333 +/- 58963526.9 (6594083.68%) (init = -186529.2)\n",
" e3_phase: 2.90822911 +/- 11237.5822 (386406.36%) (init = 3.141584)\n",
" e3_beta: 1 (fixed)\n",
" e3_lifetime: 1.4259e-06 +/- 3.6908e-04 (25883.94%) (init = 6.943027e-08)\n",
" offset: 0.91781019 +/- 0.02678951 (2.92%) (init = 0.9193177)\n",
"[[Correlations]] (unreported correlations are < 0.100)\n",
" C(e3_amplitude, e3_phase) = 1.000\n",
" C(e3_amplitude, e3_frequency) = 0.996\n",
" C(e3_frequency, e3_phase) = 0.996\n",
" C(e3_lifetime, offset) = -0.867\n",
" C(e1_amplitude, e1_lifetime) = -0.840\n",
" C(e1_frequency, e1_phase) = -0.830\n",
" C(e2_amplitude, e2_lifetime) = -0.815\n",
" C(e2_frequency, e2_phase) = -0.792\n",
" C(e3_phase, e3_lifetime) = -0.615\n",
" C(e3_amplitude, e3_lifetime) = -0.614\n",
" C(e3_frequency, e3_lifetime) = -0.541\n",
" C(e1_amplitude, e2_amplitude) = 0.483\n",
" C(e1_amplitude, e2_phase) = -0.480\n",
" C(e1_phase, e2_amplitude) = 0.466\n",
" C(e1_amplitude, e2_frequency) = 0.443\n",
" C(e1_phase, e2_lifetime) = -0.437\n",
" C(e1_lifetime, e2_phase) = 0.435\n",
" C(e1_frequency, e2_amplitude) = -0.429\n",
" C(e1_lifetime, e2_frequency) = -0.390\n",
" C(e1_frequency, e2_lifetime) = 0.385\n",
" C(e1_phase, e2_phase) = 0.377\n",
" C(e1_lifetime, e2_amplitude) = -0.352\n",
" C(e1_amplitude, e2_lifetime) = -0.305\n",
" C(e1_frequency, e3_frequency) = -0.255\n",
" C(e1_frequency, e2_phase) = -0.255\n",
" C(e1_frequency, e3_amplitude) = -0.243\n",
" C(e1_frequency, e3_phase) = -0.242\n",
" C(e2_amplitude, e3_phase) = 0.224\n",
" C(e2_amplitude, e3_amplitude) = 0.224\n",
" C(e2_amplitude, e3_frequency) = 0.215\n",
" C(e2_amplitude, e3_lifetime) = -0.213\n",
" C(e1_lifetime, e2_lifetime) = 0.210\n",
" C(e1_phase, e2_frequency) = -0.201\n",
" C(e1_phase, e3_frequency) = 0.185\n",
" C(e1_phase, e3_amplitude) = 0.171\n",
" C(e1_phase, e3_phase) = 0.171\n",
" C(e3_phase, offset) = 0.151\n",
" C(e3_amplitude, offset) = 0.150\n",
" C(e2_lifetime, e3_phase) = -0.149\n",
" C(e2_lifetime, e3_amplitude) = -0.149\n",
" C(e2_lifetime, e3_frequency) = -0.143\n",
" C(e1_amplitude, e3_lifetime) = -0.141\n",
" C(e2_lifetime, e3_lifetime) = 0.134\n",
" C(e1_phase, offset) = -0.129\n",
" C(e1_frequency, e2_frequency) = 0.117\n",
" C(e2_amplitude, offset) = 0.111\n",
" C(e1_frequency, offset) = 0.110\n",
" C(e2_phase, offset) = -0.109\n",
" C(e1_amplitude, e3_phase) = 0.101\n",
" C(e1_amplitude, e3_amplitude) = 0.101\n",
"\n"
]
}
],
"source": [
"locs = 'C:/Data/Prime95B/2020/11/20201126/Pulsed/auto_rabi_small_roi_2000_0_-20_500_(150, 138)pxs_-2dBm_20201127-0856-50.npz'\n",
"\n",
"data = np.load(locs)\n",
"a = data['data'][:,0,40:52,80:82]/data['data'][:,1,40:52,80:82]\n",
"y = np.mean(a, axis=(1,2))\n",
"x = np.arange(2000,0,-20)*1e-9*1e6\n",
"plt.plot(x, y, 'ro')\n",
"\n",
"fit = fitlogic.make_sinetriplewiththreeexpdecay_fit(x_axis=x/1e6, data=y, estimator=fitlogic.estimate_sinetriplewiththreeexpdecay)\n",
"plt.plot(x, fit.best_fit, 'b--')\n",
"plt.show()\n",
"print(fit.fit_report())\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Attempt at T1 analysis"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n3gAAAABJRU5ErkJggg==\n"
},
"metadata": {
"image/png": {
"height": 361,
"width": 555
}
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n"
},
"metadata": {
"image/png": {
"height": 361,
"width": 546
}
},
"output_type": "display_data"
}
],
"source": [
"locs = 'C:/Data/Prime95B/2020/11/20201127/auto_T2_small_roi_6.91e6Hz_wref_pih_201000_0_-5000_100_(150, 138)pxs_-2dBm_20201129-2215-27.npz'\n",
"\n",
"data = np.load(locs)\n",
"a = 1/(data['data'][:,0,:,:])*(data['data'][:,1,:,:])\n",
"y = np.mean(a, axis=(1,2))\n",
"x = np.arange(201000,0,-5000)*1e-9\n",
"plt.plot(x, y, 'ro-')\n",
"\n",
"# fit = fitlogic.make_decayexponentialstretched_fit(x_axis=np.flip(x, axis=0), data=np.flip(y, axis=0), estimator=fitlogic.estimate_decayexponentialstretched)\n",
"# plt.plot(np.flip(x, axis=0), fit.best_fit, 'b--')\n",
"# plt.show()\n",
"# # print(fit.fit_report())#, fit.params['frequency']/1e6, 1/fit.params['frequency'])\n",
"# plt.plot(x, np.mean(data['data'][:,0,:,:], axis=(1,2)),'bo-')\n",
"# plt.plot(x, np.mean(data['data'][:,1,:,:], axis=(1,2)), 'ro-')\n",
"# plt.show()\n",
"\n",
"locs = 'C:/Data/Prime95B/2020/11/20201127/auto_T2_small_roi_6.91e6Hz_wref_3pih_201000_0_-5000_100_(150, 138)pxs_-2dBm_20201129-2314-22.npz'\n",
"\n",
"data = np.load(locs)\n",
"a = 1/(data['data'][:,0,:,:])*(data['data'][:,1,:,:])\n",
"z = np.mean(a, axis=(1,2))\n",
"x = np.arange(201000,0,-5000)*1e-9\n",
"plt.plot(x, z, 'ro-')\n",
"plt.plot(x, y, 'bo-')\n",
"\n",
"# fit = fitlogic.make_decayexponentialstretched_fit(x_axis=np.flip(x, axis=0), data=np.flip(y-z, axis=0), estimator=fitlogic.estimate_decayexponentialstretched)\n",
"# plt.plot(np.flip(x, axis=0), fit.best_fit, 'b--')\n",
"plt.show()\n",
"# print(fit.fit_report())#, fit.params['frequency']/1e6, 1/fit.params['frequency'])\n",
"plt.plot(x, np.mean(data['data'][:,0,:,:], axis=(1,2)),'bo-')\n",
"plt.plot(x, np.mean(data['data'][:,1,:,:], axis=(1,2)), 'ro-')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## For old data"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"av = []\n",
"x = []\n",
"locs = sorted(glob.glob('C:/Data/Prime95B/2020/11/20201124/Pulsed/*run_8*'), key=len)\n",
"for i,loc in enumerate(locs):\n",
" data = np.load(loc)\n",
"# print(loc)\n",
"# a = np.mean(data['data'], axis=(1,2))\n",
" a = data['data'][0]/data['data'][1]\n",
" a = np.mean(a[:,:])\n",
" av.append(a)\n",
" x.append(i)\n",
"x = np.arange(10,1200,20)*1e-9\n",
"y = np.array(av)\n",
"plt.plot(x, y, 'ro')\n",
"\n",
"fit = fitlogic.make_sineexponentialdecay_fit(x_axis=x[:], data=y[:], estimator=fitlogic.estimate_sineexponentialdecay)\n",
"plt.plot(x[:], fit.best_fit, 'b--')\n",
"plt.show()\n",
"print(fit.fit_report(), fit.params['frequency']/1e6, 1/fit.params['frequency'])\n"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.6\n"
]
}
],
"source": [
"def determine_ideal_mw_power(rabi_frequency, p0, v1):\n",
" p1 = p0 - 20*np.log10(rabi_frequency/v1) \n",
" return round(p1,2)\n",
"print(determine_ideal_mw_power(11.7*1e6, -6, 1/(40e-9)))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"t = np.arange(5,100,2)*1e-9\n",
"av = np.array(av)\n",
"sp = np.fft.fft(av)/len(av)\n",
"sp = sp[range(int(len(av)/2))]\n",
"samplingFrequency = len(t)\n",
"tpCount = len(av)\n",
"values = np.arange(int(tpCount/2))\n",
"timePeriod = tpCount/samplingFrequency\n",
"frequencies = values/timePeriod\n",
"\n",
"# freq = np.fft.fftfreq(t.shape[-1])\n",
"plt.plot(frequencies, abs(sp), 'bo')#, freq, sp.imag)\n",
"plt.show()\n",
"print(frequencies[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Creating pulse ensemble, uploading, running, collecting images - loop and save"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Rabi"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def make_rabi_pulse_block(ns, not_ref, rabi_ns=None):\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': True, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=3e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=500e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=1e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'auto_rabi_P95B_{ns}_{not_ref}', element_list=ele)\n",
" \n",
" return pulse_block"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# T1"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"def make_T1_pulse_block(ns, not_ref, rabi_ns):\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': True, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=3e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=500e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=1e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'auto_T1_P95B_{ns}_{not_ref}', element_list=ele)\n",
" \n",
" return pulse_block"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Hahn Echo"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [],
"source": [
"def make_HEcho_pulse_block(ns, not_ref, rabi_ns):\n",
" if not_ref:\n",
" last_ns = rabi_ns/4\n",
" else:\n",
" last_ns = rabi_ns*3/4\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': True, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/4*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': True, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': True, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=last_ns*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': True, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=3e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=500e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=1e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'auto_HEcho_P95B_{ns}_{not_ref}', element_list=ele)\n",
" \n",
" return pulse_block"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hahn Echo w/ reference"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [],
"source": [
"def make_HEcho_pulse_block_w_ref_pih(ns, not_ref, rabi_ns):\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/4*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/4*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': True, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=3e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=500e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=1e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'auto_HEcho_P95B_{ns}_{not_ref}', element_list=ele)\n",
" \n",
" return pulse_block\n",
"\n",
"def make_HEcho_pulse_block_w_ref_3pih(ns, not_ref, rabi_ns):\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/4*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ns/2*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': not_ref, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=rabi_ns*3/4*1e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" d_ch = {'d_ch1': True, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=3e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=500e-9, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
"\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=1e-6, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'auto_HEcho_P95B_{ns}_{not_ref}', element_list=ele)\n",
" \n",
" return pulse_block"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Create and upload pulse ensemble"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def make_trigger_cam_block(ms):\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': True, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ms*1e-3, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'trigger_cam_{ms}', element_list=ele)\n",
" \n",
" return pulse_block\n",
"\n",
"def wait_block(ms):\n",
" ele = []\n",
" d_ch = {'d_ch1': False, 'd_ch2': False, 'd_ch4': False, 'd_ch3': False, 'd_ch5': False, 'd_ch6': False, 'd_ch7': False, 'd_ch8': False}\n",
" ele.append(po.PulseBlockElement(init_length_s=ms*1e-3, increment_s=0, pulse_function=None, digital_high=d_ch, laser_on=False))\n",
" \n",
" pulse_block = po.PulseBlock(name=f'wait_block_{ms}', element_list=ele)\n",
" \n",
" return pulse_block"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Upload function"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def upload_CW_ensemble(t_ns, rep, pulse_fnt, rabi_ns):\n",
" pulse = pulse_fnt(t_ns, True, rabi_ns)\n",
" pulse_ref = pulse_fnt(t_ns, False, rabi_ns)\n",
" trigger_cam = make_trigger_cam_block(26)\n",
" wait = wait_block(100)\n",
"\n",
" created_blocks = [pulse, pulse_ref, trigger_cam, wait]\n",
" for block in created_blocks:\n",
" sequencegeneratorlogic.save_block(block)\n",
"\n",
" bl = [(trigger_cam.name,1), (pulse.name,rep), (wait.name,1), (trigger_cam.name,1), (pulse_ref.name,rep)]\n",
" auto_pulse_CW = po.PulseBlockEnsemble(name='auto_pulse_CW', block_list=bl, rotating_frame=False)\n",
"\n",
" ensemble = auto_pulse_CW\n",
" ensemblename = auto_pulse_CW.name\n",
"\n",
" sequencegeneratorlogic.save_ensemble(ensemble)\n",
" sequencegeneratorlogic.sample_pulse_block_ensemble(ensemblename)\n",
" sequencegeneratorlogic.load_ensemble(ensemblename)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Run pulse and collect image function"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def do_cam_CW_pulsed_measure():\n",
" mycamera.ready_pulsed(2)\n",
"\n",
" pulsedmeasurementlogic.pulse_generator_on()\n",
" mycamlogic.start_trigger_seq(2)\n",
" \n",
" pulsedmeasurementlogic.pulse_generator_off()\n",
" return mycamlogic.get_last_image()\n",
"\n",
"def set_start_MW(power, freq):\n",
" settings = {\n",
" 'power': power,\n",
" 'frequency': freq,\n",
" 'use_ext_microwave': True\n",
" }\n",
" pulsedmeasurementlogic.set_microwave_settings(settings_dict=settings)\n",
" pulsedmeasurementlogic.microwave_on()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Main function"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def main(start, stop, step, n_runs, rep, power, freq, tag, pulse_fnt, rabi_ns):\n",
" tau_list = np.arange(start,stop,step)\n",
" size = mycamlogic.get_size()\n",
" set_start_MW(power, freq)\n",
" save_array = np.zeros((len(tau_list), 2, size[1], size[0]), dtype = np.float64)\n",
" for idx, t_ns in enumerate(tqdm(tau_list)):\n",
" upload_CW_ensemble(t_ns, rep, pulse_fnt, rabi_ns)\n",
" img = np.zeros((2, size[1], size[0]), dtype = np.float64)\n",
" for i in range(n_runs):\n",
" img += do_cam_CW_pulsed_measure()\n",
" img = img/n_runs\n",
" save_array[idx] = img\n",
" timestamp = datetime.datetime.now()\n",
" t = timestamp.strftime(\"%Y%m%d-%H%M-%S\")\n",
" np.savez_compressed(f'C:/Data/Prime95B/2020/11/20201127/auto_{tag}_{start}_{stop}_{step}_{n_runs}_{size}pxs_{power}dBm_{t}', data=save_array)\n",
" pulsedmeasurementlogic.microwave_off()\n",
" mycamera.pulsed_done()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Rabi"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|#################################################################################################################################################################################################| 100/100 [9:16:50<00:00, 334.11s/it]\n"
]
}
],
"source": [
"main(start=2000, stop=0, step=-20, n_runs=500, rep=10000, power=-2, freq=2.8625e9, tag='rabi_small_roi', pulse_fnt=make_rabi_pulse_block, rabi_ns=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### T1"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|#####################################################################################################################################################################################################| 10/10 [22:20<00:00, 134.03s/it]\n"
]
}
],
"source": [
"main(start=4500100, stop=0, step=-500000, n_runs=100, rep=150, power=-2, freq=2.8625e9, tag='T1_small_roi_6.91e6Hz_2', pulse_fnt=make_T1_pulse_block, rabi_ns=(1/6.910936e6)*1e9)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### HEcho"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|###################################################################################################################################################################################################| 41/41 [2:40:30<00:00, 234.88s/it]\n"
]
}
],
"source": [
"main(start=201000, stop=0, step=-5000, n_runs=100, rep=6000, power=-2, freq=2.8625e9, tag='T2_small_roi_6.91e6Hz_correct', pulse_fnt=make_HEcho_pulse_block, rabi_ns=(1/6.910936e6)*1e9)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|######################################################################################################################################################################################################| 41/41 [49:16<00:00, 72.11s/it]\n"
]
}
],
"source": [
"# main(start=201000, stop=0, step=-5000, n_runs=100, rep=1000, power=-2, freq=2.8625e9, tag='T2_small_roi_6.91e6Hz_wref_pih', pulse_fnt=make_HEcho_pulse_block_w_ref_pih, rabi_ns=(1/6.910936e6)*1e9)\n",
"main(start=201000, stop=0, step=-5000, n_runs=100, rep=1000, power=-2, freq=2.8625e9, tag='T2_small_roi_6.91e6Hz_wref_3pih', pulse_fnt=make_HEcho_pulse_block_w_ref_pih, rabi_ns=(1/6.910936e6)*1e9)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[201000 196000 191000 186000 181000 176000 171000 166000 161000 156000\n",
" 151000 146000 141000 136000 131000 126000 121000 116000 111000 106000\n",
" 101000 96000 91000 86000 81000 76000 71000 66000 61000 56000\n",
" 51000 46000 41000 36000 31000 26000 21000 16000 11000 6000\n",
" 1000]\n",
"0.75\n"
]
}
],
"source": [
"size = mycamlogic.get_size()\n",
"print(np.arange(201000,0,-5000))\n",
"print(50*15000/1e6)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Qudi",
"language": "python",
"name": "qudi"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": "3.6.5"
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment