Exemplo n.º 1
0
send_command(duty_cycle=pwm)

# fire up the scope
print("\n\n")
ps = open_pico()
configure_channel(ps, 'A')
configure_channel(ps, 'B')
ps.setSimpleTrigger('A', 1.0, 'Falling', timeout_ms=100, enabled=True)

(sampling_interval, nSamples,
 maxSamples) = configure_sampling(ps, 1.0 / frequency, multiplicity=mult)
t = np.linspace(0, sampling_interval * nSamples, num=nSamples)

plt.ion()
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12, 8))
set_as_time(ax, fontsize=fontsize)

for i in range(numRuns):

    dataA = getData(ps, nSamples, channel='A')
    dataB = getData(ps, nSamples, channel='B')

    fout.write('run %d\n' % i)
    fout.write('A\n' + ', '.join(map(str, dataA)) + '\n\n')
    fout.write('B\n' + ', '.join(map(str, dataB)) + '\n\n')

    # # do the FT
    # spectrum = np.fft.fft(np.array(dataA), nSamples)
    # spectrumB = np.fft.fft(np.array(dataB), nSamples)
    # freqs = np.fft.fftfreq(nSamples, sampling_interval)
Exemplo n.º 2
0
input_frequencies = np.arange(1000, 3000, step=25)
mult = int(def_input('Number of cycles', default=50))
numRuns = int(def_input('Number of runs', default=10))
name_root = def_input('Filename root', default='loop_pc1')
data_dir = 'data/loop/'

# open the files and write a heading
fout = open(data_dir + name_root + '.tsv', 'w')
wvout = open('{0}waveforms/{1}_wv.csv'.format(data_dir, name_root), 'w')

fout.write('f_in\tmean_A (V)\tf_A (Hz)\tmean_B (V)\tf_B (Hz)\n')

# setup the plot
plt.ion()
fig, [ax, ax1] = plt.subplots(nrows=2, ncols=1, figsize=(12, 9))
set_as_time(ax, fontsize=FONTSIZE)
set_as_freq(ax1, fontsize=FONTSIZE)
plt.tight_layout()

# fire up the scope
print("\n\n")
ps = open_pico()
configure_channel(ps, 'A')
configure_channel(ps, 'B')
ps.setSimpleTrigger('B', 1.0, 'Falling', timeout_ms=100, enabled=True)

old_f = int(1e3)

for freq in input_frequencies:
    print('\n{0} Testing at: {1:.3e} Hz {2}'.format(SEP, freq, SEP))