<aside> 🖥️
https://github.com/OdunugaRachel/Optimising-the-Superconducting-Frequency-Converters-for-Quantum-Computing-and-Astronomical-Apps.git
</aside>
This project explores an alternative path to achieving stable ninth harmonic generation by cascading two superconducting third harmonic generators. Each stage multiplies the frequency of an input pump signal using nonlinear mixing within a modulated microstrip line. This approach was developed after observing the challenges of directly generating higher-order harmonics in a single device. By carefully tuning geometric parameters (such as finger length, spacing, and modulation) and optimising the pump current, we aim to design a frequency converter that efficiently outputs a clean 9× signal (e.g., 10 GHz → 90 GHz). This has wide-reaching implications for quantum computing, where higher-frequency signals could improve qubit readout at elevated temperatures, and for astrophysical instrumentation, by unlocking access to previously untapped regions of the electromagnetic spectrum. This page documents the configurations tested, and simulation results obtained using MATLAB.
network_calc.m
g.finger.l = 24; %length of a capacitor 'finger', um add a bit to represent fringe effects
g.finger.w = 0.25; %.25; %width of the microstrip line (and fingers)
g.finger.p = 1; %period of the fingers (spacing between fingers), μm
g.ms.w = g.finger.w; %
g.ms.h = 0.15; %dielectric thickness
g.ms.eps = 10.3; %dielectric epsilon
g.ms.eps_upper = 10.4;
g.ms.t1 = 0.030; %microstrip conductor metal *thickness*
g.ms.t2 = 0.200; %ground plane *thickness*
%% modulation parameters
g.finger.modperiod = 90; %period of the modulation, μm
g.finger.modamp = 6.2;% %modulation amplitude, μm,
unit_cells = 900;
L = g.finger.modperiod*unit_cells; % Total length of the device (μm)
% Array of frequencies (Hz) over which the simulation is performed.
f = linspace( .01, 50.01, 50000)*1e9;
simulate0714harmonics.m
twpa.Istar = 4.5*1000; % scaling factor for the current
%twpa.Ip = twpa.Istar*0.08; % pump current
twpa.Ip = twpa.Istar*0.13;
% processing time increases a lot as we set the pump current higher
twpa.Idc = twpa.Istar*0.0; % dc Bias current which is set to zero
twpa.len = 110e-6*879*1; % length of the the device, I believe this is fixed
%% Compute Gain
% Frequencies over which to calculate gain
fcalc = 0.1e9:0.1e9:5.1e9; % pump frequencies
network_calc.m
g.finger.l = 20; %length of a capacitor 'finger', um add a bit to represent fringe effects
g.finger.w = 0.25; %.25; %width of the microstrip line (and fingers)
g.finger.p = 0.87; %period of the fingers (spacing between fingers), μm
g.ms.w = g.finger.w; %
g.ms.h = 0.15; %dielectric thickness
g.ms.eps = 10.3; %dielectric epsilon
g.ms.eps_upper = 10.4;
g.ms.t1 = 0.030; %microstrip conductor metal *thickness*
g.ms.t2 = 0.200; %ground plane *thickness*
%% modulation parameters
g.finger.modperiod = 120; %period of the modulation, μm
g.finger.modamp = 3.9;% %modulation amplitude, μm,
unit_cells = 750;
L = g.finger.modperiod*unit_cells; % Total length of the device (μm)
% Array of frequencies (Hz) over which the simulation is performed.
f = linspace( .01, 50.01, 50000)*1e9;
simulate0714harmonics.m
twpa.Istar = 4.5*1000; % scaling factor for the current
%twpa.Ip = twpa.Istar*0.08; % pump current
twpa.Ip = twpa.Istar*0.13;
% processing time increases a lot as we set the pump current higher
twpa.Idc = twpa.Istar*0.0; % dc Bias current which is set to zero
twpa.len = 110e-6*879*1; % length of the the device, I believe this is fixed
%% Compute Gain
% Frequencies over which to calculate gain
fcalc = 0.1e9:0.1e9:4.5e9; % pump frequencies
Better Configuration - Length divided by 5