git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4712 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -6,51 +6,49 @@ rxgain=0;
|
|||||||
txgain=25;
|
txgain=25;
|
||||||
eNB_flag = 0;
|
eNB_flag = 0;
|
||||||
card = 0;
|
card = 0;
|
||||||
%chan_sel = zeros(1,4);
|
active_rf = [1 1 1 0];
|
||||||
%chan_sel(ch) = 1;
|
autocal = [1 1 1 1];
|
||||||
chan_sel = [1 0 0 0];
|
resampling_factor = [2 2 2 2];
|
||||||
|
|
||||||
limeparms;
|
limeparms;
|
||||||
rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * chan_sel;
|
rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * active_rf;
|
||||||
rf_mode = rf_mode + (DMAMODE_TX)*chan_sel;
|
rf_mode = rf_mode + (DMAMODE_RX + DMAMODE_TX)*active_rf;
|
||||||
%rf_mode = RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAByp+RFBBLNA1;
|
%rf_mode = RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAByp+RFBBLNA1;
|
||||||
%rf_local= [8253704 8253704 8257340 8257340]; %eNB2tx %850MHz
|
%rf_local= [8253704 8253704 8257340 8257340]; %eNB2tx %850MHz
|
||||||
%rf_local= [8255004 8253440 8257340 8257340]; % ex2 700 MHz
|
%rf_local= [8255004 8253440 8257340 8257340]; % ex2 700 MHz
|
||||||
rf_local = [8254744 8255063 8257340 8257340]; %eNB2tx 1.9GHz
|
rf_local = [8254744 8255063 8257340 8257340]; %eNB2tx 1.9GHz
|
||||||
%rf_local = [8257292 8257300 8257340 8257340]; %ex2 850 MHz
|
%rf_local = [8257292 8257300 8257340 8257340]; %ex2 850 MHz
|
||||||
%rf_local = rf_local * chan_sel;
|
%rf_local = rf_local * chan_sel;
|
||||||
rf_rxdc = rf_rxdc * chan_sel;
|
rf_rxdc = rf_rxdc * active_rf;
|
||||||
%rf_vcocal = rf_vcocal_859 * chan_sel;
|
%rf_vcocal = rf_vcocal_859 * chan_sel;
|
||||||
rf_vcocal = rf_vcocal_19G * chan_sel;
|
rf_vcocal = rf_vcocal_19G * active_rf;
|
||||||
%rf_vcocal = rf_vcocal_26G_eNB * chan_sel;
|
%rf_vcocal = rf_vcocal_26G_eNB * chan_sel;
|
||||||
rxgain = rxgain*chan_sel;
|
rxgain = rxgain*active_rf;
|
||||||
txgain = txgain*chan_sel;
|
txgain = txgain*active_rf;
|
||||||
freq_tx = fc*chan_sel;
|
freq_tx = fc*active_rf;
|
||||||
freq_rx = freq_tx;
|
freq_rx = freq_tx;
|
||||||
%freq_rx = freq_tx-120000000*chan_sel;
|
%freq_rx = freq_tx-120000000*chan_sel;
|
||||||
%freq_tx = freq_rx+1920000;
|
%freq_tx = freq_rx+1920000;
|
||||||
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_TESTTX;
|
tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_TESTTX;
|
||||||
syncmode = SYNCMODE_FREE;
|
syncmode = SYNCMODE_FREE;
|
||||||
rffe_rxg_low = 61*chan_sel;
|
rffe_rxg_low = 61*[1 1 1 1];
|
||||||
rffe_rxg_final = 61*chan_sel;
|
rffe_rxg_final = 61*[1 1 1 1];
|
||||||
rffe_band = B19G_TDD*chan_sel;
|
rffe_band = B19G_TDD*[1 1 1 1];
|
||||||
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);
|
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,resampling_factor);
|
||||||
amp = pow2(14)-1;
|
amp = pow2(14)-1;
|
||||||
n_bit = 16;
|
n_bit = 16;
|
||||||
|
|
||||||
s = zeros(76800,4);
|
s = zeros(76800*4,4);
|
||||||
|
|
||||||
select = 1;
|
select = 1;
|
||||||
|
|
||||||
switch(select)
|
switch(select)
|
||||||
|
|
||||||
case 1
|
case 1
|
||||||
s(:,1) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1)))));
|
s(:,1) = floor(amp * (exp(1i*2*pi*(0:((76800*4)-1))/7680)));
|
||||||
s(:,2) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1)))));
|
s(:,2) = floor(amp * (exp(1i*2*pi*(0:((76800*4)-1))/7680)));
|
||||||
s(:,3) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1)))));
|
s(:,3) = floor(amp * (exp(1i*2*pi*(0:((76800*4)-1))/7680)));
|
||||||
s(:,4) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1)))));
|
s(:,4) = floor(amp * (exp(1i*2*pi*(0:((76800*4)-1))/7680)));
|
||||||
|
|
||||||
case 2
|
case 2
|
||||||
s(38400+128,1)= 80-1j*40;
|
s(38400+128,1)= 80-1j*40;
|
||||||
@@ -77,11 +75,32 @@ case 4
|
|||||||
|
|
||||||
s(38400+(1:length(pss0_t_fp_re)),1) = 2*floor(pss0_t_fp_re) + 2*sqrt(-1)*floor(pss0_t_fp_im);
|
s(38400+(1:length(pss0_t_fp_re)),1) = 2*floor(pss0_t_fp_re) + 2*sqrt(-1)*floor(pss0_t_fp_im);
|
||||||
s(38400+(1:length(pss0_t_fp_re)),2) = 2*floor(pss0_t_fp_re) + 2*sqrt(-1)*floor(pss0_t_fp_im);
|
s(38400+(1:length(pss0_t_fp_re)),2) = 2*floor(pss0_t_fp_re) + 2*sqrt(-1)*floor(pss0_t_fp_im);
|
||||||
|
s(38400+(1:length(pss0_t_fp_re)),3) = 2*floor(pss0_t_fp_re) + 2*sqrt(-1)*floor(pss0_t_fp_im);
|
||||||
|
s(38400+(1:length(pss0_t_fp_re)),4) = 2*floor(pss0_t_fp_re) + 2*sqrt(-1)*floor(pss0_t_fp_im);
|
||||||
|
case 5
|
||||||
|
x=1:76800;
|
||||||
|
|
||||||
|
s(:,1) = 1i*8*(mod(x-1,4096)); % + 1i*(8*(mod(x-1,4096)));
|
||||||
|
s(:,2) = 8*(mod(x-1,4096)) + 1i*(8*(mod(x-1,4096)));
|
||||||
|
s(:,3) = 8*(mod(x-1,4096)) + 1i*(8*(mod(x-1,4096)));
|
||||||
|
s(:,4) = 8*(mod(x-1,4096)) + 1i*(8*(mod(x-1,4096)));
|
||||||
|
% s(:,4) = 8*(rem(x-1,2048))-2**15 + 1i*(8*(rem(x-1,2048))-2**15);
|
||||||
|
|
||||||
|
% s(:,4) = 8*(mod(x-1,4096)) + 1i*8*(mod(x-1,4096));
|
||||||
|
|
||||||
|
%s(:,1) = 8*floor(mod(x-1,76800)/75) + 1i*8*floor(mod(x-1,76800)/75);
|
||||||
|
%s(:,2) = 8*floor(mod(x-1,76800)/75) + 1i*8*floor(mod(x-1,76800)/75);
|
||||||
|
%s(:,3) = 8*floor(mod(x-1,76800)/75) + 1i*8*floor(mod(x-1,76800)/75);
|
||||||
|
%s(:,4) = 8*floor(mod(x-1,76800)/75) + 1i*8*floor(mod(x-1,76800)/75);
|
||||||
|
|
||||||
otherwise
|
otherwise
|
||||||
error('unknown case')
|
error('unknown case')
|
||||||
endswitch
|
endswitch
|
||||||
|
|
||||||
|
%s = s*2 - 2**15 -1i*(2**15);
|
||||||
s = s*2;
|
s = s*2;
|
||||||
|
|
||||||
|
|
||||||
%s(38400:end,1) = (1+1j);
|
%s(38400:end,1) = (1+1j);
|
||||||
%s(38400:end,2) = (1+1j);
|
%s(38400:end,2) = (1+1j);
|
||||||
|
|
||||||
@@ -93,6 +112,5 @@ oarf_send_frame(card,s,n_bit);
|
|||||||
figure(1)
|
figure(1)
|
||||||
hold off
|
hold off
|
||||||
plot(real(s(:,1)),'r')
|
plot(real(s(:,1)),'r')
|
||||||
hold on
|
%hold on
|
||||||
plot(imag(s(:,2)),'b')
|
%plot(imag(s(:,2)),'b')
|
||||||
hold off
|
|
||||||
|
|||||||
Reference in New Issue
Block a user