initparams.m 1.94 KB
Newer Older
1 2 3 4
# % Author: Mirsad Cirkic
# % Organisation: Eurecom (and Linkoping University)
# % E-mail: mirsad.cirkic@liu.se

5 6 7 8
addpath([getenv('OPENAIR_TARGETS') '/ARCH/EXMIMO/USERSPACE/OCTAVE']);

clear all
close all
9

Cirkic's avatar
Cirkic committed
10 11
paramsinitialized=false;
limeparms;
12 13
rx_gain=[0 0 0 0];
tx_gain=[20 20 20 20];
Cirkic's avatar
Cirkic committed
14 15 16 17
eNB_flag = 0;
card = 0;
Ntrx=4;
dual_tx=0;
jiangx's avatar
jiangx committed
18 19 20
active_rfA=[0 0 0 1];
% active_rfB=[1 1 1 0];
active_rfB=[0 1 1 0];
21
active_rf=active_rfA | active_rfB;
Cirkic's avatar
Cirkic committed
22

23 24
if(active_rfA*active_rfB'!=0) error("The A and B transceive chains must be orthogonal./n") endif

Cirkic's avatar
Cirkic committed
25 26 27 28 29
%fc  = 2660000000;
fc  = 1912600000; %1907600000;
%fc = 859.5e6;

autocal_mode=active_rf;
jiangx's avatar
jiangx committed
30
resampling_factor = [2 2 2 2];
31 32 33 34
%rf_mode=(RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAByp+RFBBLNA1) * active_rf;
%rf_mode=(TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * active_rf;
% we have to enable both DMA transfers so that the switching signal in the LSB of the TX buffer gets set
rf_mode=(TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM+DMAMODE_TX+TXEN+DMAMODE_RX+RXEN) * active_rf;
Florian Kaltenberger's avatar
 
Florian Kaltenberger committed
35 36
tdd_config = DUPLEXMODE_FDD+TXRXSWITCH_LSB;  %we also need the LSB switching for the woduplex script, otherwise we don't receive anything
%tdd_config = DUPLEXMODE_FDD+TXRXSWITCH_LSB;
Cirkic's avatar
Cirkic committed
37 38 39 40
syncmode = SYNCMODE_FREE;
rf_local = [8254744   8255063   8257340   8257340]; %eNB2tx 1.9GHz
rf_vcocal=rf_vcocal_19G*active_rf;

41 42
rffe_rxg_low = 31*active_rf;
rffe_rxg_final = 63*active_rf;
Cirkic's avatar
Cirkic committed
43 44 45 46 47 48
rffe_band = B19G_TDD*active_rf;

rf_rxdc = rf_rxdc*active_rf;

freq_rx = fc*active_rf; 
freq_tx = freq_rx; %+1.92e6;
49 50 51

oarf_stop(card);
sleep(0.1);
jiangx's avatar
jiangx committed
52
oarf_config_exmimo(card, freq_rx,freq_tx,tdd_config,syncmode,rx_gain,tx_gain,eNB_flag,rf_mode,rf_rxdc,rf_local,rf_vcocal,rffe_rxg_low,rffe_rxg_final,rffe_band,autocal_mode,resampling_factor);
Cirkic's avatar
Cirkic committed
53
autocal_mode=0*active_rf; % Autocalibration is only needed the first time we conf. exmimo
54
amp = pow2(12.5)-1;
Cirkic's avatar
Cirkic committed
55
n_bit = 16;
56

jiangx's avatar
jiangx committed
57
%chanest_full = 1;
58 59
chanest_full = 1;

Cirkic's avatar
Cirkic committed
60
paramsinitialized=true;