Commit ca1a0ddc authored by Florian Kaltenberger's avatar Florian Kaltenberger

added memset(dummy_tx_buffer,0,...) since phy_ufmc_mod does not do it

parent ff5cc804
......@@ -163,7 +163,7 @@ void (*idft)(int16_t *,int16_t *, int);
nb_prefix_samples, // (nb_prefix_samples)cyclic prefix length -> it becomes FIR length(multiple of 8)
1<<log2fftSizeFixed, // input dimension(only real part) -> FFT dimension
1<<log2fftsize,
j, //current PRB index for filter frequency shifting
j+20, //current PRB index for filter frequency shifting
first_carrier );
/*if (j==0){
write_output("fft_out1.m","fft_out1",&output[(i<<log2fftsize) + (i*nb_prefix_samples)],(1<<log2fftsize) + nb_prefix_samples,1,1);
......
......@@ -641,7 +641,7 @@ void phy_procedures_emos_UE_TX(uint8_t next_slot,uint8_t eNB_id) {
*/
#endif
int dummy_tx_buffer[3840*4] __attribute__((aligned(16)));
int dummy_tx_buffer[3840*8] __attribute__((aligned(16)));
#ifndef OPENAIR2
PRACH_RESOURCES_t prach_resources_local;
#endif
......@@ -1229,7 +1229,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
if ((phy_vars_ue->UE_mode[eNB_id] >= PRACH) &&
(mac_UE_get_rrc_lite_status(0,0)>=2)) {
if ((ufmc_flag==1)) {// && (subframe_tx==8)) { // && (subframe_tx<=7)) {
if ((ufmc_flag==1)) { // && (subframe_tx==8)) { // && (subframe_tx<=7)) {
harq_pid = subframe2harq_pid(&phy_vars_ue->lte_frame_parms,
frame_tx,
......@@ -1321,6 +1321,8 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
start_meas(&phy_vars_ue->ofdm_mod_stats);
for (aa=0; aa<frame_parms->nb_antennas_tx; aa++) {
memset(dummy_tx_buffer,0,3840*8*sizeof(int));
if (ufmc_flag==1) {
#ifdef DEBUG_PHY_PROC
LOG_I(PHY,"Frame %d, subframe %d: Generating UFMC signal part 2\n", frame_tx, subframe_tx);
......@@ -1391,26 +1393,25 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
apply_7_5_kHz(phy_vars_ue,&phy_vars_ue->lte_ue_common_vars.txdata[aa][ulsch_start],0);
apply_7_5_kHz(phy_vars_ue,&phy_vars_ue->lte_ue_common_vars.txdata[aa][ulsch_start],1);
#endif
/*
if (subframe_tx == 8) {
write_output("txsig8_mod.m","txs8_mod", &phy_vars_ue->lte_ue_common_vars.txdata[0][phy_vars_ue->lte_frame_parms.samples_per_tti*subframe],
phy_vars_ue->lte_frame_parms.samples_per_tti,1,1);
}
*/
#endif
}
/*
if (subframe_tx == 8) {
write_output("txsig8_mod.m","txs8_mod", dummy_tx_buffer,
phy_vars_ue->lte_frame_parms.samples_per_tti,1,1);
}
*/
#if defined(EXMIMO) || defined(OAI_USRP)
overflow = ulsch_start - 9*frame_parms->samples_per_tti;
//if ((slot_tx==4) && (aa==0)) printf("ulsch_start %d, overflow %d\n",ulsch_start,overflow);
for (k=ulsch_start,l=0; k<cmin(frame_parms->samples_per_tti*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME,ulsch_start+frame_parms->samples_per_tti); k++,l++) {
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k] = ((short*)dummy_tx_buffer)[2*l]<<4;
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k+1] = ((short*)dummy_tx_buffer)[2*l+1]<<4;
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k] = ((short*)dummy_tx_buffer)[2*l];//<<4;
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k+1] = ((short*)dummy_tx_buffer)[2*l+1];//<<4;
}
for (k=0; k<overflow; k++,l++) {
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k] = ((short*)dummy_tx_buffer)[2*l]<<4;
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k+1] = ((short*)dummy_tx_buffer)[2*l+1]<<4;
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k] = ((short*)dummy_tx_buffer)[2*l];//<<4;
((short*)phy_vars_ue->lte_ue_common_vars.txdata[aa])[2*k+1] = ((short*)dummy_tx_buffer)[2*l+1];//<<4;
}
#if defined(EXMIMO)
// handle switch before 1st TX subframe, guarantee that the slot prior to transmission is switch on
......@@ -1424,7 +1425,6 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
}
#endif
#endif
} //nb_antennas_tx
stop_meas(&phy_vars_ue->ofdm_mod_stats);
......
fc = 1907600000;
%fc = 1907600000;
fc = 2560000000;
%fc = 859.5e6;
rxgain=0;
......@@ -8,7 +8,7 @@ eNB_flag = 0;
card = 0;
active_rf = [1 0 0 0];
autocal = [1 1 1 1];
resampling_factor = [2 2 2 2];
resampling_factor = [1 1 1 1];
limeparms;
rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * active_rf;
rf_mode = rf_mode + (DMAMODE_RX + DMAMODE_TX)*active_rf;
......@@ -26,7 +26,7 @@ rf_vcocal = rf_vcocal_19G * active_rf;
rxgain = rxgain*active_rf;
txgain = txgain*active_rf;
freq_tx = fc.*active_rf;
freq_rx = freq_tx;
freq_rx = (fc+120000000).*active_rf;
%freq_rx = freq_tx-120000000*chan_sel;
%freq_tx = freq_rx+1920000;
%tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_LSB;
......@@ -45,7 +45,7 @@ length = 307200/pow2(resampling_factor(1));
s = zeros(length,4);
select = 1;
select = 7;
switch(select)
......@@ -99,7 +99,7 @@ case 5
case 6
nb_rb = 100; %this can be 25, 50, or 100
nb_rb = 50; %this can be 25, 50, or 100
num_carriers = 2048/100*nb_rb;
num_zeros = num_carriers-(12*nb_rb+1);
prefix_length = num_carriers/4; %this is extended CP
......@@ -109,6 +109,10 @@ case 6
s(:,1) = OFDM_TX_FRAME(num_carriers,num_zeros,prefix_length,num_symbols_frame,preamble_length);
s(:,1) = floor(amp*(s(:,1)./max([real(s(:,1)); imag(s(:,1))])));
case 7
txsig8_mod
s(:,1) = repmat(txs8_mod,10,1);
otherwise
error('unknown case')
......
......@@ -140,10 +140,10 @@ eNBs =
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.80/24";
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.235/24";
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.80/24";
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.235/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
};
......
......@@ -3104,7 +3104,7 @@ openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL;
// connect the TX/RX buffers
if (UE_flag==1) {
#ifdef OAI_USRP
openair_daq_vars.timing_advance = 160;
openair_daq_vars.timing_advance = 0;
#else
openair_daq_vars.timing_advance = 160;
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment