mySSH.command('for pod in $(oc get pods | tail -n +2 | awk \'{print $1}\'); do oc describe pod $pod >> cmake_targets/log/physim_pods_summary.txt; done','\$',10)
ifisRunning==False:
ifisRunning==False:
logging.error('\u001B[1m Some PODS Running FAILED \u001B[0m')
logging.error('\u001B[1m Some PODS Running FAILED \u001B[0m')
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim 2>&1 | tee -a cmake_targets/log/physim_pods_summary.txt','\$',6)
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim 2>&1 | tee -a cmake_targets/log/physim_pods_summary.txt','\$',6)
mySSH.command('for pod in $(oc get pods | tail -n +2 | awk \'{print $1}\'); do oc describe pod $pod >> cmake_targets/log/physim_pods_summary.txt; done','\$',10)
mySSH.command('for pod in $(oc get pods | tail -n +2 | awk \'{print $1}\'); do oc describe pod $pod >> cmake_targets/log/physim_pods_summary.txt; done','\$',10)
}else{// this is case without frequency-domain linear interpolation, just take average of LS channel estimates of 4 DMRS REs and use a common value for the whole PRB
}else{// this is case without frequency-domain linear interpolation, just take average of LS channel estimates of 4 DMRS REs and use a common value for the whole PRB
LOG_D(PHY,"PUSCH estimation DMRS type 2, no Freq-domain interpolation");
LOG_D(PHY,"PUSCH estimation DMRS type 2, no Freq-domain interpolation");
...
@@ -514,7 +505,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
...
@@ -514,7 +505,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
for(c16_t*end=ul_ch+12;ul_ch<end;ul_ch++)
for(c16_t*end=ul_ch+12;ul_ch<end;ul_ch++)
*ul_ch=ch;
*ul_ch=ch;
#else
#else
ul_ch[3]=c16maddShift(ch,(c16_t){1365,1365},15);// 1365 = 1/12*16384 (full range is +/- 32768)
ul_ch[3]=c16maddShift(ch,(c16_t){1365,1365},(c16_t){0,0},15);// 1365 = 1/12*16384 (full range is +/- 32768)
///Delays of the taps in mus. length(delays)=nb_taps. Has to be between 0 and Td.
///Delays of the taps in mus. length(delays)=nb_taps. Has to be between 0 and Td.
double*delays;
double*delays;
///length of impulse response. should be set to 11+2*bw*t_max
///length of impulse response. should be set to 11+2*bw*t_max
...
@@ -75,8 +84,10 @@ typedef struct {
...
@@ -75,8 +84,10 @@ typedef struct {
doublechannel_bandwidth;
doublechannel_bandwidth;
///System sampling rate in Msps.
///System sampling rate in Msps.
doublesampling_rate;
doublesampling_rate;
///Ricean factor of first tap wrt other taps (0..1, where 0 means AWGN and 1 means Rayleigh channel).
///Ricean factor, sqrt(1/(K+1)), of first tap wrt other taps (0..1, where 0 means AWGN and 1 means Rayleigh channel).
doublericean_factor;
doublericean_factor;
///Correlation level of correlation channel matrix
corr_level_tcorr_level;
///Angle of arrival of wavefront (in radians). For Ricean channel only. This assumes that both RX and TX have linear antenna arrays with lambda/2 antenna spacing. Furhter it is assumed that the arrays are parallel to each other and that they are far enough apart so that we can safely assume plane wave propagation.
///Angle of arrival of wavefront (in radians). For Ricean channel only. This assumes that both RX and TX have linear antenna arrays with lambda/2 antenna spacing. Furhter it is assumed that the arrays are parallel to each other and that they are far enough apart so that we can safely assume plane wave propagation.
doubleaoa;
doubleaoa;
///If set to 1, aoa is randomized according to a uniform random distribution
///If set to 1, aoa is randomized according to a uniform random distribution