This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/baseband-devel@lists.osmocom.org/.
Harald Welte laforge at gnumonks.orgHi all! Right now, one of our many issues in L1 is the frequency stability (or lack thereof). What we do right now is very primitive and is mostly based on guesswork, rather than measurements and good algorithms. In order to change this, we need some measurements to be done. As I am currently again travelling a lot, and my time for OsmocomBB is more limited now, I hope that somebody else will be able to take the measurements as described below. There is a big number of people in this project who now have a Racal 6103 (or similar) measurement device. Also, for those in Berlin, the CCC Berlin has one in its basement lab. What needs to be done: 1) Determine the relation between AFCDAC output and actual carrier frequency. All that is needed is some manual control over the AFCDAC value (e.g. based on keypad events) while the AFC is disabled. Then we continuously transmit bursts (content is unimportant) to the Racal 6103 and note the measured frequency error by the 6103 for every AFC value that we input. Those measurements should then be repeated for each supported band of the phone, preferrably each with a low-frequency channel, a medium frequency and a high-frequency channel. This means something like 10 different AFC values for 3 different channels of each of the 2 bands that the c123/c155 support. Basd on those measurements (preferrably do that series with 2-3 phones) we can construct a function that will tell us which AFCDAC value we should program if we want a given carrier frequency increase/decrease. 2) Determine the temperature related frequency drift and corresponding temperature ADC reading Especially when we transmit, the temperature in the RF section of the phone is assumed to change quite a bit. This means we need to measure the temperature in the oscillator (using the RITA-internal temperature sensor connected to one of the ADC channels of IOTA) and compare that with the frequency drift. In order to measure this, we first need a temperature-ADC driver. Once that exists, we can lock onto a BCCH, then make sure the AFC is disabled and the AFCDAC output value will be stable. Next, one can use e.g. a hairdryer or ice spray to change the temperature. While doing that, we can measure the difference in carrier frequency with the Racal 6103. The absolute temperature in centigrade/kelvin is not actually interesting to us all. All we want to know is: What is the 6103-measured frequency error at a given temperature-ADC-reading. Once again, the measurements should be done for high (1800) and low (900) band independently, just to be sure. Based on their relation we can also model a function, table or other approximation and include that in our AFC code. I think I'll be able to write the code even while I'm on the road - if somebody is able to do the measurements and post them to the mailing list. Thanks in advance, Harald -- - Harald Welte <laforge at gnumonks.org> http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)