Compare commits
3 commits
ecb444e430
...
46e6239b9a
Author | SHA1 | Date | |
---|---|---|---|
|
46e6239b9a | ||
|
9b0520bee8 | ||
|
d246d15360 |
8 changed files with 18108 additions and 9 deletions
3001
Images/Datavis/IMS Measurements/Spectrum_23.csv
Normal file
3001
Images/Datavis/IMS Measurements/Spectrum_23.csv
Normal file
File diff suppressed because it is too large
Load diff
3001
Images/Datavis/IMS Measurements/Spectrum_37.csv
Normal file
3001
Images/Datavis/IMS Measurements/Spectrum_37.csv
Normal file
File diff suppressed because it is too large
Load diff
3001
Images/Datavis/IMS Measurements/Spectrum_45.csv
Normal file
3001
Images/Datavis/IMS Measurements/Spectrum_45.csv
Normal file
File diff suppressed because it is too large
Load diff
3001
Images/Datavis/IMS Measurements/Spectrum_54.csv
Normal file
3001
Images/Datavis/IMS Measurements/Spectrum_54.csv
Normal file
File diff suppressed because it is too large
Load diff
3001
Images/Datavis/IMS Measurements/Spectrum_59.csv
Normal file
3001
Images/Datavis/IMS Measurements/Spectrum_59.csv
Normal file
File diff suppressed because it is too large
Load diff
3001
Images/Datavis/IMS Measurements/Spectrum_7.csv
Normal file
3001
Images/Datavis/IMS Measurements/Spectrum_7.csv
Normal file
File diff suppressed because it is too large
Load diff
|
@ -194,6 +194,9 @@ def decorate_ax(ax, plot_config):
|
|||
row.mode= "expand"
|
||||
row.align="right"
|
||||
|
||||
if('legend_title' in plot_config):
|
||||
legend.set_title(plot_config['legend_title']);
|
||||
|
||||
ax.grid(True);
|
||||
|
||||
def plot_single_graph(fig, plot_config, plot_data):
|
||||
|
@ -207,7 +210,7 @@ def plot_single_graph(fig, plot_config, plot_data):
|
|||
x_data = plot_data[x_key];
|
||||
y_data = plot_data[y_key];
|
||||
|
||||
ax.plot(x_data, y_data);
|
||||
ax.plot(x_data, y_data, linewidth=plot_config.get('linewidth'));
|
||||
|
||||
if(not 'xformatter' in plot_config):
|
||||
plot_config['xformatter'] = 'engineering';
|
||||
|
@ -231,16 +234,19 @@ def plot_lt_sweep(fig, plot_config, plot_data):
|
|||
if(y_key == None):
|
||||
raise RuntimeError("No Y-Data Key (`y_key`) specified for plot!")
|
||||
|
||||
num_steps = len(plot_data['steps'])
|
||||
|
||||
for idx, step in enumerate(plot_data['steps']):
|
||||
plot_params = dict()
|
||||
plot_params['label'] = step['step']
|
||||
|
||||
if(plot_config.get('colourmap', 'coolwarm') == 'coolwarm'):
|
||||
num_steps = len(plot_data['steps'])
|
||||
cmap = plt.cm.coolwarm
|
||||
if(plot_config.get('colourmap', 'coolwarm') == 'coolwarm'):
|
||||
cmap = plt.cm.coolwarm
|
||||
plot_params['color'] = cmap(idx/(num_steps-1))
|
||||
|
||||
plot_params['linewidth'] = plot_config.get('linewidth');
|
||||
|
||||
for idx, step in enumerate(plot_data['steps']):
|
||||
ax.plot(step[x_key], step[y_key], color=cmap(idx/(num_steps-1)), label=step['step']);
|
||||
else:
|
||||
for idx, step in enumerate(plot_data['steps']):
|
||||
ax.plot(step[x_key], step[y_key], label=step['step']);
|
||||
ax.plot(step[x_key], step[y_key], **plot_params)
|
||||
|
||||
if(not 'xformatter' in plot_config):
|
||||
plot_config['xformatter'] = 'engineering';
|
||||
|
@ -266,9 +272,45 @@ def perform_bandwidth_normalization(plot_data, plot_config):
|
|||
|
||||
step[plot_config['y_key']] = new_y_data
|
||||
|
||||
def perform_peak_normalization(plot_data, plot_config):
|
||||
print("Normalizing peak height to 1")
|
||||
|
||||
for step in plot_data['steps']:
|
||||
y_data = step[plot_config['y_key']]
|
||||
new_y_data = []
|
||||
|
||||
y_max = max(y_data)
|
||||
y_min = min(y_data)
|
||||
|
||||
scaling_factor = 0.1 + 0.9*(y_max if (y_max > (-y_min)) else y_min)
|
||||
|
||||
for datapoint in y_data:
|
||||
new_y_data.append(datapoint / scaling_factor)
|
||||
|
||||
step[plot_config['y_key']] = new_y_data
|
||||
|
||||
def perform_offset_removal(plot_data, plot_config):
|
||||
print("Removing offset")
|
||||
|
||||
for step in plot_data['steps']:
|
||||
y_data = step[plot_config['y_key']]
|
||||
new_y_data = []
|
||||
|
||||
offset_value = np.percentile(y_data, 30) * 0.8
|
||||
|
||||
for datapoint in y_data:
|
||||
new_y_data.append(datapoint - offset_value)
|
||||
|
||||
step[plot_config['y_key']] = new_y_data
|
||||
|
||||
|
||||
def perform_processing_step(data_process_step, plot_data, plot_config):
|
||||
if(data_process_step == 'normalize_bandwidth'):
|
||||
perform_bandwidth_normalization(plot_data, plot_config)
|
||||
if(data_process_step == 'remove_offset'):
|
||||
perform_offset_removal(plot_data, plot_config)
|
||||
if(data_process_step == 'normalize_peak'):
|
||||
perform_peak_normalization(plot_data, plot_config)
|
||||
|
||||
def generate_plot(plot_config):
|
||||
global YAML_DIR;
|
||||
|
|
|
@ -7,6 +7,56 @@ defaults:
|
|||
Cin: $C_{in}$
|
||||
|
||||
plots:
|
||||
- loadtype: multicsv
|
||||
load:
|
||||
Gemitiv: IMS Measurements/Spectrum_7.csv
|
||||
HighTIME: IMS Measurements/Spectrum_23.csv
|
||||
|
||||
load_values: ["time", "voltage"]
|
||||
|
||||
type: lt_sweep
|
||||
|
||||
data_processing_steps:
|
||||
- normalize_peak
|
||||
- remove_offset
|
||||
- normalize_peak
|
||||
|
||||
y_key: voltage
|
||||
x_key: time
|
||||
|
||||
xscale: linear
|
||||
|
||||
xlabel: Zeit (s)
|
||||
ylabel: Normalisierter Messwert (a.u.)
|
||||
|
||||
linewidth: 1
|
||||
|
||||
ofile: IMS Measurements/averaged_compare.png
|
||||
- loadtype: multicsv
|
||||
load:
|
||||
Gemitiv: IMS Measurements/Spectrum_59.csv
|
||||
HighTIME: IMS Measurements/Spectrum_37.csv
|
||||
|
||||
load_values: ["time", "voltage"]
|
||||
|
||||
type: lt_sweep
|
||||
|
||||
data_processing_steps:
|
||||
- normalize_peak
|
||||
- remove_offset
|
||||
- normalize_peak
|
||||
|
||||
y_key: voltage
|
||||
x_key: time
|
||||
|
||||
xscale: linear
|
||||
|
||||
xlabel: Zeit (s)
|
||||
ylabel: Normalisierter Messwert (a.u.)
|
||||
|
||||
linewidth: 0.8
|
||||
|
||||
ofile: IMS Measurements/raw_compare.png
|
||||
- load:
|
||||
47M N.1: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
||||
47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
||||
|
@ -668,6 +718,7 @@ plots:
|
|||
y_key: V(n002) dB
|
||||
|
||||
title: Verstärkung bei variiertem GBWP
|
||||
legend_title: GBWP
|
||||
ylabel: Normalisierte Verstärkung (dB)
|
||||
|
||||
- load: DesignEstimate/CompositeStage_ADA4817_StageAmpSweep_bandwidth.txt
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue