It would be useful to develop a process for adding a Silicon Dioxide layer in between two niobium layers. This would allow us to easily make grounding straps to connect ground planes over CPWs, and would let us make Parallel Plate capacitors rather than interdigitated.
While we have a process do deposit the SiOx (PECVD with the Oxford at CNF), we do not have a process for etching that won't attack the Niobium ground layer. A standard dry (plasma) etch would etch the Niobium. However, some literature searches indicate that perhaps a buffered oxide etch (BOE) will not etch the Nb ground layer. This is a test of that process.
In [1]:
import ResonatorFit
from os import path, listdir, curdir
from numpy import pi, loadtxt
from bokeh.plotting import *
In [2]:
dataPath = path.join(curdir, 'sioxEtchTest', 'Run1')
run1 = []
for f in listdir(dataPath):
run1.append(ResonatorFit.analyze(path.join(dataPath, f)))
In [4]:
dataPath = path.join(curdir, 'sioxEtchTest', 'Run1')
for f in listdir(dataPath):
ResonatorFit.plotS21(path.join(dataPath, f))
In [3]:
dataPath = path.join(curdir, 'sioxEtchTest', 'Run2')
run2=[]
for f in listdir(dataPath):
run2.append(ResonatorFit.analyze(path.join(dataPath, f)))
In [10]:
print('Filename | $f_0$ (GHz) | Q | $\kappa$ (MHz)')
print('----|-----|----')
for data in run1:
print('{} | {:.3f} | {:.2e} | {:.3f}').format(data['filename'], data['f0']*1e-9, data['Q'], data['kappa']/(2*pi)*1e-6)
for data in run2:
print('{} | {:.3f} | {:.2e} | {:.3f}').format(data['filename'], data['f0']*1e-9, data['Q'], data['kappa']/(2*pi)*1e-6)
Filename | $f_0$ (GHz) | Q | $\kappa$ (MHz) |
---|---|---|---|
Run1 250mK Etched | 4.908 | 1.45e+03 | 3.377 |
Run1 3K Etched | 4.89 | 815 | 6 ($\delta f$) |
Run1 250mK not Etched | 5.001 | 2.11e+03 | 2.375 |
Run1 3K not Etched | 4.99 | 1.66e+03 | 3 ($\delta f$) |
Run2\Input 1 250mK | 5.006 | 2.06e+03 | 2.429 |
Run2\Input 1 3K | 4.999 | 1.62e+03 | 3.081 |
Run2\Input 2 250mK | 4.867 | 3.35e+03 | 1.455 |
Run2\Input 2 3K | 4.843 | 1.06e+03 | 4.579 |
In [3]:
4.99e9/3e6
Out[3]:
In [3]:
Plot?
In [15]:
def plotS21Together(filepath, filenames, showPlot=True):
fig = figure(
x_axis_label="Frequency (GHz)",
y_axis_label="|S21| (dBm)")
colors = ['blue', 'orange', 'green', 'yellow']
for i, filename in enumerate(filenames):
x, y = loadtxt(path.join(filepath, filename), comments='!', skiprows=10, usecols=(0, 3), unpack=True)
fig.circle(x*1e-9,y, legend = filename, color=colors[i], fill_color=None)
if showPlot:
show(fig)
else:
return fig,x,y
In [16]:
dataPath = path.join(curdir, 'sioxEtchTest', 'Run1')
plotS21Together(dataPath, listdir(dataPath))
In [17]:
dataPath = path.join(curdir, 'sioxEtchTest', 'Run2')
plotS21Together(dataPath, listdir(dataPath))
In [ ]: