diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc index 04fe12ea52558bdd34462ec50fe7fdc955e6850a..bfd1b46ad8e0c93371b11740f31a5a7ad509a34e 100644 --- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc +++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc @@ -133,10 +133,14 @@ DEFUN_DLD (oarf_get_frame, args, nargout,"Get frame") ComplexMatrix dx (FRAME_LENGTH_COMPLEX_SAMPLES, numant); + /* // set the tx buffer to 0x00010001 to put switch in rx mode for (aa=0; aa<numant; aa++) for (i=0; i<FRAME_LENGTH_COMPLEX_SAMPLES; i++) - ((int*)(openair0_exmimo_pci[card].adc_head[aa]))[i] = 0x00010001; + ((int*)(openair0_exmimo_pci[card].dac_head[aa]))[i] = 0x00010001; + */ + if ((openair0_exmimo_pci[card].exmimo_config_ptr->framing.tdd_config & TXRXSWITCH_MASK) != TXRXSWITCH_TESTRX) + printf("Warning: tdd_config is not set to TXRXSWITCH_TESTRX! You better know what you are doing! :)\n"); // assign userspace pointers for (i=0; i<numant; i++) diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc index 00efc2f3631312d045951b3e58c13ee750f909a8..40af94192260dde6dcfe60827b979b24cb50cd96 100644 --- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc +++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc @@ -92,6 +92,10 @@ DEFUN_DLD (oarf_send_frame, args, nargout,"Send frame") return octave_value_list(); } + if ((openair0_exmimo_pci[card].exmimo_config_ptr->framing.tdd_config & TXRXSWITCH_MASK) != TXRXSWITCH_TESTTX) + printf("Warning: tdd_config is not set to TXRXSWITCH_TESTTX! You better know what you are doing! :)\n"); + + nbits = args(2).scalar_value(); for (aa=0;aa<numcols;aa++) diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m index eec9019b7649762211c5dc43ee328d622a85d1ff..a07f296be445f222655fd29484bd1cdbefec6912 100755 --- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m +++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/rx_spec.m @@ -1,10 +1,10 @@ dual_tx=0; card=0; limeparms; -active_rf = [0 1 0 0]; +active_rf = [1 1 1 1]; %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 = rf_mode+((DMAMODE_RX)*[0 1 0 0]); +rf_mode = rf_mode+(DMAMODE_RX*active_rf); %freq_rx = 2540000000*[1 1 1 1]; %freq_rx = 1907600000*[1 1 1 0]; freq_rx = 1912600000*active_rf; %+ 2540000000*[0 1 0 0]; % + 859500000*[0 0 1 0]; @@ -23,11 +23,12 @@ eNBflag = 0; tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_TESTRX; %tdd_config = DUPLEXMODE_FDD + TXRXSWITCH_LSB; 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]; +rffe_rxg_low = 61*active_rf; +rffe_rxg_final = 61*active_rf; +rffe_band = B19G_TDD*active_rf; +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) +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) gpib_card=0; % first GPIB PCI card in the computer gpib_device=28; % this is configured in the signal generator Utilities->System diff --git a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m index 3da639114a42f53b1d901f5ad9d971fbf58adb61..9bb708b12930f86e6a2f23fc93afbb8dbd509927 100644 --- a/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m +++ b/targets/ARCH/EXMIMO/USERSPACE/OCTAVE/txsig.m @@ -8,8 +8,8 @@ eNB_flag = 0; card = 0; limeparms; -rf_mode = (RXEN+TXEN+TXLPFNORM+TXLPFEN+TXLPF25+RXLPFNORM+RXLPFEN+RXLPF25+LNA1ON+LNAMax+RFBBNORM) * [1 1 0 0 ]; -rf_mode = rf_mode + (DMAMODE_TX)*[1 0 0 0]; +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+LNAByp+RFBBLNA1; %rf_local= [8253704 8253704 8257340 8257340]; %eNB2tx %850MHz %rf_local= [8255004 8253440 8257340 8257340]; % ex2 700 MHz @@ -31,20 +31,23 @@ 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]; -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); +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; n_bit = 16; -s = zeros(76800,2); +s = zeros(76800,4); select = 1; switch(select) case 1 - s(:,1) = floor(amp * real(exp(sqrt(-1)*.5*pi*(0:((76800)-1))))); - s(:,2) = floor(amp * imag(exp(sqrt(-1)*.5*pi*(0:((76800)-1))))); + s(:,1) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1))))); + s(:,2) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1))))); + s(:,3) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1))))); + s(:,4) = floor(amp * (exp(sqrt(-1)*.5*pi*(0:((76800)-1))))); case 2 s(38400+128,1)= 80-1j*40;