[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Problem of tuning freq and register to network set up

From: pingping chen
Subject: [Discuss-gnuradio] Problem of tuning freq and register to network set up by OpenBTS
Date: Mon, 7 Sep 2009 12:16:52 +0800


   I encount some problem when I run the OpenBTS source code with usrp.


First, I have made some check of the usrp to ensure that it work in the right state, as follows:


address@hidden:~/download/software/gnuradio-3.2.2/usrp/host/apps# ./test_usrp_standard_rx

xfered 1.34e+08 bytes in 4.19 seconds.  3.2e+07 bytes/sec.  cpu time = 0.62

noverruns = 0

address@hidden:~/download/software/gnuradio-3.2.2/usrp/host/apps# ./test_usrp_standard_tx

which:    0

interp:   16

rf_freq:  -1

amp:      10000.000000

nsamples: 3.2e+07

Subdevice name is Flex 1800 Tx MIMO B

Subdevice freq range: (1.6e+09, 2e+09)

mux: 0x000098

baseband rate: 8e+06

target_freq:     1800000000.000000

ok:              true

r.baseband_freq: 1804000000.000000

r.dxc_freq:      -4000000.000000

r.residual_freq: 0.000000

r.inverted:      0










xfered 3.2e+07 bytes in 1.18 seconds.  2.715e+07 bytes/sec.  cpu time = 0.132

9 underruns




    But when I run the OpenBTS code, it will return false in "m_uRx->read_io(1)" which is in the end of the following code.

(after the function "compute_regs", freq=1739800000.000000, R=3407936, control=5228836, N=4208152, actual_freq=1740000000.000000)

(I use the operating band "DCS1800")


usrp_standard_rx_sptr m_uRx;

bool USRPDevice::rx_setFreq(double freq, double *actual_freq)


  unsigned R, control, N;

  if (!compute_regs(freq, &R, &control, &N, actual_freq))

        return false;

  if (R==0)

    return false;


  m_uRx->_write_spi(0,SPI_ENABLE_RX_B,SPI_FMT_MSB | SPI_FMT_HDR_0,write_it((R & ~0x3) | 1));

  m_uRx->_write_spi(0,SPI_ENABLE_RX_B,SPI_FMT_MSB | SPI_FMT_HDR_0,write_it((control & ~0x3) | 0));


  m_uRx->_write_spi(0,SPI_ENABLE_RX_B,SPI_FMT_MSB | SPI_FMT_HDR_0, write_it((N & ~0x3) | 2));



  if (m_uRx->read_io(1) & PLL_LOCK_DETECT)  return true;

  if (m_uRx->read_io(1) & PLL_LOCK_DETECT)  return true;

        return false;



   And I try to use the mobile phone to find the network make up by the usrp, but I can only find the networks "中国移动" and "中国联通".(The sim card is belong to "中国移动").  (But I have add the mobile phone’s IMIS to “sip.conf” in etc/Asterisk/ and add something like “exten => 2103,1,Macro(dialGSM,310410186585291)” to the “extensions.conf” )


I don't know what's wrong , could you give me some advice?

Thanks very much!


Best wishes:)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]