lte-softmodem now uses new thread for pdcp
updated llr scaling for PDCCH and PDSCH in TM5 initialized all newly allocated memory to 0 in new_eNB/UE_ulsch/dlsch and setting pointers to 0 after freeing memory in free_eNB/UE_ulsch/dlsch some small modifications related to EMOS (from the MU-MIMO measurement campaign) git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4480 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -23,7 +23,7 @@ limeparms;
|
||||
rf_mode = (RXEN+0+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM+DMAMODE_RX+0)*[1 0 0 0];
|
||||
freq_rx = fc*[1 0 0 0];
|
||||
freq_tx = freq_rx+1920000;
|
||||
rx_gain = 30*[1 1 1 1];
|
||||
rx_gain = 0*[1 1 1 1];
|
||||
tx_gain = 25*[1 1 1 1];
|
||||
%rf_local=rf_local*[1 1 1 1];
|
||||
rf_local = [8254813 8255016 8254813 8254813]; %exmimo2_2
|
||||
@@ -33,8 +33,9 @@ rf_vcocal=rf_vcocal_19G*[1 1 1 1];
|
||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_LSB;
|
||||
syncmode = SYNCMODE_FREE;
|
||||
rffe_rxg_low = 63*[1 1 1 1];
|
||||
rffe_rxg_final = 63*[1 1 1 1];
|
||||
rffe_rxg_final = 31*[1 1 1 1];
|
||||
rffe_band = B19G_TDD*[1 1 1 1];
|
||||
autocal = [1 1 1 1];
|
||||
|
||||
%gpib_send(gpib_card,gpib_device,'*RST;*CLS'); % reset and configure the signal generator
|
||||
%gpib_send(gpib_card,gpib_device,['POW ' int2str(power_dBm+cables_loss_dB) 'dBm']);
|
||||
@@ -55,7 +56,7 @@ do
|
||||
fc
|
||||
freq_rx = fc*[1 0 0 0];
|
||||
freq_tx = freq_rx+1920000;
|
||||
oarf_config_exmimo(card, freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,0,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band);
|
||||
oarf_config_exmimo(card, freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,0,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band,autocal);
|
||||
|
||||
i=i+1;
|
||||
sleep(1);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
// compile with: mkoctfile -I/usr/local/include/gpib -lgpib gpib_send.cc
|
||||
|
||||
#include <octave/oct.h>
|
||||
#include "ib.h"
|
||||
#include <gpib/ib.h>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ primary_synch; %loads the primary sync signal
|
||||
sss_gen; %loads the secondary sync signal
|
||||
|
||||
% grab a frame
|
||||
ch=1;
|
||||
rx_spec;
|
||||
|
||||
% load frame
|
||||
@@ -18,7 +19,7 @@ figure(1)
|
||||
plot(real(s))
|
||||
|
||||
pss_t = upsample(primary_synch0_time,4);
|
||||
[corr,lag] = xcorr(s(:,1),pss_t);
|
||||
[corr,lag] = xcorr(s(:,ch).',pss_t);
|
||||
figure(2);
|
||||
plot(lag,abs(corr));
|
||||
|
||||
@@ -31,9 +32,9 @@ pss_pos = lag(pss_pos0);
|
||||
sss_pos = pss_pos - 1648; %TDD normal CP
|
||||
%sss_pos = pss_pos - 1920; %TDD extended CP
|
||||
|
||||
psst = s([pss_pos:(pss_pos+511)],1);
|
||||
psst = s([pss_pos:(pss_pos+511)],ch);
|
||||
pssf = fft(psst);
|
||||
ssst = s([sss_pos:(sss_pos+511)],1);
|
||||
ssst = s([sss_pos:(sss_pos+511)],ch);
|
||||
sssf = fft(ssst);
|
||||
|
||||
pssf_ext = pssf([(512-30):512 2:32]); % extract innter 62 subcarriers
|
||||
|
||||
@@ -4,10 +4,10 @@ card=0;
|
||||
limeparms;
|
||||
TX_LO_LEAKAGE_MIN0 = 99999;
|
||||
TX_LO_LEAKAGE_MIN1 = 99999;
|
||||
%freq_rx = 1907588000*[1 1 1 1];
|
||||
freq_rx = 859500000*[1 1 1 1];
|
||||
freq_tx = freq_rx; %+1920000;
|
||||
rf_vcocal = rf_vcocal_859*[1 1 1 1];
|
||||
freq_rx = 1907600000*[1 1 1 1];
|
||||
%freq_rx = 859500000*[1 1 1 1];
|
||||
freq_tx = freq_rx+1920000;
|
||||
rf_vcocal = rf_vcocal_19G*[1 1 1 1];
|
||||
rf_rxdc = rf_rxdc*[1 1 1 1];
|
||||
rxgain = 30*[1 1 1 1];
|
||||
txgain = 25*[1 1 1 1];
|
||||
|
||||
@@ -3,23 +3,23 @@ close all
|
||||
card=0;
|
||||
|
||||
limeparms;
|
||||
%freq_rx = 1907588000*[1 1 1 1];
|
||||
freq_rx = 1907600000*[1 1 1 1];
|
||||
%freq_rx = 700600000*[1 1 1 1];
|
||||
freq_rx = 748000000*[1 1 1 1];
|
||||
freq_tx = freq_rx; %+1920000;
|
||||
rxgain = 0*[1 1 1 1];
|
||||
%freq_rx = 748000000*[1 1 1 1];
|
||||
freq_tx = freq_rx+1920000;
|
||||
rxgain = 30*[1 1 1 1];
|
||||
txgain = 0*[1 1 1 1];
|
||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_LSB;
|
||||
syncmode = SYNCMODE_FREE;
|
||||
|
||||
%rf_local = [8254813 8255016 8254813 8254813]; % from the tx calibration
|
||||
rf_local = [8254813 8255016 8254813 8254813]; % from the tx calibration
|
||||
%rf_local = [8255842 8255064 8257340 8257340]; % 700MHz
|
||||
rf_local = [8256776 8255788 8257340 8257340]; % 850MHz
|
||||
%rf_local = [8256776 8255788 8257340 8257340]; % 850MHz
|
||||
rf_rxdc = rf_rxdc*[1 1 1 1]; % initial value
|
||||
rf_vcocal= rf_vcocal_850*[1 1 1 1];
|
||||
rf_vcocal= rf_vcocal_19G*[1 1 1 1];
|
||||
rffe_rxg_low = 31*[1 1 1 1];
|
||||
rffe_rxg_final = 31*[1 1 1 1];
|
||||
rffe_band = TVWS_TDD*[1 1 1 1];
|
||||
rffe_band = B19G_TDD*[1 1 1 1];
|
||||
|
||||
|
||||
sleepafterconfig=0.2
|
||||
|
||||
@@ -33,22 +33,23 @@ rf_rxdc = [37059 35459 36300 36999]; %exmimo2_2
|
||||
rf_rxdc = [34689 34756 36300 36999]; %exmimo2_2 with external RF
|
||||
rf_vcocal=rf_vcocal_19G*[1 1 1 1];
|
||||
eNBflag = 0;
|
||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_LSB;
|
||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_TESTRX;
|
||||
syncmode = SYNCMODE_FREE;
|
||||
rffe_rxg_low = 31*[1 1 1 1];
|
||||
rffe_rxg_final = 31*[1 1 1 1];
|
||||
rffe_band = B19G_TDD*[1 1 1 1];
|
||||
|
||||
autocal = [1 1 1 1];
|
||||
|
||||
gpib_send(gpib_card,gpib_device,'*RST;*CLS'); % reset and configure the signal generator
|
||||
%gpib_send(gpib_card,gpib_device,sprintf("POW %ddBm",power_dBm+cables_loss_dB));
|
||||
gpib_send(gpib_card,gpib_device,sprintf("POW %ddBm",-14));
|
||||
gpib_send(gpib_card,gpib_device,sprintf("POW %ddBm",0));
|
||||
%gpib_send(gpib_card,gpib_device,'FREQ 1.91860GHz');
|
||||
%gpib_send(gpib_card,gpib_device,'FREQ 1.919225GHz');
|
||||
%gpib_send(gpib_card,gpib_device,'FREQ 1.909225GHz');
|
||||
gpib_send(gpib_card,gpib_device,sprintf("FREQ %dHz",fref));
|
||||
|
||||
oarf_config_exmimo(card,freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,eNBflag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band);
|
||||
oarf_config_exmimo(card,freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,eNBflag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band,autocal);
|
||||
autocal = [0 0 0 0];
|
||||
|
||||
%ALL_rxrfmode = [LNAByp LNAMed LNAMax];
|
||||
%ALL_gain = 0:10:30;
|
||||
@@ -87,7 +88,7 @@ for LNA=ALL_rxrfmode
|
||||
for rffe_rxg_final=ALL_rffe_rxg_final
|
||||
rffe_rxg_final = rffe_rxg_final*[1 1 1 1];
|
||||
|
||||
oarf_config_exmimo(card,freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,eNBflag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band);
|
||||
oarf_config_exmimo(card,freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,eNBflag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band,autocal);
|
||||
sleep(1);
|
||||
|
||||
% signal measurement
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
dual_tx=0;
|
||||
card=0;
|
||||
limeparms;
|
||||
active_rf = [1 1 1 1];
|
||||
active_rf = [1 1 0 0];
|
||||
%rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM)*[1 1 1 1];
|
||||
rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM)*active_rf;
|
||||
rf_mode = (RXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM)*active_rf;
|
||||
rf_mode = rf_mode+(DMAMODE_RX*active_rf);
|
||||
%freq_rx = 2540000000*[1 1 1 1];
|
||||
freq_rx = 1907600000*active_rf;
|
||||
%freq_rx = 1912600000*active_rf; %+ 2540000000*[0 1 0 0]; % + 859500000*[0 0 1 0];
|
||||
%freq_rx = 1912600000*[1 1 1 1];
|
||||
%freq_rx = 859500000*[1 1 1 1];
|
||||
freq_tx = freq_rx; %+1.92e6;
|
||||
%freq_tx = 2660000000*[1 1 1 1];
|
||||
freq_tx = freq_rx;
|
||||
tx_gain = 0*[1 1 1 1];
|
||||
rx_gain = 30*[1 1 1 1];
|
||||
rf_local= [8254744 8255063 8257340 8257340]; %rf_local*[1 1 1 1];
|
||||
%rf_local= [8254212 8256991 8257340 8257340]; %exmimo2 850mhz
|
||||
rx_gain = 0*[1 1 1 1];
|
||||
rf_local= rf_local*[1 1 1 1];
|
||||
rf_rxdc = rf_rxdc*[1 1 1 1];
|
||||
%rf_vcocal=rf_vcocal_859*[1 1 1 1];
|
||||
rf_vcocal=rf_vcocal_19G*[1 1 1 1];
|
||||
@@ -23,10 +21,11 @@ eNBflag = 0;
|
||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_TESTRX;
|
||||
%tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_LSB;
|
||||
syncmode = SYNCMODE_FREE;
|
||||
rffe_rxg_low = 61*active_rf;
|
||||
rffe_rxg_final = 61*active_rf;
|
||||
rffe_rxg_low = 63*active_rf;
|
||||
rffe_rxg_final = 31*active_rf;
|
||||
rffe_band = B19G_TDD*active_rf;
|
||||
autocal = [1 1 1 1];
|
||||
autocal = [1 1 1 1];
|
||||
|
||||
oarf_config_exmimo(card,freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,eNBflag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band,autocal)
|
||||
|
||||
|
||||
@@ -2,36 +2,39 @@
|
||||
fc = 1907600000;
|
||||
%fc = 859.5e6;
|
||||
|
||||
rxgain=30;
|
||||
rxgain=0;
|
||||
txgain=25;
|
||||
eNB_flag = 0;
|
||||
card = 0;
|
||||
%chan_sel = zeros(1,4);
|
||||
%chan_sel(ch) = 1;
|
||||
chan_sel = [1 0 0 0];
|
||||
|
||||
limeparms;
|
||||
rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * [1 1 1 1];
|
||||
rf_mode = rf_mode + (DMAMODE_TX)*[1 1 1 1];
|
||||
rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * chan_sel;
|
||||
rf_mode = rf_mode + (DMAMODE_TX)*chan_sel;
|
||||
%rf_mode = RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAByp+RFBBLNA1;
|
||||
%rf_local= [8253704 8253704 8257340 8257340]; %eNB2tx %850MHz
|
||||
%rf_local= [8255004 8253440 8257340 8257340]; % ex2 700 MHz
|
||||
rf_local = [8254744 8255063 8257340 8257340]; %eNB2tx 1.9GHz
|
||||
%rf_local = [8257292 8257300 8257340 8257340]; %ex2 850 MHz
|
||||
%rf_local = rf_local * ones(1,4);
|
||||
rf_rxdc = rf_rxdc * ones(1,4);
|
||||
%rf_vcocal = rf_vcocal_859 * ones(1,4);
|
||||
rf_vcocal = rf_vcocal_19G * ones(1,4);
|
||||
%rf_vcocal = rf_vcocal_26G_eNB * ones(1,4);
|
||||
rxgain = rxgain*ones(1,4);
|
||||
txgain = txgain*ones(1,4);
|
||||
freq_tx = fc*[1 1 1 1];
|
||||
%rf_local = rf_local * chan_sel;
|
||||
rf_rxdc = rf_rxdc * chan_sel;
|
||||
%rf_vcocal = rf_vcocal_859 * chan_sel;
|
||||
rf_vcocal = rf_vcocal_19G * chan_sel;
|
||||
%rf_vcocal = rf_vcocal_26G_eNB * chan_sel;
|
||||
rxgain = rxgain*chan_sel;
|
||||
txgain = txgain*chan_sel;
|
||||
freq_tx = fc*chan_sel;
|
||||
freq_rx = freq_tx;
|
||||
%freq_rx = freq_tx-120000000*[1 1 1 1];
|
||||
%freq_rx = freq_tx-120000000*chan_sel;
|
||||
%freq_tx = freq_rx+1920000;
|
||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_TESTTX;
|
||||
syncmode = SYNCMODE_FREE;
|
||||
rffe_rxg_low = 61*[1 1 1 1];
|
||||
rffe_rxg_final = 61*[1 1 1 1];
|
||||
rffe_band = B19G_TDD*[1 1 1 1];
|
||||
autocal = [1 1 1 1];
|
||||
rffe_rxg_low = 61*chan_sel;
|
||||
rffe_rxg_final = 61*chan_sel;
|
||||
rffe_band = B19G_TDD*chan_sel;
|
||||
autocal = chan_sel;
|
||||
|
||||
oarf_config_exmimo(card, freq_rx,freq_tx,tdd_config,syncmode,rxgain,txgain,eNB_flag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band,autocal);
|
||||
amp = pow2(14)-1;
|
||||
@@ -56,7 +59,7 @@ case 2
|
||||
case 3
|
||||
for i=0:(12*5-1)
|
||||
s((38401+640*i):(38400+640*(i+1)),1)=floor(linspace(-127,128,640)); %+1j*floor(linspace(128,-127,640));
|
||||
end
|
||||
end
|
||||
|
||||
case 4
|
||||
pss0_f0=[0,0,0,0,0,0,0,0,0,0,32767,0,-26120,-19785,11971,-30502,-24020,-22288,32117,6492,31311,9658,-16384,-28378,25100,-21063,-7292,-31946,20429,25618,14948,29158,11971,-30502,31311,9658,25100,-21063,-16384,28377,-24020,22287,32117,6492,-7292,31945,20429,25618,-26120,-19785,-16384,-28378,-16384,28377,-26120,-19785,-32402,4883,31311,-9659,32117,6492,-7292,-31946,32767,-1,25100,-21063,-24020,22287,-32402,4883,-32402,4883,-24020,22287,25100,-21063,32767,-1,-7292,-31946,32117,6492,31311,-9659,-32402,4883,-26120,-19785,-16384,28377,-16384,-28378,-26120,-19785,20429,25618,-7292,31945,32117,6492,-24020,22287,-16384,28377,25100,-21063,31311,9658,11971,-30502,14948,29158,20429,25618,-7292,-31946,25100,-21063,-16384,-28378,31311,9658,32117,6492,-24020,-22288,11971,-30502,-26120,-19785,32767,0,0,0,0,0,0,0,0,0,0,0];
|
||||
@@ -86,9 +89,10 @@ sleep (1)
|
||||
%keyboard
|
||||
|
||||
oarf_send_frame(card,s,n_bit);
|
||||
|
||||
%r = oarf_get_frame(card);
|
||||
figure(1)
|
||||
hold off
|
||||
plot(real(s(:,1)),'r')
|
||||
hold on
|
||||
plot(imag(s(:,2)),'b')
|
||||
hold off
|
||||
|
||||
Reference in New Issue
Block a user