On Jun 15, 2009, at 4:42 PM, Jane Chen wrote:

Hi David,

I don't get the meaning of  "We do use the time-of-day clock to project the frame clock over short periods on the OpenBTS side of the UDP link." Could you please give me more hints if you are convenient? (where are the codes?)

Look at the GSM::Clock class in GSM/GSMCommon to see what I mean.  When a UDP packet arrives over port 5700 with the frame clock, we GSM::Clock::set() the global GSM::Clock object inside OpenBTS.

I know that the transceiver communicates the frame clock to OpenBTS through UDP messages on port 5700, but I have not really understood how you have done this part. I am thinking maybe I can use the UDP message to sync two BTSs.

That won't work.  The transceiver is generating the clock messages, not reading them, AND the data packets on the other ports are timestamped with the same clock.  You have to somehow change the clock inside the transceiver, are there is currently no interface to do that.  Furthermore, when you do that, you will need to somehow manage the sample clock in the USRP to deal with the inevitable drift.

I am happy to share the system that I am trying to implement if I can implement it successfully. :)

Good luck.

Thank you,

--- On Mon, 6/15/09, David A. Burgess <dburgess@jcis.net> wrote:

From: David A. Burgess <dburgess@jcis.net>
Subject: Re: [Openbts-discuss] Make two BTSs synchronize
To: "Jane Chen" <janechen_1979@yahoo.com>
Cc: openbts-discuss@lists.sourceforge.net
Date: Monday, June 15, 2009, 6:55 PM

Jane -

At this time, the standard releases of OpenBTS do not include such a feature. The GSM standard does not require tight sync of BTS clocks.

If you want to do this, you will need to make modifications to the transceiver, not the OpenBTS GSM stack. The GSM frame clock originates in the transceiver and is driven by the sampling clock of the USRP. The frame clock starts at zero when the transceiver starts and just free-runs forever, rolling over on every hyperframe. There is no mechanism to force the frame clock to a particular value and is it not driven by the system time-of-day clock. (We do use the time-of-day clock to project the frame clock over short periods on the OpenBTS side of the UDP link, but that mechanism is still a slave of the transceiver.)

The problem with syncing BTSs via ptpd is that the frame clock is drifting wrt the ptp-synced time-of-day clock. If you try to force the system to sync frame clocks by referencing the time-of-day clock, the sample clock in the USRP will be slipping wrt your frame counter. You can probably work out the math to discipline that system, but I don't think it will be trivial. I would hope that if you do implement such a system, you will share it with the rest of us.

-- David

On Jun 15, 2009, at 10:56 AM, Jane Chen wrote:

Hi all,

For the research purpose, I would like to make two BTSs have the same time. For example, the two BTSs start at 2pm and time slots are keeping synchronization.
I use IEEE 1588 (ptpd) to synchronize two linux systems which run OpenBTS on each. Does anyone know how I can know if the two BTSs keeping the time slots synchronization?

Thank you,

Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
Openbts-discuss mailing list

David A. Burgess
Kestrel Signal Processing, Inc.

David A. Burgess
Kestrel Signal Processing, Inc.