by William Harrington
The purpose of this document is to examine the output power capability of the power amplifier chosen by the Sputnik team for their module.
Signal generator was hooked up to input for Power Amplifier. Power Amplifier was powered off programmable power supply. Output of Power Amplifier hooked up to 4dB 20W attenuator which was hooked up to Spectrum Analyzer.
KW0x was hooked up to input for Power Amplifier. Power Amplifier was powered off programmable power supply. Output of Power Amplifier hooked up to 4dB 20W attenuator which was hooked up to Spectrum Analyzer.
In [26]:
import numpy as np
import matplotlib.pylab as plt
%matplotlib inline
from IPython.display import set_matplotlib_formats
# Graphing helper function
def setup_graph(title='', x_label='', y_label='', fig_size=None):
fig = plt.figure()
if fig_size != None:
fig.set_size_inches(fig_size[0], fig_size[1])
ax = fig.add_subplot(111)
ax.set_title(title)
ax.set_xlabel(x_label)
ax.set_ylabel(y_label)
In [27]:
# read the data
columns = np.loadtxt('RFPAtest.csv',
dtype=float,
delimiter=',',
unpack=True)
current = columns[0]
temp = columns[1]
input_power = columns[2]
output_power = columns[5]
In [28]:
setup_graph('Current vs. Output Power',
r'Output Power $(dBm)$',
'Current (Amps)',
(9,6.5))
plt.plot(output_power, current)
plt.show()
In [29]:
setup_graph('Current vs. Input Power',
r'Input Power $(dBm)$',
'Current (Amps)',
(9,6.5))
plt.plot(input_power, current)
plt.show()
In [30]:
setup_graph('Temperature vs. Current',
'Current (Amps)',
r'Temp $(\,^{\circ}\mathrm{C})$',
(9,6.5))
plt.plot(current, temp)
plt.show()
In [31]:
# read the data
columns = np.loadtxt('KW0xPAtest.csv',
dtype=float,
delimiter=',',
unpack=True)
current = columns[0]
temp = columns[1]
input_power = columns[2]
output_power = columns[5]
second_harm = columns[6]
In [32]:
setup_graph('Current vs. Output Power',
r'Output Power $(dBm)$',
'Current (Amps)',
(9,6.5))
plt.plot(output_power, current)
plt.show()
In [33]:
setup_graph('Current vs. Input Power',
r'Input Power $(dBm)$',
'Current (Amps)',
(9,6.5))
plt.plot(input_power, current)
plt.show()
In [34]:
setup_graph('Temperature vs. Current',
'Current (Amps)',
r'Temp $(\,^{\circ}\mathrm{C})$',
(9,6.5))
plt.plot(current, temp)
plt.show()
In [35]:
setup_graph('Output Power vs. Input Power',
'Input (dBm)',
'Output (dBm)',
(9,6.5))
plt.plot(input_power, output_power)
plt.show()
In [36]:
# get rid of 0 measurements
second_harm = second_harm[4:]
output_power = output_power[4:]
setup_graph('2nd Harmonic vs. Output Power',
r'Output Power $(dBm)$',
r'2nd Harmonic $(dBm)$',
(9,6.5))
plt.plot(output_power, second_harm)
plt.show()
In [37]:
delta = []
for i in range(len(output_power)):
delta.append(output_power[i]-second_harm[i])
setup_graph('Output Power - 2nd Harmonic vs. Output Power',
r'Output Power $(dBm)$',
r'Output Power - 2nd Harmonic $(dBm)$',
(9,6.5))
plt.plot(output_power, delta)
plt.show()