From 118850f81346a68d7abaf7a30a42e8f230a6c96a Mon Sep 17 00:00:00 2001 From: Jonathan Hargreaves <hargreaves@astron.nl> Date: Thu, 12 Jul 2018 14:28:22 +0000 Subject: [PATCH] Change to call beamweights as a class --- .../commissioning/arts_sc4_tabs_weights.py | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/applications/arts/commissioning/arts_sc4_tabs_weights.py b/applications/arts/commissioning/arts_sc4_tabs_weights.py index 663acc34d5..290889839c 100644 --- a/applications/arts/commissioning/arts_sc4_tabs_weights.py +++ b/applications/arts/commissioning/arts_sc4_tabs_weights.py @@ -31,28 +31,41 @@ """ - - - import math import pi_arts_tab_beamformer_weights +from subprocess import Popen, PIPE +from time import sleep +import node_io +import test_case + num_dish = 10 num_tabs = 12 +num_beamlets = 88 #phases = [num_dish][num_tabs] * 0 -norm_factor = 255.0/math.sqrt(num_dish) +norm_factor = 200.0/math.sqrt(num_dish) + +tc = test_case.Testcase('UTIL - ', '') +tc.set_result('PASSED') +tc.append_log(0, '>>> Title : Set TAB weights on %s' % tc.unb_nodes_string('')) +io = node_io.NodeIO(tc.nodeImages, tc.base_ip) +print "unb node nos ", tc.unbNrs, tc.fnNrs, tc.bnNrs +beamweights = pi_arts_tab_beamformer_weights.BeamformerWeights(tc,io) + +beamweights.set_cmd(cmd=3) +beamweights.append=True tab_index = range( -int(math.floor(num_tabs/2)), int(math.floor((num_tabs)/2)) ) beta = [float(eachelement) / float(num_tabs) for eachelement in tab_index] dishes = range(num_dish) -phase_n = [[eachtab * float(eachdish) for eachdish in dishes] for eachtab in beta] +phase = [[eachtab * float(eachdish) * 2 * math.pi for eachdish in dishes] for eachtab in beta] +#for tab in range(num_tabs): for tab in range(num_tabs): for dish in range(num_dish): - weightre = norm_factor * math.cos( 2 * math.pi * phase_n[tab][dish]) - weightim = norm_factor * math.sin( 2 * math.pi * phase_n[tab][dish]) - print "tab ", tab , " dish ", dish , " phase ", 2 * math.pi * phase_n[tab][dish], " weight re, im ", weightre, weightim - -#print tab_index, beta, dishes -#print phase_n - + #for dish in range(1): + weightre = int(round(norm_factor * math.cos( phase[tab][dish]) )) + weightim = int(round(norm_factor * math.sin( phase[tab][dish]) )) + beamweights.select(tabs=tab, inputs=dish) + beamweights.set_weights(complex(weightre,weightim)) + beamweights.run() -- GitLab