usrp 20 MHz on 30.72 master clock. fixed memory leak in prach.c for 20 MHz with 3/4 sampling. added default attributes to threads in lte-enb.c
This commit is contained in:
@@ -1161,6 +1161,9 @@ void rx_prach(PHY_VARS_eNB *eNB,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (eNB->frame_parms.threequarter_fs == 1)
|
||||||
|
Ncp=(Ncp*3)>>2;
|
||||||
|
|
||||||
switch (eNB->frame_parms.N_RB_UL) {
|
switch (eNB->frame_parms.N_RB_UL) {
|
||||||
case 6:
|
case 6:
|
||||||
Ncp>>=4;
|
Ncp>>=4;
|
||||||
@@ -1258,13 +1261,24 @@ void rx_prach(PHY_VARS_eNB *eNB,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 100:
|
case 100:
|
||||||
if (prach_fmt == 4) {
|
if (eNB->frame_parms.threequarter_fs==0) {
|
||||||
dft4096(prach2,rxsigF[aa],1);
|
if (prach_fmt == 4) {
|
||||||
|
dft4096(prach2,rxsigF[aa],1);
|
||||||
|
} else {
|
||||||
|
dft24576(prach2,rxsigF[aa]);
|
||||||
|
|
||||||
|
if (prach_fmt>1)
|
||||||
|
dft24576(prach2+49152,rxsigF[aa]+49152);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
dft24576(prach2,rxsigF[aa]);
|
if (prach_fmt == 4) {
|
||||||
|
dft3072(prach2,rxsigF[aa]);
|
||||||
if (prach_fmt>1)
|
} else {
|
||||||
dft24576(prach2+49152,rxsigF[aa]+49152);
|
dft18432(prach2,rxsigF[aa]);
|
||||||
|
|
||||||
|
if (prach_fmt>1)
|
||||||
|
dft18432(prach2+36864,rxsigF[aa]+36864);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -610,7 +610,7 @@ extern "C" {
|
|||||||
|
|
||||||
switch ((int)openair0_cfg[0].sample_rate) {
|
switch ((int)openair0_cfg[0].sample_rate) {
|
||||||
case 30720000:
|
case 30720000:
|
||||||
s->usrp->set_master_clock_rate(61.44e6);
|
s->usrp->set_master_clock_rate(30.72e6);
|
||||||
openair0_cfg[0].tx_sample_advance = 115;
|
openair0_cfg[0].tx_sample_advance = 115;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
|
|||||||
@@ -1371,6 +1371,14 @@ void init_eNB_proc(int inst) {
|
|||||||
pthread_cond_init( &proc->cond_prach, NULL);
|
pthread_cond_init( &proc->cond_prach, NULL);
|
||||||
pthread_cond_init( &proc->cond_FH, NULL);
|
pthread_cond_init( &proc->cond_FH, NULL);
|
||||||
pthread_cond_init( &proc->cond_asynch_rxtx, NULL);
|
pthread_cond_init( &proc->cond_asynch_rxtx, NULL);
|
||||||
|
|
||||||
|
pthread_attr_init( &proc->attr_FH);
|
||||||
|
pthread_attr_init( &proc->attr_prach);
|
||||||
|
pthread_attr_init( &proc->attr_asynch_rxtx);
|
||||||
|
pthread_attr_init( &proc->attr_single);
|
||||||
|
pthread_attr_init( &proc->attr_fep);
|
||||||
|
pthread_attr_init( &proc_rxtx[0].attr_rxtx);
|
||||||
|
pthread_attr_init( &proc_rxtx[1].attr_rxtx);
|
||||||
#ifndef DEADLINE_SCHEDULER
|
#ifndef DEADLINE_SCHEDULER
|
||||||
attr0 = &proc_rxtx[0].attr_rxtx;
|
attr0 = &proc_rxtx[0].attr_rxtx;
|
||||||
attr1 = &proc_rxtx[1].attr_rxtx;
|
attr1 = &proc_rxtx[1].attr_rxtx;
|
||||||
|
|||||||
Reference in New Issue
Block a user