# raise PtsError("DAC: bit nr %d does not generate output signal, P/Pt=%g", (b, s_pow/m_pow))
# print "DAC: bit nr %d does not generate output signal, P/Pt=%g" % (b, s_pow/m_pow)
print"DAC: bit nr %d measurement failed P/Pt=%g"%(b,s_pow/m_pow);
returnFalse;
else:
returnTrue;
defverify_bit_power_ratio(b,s_pow,old_s_pow):
globalerrors_bpr
r_pow=s_pow/old_s_pow
if(r_pow<2)or(r_pow>8):
iferrors_bpr[b]<MAXATTEMPTS:
errors_bpr[b]+=1;
print>>__stdout__,"Bit test failed, but will be retried in %d seconds. Make sure that test probe is connected correctly"%(RETRYDELAY)
print"Bit test failed, but will be retried."
time.sleep(RETRYDELAY);
print>>__stdout__,"Retrying"
returnFalse;
else:
# raise PtsError("DAC: incorrect increase of power when switching from bit nr %d to bit nr %d : %g (expected between 2 and 8). Took %d attmempts." % (b-1, b, r_pow, MAXATTEMPTS))
print"DAC: incorrect increase of power when switching from bit nr %d to bit nr %d : %g (expected between 2 and 8)"%(b-1,b,r_pow)
print>>__stdout__,"DAC: incorrect increase of power when switching from bit nr %d to bit nr %d : %g (expected between 2 and 8)"%(b-1,b,r_pow)
returnTrue;
else:
returnTrue;
deftest_proc(fm,logname):
deftest_proc(fm,logname):
results=[]
results=[[0,0,0]foriinrange(14)]
# Iterate over possible bit values
# Iterate over possible bit values
b=0
b=0
old_s_pow=1
# old_s_pow = 1
whileb<=13:
whileb<=13:
retry=False;
print"Testing bit %d"%b
print"Testing bit %d"%b
print>>__stdout__,"Testing bit %d"%b
print>>__stdout__,"Testing bit %d"%b
i=1<<b
i=1<<b
#Select the voltage range appropriately
#Select the voltage range appropriately
ifi<512:
ifi<512:
urange="1"
urange="1"
else:
else:
urange="10"
urange="10"
#Measure the spectrum of the background noise
#Measure the spectrum of the background noise
w_bkgr=measure_spectrum(0,urange,fm,logname)
w_bkgr=measure_spectrum(0,urange,fm,logname)
w_sig_bk=measure_spectrum(i,urange,fm,logname)
w_sig_bk=measure_spectrum(i,urange,fm,logname)
w_sig=w_sig_bk-w_bkgr
w_sig=w_sig_bk-w_bkgr
ifgen_figs:
ifgen_figs:
plot(w_bkgr)
print_figs(w_bkgr,w_sig_bk,w_sig);
title("background: bit value=%d frequency=%g"%(i,fm))